:root{color:#1f2937;background:#f7f5f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{color:inherit}select{background:#fff}.onboardingShell{align-items:center;background:linear-gradient(135deg,rgba(15,118,110,.12),transparent 42%),linear-gradient(315deg,rgba(154,52,18,.12),transparent 40%),#f7f5f2;display:grid;justify-items:center;min-height:100vh;padding:32px 32px 112px}.pageAccountBar{background:#fffdf9;border:1px solid #e7e0d7;border-radius:8px;bottom:24px;box-shadow:0 14px 40px #1f29371f;display:grid;gap:10px;left:24px;padding:10px;position:fixed;width:252px;z-index:20}.onboardingPanel{background:#fffdf9;border:1px solid #e7e0d7;border-radius:8px;box-shadow:0 24px 70px #1f29371f;display:grid;gap:28px;justify-self:center;max-width:760px;padding:32px;width:100%}.authPanel{max-width:620px}.authTabs{background:#f7f5f2;border:1px solid #e7e0d7;border-radius:8px;display:grid;gap:6px;grid-template-columns:repeat(2,1fr);padding:6px}.authTabs button{background:transparent;border:0;border-radius:6px;cursor:pointer;font-weight:800;min-height:42px}.authTabs button.active{background:#fff;color:#0f766e;box-shadow:0 1px 4px #1f29371a}.onboardingIntro h1,.onboardingIntro p{margin:0}.onboardingIntro h1{font-size:clamp(34px,6vw,56px);line-height:1;max-width:680px}.onboardingIntro p:not(.eyebrow){color:#6b7280;line-height:1.6;margin-top:14px;max-width:620px}.onboardingForm{display:grid;gap:18px}.onboardingForm label{display:grid;gap:8px}.onboardingForm label span{color:#374151;font-size:13px;font-weight:800}.onboardingForm input,.onboardingForm select{border:1px solid #d1d5db;border-radius:8px;min-width:0;padding:13px 14px}.formGrid{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.checkboxRow{align-items:center;display:flex!important;gap:10px!important}.checkboxRow input{accent-color:#0f766e;height:18px;width:18px}.formError{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#991b1b;margin:0;padding:12px 14px}.analysisProgress{background:#f0fdfa;border:1px solid #99f6e4;border-radius:8px;display:grid;gap:8px;padding:14px}.progressBar{background:#0f766e21;border-radius:999px;height:8px;overflow:hidden}.progressBar span{animation:progressSweep 1.45s infinite ease-in-out;background:#0f766e;border-radius:inherit;display:block;height:100%;width:42%}@keyframes progressSweep{0%{transform:translate(-110%)}55%{transform:translate(95%)}to{transform:translate(250%)}}.analysisProgress span{color:#115e59;font-size:14px;font-weight:800}.analysisReview{background:#fffdf9;border:1px solid #e7e0d7;border-radius:8px;display:grid;gap:18px;max-width:860px;padding:24px}.analysisReview h1,.analysisReview p{margin:0}.analysisReview h1{font-size:clamp(34px,5vw,56px);line-height:1}.analysisReview p{color:#6b7280;line-height:1.6}.characteristicGrid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.characteristicGrid span{background:#f7f5f2;border:1px solid #e7e0d7;border-radius:8px;color:#374151;font-weight:700;line-height:1.45;padding:12px}.analysisReview textarea{border:1px solid #d1d5db;border-radius:8px;min-height:110px;padding:12px;resize:vertical}.analysisActions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.progressSteps{display:flex;flex-wrap:wrap;gap:8px}.progressSteps span{background:#f0fdfa;border:1px solid #99f6e4;border-radius:999px;color:#115e59;font-size:13px;font-weight:800;padding:7px 10px}.topicSelector{border:1px solid #e7e0d7;border-radius:8px;display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:14px}.topicSelector legend{color:#374151;font-size:13px;font-weight:800;padding:0 6px}.topicSelector label{align-items:center;display:flex;gap:8px}.topicSelector input{accent-color:#0f766e}.primaryAction{align-items:center;background:#0f766e;border:0;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;gap:8px;font-weight:800;justify-content:center;min-height:52px;padding:0 18px}.primaryAction:disabled{cursor:wait;opacity:.65}.secondaryAction{background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#1f2937;cursor:pointer;font-weight:800;min-height:44px;padding:0 14px}.iconButton{align-items:center;background:#fffdf9;border:1px solid #e7e0d7;border-radius:8px;color:#0f766e;cursor:pointer;display:grid;flex:0 0 44px;height:44px;justify-items:center;width:44px}.selectionShell{background:#f7f5f2;display:grid;gap:24px;justify-items:center;min-height:100vh;padding:24px 24px 112px}.selectionHeader{align-items:center;display:flex;justify-content:space-between;max-width:1180px;width:100%}.selectionIntro,.recommendationBand,.generatorPanel,.filterBar,.characterGrid,.selectionEmpty{max-width:1180px;width:100%}.analysisReview{width:min(100%,860px)}.selectionIntro h1,.selectionIntro p{margin:0}.selectionIntro h1{font-size:clamp(34px,5vw,58px);letter-spacing:0;line-height:1;max-width:820px}.selectionIntro p:not(.eyebrow){color:#6b7280;line-height:1.6;margin-top:12px;max-width:720px}.analysisBox{background:#fffdf9;border:1px solid #e7e0d7;border-radius:8px;display:grid;gap:8px;margin-top:18px;max-width:780px;padding:16px}.proposalNotice{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;display:grid;gap:6px;margin-top:18px;max-width:780px;padding:14px 16px}.proposalNotice strong{color:#9a3412}.proposalNotice span{color:#6b7280;line-height:1.45}.analysisBox strong,.recommendationBand h2,.generatorPanel h2{margin:0}.analysisBox span{color:#6b7280;line-height:1.5}.recommendationBand,.generatorPanel{background:#fffdf9;border:1px solid #e7e0d7;border-radius:8px;display:grid;gap:16px;padding:18px}.miniCompanionGrid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.miniCompanionGrid button{background:#f7f5f2;border:1px solid #e7e0d7;border-radius:8px;cursor:pointer;display:grid;gap:5px;min-height:104px;padding:12px;text-align:left}.miniCompanionGrid strong{font-size:18px}.miniCompanionGrid span,.miniCompanionGrid small{color:#6b7280}.generatorForm{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.generatorForm label{display:grid;gap:6px}.generatorForm label span{color:#374151;font-size:12px;font-weight:800;text-transform:uppercase}.generatorForm input,.generatorForm select{border:1px solid #d1d5db;border-radius:8px;min-height:46px;min-width:0;padding:0 12px}.filterBar{align-items:end;background:#fffdf9;border:1px solid #e7e0d7;border-radius:8px;display:grid;gap:14px;grid-template-columns:auto repeat(3,minmax(160px,1fr));padding:16px}.filterTitle{align-items:center;color:#0f766e;display:flex;font-weight:800;gap:8px;min-height:48px}.filterBar label{display:grid;gap:6px}.filterBar label span{color:#374151;font-size:12px;font-weight:800;text-transform:uppercase}.filterBar select{border:1px solid #d1d5db;border-radius:8px;min-height:46px;padding:0 12px}.characterGrid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.characterCard{background:#fffdf9;border:1px solid #e7e0d7;border-radius:8px;display:grid;gap:16px;padding:18px}.characterCardTop{align-items:center;display:flex;gap:14px}.characterCard h2,.characterCard p,.characterFacts{margin:0}.characterCard h2{font-size:24px;line-height:1.1}.characterCardTop p,.characterBio,.characterBackstory,.characterFacts dd{color:#6b7280}.characterBio{color:#1f2937;font-weight:700;line-height:1.45}.characterFacts{border-top:1px solid #e7e0d7;display:grid;gap:10px;padding-top:14px}.characterFacts div{display:grid;gap:2px}.characterFacts dt{color:#374151;font-size:12px;font-weight:800;text-transform:uppercase}.characterFacts dd{line-height:1.45;margin:0}.characterBackstory{line-height:1.55}.selectionEmpty{background:#fffdf9;border:1px solid #e7e0d7;border-radius:8px;padding:28px}.appShell{display:grid;grid-template-columns:320px minmax(0,1fr) 300px;height:100vh;overflow:hidden}.userSidebar,.queueSidebar{background:#fffdf9;display:flex;flex-direction:column;gap:18px;min-height:0;overflow:auto;padding:24px}.userSidebar{border-right:1px solid #e7e0d7}.queueSidebar{border-left:1px solid #e7e0d7}.brand{align-items:center;color:#9a3412;display:flex;font-size:18px;font-weight:800;gap:10px}.companionList{display:grid;gap:12px}.navSection{border:1px solid #e7e0d7;border-radius:8px;display:grid;gap:10px;padding:14px}.profileSummary{border:1px solid #e7e0d7;border-radius:8px;display:grid;gap:4px;padding:14px}.profileSummary span,.profileSummary small{color:#6b7280}.profileSummary span{font-size:12px;font-weight:800;text-transform:uppercase}.profileSummary strong{font-size:20px}.profileSummary button{background:transparent;border:0;color:#0f766e;cursor:pointer;font-weight:800;justify-self:start;margin-top:8px;padding:0}.sidebarNavButton,.sidebarFooter{display:grid}.sidebarNavButton{align-items:center;background:#fff;border:1px solid #e7e0d7;border-radius:8px;color:#1f2937;cursor:pointer;gap:10px;grid-template-columns:auto 1fr;min-height:54px;padding:10px 12px;text-align:left}.sidebarNavButton strong,.sidebarNavButton small{display:block}.sidebarNavButton small{color:#6b7280;font-size:13px;margin-top:2px;text-transform:capitalize}.navActionButton{background:#0f766e;border:0;border-radius:8px;color:#fff;cursor:pointer;font-weight:800;min-height:42px;padding:0 12px}.sidebarFooter{border-top:1px solid #e7e0d7;gap:10px;margin-top:auto;padding-top:16px}.profileIconButton,.signOutButton{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-weight:800;gap:10px;min-height:46px;padding:8px 10px}.profileIconButton{background:#fff;border:1px solid #e7e0d7;color:#1f2937}.signOutButton{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.companionButton{align-items:center;background:transparent;border:1px solid #e7e0d7;border-radius:8px;color:#1f2937;cursor:pointer;display:flex;gap:12px;padding:12px;text-align:left}.companionButton.active{background:#f0fdfa;border-color:#5eead4}.companionButton strong,.companionButton small{display:block}.companionButton small{color:#6b7280;margin-top:2px;text-transform:capitalize}.memoryPanel{border:1px solid #e7e0d7;border-radius:8px;display:grid;gap:12px;padding:14px}.homeSections{display:grid;gap:14px}.homeSections div{background:#fff;border:1px solid #e7e0d7;border-radius:8px;display:grid;gap:8px;padding:14px}.homeSections strong{color:#374151;font-size:15px}.homeSections span{color:#6b7280;font-size:13px;line-height:1.45}.queueRow{background:#f7f5f2;border:1px solid #e7e0d7;border-radius:8px;display:grid;gap:4px;padding:10px}.queueRow b{color:#1f2937}.queueRow small{color:#6b7280;text-transform:capitalize}.queueRow.muted{color:#6b7280}.inviteRow{border-top:1px solid #e7e0d7;display:grid;gap:6px;padding-top:8px}.inviteRow:first-of-type{border-top:0;padding-top:0}.inviteRow button{background:#0f766e;border:0;border-radius:8px;color:#fff;cursor:pointer;font-weight:800;justify-self:start;min-height:34px;padding:0 12px}.inviteRow small{color:#0f766e;line-height:1.4}.friendList{border:1px solid #e7e0d7;border-radius:8px;display:grid;gap:10px;padding:14px}.friendList strong,.friendList small{display:block}.friendList small,.friendList p{color:#6b7280;font-size:13px;margin:0}.modalBackdrop{align-items:center;background:#1f293761;display:grid;top:0;right:0;bottom:0;left:0;padding:20px;place-items:center;position:fixed;z-index:20}.inviteModal{background:#fffdf9;border:1px solid #e7e0d7;border-radius:8px;box-shadow:0 24px 70px #1f293738;display:grid;gap:16px;max-width:560px;padding:22px;width:min(100%,560px)}.inviteModal h2,.inviteModal p{margin:0}.inviteModal p{color:#6b7280;line-height:1.55}.billingModal{max-height:88vh;overflow:auto;width:min(100%,860px)}.billingModal h3{margin:0}.billingSection{display:grid;gap:12px}.billingGrid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.billingCard{background:#f7f5f2;border:1px solid #e7e0d7;border-radius:8px;display:grid;gap:10px;padding:14px}.billingCard.highlighted{border-color:#0f766e;box-shadow:0 0 0 1px #0f766e38}.billingCard strong{font-size:18px}.billingCard span{color:#0f766e;font-size:24px;font-weight:900}.billingCard small,.billingCard li{color:#6b7280;line-height:1.4}.billingCard ul{display:grid;gap:5px;margin:0;padding-left:18px}.profileModal{max-height:min(720px,92vh);overflow:auto}.profileDetails{display:grid;gap:10px;margin:0}.profileDetails div{border-bottom:1px solid #e7e0d7;display:grid;gap:3px;padding-bottom:8px}.profileDetails dt{color:#374151;font-size:12px;font-weight:800;text-transform:uppercase}.profileDetails dd{color:#6b7280;line-height:1.45;margin:0}.memoryPanelHeader{align-items:center;color:#0f766e;display:flex;font-size:13px;font-weight:800;gap:8px;text-transform:uppercase}.walletPanel{background:#fffdf9;border:1px solid #e7e0d7;border-radius:8px;display:grid;gap:12px;padding:14px}.walletBalance{align-items:end;display:flex;gap:8px}.walletBalance strong{font-size:34px;line-height:1}.walletBalance span{color:#6b7280;font-size:13px;font-weight:700;padding-bottom:3px}.memoryPanel ul{display:grid;gap:10px;list-style:none;margin:0;padding:0}.memoryPanel li{display:grid;gap:3px}.memoryPanel li strong{color:#374151;font-size:12px;text-transform:capitalize}.memoryPanel li span,.memoryPanel p{color:#6b7280;font-size:13px;line-height:1.45}.memoryPanel p{margin:0}.avatar{align-items:center;background:#0f766e;border-radius:50%;color:#fff;display:grid;flex:0 0 44px;font-weight:800;height:44px;place-items:center;width:44px}.avatar.large{flex-basis:56px;font-size:22px;height:56px;width:56px}.chatPanel{display:grid;grid-template-rows:auto auto 1fr auto;height:100vh;min-height:0;overflow:hidden}.chatHeader{align-items:center;background:#fff;border-bottom:1px solid #e7e0d7;display:flex;justify-content:space-between;padding:22px 28px}.chatHeader h1,.chatHeader p{margin:0}.chatHeader h1{font-size:28px;line-height:1.1;margin-bottom:6px}.chatHeader p:not(.eyebrow){color:#6b7280}.companionProfileFacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.companionProfileFacts span{background:#f7f5f2;border:1px solid #e7e0d7;border-radius:999px;color:#374151;font-size:12px;font-weight:800;padding:5px 9px;text-transform:capitalize}.relationshipStatus{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.relationshipStatus span{background:#f0fdfa;border:1px solid #99f6e4;border-radius:999px;color:#115e59;font-size:12px;font-weight:800;padding:5px 9px;text-transform:capitalize}.proposalPanel{background:#fffdf9;border-bottom:1px solid #e7e0d7;display:grid;gap:6px;padding:14px 28px}.proposalPanel span{color:#1f2937;font-weight:800}.proposalPanel small{color:#6b7280;line-height:1.45}.proposalActions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.proposalActions .primaryAction,.proposalActions .secondaryAction{min-height:40px}.eyebrow{color:#0f766e;font-size:12px;font-weight:800;letter-spacing:0;margin-bottom:8px;text-transform:uppercase}.messageList{align-content:end;display:grid;gap:14px;min-height:0;overflow:auto;overscroll-behavior:contain;padding:28px}.emptyState{align-self:center;justify-self:center;max-width:420px;text-align:center}.emptyState h2{font-size:32px;margin:0 0 8px}.emptyState p{color:#6b7280;margin:0}.message{border-radius:8px;max-width:min(680px,78%);padding:12px 14px}.message p{margin:0;white-space:pre-wrap}.message small{display:block;font-size:12px;font-weight:700;margin-top:8px}.message.user{background:#0f766e;color:#fff;justify-self:end}.message.user.undelivered{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.message.assistant{background:#fff;border:1px solid #e7e0d7;justify-self:start}.message.user.undelivered small{color:#b91c1c}.typingRow{align-items:center;background:#fff;border:1px solid #e7e0d7;border-radius:8px;color:#6b7280;display:flex;gap:10px;justify-self:start;max-width:min(320px,78%);min-height:46px;padding:12px 14px}.typingDots{align-items:center;display:inline-flex;gap:4px}.typingDots i{animation:typingPulse 1.15s infinite ease-in-out;background:#9a3412;border-radius:50%;display:block;height:5px;opacity:.35;width:5px}.typingDots i:nth-child(2){animation-delay:.16s}.typingDots i:nth-child(3){animation-delay:.32s}@keyframes typingPulse{0%,80%,to{transform:translateY(0);opacity:.35}40%{transform:translateY(-3px);opacity:.95}}.composer{background:#fff;border-top:1px solid #e7e0d7;display:grid;gap:12px;grid-template-columns:1fr 48px;padding:18px 28px}.composer input{border:1px solid #d1d5db;border-radius:8px;min-width:0;padding:13px 14px}.composer button{align-items:center;background:#9a3412;border:0;border-radius:8px;color:#fff;cursor:pointer;display:grid;height:48px;justify-items:center}.composer button:disabled{cursor:not-allowed;opacity:.45}@media(max-width:760px){.appShell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible;padding-bottom:104px}.chatPanel{height:min(760px,100vh);min-height:620px}.userSidebar,.queueSidebar{min-height:auto;overflow:visible}.selectionShell{padding:16px 16px 104px}.selectionHeader{align-items:flex-start;gap:14px}.filterBar,.characterGrid,.miniCompanionGrid,.generatorForm,.characteristicGrid,.topicSelector{grid-template-columns:1fr}.onboardingShell{padding:16px 16px 104px}.pageAccountBar{bottom:12px;left:12px;width:min(252px,calc(100vw - 24px))}.sidebarFooter{background:#fffdf9;border:1px solid #e7e0d7;border-radius:8px;bottom:12px;box-shadow:0 14px 40px #1f29371f;left:12px;padding:10px;position:fixed;width:min(252px,calc(100vw - 24px));z-index:20}.onboardingPanel{padding:22px}.formGrid{grid-template-columns:1fr}.userSidebar,.queueSidebar{border-bottom:1px solid #e7e0d7;border-left:0;border-right:0;gap:16px;padding:16px}.companionList{display:flex;overflow-x:auto}.companionButton{min-width:210px}.chatPanel{min-height:calc(100vh - 190px)}.chatHeader,.messageList,.composer{padding-left:16px;padding-right:16px}.message,.typingRow{max-width:92%}}
