*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{min-height:100%;margin:0}body{color:#24160f;font-family:Georgia,Times New Roman,serif;background:#f7efe4}a,button,select,textarea{font:inherit}button{cursor:pointer}a,button{color:inherit}.site{--room-tone:#69b982;--room-deep:#0d2418;--room-paper:#eff8e9;--room-accent2:#d8b76a;min-height:100vh;overflow-x:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--room-paper),transparent 44%),color-mix(in srgb,white,transparent 70%)),var(--room-test-bg) center/cover fixed,radial-gradient(circle at 16% 16%,color-mix(in srgb,var(--room-tone),transparent 58%),transparent 26%),radial-gradient(circle at 82% 20%,color-mix(in srgb,var(--room-accent2),transparent 64%),transparent 28%),linear-gradient(135deg,var(--room-paper),#fff7ed 58%,color-mix(in srgb,var(--room-tone),white 82%))}.site:after,.site:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0}.site:before{opacity:.42;background-image:linear-gradient(120deg,transparent 0 44%,color-mix(in srgb,var(--room-deep),transparent 92%) 44% 45%,transparent 45%),radial-gradient(circle at 18% 76%,color-mix(in srgb,var(--room-tone),transparent 74%) 0 2px,transparent 3px),radial-gradient(circle at 72% 18%,color-mix(in srgb,var(--room-accent2),transparent 70%) 0 2px,transparent 3px);background-size:260px 260px,56px 56px,72px 72px}.site[data-room=constellation]:after{background:linear-gradient(18deg,transparent 20%,rgba(43,53,117,.08) 20.3%,transparent 21%),radial-gradient(circle at 22% 24%,rgba(80,88,150,.22) 0 2px,transparent 3px),radial-gradient(circle at 68% 42%,rgba(80,88,150,.18) 0 2px,transparent 3px)}.site[data-room=cards]:after{background:repeating-linear-gradient(112deg,transparent 0 86px,rgba(89,33,61,.07) 86px 88px,transparent 88px 174px)}.site[data-room=grove]:after{background:radial-gradient(ellipse at 12% 86%,rgba(42,111,74,.16),transparent 30%),repeating-linear-gradient(78deg,transparent 0 120px,rgba(30,83,52,.06) 120px 122px,transparent 122px 250px)}.site[data-room=workshop]:after{background:linear-gradient(90deg,rgba(92,61,33,.06) 1px,transparent 0),linear-gradient(0deg,rgba(92,61,33,.04) 1px,transparent 0);background-size:52px 52px}.activationScreen,.landingScreen,.resultsScreen,.revealScreen,.screen,.testScreen,.topNav{position:relative;z-index:1}.topNav{position:-webkit-sticky;position:sticky;top:0;z-index:80;display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:14px;gap:14px;align-items:center;padding:13px 24px;border-bottom:1px solid rgba(36,22,15,.12);background:color-mix(in srgb,var(--room-paper),white 70%)}.brandButton,.iconTextButton{display:inline-flex;align-items:center;gap:10px;border:0;background:transparent;color:inherit;font-weight:700;text-decoration:none}.brandMark{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--room-deep),var(--room-tone))}.iconTextButton{padding:9px 12px;border-radius:999px;border:1px solid rgba(36,22,15,.16);background:rgba(255,255,255,.58)}.navActions{display:flex;justify-content:flex-end;align-items:center;gap:10px;min-width:0}.authButton,.authControl{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap}.authControl{min-width:0;color:#5d4437}.authControl>span{max-width:190px;overflow:hidden;text-overflow:ellipsis}.authButton{padding:8px 12px;border:1px solid rgba(36,22,15,.16);background:rgba(255,255,255,.7);color:#24160f}.authControl.signedIn{padding-left:10px}.secondaryButton{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:9px;margin-top:26px;padding:13px 18px;border:1px solid rgba(36,22,15,.16);border-radius:999px;background:rgba(255,255,255,.72);color:#2d2018;font-weight:800;text-decoration:none;box-shadow:0 10px 26px rgba(60,28,16,.08)}.kicker{margin:0 0 10px;color:color-mix(in srgb,var(--room-deep),var(--room-tone) 30%);font-size:13px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}h1,h2,h3{margin:0;font-weight:600;letter-spacing:0}p{margin:0}.landingScreen{min-height:calc(100vh - 64px);display:grid;grid-template-columns:minmax(360px,.92fr) minmax(0,1fr);grid-gap:clamp(28px,5vw,64px);gap:clamp(28px,5vw,64px);align-items:center;padding:36px clamp(24px,6vw,84px) 64px}.landingCopy{max-width:720px}.activationScreen h2,.introPanel h2,.landingCopy h1,.resultsIntro h2,.screenIntro h2{line-height:1.03}.landingCopy h1{font-size:clamp(44px,5.2vw,70px)}.landingCopy p:not(.kicker){max-width:660px;margin-top:20px;color:#6b4c3d;font-size:21px;line-height:1.58}.primaryAction,.primaryButton{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;margin-top:26px;padding:13px 22px;border:0;border-radius:999px;color:#fff;font-weight:700;background:linear-gradient(135deg,var(--room-deep),var(--room-tone));box-shadow:0 14px 32px color-mix(in srgb,var(--room-tone),transparent 72%)}.primaryButton:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.landingActions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:26px}.landingActions .primaryButton,.landingActions .secondaryButton{margin-top:0}.landingScene{position:relative;min-height:clamp(460px,68vh,650px);overflow:hidden;border:1px solid rgba(255,255,255,.28);border-radius:18px;background:linear-gradient(135deg,rgba(28,14,26,.14),rgba(24,15,9,.24)),url(/familiar-assets/landing/hero-mystic-cute.webp) 50%/cover;box-shadow:0 34px 90px rgba(56,31,16,.22)}.landingGlow{position:absolute;inset:0;background:radial-gradient(circle at 48% 47%,rgba(255,227,151,.38),transparent 22%),linear-gradient(180deg,transparent 66%,rgba(20,11,8,.28));pointer-events:none}.activationScreen,.resultsScreen,.revealScreen,.screen,.testScreen{width:min(1360px,calc(100% - 40px));margin:0 auto;padding:42px 0 70px}.resultsIntro,.screenIntro{max-width:780px;margin-bottom:24px}.activationScreen h2,.introPanel h2,.resultsIntro h2,.screenIntro h2{font-size:clamp(34px,3.8vw,50px)}.activationScreen p,.introPanel p,.resultsIntro p,.screenIntro p:not(.kicker){margin-top:14px;color:#6b4c3d;font-size:19px;line-height:1.58}.locationGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.locationTile{min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;gap:10px;padding:24px;text-align:left;border-radius:16px;border:1px solid color-mix(in srgb,var(--deep),transparent 62%);background:linear-gradient(180deg,rgba(18,10,6,.08),rgba(18,10,6,.62)),var(--card-bg) center/cover,radial-gradient(circle at 82% 18%,color-mix(in srgb,var(--tone),white 18%),transparent 34%),linear-gradient(150deg,color-mix(in srgb,var(--deep),#1a120d 18%),color-mix(in srgb,var(--tone),#fff 30%));color:#fffaf0;box-shadow:0 18px 46px rgba(60,28,16,.15)}.locationTile.active{outline:3px solid color-mix(in srgb,var(--tone),white 25%);transform:translateY(-3px)}.locationTile b{font-size:28px;line-height:1.05}.locationTile p,.locationTile small{color:rgba(255,250,240,.84);line-height:1.45}.locationPin{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.14)}.locationDetail{margin-top:16px;padding:24px 28px;border-left:6px solid var(--tone);border-radius:12px;background:linear-gradient(90deg,color-mix(in srgb,var(--tone),white 80%),rgba(255,255,255,.72));box-shadow:0 16px 42px rgba(50,26,14,.08)}.locationDetail span{display:block;margin-bottom:8px;color:color-mix(in srgb,var(--deep),var(--tone) 25%);font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.locationDetail h3{font-size:28px}.locationDetail p{max-width:880px;margin-top:10px;color:#5e493c;font-size:18px;line-height:1.55}.footerBar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:16px 18px;border-radius:14px;border:1px solid rgba(36,22,15,.12);background:rgba(255,255,255,.58)}.introScreen{min-height:calc(100vh - 64px);display:grid;grid-template-columns:minmax(0,.95fr) minmax(320px,.72fr);grid-gap:24px;gap:24px;align-items:center}.introPanel,.sampleCard{padding:clamp(28px,4vw,52px);border-radius:16px;border:1px solid rgba(36,22,15,.12);background:color-mix(in srgb,var(--room-paper),white 55%);box-shadow:0 20px 52px rgba(60,28,16,.1)}.answerPreview{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0}.answerPreview span,.miniChips span{padding:8px 12px;border-radius:999px;background:#fff;border:1px solid rgba(36,22,15,.13);color:#5d4437;font-size:14px}.sampleCard{min-height:390px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,rgba(255,255,255,.12),color-mix(in srgb,var(--room-paper),white 70%)),url(/familiar-assets/scenes/tactful/bg.webp) 50%/cover}.sampleCard h3{font-size:32px}.sampleCard b,.sampleCard p{max-width:420px;font-size:18px;line-height:1.5}.testScreen{max-width:1060px}.testHeader{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:14px;gap:14px;align-items:center;margin-bottom:18px;color:#6d594c;font-weight:700}.progressTrack{height:9px;border-radius:999px;overflow:hidden;background:rgba(36,22,15,.1)}.progressTrack div{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--room-deep),var(--room-tone));transition:width .25s ease}.choiceCard{display:flex;align-items:flex-end;min-height:560px;padding:clamp(20px,3.5vw,40px);border-radius:18px;border:1px solid rgba(36,22,15,.12);background:linear-gradient(180deg,rgba(18,10,6,.02),rgba(18,10,6,.28)),var(--question-bg) center/cover,color-mix(in srgb,var(--room-paper),white 62%);box-shadow:0 24px 70px rgba(80,40,20,.12)}.choiceText{width:min(720px,100%);padding:clamp(24px,4vw,42px);border-radius:16px;background:rgba(255,253,248,.86);box-shadow:0 18px 48px rgba(26,14,9,.18)}.choiceText h2{font-size:clamp(32px,4vw,46px)}.choiceText p{margin-top:14px;color:#5f463b;font-size:19px;line-height:1.56}.choiceText h3{max-width:680px;margin-top:18px;font-size:clamp(24px,2.8vw,32px);line-height:1.18}.answerGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:14px}.answerGrid button{min-height:70px;padding:17px;border:1px solid rgba(36,22,15,.14);border-radius:14px;background:#fffdf8;font-weight:700;text-align:left}.answerGrid button:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(80,40,20,.12)}.activationScreen,.revealScreen{min-height:calc(100vh - 64px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.activationScreen{justify-content:flex-start;padding-top:clamp(18px,3vh,34px)}.revealOrb{position:relative;width:210px;height:210px;display:grid;place-items:center;margin-bottom:28px;border-radius:50%;color:#fff;background:radial-gradient(circle,var(--room-tone),var(--room-deep));box-shadow:0 0 72px color-mix(in srgb,var(--room-tone),transparent 62%)}.revealOrb span{position:absolute;inset:-24px;border:1px solid rgba(36,22,15,.12);border-radius:50%;animation:pulseRing 2.4s ease-in-out infinite}.revealOrb span:nth-child(3){animation-delay:.35s}.revealOrb span:nth-child(4){animation-delay:.7s}@keyframes pulseRing{0%,to{transform:scale(.86);opacity:.2}50%{transform:scale(1.06);opacity:.78}}.revealScreen h2{font-size:clamp(34px,4.4vw,54px)}.revealScreen p{margin-top:12px;color:#6b4c3d;font-size:18px}.candidateGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;margin-bottom:24px}.candidateCard{min-height:460px;display:flex;flex-direction:column;gap:13px;padding:22px;text-align:left;border-radius:16px;border:1px solid rgba(36,22,15,.13);background:linear-gradient(180deg,#fffdf8,color-mix(in srgb,var(--room-paper),white 64%));box-shadow:0 18px 46px rgba(80,40,20,.1)}.candidateCard:nth-child(2){background:radial-gradient(circle at 78% 12%,color-mix(in srgb,var(--room-tone),transparent 78%),transparent 36%),linear-gradient(180deg,#fffdf8,#f3f7ed)}.candidateCard:nth-child(3){background:radial-gradient(circle at 20% 14%,color-mix(in srgb,var(--room-accent2),transparent 76%),transparent 34%),linear-gradient(180deg,#fffaf2,#f7f2ea)}.candidateCard.active{outline:3px solid color-mix(in srgb,var(--room-tone),white 28%);transform:translateY(-3px)}.candidateTop{display:flex;justify-content:space-between;color:color-mix(in srgb,var(--room-deep),var(--room-tone) 35%);font-size:13px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.candidateCard h3{font-size:28px;line-height:1.08}.candidateCard p{color:#6b4c3d;line-height:1.48;font-size:17px}.candidateCard small{color:#6d594c;line-height:1.45;font-size:15px}.miniChips{display:flex;flex-wrap:wrap;gap:8px}.familiarAnimal{width:152px;height:152px;display:grid;place-items:center;margin:10px auto;border-radius:50%;overflow:hidden;color:#fff8df;font-size:40px;background:radial-gradient(circle at 50% 28%,rgba(255,255,255,.36),transparent 34%),linear-gradient(145deg,var(--room-tone),var(--room-deep));box-shadow:0 22px 50px rgba(50,25,10,.16)}.familiarAnimal.large{width:min(390px,38vw);height:min(390px,38vw);font-size:76px;border-radius:50%}.familiarAnimal img{width:100%;height:100%;object-fit:contain}.rolePage{border-radius:18px;border:1px solid rgba(36,22,15,.13);background:#fffaf1;box-shadow:0 30px 88px rgba(80,40,20,.16)}.roleHero,.rolePage{position:relative;overflow:hidden}.roleHero{min-height:690px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);align-items:center;padding:clamp(32px,5vw,64px)}.heroShade,.roleBg,.roleFg{position:absolute;inset:0;width:100%;height:100%}.roleBg{z-index:1}.roleBg,.roleFg{object-fit:cover}.roleFg{object-position:center bottom;z-index:4;opacity:.5;pointer-events:none}.heroShade{z-index:5;background:linear-gradient(90deg,rgba(20,12,8,.72),rgba(20,12,8,.2) 54%,rgba(255,248,232,.22)),radial-gradient(circle at 72% 28%,color-mix(in srgb,var(--accent),transparent 48%),transparent 34%)}.heroAnimal,.heroIdentity{position:relative;z-index:10}.heroIdentity{max-width:740px;color:#fff8e8;text-shadow:0 3px 18px rgba(0,0,0,.42)}.heroIdentity .kicker{color:#f6d58a}.heroIdentity h1{max-width:940px;font-size:clamp(40px,5vw,64px);line-height:1.04}.heroIdentity p:not(.kicker){max-width:650px;margin-top:16px;font-size:22px;line-height:1.45}.heroIdentity .miniChips{margin-top:18px}.heroIdentity .miniChips span{background:rgba(255,255,255,.9)}.heroAnimal{justify-self:center}.heroAnimal .familiarAnimal,.shareAnimal .familiarAnimal{overflow:visible;border-radius:0;background:transparent;box-shadow:none}.shareAnimal .familiarAnimal.large{width:min(260px,30vw);height:min(260px,30vw)}.roleSummary{display:grid;grid-template-columns:minmax(260px,.62fr) minmax(0,1fr);grid-gap:26px;gap:26px;padding:clamp(28px,5vw,54px);margin-top:18px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent),white 88%),#fffaf1)}.roleSummary h2{font-size:clamp(30px,3.6vw,42px)}.roleSummaryText{color:#5f463b;font-size:19px;line-height:1.72}.quoteBand{margin:clamp(28px,5vw,58px) clamp(24px,5vw,54px) clamp(24px,5vw,54px);padding:clamp(30px,5vw,58px);border-radius:16px;color:#fff8e8;background:linear-gradient(135deg,color-mix(in srgb,var(--accent),#20100b 28%),color-mix(in srgb,var(--accent2),#20100b 48%))}.quoteBand blockquote{max-width:980px;margin:0;font-size:clamp(30px,4vw,48px);line-height:1.08}.quoteBand p{margin-top:20px;color:rgba(255,255,255,.78);font-size:18px;text-align:right}.quoteBand em{font-style:italic}.sectionFlow{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:14px;gap:14px;padding:0 clamp(24px,5vw,54px) clamp(24px,5vw,54px)}.storyBlock{padding:clamp(24px,3vw,38px);border:1px solid rgba(36,22,15,.11);border-radius:16px;background:#fffdf7}.storyBlock:nth-child(2){background:color-mix(in srgb,var(--room-paper),white 68%)}.storyBlock:nth-child(3){background:linear-gradient(180deg,#fffdf7,color-mix(in srgb,var(--accent),white 88%))}.storyBlock:nth-child(4){background:linear-gradient(180deg,#fffaf1,color-mix(in srgb,var(--accent2),white 86%))}.storyIcon{width:44px;height:44px;display:grid;place-items:center;margin-bottom:12px;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 12px 26px color-mix(in srgb,var(--accent),transparent 72%);font-size:22px}.storyNumber{display:block;color:color-mix(in srgb,var(--accent),#2d1710 24%);font-weight:700;font-size:14px}.storyBlock h3{margin:12px 0;font-size:clamp(26px,2.7vw,34px)}.storyBlock p{color:#5f463b;font-size:18px;line-height:1.72}.story-0,.story-1,.story-2,.story-3{grid-column:span 6}.actionBand{display:grid;grid-template-columns:minmax(0,.8fr) minmax(300px,1fr);grid-gap:18px;gap:18px;align-items:center;padding:clamp(24px,5vw,54px);border-top:1px solid rgba(36,22,15,.1)}.actionBand h2{font-size:clamp(28px,3.5vw,40px)}.actionBand p{margin-top:10px;color:#6b4c3d;line-height:1.55}.actionButtons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.actionButtons button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 14px;border-radius:999px;border:1px solid rgba(36,22,15,.13);background:#fff;font-weight:700}.actionButtons .primaryAction{margin:0;color:#fff;border:0;background:linear-gradient(135deg,var(--accent),var(--accent2))}.shareCard{position:relative;max-width:880px;min-height:390px;display:grid;grid-template-columns:minmax(0,.95fr) minmax(260px,.7fr);grid-gap:20px;gap:20px;align-items:center;margin:0 auto clamp(24px,5vw,54px);padding:clamp(28px,5vw,54px);border-radius:16px;text-align:left;border:1px solid rgba(36,22,15,.12);overflow:hidden;background:linear-gradient(90deg,rgba(18,10,6,.7),rgba(18,10,6,.18)),var(--share-bg) center/cover;box-shadow:0 22px 52px rgba(80,40,20,.13)}.shareCopy{position:relative;z-index:2;color:#fff8e8;text-shadow:0 3px 18px rgba(0,0,0,.35)}.shareCopy p{font-size:clamp(32px,4vw,48px);font-weight:600;line-height:1.04}.shareCopy b{display:block;margin-top:14px;color:#f6d58a;font-size:18px}.shareCopy em{display:block;max-width:520px;margin-top:28px;font-size:clamp(24px,3vw,34px);line-height:1.2}.shareAnimal{position:relative;z-index:2;justify-self:center}.scrollHint{position:absolute;right:22px;bottom:20px;display:inline-flex;gap:6px;align-items:center;color:rgba(36,22,15,.5);font-size:12px;font-weight:700;text-transform:uppercase}.activationAnimal{margin-bottom:14px}.activationScreen h2{max-width:850px}.activationScreen p:not(.kicker){max-width:700px}.nameField{width:min(560px,100%);display:grid;grid-gap:10px;gap:10px;margin-top:20px;text-align:left}.nameField span{color:color-mix(in srgb,var(--room-deep),var(--room-tone) 34%);font-size:14px;font-weight:700}.nameField input{width:100%;min-height:64px;padding:16px 20px;border:1px solid rgba(36,22,15,.16);border-radius:16px;color:#24160f;font-family:Georgia,Times New Roman,serif;background:rgba(255,253,248,.82);box-shadow:0 18px 46px rgba(50,25,10,.1);outline-color:var(--room-tone);font-size:24px}.nameField input::placeholder{color:rgba(95,70,59,.48)}.restorePanel{display:grid;grid-gap:10px;gap:10px;width:min(100%,620px);margin-top:18px;padding:16px;border:1px solid rgba(36,22,15,.11);border-radius:14px;background:rgba(255,253,248,.78);box-shadow:0 16px 42px rgba(50,25,10,.1)}.restorePanel span{color:#5f463b;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.restorePanel>small{max-width:500px;color:rgba(95,70,59,.78);font-size:13px;font-weight:700;line-height:1.4}.restorePanel div{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px}.restorePanel input{min-height:46px;min-width:0;padding:0 14px;border:1px solid rgba(36,22,15,.14);border-radius:12px;background:rgba(255,255,255,.78);color:#24160f;outline-color:var(--room-tone)}.recoveryCard button,.restorePanel button{min-height:46px;padding:0 15px;border:0;border-radius:12px;background:#24160f;color:#fff;font-weight:800}.restorePanel button:disabled{cursor:not-allowed;opacity:.48}.activationError,.chatError,.restorePanel small{color:#9B362C;font-weight:700}.restorePanel>small:not(.restoreError){color:rgba(95,70,59,.78)}.chatError{display:flex;align-items:center;justify-content:space-between;gap:10px}.chatError button{min-height:34px;flex:0 0 auto;padding:0 10px;border:1px solid rgba(155,54,44,.24);border-radius:10px;background:rgba(255,244,238,.9);color:#9B362C;font-weight:900}.activationError{max-width:560px;padding:12px 14px;border:1px solid rgba(151,54,38,.22);border-radius:12px;background:rgba(255,244,238,.86);font-size:15px!important}.loginSite{min-height:100vh}.loginScreen{position:relative;z-index:1;width:min(1180px,calc(100% - 40px));min-height:calc(100vh - 64px);display:grid;grid-template-columns:minmax(320px,.72fr) minmax(0,1fr);grid-gap:clamp(24px,5vw,64px);gap:clamp(24px,5vw,64px);align-items:center;margin:0 auto;padding:42px 0 70px}.loginScene{min-height:620px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,255,255,.3);border-radius:18px;background:radial-gradient(circle at 50% 46%,rgba(255,227,151,.34),transparent 20%),linear-gradient(135deg,rgba(28,14,26,.1),rgba(24,15,9,.22)),url(/familiar-assets/landing/hero-mystic-cute.webp) 50%/cover;color:#fff8e8;box-shadow:0 34px 90px rgba(56,31,16,.22)}.loginPanel,.loginPanel h1{max-width:680px}.loginPanel h1{font-size:clamp(42px,5vw,68px);line-height:1.02}.loginPanel p:not(.kicker){max-width:620px;margin-top:20px;color:#6b4c3d;font-size:21px;line-height:1.58}.loginActions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:28px}.loginActions .primaryButton,.loginActions .secondaryButton{margin-top:0;text-decoration:none}.loginNote{display:block;max-width:520px;margin-top:16px;color:rgba(77,53,43,.68);font-size:13px;line-height:1.45}.promptShelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:12px}.promptShelf button{min-height:92px;padding:16px;text-align:left;border:1px solid rgba(36,22,15,.12);border-radius:14px;background:rgba(255,255,255,.72);color:#5f463b;font-weight:700;line-height:1.42}.promptShelf button.active{outline:3px solid color-mix(in srgb,var(--room-tone),transparent 70%);background:#fff}.freeInput{width:100%;min-height:118px;padding:18px;resize:vertical;border:1px solid rgba(36,22,15,.13);border-radius:14px;background:rgba(255,255,255,.72);color:#24160f;outline-color:var(--room-tone)}.askBar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 14px;color:#6b4c3d}.askBar span{font-size:15px;font-weight:700}.askBar .primaryButton{min-height:46px;margin-top:0;padding:11px 18px;white-space:nowrap}.comparisonGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.answerPanel{min-height:340px;padding:clamp(24px,4vw,40px);border-radius:16px;border:1px solid rgba(36,22,15,.12);background:linear-gradient(180deg,#fff,#fff8ed)}.answerPanel.muted{background:rgba(255,255,255,.62)}.answerPanel h3{font-size:30px}.answerPanel .chatMarkdown{margin-top:14px;color:#5f463b;font-size:18px;line-height:1.72}.demoProvisionBand{margin-top:16px}.continueChatBand{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:16px 18px;border:1px solid rgba(36,22,15,.12);border-radius:14px;background:rgba(255,253,248,.76)}.continueChatBand .primaryButton{min-height:48px;margin-top:0;padding:12px 18px;white-space:nowrap}.chatScreen{width:min(1480px,calc(100% - 40px));height:calc(100vh - 65px);height:calc(100svh - 65px);min-height:0;align-content:start;padding-top:14px;padding-bottom:14px;overflow:hidden}.chatLayout{grid-template-columns:minmax(240px,300px) minmax(0,1fr);grid-gap:clamp(18px,2vw,28px);gap:clamp(18px,2vw,28px);align-items:stretch}.chatLayout,.chatRail{display:grid;height:100%;min-height:0}.chatRail{align-content:start;grid-gap:16px;gap:16px;padding:20px;overflow:auto;border:1px solid rgba(36,22,15,.12);border-radius:16px;background:linear-gradient(180deg,rgba(255,253,248,.9),rgba(255,246,231,.7))}.chatFamiliarPortrait{display:grid;place-items:center;min-height:clamp(150px,28vh,230px)}.chatFamiliarPortrait .familiarAnimal{width:min(220px,100%);height:min(220px,100%);overflow:visible;border-radius:0;background:transparent;box-shadow:none}.chatIdentity h2{margin:0;font-size:clamp(30px,3.5vw,44px);line-height:1.04}.chatIdentity p:not(.kicker){margin-top:8px;color:#5f463b;font-size:17px;line-height:1.45}.chatMain{display:grid;grid-template-rows:minmax(0,1fr) auto auto;grid-gap:14px;gap:14px;min-width:0;min-height:0}.polarProvisionCard,.recoveryCard{display:grid;grid-gap:10px;gap:10px;padding:14px 0 0;border:solid rgba(36,22,15,.12);border-width:1px 0 0;border-radius:0;background:transparent}.polarThreadStatus{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:10px;gap:10px;align-items:start;color:#5f463b}.polarThreadStatus>span{width:12px;height:12px;margin-top:4px;border-radius:50%;background:#C49B4B;box-shadow:0 0 0 5px rgba(196,155,75,.12)}.polarThreadStatus.ready>span{background:#3B8C5A;box-shadow:0 0 0 5px rgba(59,140,90,.12)}.polarThreadStatus.disabled>span,.polarThreadStatus.failed>span{background:#9B362C;box-shadow:0 0 0 5px rgba(155,54,44,.12)}.polarThreadStatus b{display:block;color:#3d2a20;font-size:15px;line-height:1.2}.polarThreadStatus small{display:block;margin-top:4px;color:#6b4c3d;font-size:13px;font-weight:700;line-height:1.35}.polarThreadStatus.compact{padding-top:14px;border-top:1px solid rgba(36,22,15,.12)}.polarProvisionCard span,.recoveryCard span{color:#7a5848;font-size:12px;font-weight:900;text-transform:uppercase}.recoveryCard code{display:block;max-width:100%;color:#24160f;font-size:14px;font-weight:900;overflow-wrap:anywhere}.polarProvisionCard small,.recoveryCard small{color:#6b4c3d;line-height:1.45}.polarProvisionCard button,.recoveryCard button{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border-radius:999px;white-space:nowrap}.polarProvisionCard.sending{border-color:color-mix(in srgb,var(--room-accent2),transparent 52%);background:rgba(255,248,224,.78)}.polarProvisionCard.sent{border-color:color-mix(in srgb,var(--room-tone),transparent 52%);background:color-mix(in srgb,var(--room-tone),white 86%)}.polarProvisionCard.reply{border-color:rgba(36,104,58,.28);background:rgba(241,252,244,.9)}.polarProvisionCard.failed{border-color:rgba(151,54,38,.22);background:rgba(255,244,238,.86)}.polarProvisionCard b{display:inline-flex;align-items:center;gap:6px;color:#24683a;font-size:13px}.polarProvisionCard button{min-height:40px;padding:0 13px;border:0;border-radius:12px;background:#24160f;color:#fff;font-weight:800}.chatLog{display:grid;grid-gap:12px;gap:12px;align-content:start;min-height:0;padding:clamp(18px,2vw,24px);overflow:auto;border:1px solid rgba(36,22,15,.12);border-radius:16px;background:linear-gradient(180deg,rgba(255,253,248,.72),rgba(255,249,239,.62)),var(--chat-familiar-image) right 22px bottom 18px /min(34vw,300px) auto no-repeat,rgba(255,253,248,.58)}.chatEmptyState{width:min(560px,100%);align-self:center;justify-self:center;padding:clamp(22px,4vw,34px);border:1px solid rgba(36,22,15,.11);border-radius:16px;background:rgba(255,253,248,.82);box-shadow:0 18px 46px rgba(60,28,16,.1);text-align:center}.chatEmptyState span{display:block;color:color-mix(in srgb,var(--room-deep),var(--room-tone) 34%);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.chatEmptyState h3{margin-top:8px;color:#2d2018;font-size:clamp(26px,3vw,34px);line-height:1.08}.chatEmptyState p{max-width:420px;margin:10px auto 0;color:#6b4c3d;font-size:16px;line-height:1.5}.chatBubble{width:min(860px,90%);padding:16px 18px;border:1px solid rgba(36,22,15,.1);border-radius:14px;background:#fff}.chatBubble.user{justify-self:end;background:color-mix(in srgb,var(--room-tone),#fff 82%)}.chatBubble.assistant{justify-self:start;background:linear-gradient(180deg,#fff,#fff8ed)}.chatBubble span{display:block;margin-bottom:6px;color:#7a5848;font-size:12px;font-weight:900;text-transform:uppercase}.chatMarkdown{color:#4d352b;font-size:17px;line-height:1.62;overflow-wrap:anywhere}.chatMarkdown :where(p,ul,ol,blockquote,pre,table){margin:0 0 12px}.chatMarkdown :where(p,ul,ol,blockquote,pre,table):last-child{margin-bottom:0}.chatMarkdown p{white-space:pre-wrap}.chatMarkdown :where(ul,ol){padding-left:22px}.chatMarkdown li+li{margin-top:4px}.chatMarkdown :where(h1,h2,h3,h4,h5,h6){margin:14px 0 8px;color:#3d281f;font-size:18px;line-height:1.28}.chatMarkdown :where(h1,h2,h3,h4,h5,h6):first-child{margin-top:0}.chatMarkdown a{color:#1f6846;font-weight:800;overflow-wrap:anywhere;text-underline-offset:3px}.chatStrippedLink{color:rgba(77,53,43,.72);overflow-wrap:anywhere}.chatMarkdown :where(.contains-task-list){padding-left:0;list-style:none}.chatMarkdown :where(.task-list-item){display:flex;align-items:flex-start;gap:7px}.chatTaskCheckbox{flex:0 0 auto;width:15px;height:15px;margin:.43em 0 0;accent-color:#1f6846}.chatMarkdown blockquote{padding-left:12px;border-left:3px solid rgba(31,104,70,.34);color:rgba(77,53,43,.82)}.chatMarkdown code{padding:2px 5px;border-radius:6px;background:rgba(36,22,15,.08);color:#3d281f;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9em}.chatMarkdown pre{max-width:100%;overflow:auto;padding:11px 12px;border:1px solid rgba(36,22,15,.12);border-radius:10px;background:rgba(36,22,15,.06)}.chatMarkdown pre code{display:block;padding:0;background:transparent;white-space:pre}.chatMarkdown table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}.chatMarkdown td,.chatMarkdown th{padding:6px 8px;border:1px solid rgba(36,22,15,.12);text-align:left}.chatMarkdown hr{border:0;border-top:1px solid rgba(36,22,15,.12);margin:14px 0}.chatAttachmentList{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chatAttachmentList.editable{margin:0;flex:0 1 330px;max-width:38%;min-width:0;overflow:hidden}.chatAttachmentChip{display:inline-grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;max-width:min(100%,360px);min-height:42px;gap:9px;padding:6px 8px;border:1px solid rgba(36,22,15,.12);border-radius:8px;background:rgba(255,255,255,.72);color:#4d352b}.chatAttachmentChip>svg{color:#7a5848;justify-self:center}.chatAttachmentChip span{min-width:0;margin:0;text-transform:none}.chatAttachmentChip small,.chatAttachmentChip strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chatAttachmentChip strong{font-size:13px;line-height:1.2}.chatAttachmentChip small{color:rgba(77,53,43,.66);font-size:11px;font-weight:700;line-height:1.2}.chatAttachmentPreview{width:32px;height:32px;object-fit:cover;border-radius:6px;background:#f2ede7}.chatAttachButton,.chatAttachmentAction,.chatAttachmentChip button{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid rgba(36,22,15,.12);border-radius:8px;background:rgba(255,255,255,.82);color:#5d4034;cursor:pointer;text-decoration:none}.chatAttachButton:disabled,.chatAttachmentChip button:disabled{cursor:not-allowed;opacity:.5}.chatComposer>.chatAttachButton{flex:0 0 54px;width:54px;height:54px;border-radius:14px}.chatComposer{position:relative;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid rgba(36,22,15,.12);border-radius:16px;background:rgba(255,253,248,.82);box-shadow:0 12px 28px rgba(36,22,15,.08);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chatComposerField{flex:1 1 auto;min-width:0;min-height:54px;display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid rgba(36,22,15,.13);border-radius:14px;background:rgba(255,255,255,.78)}.chatComposer .chatAttachmentChip{grid-template-columns:24px minmax(0,1fr) 30px;min-height:36px;gap:7px;padding:4px 6px}.chatComposer .chatAttachmentAction,.chatComposer .chatAttachmentChip button{width:30px;height:30px}.chatComposer .chatAttachmentPreview{width:24px;height:24px}.chatAttachmentError{position:absolute;left:12px;bottom:calc(100% + 6px);padding:4px 8px;border-radius:8px;background:rgba(255,247,244,.96);color:#9b2f24!important;font-weight:800;font-size:12px}.chatComposer textarea{flex:1 1 auto;min-width:120px;min-height:40px;max-height:88px;width:100%;padding:9px 6px;resize:none;border:0;border-radius:0;background:transparent;color:#24160f;box-sizing:border-box;outline-color:var(--room-tone)}.chatComposer textarea:focus{outline:0}.chatComposer .primaryButton{flex:0 0 auto;min-height:54px;margin-top:0;padding:12px 18px}.familiarManager{--room-tone:#69b982;--room-deep:#0d2418;--room-paper:#eff8e9;--room-accent2:#d8b76a;min-height:100vh;padding:0 0 64px;color:#24160f;background:linear-gradient(135deg,rgba(255,255,255,.82),rgba(239,248,233,.72)),url(/familiar-assets/ritual-rooms/companion-grove/test-bg.webp) 50%/cover fixed}.managerHero{width:min(1180px,calc(100% - 48px));display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 auto;padding:46px 0 28px}.managerHero h1{margin:0 0 10px;font-size:clamp(36px,5vw,58px);line-height:1.02}.managerHero p:not(.kicker){max-width:620px;margin:0;color:#5f463b;font-size:18px;line-height:1.55}.managerList{width:min(1180px,calc(100% - 48px));display:grid;grid-gap:12px;gap:12px;margin:0 auto}.managerFamiliar{display:grid;grid-template-columns:56px minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:center;padding:16px;border:1px solid rgba(36,22,15,.12);border-radius:8px;background:rgba(255,253,248,.88);box-shadow:0 14px 34px rgba(50,25,10,.08)}.managerFamiliar.active{border-color:rgba(42,111,74,.32);background:rgba(246,255,242,.92)}.managerAnimal{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,#0d2418,#69b982);font-weight:900}.managerFamiliarBody{min-width:0;display:grid;grid-gap:4px;gap:4px}.managerFamiliarTitle{display:flex;align-items:center;gap:10px}.managerFamiliarTitle h2{margin:0;font-size:24px;line-height:1.1}.managerFamiliarTitle span{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:rgba(105,185,130,.16);color:#1c5b34;font-size:12px;font-weight:900;text-transform:uppercase}.managerFamiliarBody em,.managerFamiliarBody p,.managerFamiliarBody small,.managerMuted{margin:0;color:#5f463b}.managerFamiliarBody em{color:#9B362C;font-size:13px;font-style:normal;font-weight:800}.managerActions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.managerActions .secondaryButton{min-height:42px;padding:0 14px}.iconOnlyDanger{width:42px;height:42px;display:inline-grid;place-items:center;border:1px solid rgba(155,54,44,.28);border-radius:12px;background:rgba(255,244,238,.86);color:#9B362C}.managerEmpty{width:min(1180px,calc(100% - 48px));display:grid;grid-gap:12px;gap:12px;margin:0 auto;padding:28px;border:1px dashed rgba(36,22,15,.2);border-radius:8px;background:rgba(255,253,248,.78)}.managerEmpty h2,.managerEmpty p{margin:0}.managerError{margin:0;padding:12px 14px;border:1px solid rgba(155,54,44,.24);border-radius:8px;background:rgba(255,244,238,.9);color:#9B362C;font-weight:800}.managerDanger{width:min(1180px,calc(100% - 48px));display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px auto 0;padding:18px;border:1px solid rgba(155,54,44,.22);border-radius:8px;background:rgba(255,244,238,.72)}.managerDanger h2,.managerDanger p{margin:0}.managerDanger h2{font-size:20px}.managerDanger p{max-width:760px;color:#744336;line-height:1.45}.dangerButton{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:0 0 auto;padding:0 15px;border:1px solid rgba(155,54,44,.28);border-radius:999px;background:#9B362C;color:#fff;font-weight:900}.dangerButton:disabled,.secondaryButton:disabled{cursor:not-allowed;opacity:.52}@media (max-width:1120px){.actionBand,.introScreen,.landingScreen,.loginScreen,.roleHero,.roleSummary{grid-template-columns:1fr}.landingScene{order:-1;min-height:440px}.loginScene{order:-1;min-height:420px}.candidateGrid,.locationGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.chatLayout{grid-template-columns:minmax(210px,250px) minmax(0,1fr)}.chatRail{padding:16px}.chatFamiliarPortrait{min-height:clamp(130px,24vh,180px)}.chatFamiliarPortrait .familiarAnimal{width:min(180px,100%);height:min(180px,100%)}}@media (max-width:760px){.familiarManager{padding:0 0 42px}.managerHero{display:grid;grid-gap:18px;gap:18px;padding:28px 0 22px}.managerDanger,.managerEmpty,.managerHero,.managerList{width:min(1180px,calc(100% - 28px))}.managerHero h1{font-size:36px}.managerHero .primaryButton{width:100%}.managerFamiliar{grid-template-columns:48px minmax(0,1fr);align-items:start;gap:12px}.managerAnimal{width:46px;height:46px}.managerFamiliarTitle{align-items:flex-start;flex-direction:column;gap:6px}.managerActions{grid-column:1/-1;justify-content:stretch}.managerActions .secondaryButton{flex:1 1 auto}.iconOnlyDanger{flex:0 0 44px}.managerDanger{align-items:stretch;flex-direction:column}.dangerButton{width:100%}.topNav{padding:7px 10px}.brandMark{width:32px;height:32px}.authButton span,.authControl>span,.brandButton span:last-child,.iconTextButton span{display:none}.navActions{gap:6px}.authControl.signedIn{padding-left:0}.authButton{width:36px;min-height:36px;padding:0}.step-chat .topNav{min-height:45px;padding:5px 9px}.step-chat .brandMark{width:30px;height:30px;font-size:16px}.step-chat .authControl{min-height:34px}.step-chat .authButton{width:34px;min-height:34px}.activationScreen,.landingScreen,.resultsScreen,.revealScreen,.screen,.testScreen{width:min(100% - 24px,1360px);padding-bottom:44px}.chatScreen{width:100%;height:calc(100vh - 45px);height:calc(100svh - 45px);padding:0}.landingScreen{grid-template-columns:1fr;padding-left:12px;padding-right:12px}.loginScreen{width:min(100% - 24px,1180px);padding:24px 0 44px}.landingCopy h1,.loginPanel h1{font-size:38px}.answerPanel .chatMarkdown,.choiceText p,.landingCopy p:not(.kicker),.loginPanel p:not(.kicker),.storyBlock p{font-size:16px}.loginScene{min-height:300px}.actionButtons,.answerGrid,.candidateGrid,.chatComposer,.comparisonGrid,.locationGrid,.promptShelf,.restorePanel div{grid-template-columns:1fr}.landingActions,.loginActions{align-items:stretch;flex-direction:column}.landingActions .primaryButton,.landingActions .secondaryButton,.loginActions .primaryButton,.loginActions .secondaryButton{width:100%}.askBar,.continueChatBand{align-items:stretch;flex-direction:column}.continueChatBand .primaryButton{width:100%}.locationTile{min-height:220px}.choiceCard{min-height:500px}.testHeader{grid-template-columns:1fr}.roleHero{min-height:620px;padding:24px}.heroIdentity h1{font-size:42px}.heroIdentity p:not(.kicker){font-size:18px}.familiarAnimal.large{width:260px;height:260px}.sectionFlow{grid-template-columns:1fr}.story-0,.story-1,.story-2,.story-3{grid-column:auto}.quoteBand blockquote{font-size:30px}.shareCard{grid-template-columns:1fr}.shareAnimal{justify-self:start}.chatLayout{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:0}.chatRail{display:flex;align-items:center;gap:10px;height:auto;min-height:44px;max-height:none;padding:7px 12px;overflow:hidden;border-width:0 0 1px;border-radius:0;background:rgba(255,253,248,.86)}.chatFamiliarPortrait,.chatRail .polarThreadStatus.compact,.recoveryCard{display:none}.chatIdentity{min-width:0;display:flex;align-items:baseline;gap:8px}.chatIdentity .kicker{display:none}.chatIdentity h2{flex:0 0 auto;font-size:18px;line-height:1.1}.chatIdentity p:not(.kicker){min-width:0;margin:0;overflow:hidden;color:rgba(95,70,59,.82);font-size:13px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.polarProvisionCard{margin-left:auto;padding:0;border:0;background:transparent}.chatMain{gap:0;min-height:0;overflow:hidden;border-radius:0}.chatLog{gap:9px;padding:12px 10px 14px;border:0;border-radius:0;background:linear-gradient(180deg,rgba(255,253,248,.8),rgba(255,250,242,.68)),var(--chat-familiar-image) center bottom 18px /min(72vw,270px) auto no-repeat,rgba(255,253,248,.58)}.chatBubble{width:min(92%,720px);padding:11px 12px;border-radius:13px}.chatBubble.user{width:min(88%,680px)}.chatBubble span{margin-bottom:4px;font-size:10px}.chatMarkdown{font-size:15px;line-height:1.46}.chatMarkdown :where(p,ul,ol,blockquote,pre,table){margin-bottom:10px}.chatMarkdown :where(h1,h2,h3,h4,h5,h6){font-size:16px}.chatMarkdown pre{padding:9px 10px}.chatError{margin:0;padding:8px 10px;border-radius:0;font-size:13px}.chatComposer{display:flex;align-items:center;gap:8px;padding:8px 10px calc(10px + env(safe-area-inset-bottom));border-width:1px 0 0;border-radius:0;background:rgba(255,253,248,.88);box-shadow:none}.chatComposerField{min-height:44px;padding:4px 6px;gap:6px}.chatAttachmentList.editable{flex-basis:116px;max-width:38%}.chatAttachmentChip{max-width:100%;min-height:34px;grid-template-columns:22px minmax(0,1fr) 30px;gap:6px;padding:4px 5px}.chatAttachmentChip strong{font-size:11px}.chatAttachmentChip small{display:none}.chatComposer>.chatAttachButton{flex:0 0 42px;width:42px;height:44px;border-radius:12px}.chatComposer textarea{min-width:72px;min-height:36px;max-height:72px;padding:8px 4px;font-size:16px;line-height:1.35}.chatComposer .primaryButton{flex:0 0 52px;width:52px;min-height:44px;padding:0;border-radius:14px;gap:0;font-size:0}.chatComposer .primaryButton svg{width:19px;height:19px}}