:root{--white: #fffefb;--paper: #f7f5ef;--paper-deep: #eeece4;--ink: #222824;--ink-soft: #3d453f;--muted: #626a63;--line: #d9ddd4;--line-strong: #bdc4b9;--coral: #c9503e;--coral-dark: #a83e2e;--coral-soft: #f4dcd4;--teal: #286c64;--teal-soft: #dcebe5;--violet: #6c598a;--violet-soft: #e8e0ef;--danger: #a83232;--focus: #4c63b6;--font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--font-display: "Avenir Next", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-h3: clamp(1.15rem, 1.05rem + .4vw, 1.4rem);--text-h2: clamp(1.9rem, 1.5rem + 1.6vw, 3rem);--text-hero: clamp(2.6rem, 1.8rem + 4.5vw, 5.4rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: .5rem;--radius-md: .85rem;--radius-lg: 1.35rem;--radius-xl: 2rem;--radius-full: 999px;--shadow-soft: 0 1.5rem 4rem rgba(40, 47, 40, .07);--container: 76rem;--page-pad: 1.25rem;--header-height: 4.75rem;--duration-fast: .16s;--duration-base: .28s;--duration-slow: .76s;--ease-out: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height)}body{margin:0;min-width:20rem;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:not-allowed}svg{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);text-wrap:balance}p{text-wrap:pretty}.container{width:min(calc(100% - var(--page-pad) * 2),var(--container));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.site-header{position:sticky;top:0;z-index:20;min-height:var(--header-height);background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:700;letter-spacing:-.03em}.brand svg{width:1.8rem;height:1.8rem;fill:var(--coral)}.brand svg circle{fill:var(--paper)}.brand>span{font-size:var(--text-lg)}.brand small{color:var(--muted);font-size:var(--text-xs);font-weight:500;letter-spacing:0}.main-nav{display:none;align-items:center;gap:var(--space-8);color:var(--ink-soft);font-size:var(--text-sm)}.main-nav a,.footer-links a{transition:color var(--duration-fast)}.main-nav a:hover,.footer-links a:hover{color:var(--coral)}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.preview-pill{display:none;padding:var(--space-1) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-full);color:var(--teal);font-size:var(--text-xs)}.header-actions select{min-height:2.75rem;border:0;background:transparent;font-size:var(--text-sm);cursor:pointer}.hero{padding-block:var(--space-12) var(--space-10)}.hero-copy{max-width:57rem}.eyebrow{color:var(--coral-dark);font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero h1{max-width:55rem;margin-top:var(--space-4);font-size:var(--text-hero);font-weight:650;line-height:1.06;letter-spacing:-.055em}.hero-subtitle{max-width:42rem;margin-top:var(--space-6);color:var(--muted);font-size:var(--text-lg);line-height:1.75}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5);margin-top:var(--space-8)}.primary-button{display:inline-flex;min-height:3.25rem;align-items:center;justify-content:center;gap:var(--space-5);padding:var(--space-3) var(--space-5);border-radius:var(--radius-full);background:var(--ink);color:var(--white);font-size:var(--text-sm);font-weight:650;transition:transform var(--duration-fast),background var(--duration-fast)}.primary-button:hover{transform:translateY(-2px);background:var(--coral-dark)}.primary-button svg,.send-button svg{width:1.15rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.text-link{padding-block:var(--space-3);border-bottom:1px solid var(--line-strong);color:var(--ink-soft);font-size:var(--text-sm)}.hero-note{display:none}.workspace{display:grid;gap:var(--space-4);align-items:stretch}.companion-card,.chat-card{min-width:0;border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--white);box-shadow:var(--shadow-soft);overflow:hidden}.companion-card{display:flex;flex-direction:column;padding:var(--space-5)}.companion-topline{display:flex;align-items:center;gap:var(--space-2);color:var(--muted);font-size:var(--text-xs)}.status-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--teal)}.character-stage{--char-main: var(--coral);--char-soft: var(--coral-soft);position:relative;display:grid;min-height:19rem;place-items:center;margin-block:var(--space-3);border-radius:var(--radius-lg);background:radial-gradient(circle at 50% 36%,#fff9 0,#fff0 58%),var(--char-soft);overflow:hidden}.palette-violet{--char-main: var(--violet);--char-soft: var(--violet-soft)}.palette-teal{--char-main: var(--teal);--char-soft: var(--teal-soft)}.orbit{position:absolute;border:1px solid var(--char-main);border-radius:50%;opacity:.16}.orbit-one{width:18rem;height:18rem}.orbit-two{width:12rem;height:12rem}.character-arrival{position:relative;z-index:1;width:min(92%,20rem);animation:character-arrive var(--duration-slow) var(--ease-out) both}.digital-human{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;animation:character-arrive var(--duration-slow) var(--ease-out) both}.digital-human canvas{display:block;width:100%;height:100%;touch-action:pan-y}.digital-greeting{position:absolute;left:50%;bottom:var(--space-4);z-index:2;display:grid;gap:.1rem;width:max-content;max-width:min(84%,16rem);padding:.55rem .8rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--white) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-soft);font-size:var(--text-xs);line-height:1.45;color:var(--ink-soft);transform:translate(-50%);animation:greeting-rise .42s var(--ease-out) both}.digital-greeting-name{font-family:var(--font-display);font-size:var(--text-sm);font-weight:700;color:var(--char-main)}@keyframes greeting-rise{0%{opacity:0;transform:translate(-50%,.6rem)}to{opacity:1;transform:translate(-50%)}}.character-art{width:100%;overflow:visible;animation:character-float 5s ease-in-out var(--duration-slow) infinite}.character-art .ground{fill:var(--char-main);opacity:.14}.character-art .body-shape{fill:var(--char-main)}.character-art .neck,.character-art .face,.character-art .ear,.character-art .hand,.character-art .neckline{fill:#f5c9ad}.character-art .hair-back,.character-art .hair-front{fill:#2d2933}.character-art .hair-side{fill:none;stroke:#2d2933;stroke-width:12;stroke-linecap:round}.character-art .hair-shine{fill:none;stroke:var(--white);stroke-width:5;stroke-linecap:round;opacity:.18}.character-art .hair-pin{fill:var(--char-main)}.character-art .hair-pin-dot{fill:var(--white)}.character-art .eyes{transform-box:fill-box;transform-origin:center;animation:blink 5s infinite}.character-art .eye-white{fill:var(--white)}.character-art .iris{fill:#342d39}.character-art .eye-light{fill:var(--white)}.character-art .brow,.character-art .nose,.character-art .smile{fill:none;stroke:#5d4c52;stroke-width:2.5;stroke-linecap:round}.character-art .blush{fill:var(--coral);opacity:.28}.character-art .sleeve-outline{fill:none;stroke:var(--char-main);stroke-width:28;stroke-linecap:round}.character-art .sleeve{fill:none;stroke:#fbf3e9;stroke-width:22;stroke-linecap:round}.character-art .arm-left{transform-origin:128px 254px}.character-art .arm-right{transform-origin:232px 254px}.character-art .hand{stroke:#e9b596;stroke-width:1}.character-art .belt{fill:none;stroke:var(--white);stroke-width:4;stroke-linecap:round;opacity:.8}.character-art .character-body{transform-box:view-box;transform-origin:180px 352px}.character-art .character-head{transform-box:view-box;transform-origin:180px 226px}.character-art .collar{fill:none;stroke:var(--white);stroke-width:5;stroke-linecap:round}.character-art .mouth-open{fill:#6b5057;opacity:0;transform-box:fill-box;transform-origin:center}.character-art .smile-deep{fill:none;stroke:#5d4c52;stroke-width:2.6;stroke-linecap:round;opacity:0;transform-box:fill-box;transform-origin:center}.companion-card.action-smile .character-art .smile,.companion-card.action-wave .character-art .smile,.companion-card.action-dance .character-art .smile,.companion-card.action-nod .character-art .smile{opacity:0}.companion-card.action-smile .character-art .smile-deep,.companion-card.action-wave .character-art .smile-deep,.companion-card.action-dance .character-art .smile-deep,.companion-card.action-nod .character-art .smile-deep{opacity:1;animation:smile-arrive .38s var(--ease-out) both}.companion-card.action-smile .character-art .blush,.companion-card.action-wave .character-art .blush,.companion-card.action-dance .character-art .blush,.companion-card.action-nod .character-art .blush{opacity:.44}.companion-card.action-smile .speech-chip,.companion-card.action-wave .speech-chip,.companion-card.action-dance .speech-chip,.companion-card.action-nod .speech-chip{color:var(--coral-dark)}.speech-chip{position:absolute;top:var(--space-6);right:var(--space-6);display:grid;width:2.5rem;height:2rem;place-items:center;border-radius:var(--radius-full);background:var(--white);color:var(--char-main);font-weight:700}.companion-card.is-speaking .character-arrival{animation:character-speak 2.4s ease-in-out infinite}.companion-card.is-speaking .character-art{animation-play-state:paused}.companion-card.is-speaking .character-art .mouth-open{animation:mouth-talk .46s ease-in-out infinite alternate}.companion-card.is-speaking .character-art .eyes{animation:blink-speaking 2.4s ease-in-out infinite}.companion-card.is-speaking .speech-chip{animation:speech-pulse 1.1s ease-in-out infinite}.companion-card.is-speaking .orbit-one{animation:orbit-pulse 3.6s ease-in-out infinite}.companion-card.is-speaking .status-dot{animation:status-pulse 1.2s ease-in-out infinite}.companion-card.action-wave .character-art .arm-right{animation:hand-wave .62s ease-in-out infinite}.companion-card.action-dance .character-art .character-body{animation:dance-body 1.05s ease-in-out infinite}.companion-card.action-dance .character-art .arm-left{animation:dance-arm-left .82s ease-in-out infinite}.companion-card.action-dance .character-art .arm-right{animation:dance-arm-right .82s ease-in-out infinite}.companion-card.action-dance .character-art .character-head{animation:dance-head .52s ease-in-out infinite}.companion-card.action-nod .character-art .character-head{animation:nod-head .62s ease-in-out 2}.character-copy{padding-inline:var(--space-1)}.character-role{color:var(--muted);font-size:var(--text-xs)}.character-copy h2{margin-top:var(--space-1);font-size:2rem;letter-spacing:-.04em}.character-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);margin-top:var(--space-5)}.character-button{display:flex;min-width:0;min-height:3.5rem;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--line);border-radius:var(--radius-md);background:transparent;font-size:var(--text-sm);transition:border var(--duration-fast),background var(--duration-fast)}.character-button:hover,.character-button.is-active{border-color:var(--ink-soft);background:var(--paper)}.mini-avatar{display:grid;width:1.75rem;height:1.75rem;flex:0 0 auto;place-items:center;border-radius:50%;background:var(--char-soft);color:var(--char-main);font-size:var(--text-xs);font-weight:700}.chat-card{display:flex;min-height:38rem;flex-direction:column}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5);border-bottom:1px solid var(--line)}.chat-with{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.chat-separator{margin-inline:var(--space-2);color:var(--line-strong)}.chat-role{color:var(--muted);font-size:var(--text-sm);text-wrap:balance}.mode-badge{flex:0 0 auto;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--paper-deep);color:var(--muted);font-size:var(--text-xs)}.mode-live{background:var(--teal-soft);color:var(--teal)}.messages{min-height:15rem;max-height:24rem;flex:1;overflow-y:auto;padding:var(--space-5);overscroll-behavior:contain}.message-row{display:flex;margin-bottom:var(--space-4)}.message-row:last-of-type{margin-bottom:0}.message-user{justify-content:flex-end}.message-bubble{max-width:88%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md) var(--radius-md) var(--radius-md) var(--space-1);background:var(--paper);color:var(--ink-soft);overflow-wrap:anywhere;white-space:pre-wrap}.message-user .message-bubble{border-radius:var(--radius-md) var(--radius-md) var(--space-1) var(--radius-md);background:var(--ink);color:var(--white)}.message-assistant{flex-direction:column;align-items:flex-start;gap:.4rem}.share-button{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border:none;border-radius:var(--radius-full);background:transparent;color:var(--muted);font-size:var(--text-xs);line-height:1}.share-button svg{width:.9rem;height:.9rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.share-button:hover{color:var(--coral-dark);background:var(--coral-soft)}.typing-indicator{color:var(--muted);font-size:var(--text-sm)}.chat-bottom{padding:0 var(--space-5) var(--space-5)}.quota-line{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3);color:var(--muted);font-size:var(--text-xs)}.quota-line strong{color:var(--teal);font-weight:650}.quota-model{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.quota-model strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-bubble.is-mirror{border-left:3px solid var(--coral-dark);background:var(--coral-soft)}.mirror-tag{font-size:var(--text-xs);font-weight:650;color:var(--coral-dark)}.mirror-pattern{margin-top:.3rem;color:var(--ink-soft)}.mirror-evidence{margin:.45rem 0 0;padding-left:1.1rem;display:grid;gap:.15rem;color:var(--muted);font-size:var(--text-sm)}.mirror-close{margin-top:.4rem;color:var(--ink-soft)}.mirror-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.3rem}.mirror-actions .share-button{border:1px solid var(--line)}.mirror-actions .share-button:disabled{opacity:.55}.quota-line .share-button:disabled{opacity:.55}.quiz-section{padding-block:var(--space-10) var(--space-8)}.quiz-subtitle{max-width:42rem;margin-top:var(--space-3);color:var(--muted)}.quiz-zh-only{margin-top:var(--space-2);color:var(--coral-dark);font-size:var(--text-xs)}.quiz-card{margin-top:var(--space-6);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--white);box-shadow:var(--shadow-soft)}.quiz-dims{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3);margin-bottom:var(--space-5)}.quiz-dim{padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius-lg)}.quiz-dim strong{display:block;font-size:var(--text-sm)}.quiz-dim span{color:var(--muted);font-size:var(--text-xs)}.quiz-name{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);font-size:var(--text-sm);color:var(--ink-soft)}.quiz-name input{flex:1;max-width:16rem;min-height:2.75rem;padding:0 var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-md)}.quiz-name input:focus-visible{outline:2px solid var(--focus)}.quiz-progress{display:flex;justify-content:space-between;color:var(--muted);font-size:var(--text-xs);margin-bottom:var(--space-2)}.quiz-bar{height:6px;border-radius:var(--radius-full);background:var(--line);overflow:hidden}.quiz-bar span{display:block;height:100%;border-radius:inherit;background:var(--coral);transition:width var(--duration-fast)}.quiz-question{margin:var(--space-5) 0;font-size:var(--text-lg);font-weight:650}.quiz-options{display:grid;gap:var(--space-2)}.quiz-option{min-height:3.25rem;padding:var(--space-3) var(--space-4);text-align:left;border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--white);transition:border-color var(--duration-fast),background var(--duration-fast)}.quiz-option:hover{border-color:var(--coral)}.quiz-option.is-picked{border-color:var(--coral-dark);background:var(--coral-soft)}.quiz-prev{margin-top:var(--space-4)}.quiz-quote{margin-bottom:var(--space-4);padding-left:var(--space-4);border-left:3px solid var(--coral);color:var(--muted)}.quiz-result-head h3{font-size:var(--text-lg);font-weight:650}.quiz-result-head p{margin-top:var(--space-1);color:var(--ink-soft)}.quiz-tint{margin-top:var(--space-2);color:var(--coral-dark);font-size:var(--text-xs)}.quiz-dimbars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin-top:var(--space-5)}.quiz-dimbar-row{display:flex;justify-content:space-between;font-size:var(--text-xs);color:var(--muted);margin-bottom:6px}.quiz-dimbar-row strong{color:var(--teal)}.quiz-dimbar em{display:block;margin-top:4px;color:var(--muted);font-size:var(--text-xs);font-style:normal}.quiz-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5);margin-top:var(--space-5)}.quiz-lists h4,.quiz-intro h4{font-size:var(--text-sm);color:var(--ink-soft);margin-bottom:var(--space-2)}.quiz-item{margin-bottom:var(--space-3)}.quiz-item strong{display:block;font-size:var(--text-sm)}.quiz-item span{color:var(--muted);font-size:var(--text-xs)}.quiz-intro{margin-top:var(--space-5);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--paper)}.quiz-intro p{color:var(--ink-soft)}.quiz-hint{margin-top:var(--space-2);color:var(--muted);font-size:var(--text-sm)}.quiz-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4);margin-top:var(--space-5)}.quiz-told{margin-top:var(--space-3);color:var(--teal);font-size:var(--text-sm)}.quiz-disclaimer{margin-top:var(--space-4);color:var(--muted);font-size:var(--text-xs)}@media (max-width: 48rem){.quiz-dims,.quiz-dimbars{grid-template-columns:repeat(2,minmax(0,1fr))}.quiz-lists{grid-template-columns:1fr}}.chat-bottom form{padding:var(--space-2);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:var(--white)}.chat-bottom textarea{display:block;width:100%;min-height:5.5rem;resize:vertical;border:0;outline:0;background:transparent;padding:var(--space-2);font-size:var(--text-base);line-height:1.55}.chat-bottom textarea::placeholder{color:var(--muted)}.input-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-inline:var(--space-2)}.input-actions>span{color:var(--muted);font-size:var(--text-xs)}.send-button{display:inline-flex;min-height:2.75rem;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:0;border-radius:var(--radius-full);background:var(--coral);color:var(--white);font-size:var(--text-sm);font-weight:650}.send-button:hover:not(:disabled){background:var(--coral-dark)}.send-button:disabled{opacity:.45}.consent-block{margin-top:var(--space-4)}.consent-block label{display:flex;align-items:flex-start;gap:var(--space-2);color:var(--ink-soft);font-size:var(--text-xs);cursor:pointer}.consent-block input{width:1rem;height:1rem;flex:0 0 auto;margin-top:.15rem;accent-color:var(--teal)}.consent-block p,.ai-notice{margin-top:var(--space-1);color:var(--muted);font-size:var(--text-xs)}.ai-notice{margin-top:var(--space-3)}.chat-error{margin:var(--space-3) var(--space-5) 0;color:var(--danger);font-size:var(--text-sm)}.feedback-row{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-3) var(--space-5) 0;padding-top:var(--space-3);border-top:1px dashed color-mix(in srgb,var(--ink) 12%,transparent)}.feedback-prompt{font-size:var(--text-sm);color:color-mix(in srgb,var(--ink) 62%,transparent);margin-right:var(--space-1)}.feedback-button{display:inline-flex;align-items:center;gap:.3rem;min-height:2.25rem;padding:0 var(--space-3);border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:999px;background:transparent;color:color-mix(in srgb,var(--ink) 78%,transparent);font-size:var(--text-sm);cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease}.feedback-button svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.feedback-button:hover{background:color-mix(in srgb,var(--teal) 10%,transparent);border-color:color-mix(in srgb,var(--teal) 42%,transparent);color:var(--teal)}.feedback-button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.feedback-thanks{font-size:var(--text-sm);color:var(--teal)}.chat-header-actions{display:flex;align-items:center;gap:var(--space-2)}.icon-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);border-radius:999px;background:transparent;color:color-mix(in srgb,var(--ink) 66%,transparent);cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease}.icon-toggle svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.icon-toggle:hover{color:var(--teal);border-color:color-mix(in srgb,var(--teal) 40%,transparent)}.icon-toggle.is-active{background:color-mix(in srgb,var(--teal) 12%,transparent);color:var(--teal);border-color:color-mix(in srgb,var(--teal) 45%,transparent)}.icon-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.mic-button{display:inline-flex;align-items:center;gap:.35rem;min-height:2.25rem;padding:0 var(--space-3);border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:999px;background:transparent;color:color-mix(in srgb,var(--ink) 74%,transparent);font-size:var(--text-sm);cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease,box-shadow .16s ease}.mic-button svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.mic-button:hover{color:var(--coral);border-color:color-mix(in srgb,var(--coral) 45%,transparent)}.mic-button:focus-visible{outline:2px solid var(--coral);outline-offset:2px}.mic-button.is-listening{color:var(--coral);border-color:color-mix(in srgb,var(--coral) 55%,transparent);background:color-mix(in srgb,var(--coral) 10%,transparent);animation:mic-pulse 1.4s ease-in-out infinite}@keyframes mic-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--coral) 32%,transparent)}50%{box-shadow:0 0 0 .4rem color-mix(in srgb,var(--coral) 0%,transparent)}}textarea.is-listening{border-color:color-mix(in srgb,var(--coral) 50%,transparent)}.mic-button.is-listening span:before{content:"";display:inline-block;width:.5rem;height:.5rem;margin-right:.35rem;border-radius:50%;background:var(--danger);animation:rec-blink 1.1s ease-in-out infinite}@keyframes rec-blink{0%,to{opacity:1}50%{opacity:.25}}.voice-note{margin:var(--space-2) var(--space-5) 0;font-size:var(--text-sm);color:var(--muted)}.workspace-facetime{position:relative;min-height:calc(100vh - var(--header-height) - var(--space-6));align-content:start}.workspace-facetime .character-stage{min-height:24rem}.workspace-facetime .character-art{transform:scale(1.18);transform-origin:50% 100%}.exit-facetime{position:absolute;top:0;right:0;z-index:5;display:inline-flex;align-items:center;gap:.35rem;min-height:2.25rem;padding:0 var(--space-3);border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:999px;background:var(--white);color:color-mix(in srgb,var(--ink) 70%,transparent);font-size:var(--text-sm);cursor:pointer}.exit-facetime svg{width:.9rem;height:.9rem;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}.exit-facetime:hover{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent)}@media (prefers-reduced-motion: reduce){.mic-button.is-listening{animation:none}}.feature-section{padding-block:var(--space-20)}.section-heading{max-width:44rem}.section-heading h2{margin-top:var(--space-3);font-size:var(--text-h2);line-height:1.15;letter-spacing:-.04em}.section-heading>p:last-child:not(.eyebrow){margin-top:var(--space-5);color:var(--muted)}.feature-grid{display:grid;gap:var(--space-8);margin-top:var(--space-12)}.feature-grid article{padding-top:var(--space-5);border-top:1px solid var(--line-strong)}.feature-number{color:var(--coral);font-size:var(--text-xs);font-weight:700}.feature-grid h3{margin-top:var(--space-8);font-size:var(--text-h3)}.feature-grid p{margin-top:var(--space-3);color:var(--muted)}.pricing-section{padding-bottom:var(--space-20);scroll-margin-top:var(--header-height)}.pricing-grid{display:grid;gap:var(--space-4);margin-top:var(--space-10)}.price-card{position:relative;display:flex;min-width:0;flex-direction:column;padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white)}.price-card.is-featured{border-color:var(--coral)}.plan-badge{position:absolute;top:var(--space-4);right:var(--space-4);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--coral-soft);color:var(--coral-dark);font-size:var(--text-xs);font-weight:700}.price-card h3{font-size:var(--text-h3)}.plan-description{min-height:3rem;margin-top:var(--space-2);color:var(--muted);font-size:var(--text-sm)}.price{display:flex;align-items:baseline;margin-top:var(--space-6);font-family:var(--font-display);font-size:3rem;font-weight:650;letter-spacing:-.05em}.price>span{margin-right:var(--space-1);font-size:var(--text-lg)}.price small{margin-left:var(--space-2);color:var(--muted);font-family:var(--font-body);font-size:var(--text-xs);font-weight:400;letter-spacing:0}.price-card ul{display:grid;gap:var(--space-3);flex:1;margin:var(--space-6) 0;padding:0;list-style:none;color:var(--ink-soft);font-size:var(--text-sm)}.price-card li{position:relative;padding-left:var(--space-5)}.price-card li:before{content:"";position:absolute;top:.65rem;left:0;width:.45rem;height:.45rem;border-radius:50%;background:var(--teal)}.plan-button{display:inline-flex;min-height:2.9rem;align-items:center;justify-content:center;width:100%;padding:var(--space-2) var(--space-4);border:1px solid var(--ink);border-radius:var(--radius-full);background:var(--ink);color:var(--white);font-size:var(--text-sm);font-weight:650}.plan-button:disabled{border-color:var(--line);background:var(--paper-deep);color:var(--muted)}.checkout-form{display:grid;gap:var(--space-2)}.checkout-form input{min-height:2.9rem;width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--white);font-size:var(--text-base)}.billing-note{margin-top:var(--space-4);color:var(--muted);font-size:var(--text-xs);text-align:center}.site-footer{padding-block:var(--space-10);border-top:1px solid var(--line)}.footer-inner{display:grid;gap:var(--space-6)}.footer-brand{font-size:var(--text-lg)}.footer-inner .footer-brand+p{margin-top:var(--space-2);color:var(--muted);font-size:var(--text-sm)}.footer-links{display:flex;flex-wrap:wrap;gap:var(--space-5);color:var(--ink-soft);font-size:var(--text-sm)}.copyright{color:var(--muted);font-size:var(--text-xs)}@keyframes character-arrive{0%{opacity:0;transform:translateY(6rem) scale(.86)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes character-float{0%,to{transform:translateY(0)}50%{transform:translateY(-.45rem)}}@keyframes character-speak{0%,to{transform:translateY(0) rotate(-.35deg)}50%{transform:translateY(-.35rem) rotate(.35deg)}}@keyframes blink{0%,45%,49%,to{transform:scaleY(1)}47%{transform:scaleY(.08)}}@keyframes blink-speaking{0%,41%,45%,to{transform:scaleY(1)}43%{transform:scaleY(.08)}}@keyframes wave{0%,to{transform:rotate(0)}50%{transform:rotate(-8deg)}}@keyframes wave-speaking{0%,to{transform:rotate(0)}50%{transform:rotate(-13deg)}}@keyframes hand-wave{0%,to{transform:rotate(-108deg)}50%{transform:rotate(-132deg)}}@keyframes dance-body{0%,to{transform:rotate(-3.2deg) translateY(0)}50%{transform:rotate(3.2deg) translateY(-5px)}}@keyframes dance-arm-left{0%,to{transform:rotate(46deg)}50%{transform:rotate(16deg)}}@keyframes dance-arm-right{0%,to{transform:rotate(-46deg)}50%{transform:rotate(-16deg)}}@keyframes dance-head{0%,to{transform:rotate(4deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-2px)}}@keyframes nod-head{0%,to{transform:translateY(0) rotate(0)}45%{transform:translateY(8px) rotate(2deg)}}@keyframes mouth-talk{0%{opacity:.2;transform:scale(.72,.3)}to{opacity:.95;transform:scale(1.08,1.15)}}@keyframes smile-arrive{0%{opacity:0;transform:scale(.6,.75)}to{opacity:1;transform:scale(1)}}@keyframes speech-pulse{0%,to{transform:scale(1);opacity:.82}50%{transform:scale(1.08);opacity:1}}@keyframes orbit-pulse{0%,to{transform:scale(1);opacity:.16}50%{transform:scale(1.04);opacity:.26}}@keyframes status-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.45);opacity:.55}}@media (min-width: 48rem){:root{--page-pad: 2rem}.main-nav{display:flex}.preview-pill{display:inline-flex}.hero{padding-block:var(--space-16) var(--space-12)}.workspace{grid-template-columns:repeat(2,minmax(0,1fr))}.character-stage{min-height:22rem}.feature-grid,.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-inner{grid-template-columns:1fr auto;align-items:center}.copyright{grid-column:1 / -1}}@media (min-width: 64rem){.hero{display:grid;grid-template-columns:minmax(0,1fr) 12rem;gap:var(--space-8);align-items:end}.hero-note{display:block;padding-left:var(--space-5);border-left:1px solid var(--line-strong)}.hero-note span{color:var(--coral);font-size:var(--text-xs)}.hero-note p{margin-top:var(--space-4);color:var(--muted);font-size:var(--text-sm)}.workspace{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:var(--space-5)}.companion-card{padding:var(--space-6)}.character-stage{min-height:25rem}.chat-card{min-height:42rem}.messages{max-height:25rem;padding:var(--space-6)}.chat-header,.chat-bottom{padding-inline:var(--space-6)}.chat-bottom{padding-bottom:var(--space-6)}.price-card{padding:var(--space-8)}.footer-inner{grid-template-columns:1fr auto auto}.copyright{grid-column:auto}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.install-hint{position:relative;display:flex;width:min(calc(100% - var(--page-pad) * 2),var(--container));align-items:center;gap:var(--space-3);margin:var(--space-6) auto 0;padding:var(--space-3) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-soft)}.install-hint-icon{display:grid;width:2.2rem;height:2.2rem;flex:none;place-items:center;border-radius:var(--radius-full);background:var(--coral-soft);color:var(--coral-dark)}.install-hint-icon svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.install-hint p{display:grid;gap:.1rem;flex:1;min-width:0;font-size:var(--text-xs);color:var(--muted)}.install-hint strong{font-size:var(--text-sm);color:var(--ink)}.install-hint>button{flex:none;min-height:2.25rem;padding:0 var(--space-3);border:0;border-radius:var(--radius-full);background:var(--ink);color:var(--white);font-size:var(--text-xs)}.install-hint .install-dismiss{min-height:2rem;width:2rem;padding:0;background:transparent;color:var(--muted)}.install-dismiss svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}@media (min-width: 48rem){.install-hint{margin-top:var(--space-8)}}html{-webkit-text-size-adjust:100%}.site-header{padding-top:env(safe-area-inset-top,0px)}.site-footer{padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom,0px))}body{overscroll-behavior-y:none}@media (display-mode: standalone){.site-header{border-bottom-color:transparent;background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}@media (max-width: 30rem){.chat-bottom textarea{min-height:4.5rem;font-size:1rem}.message-bubble{max-width:92%}.character-selector{gap:.4rem}.share-button{padding:.35rem .5rem}}
