:root{--ink:#1c1714;--ink-soft:#3a322c;--paper:#fff8f3;--paper-2:#f3e8df;--blush:#f7d6d8;--rose:#d98992;--rose-deep:#b85c68;--champagne:#c9a36a;--champagne-bright:#e0c08a;--teal:#6ba8a0;--teal-deep:#3f7f78;--line:#1c17142e;--line-strong:#1c17146b;--glow-gold:#c9a36a59;--glow-teal:#6ba8a047;--font-display:"Fraunces", Georgia, serif;--font-ui:"Syne", sans-serif;--font-mono:"IBM Plex Mono", monospace;--header-h:72px;--frame-cut:14px}*,:before,:after{box-sizing:border-box}html{max-width:100%;overflow-x:clip}body,#root{max-width:100%;min-height:100%;overflow-x:clip}body{color:var(--ink);font-family:var(--font-ui);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;scrollbar-width:thin;scrollbar-color:var(--champagne) var(--paper-2);margin:0}*{scrollbar-width:thin;scrollbar-color:var(--champagne) #f3e8dfe6}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{border-left:1px solid var(--line);background:linear-gradient(#f7efe7 0%,#efe2d6 100%)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--champagne-bright) 0%, var(--champagne) 55%, #b8915a 100%);border:1px solid var(--ink);border-radius:0;box-shadow:inset 0 0 0 1px #fff8f340}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg, var(--rose) 0%, var(--champagne) 100%)}::-webkit-scrollbar-thumb:active{background:var(--teal-deep)}::-webkit-scrollbar-corner{background:var(--paper-2);border-left:1px solid var(--line);border-top:1px solid var(--line)}.chat-transcript::-webkit-scrollbar-track{border-left:1px solid var(--line);background:#fff8f3a6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input{font:inherit}.page,.route-shell{max-width:100%;min-height:100vh;position:relative;overflow-x:clip}.route-shell.is-transitioning{pointer-events:none}.route-view{max-width:100%;min-height:100vh;overflow-x:clip}.route-view.is-exiting,.route-view.is-entering{will-change:opacity, transform, filter}.route-view.is-exiting{animation:.48s cubic-bezier(.4,0,.2,1) forwards routeExit}.route-view.is-entering{animation:.56s cubic-bezier(.16,1,.3,1) forwards routeEnter}@keyframes routeExit{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:.35;filter:blur(2px);transform:translateY(14px)scale(.985)}}@keyframes routeEnter{0%{opacity:0;filter:blur(3px);transform:translateY(22px)scale(.98)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.page-veil{z-index:9999;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.veil-band{transform-origin:0;position:absolute;inset:-12% -8%}.veil-band-a{clip-path:polygon(0 0,100% 0,100% 38%,0 48%);background:linear-gradient(118deg,#1c1714 0%,#2a221c 55%,#1c1714 100%)}.veil-band-b{clip-path:polygon(0 42%,100% 32%,100% 68%,0 78%);opacity:.95;background:linear-gradient(118deg,#c9a36a 0%,#d98992 50%,#6ba8a0 100%)}.veil-band-c{clip-path:polygon(0 72%,100% 62%,100% 100%,0 100%);background:linear-gradient(118deg,#fff8f3 0%,#f3e4d6 100%)}.page-veil.is-cover .veil-band-a{animation:.5s cubic-bezier(.65,0,.35,1) forwards veilSweepIn}.page-veil.is-cover .veil-band-b{animation:.5s cubic-bezier(.65,0,.35,1) 60ms both veilSweepIn}.page-veil.is-cover .veil-band-c{animation:.5s cubic-bezier(.65,0,.35,1) .12s both veilSweepIn}.page-veil.is-reveal .veil-band-a{animation:.55s cubic-bezier(.65,0,.35,1) 80ms both veilSweepOut}.page-veil.is-reveal .veil-band-b{animation:.55s cubic-bezier(.65,0,.35,1) 40ms both veilSweepOut}.page-veil.is-reveal .veil-band-c{animation:.55s cubic-bezier(.65,0,.35,1) both veilSweepOut}@keyframes veilSweepIn{0%{transform:translate(-108%)skew(-8deg)}to{transform:translate(0)skew(-8deg)}}@keyframes veilSweepOut{0%{transform:translate(0)skew(-8deg)}to{transform:translate(108%)skew(-8deg)}}.veil-frame{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff8f3;clip-path:polygon(0 10px,10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);background:#1c17148c;border:1px solid #fff8f359;flex-direction:column;align-items:center;gap:.65rem;min-width:min(70vw,280px);padding:1.1rem 1.4rem;display:flex;position:relative}.page-veil.is-cover .veil-frame{animation:.35s cubic-bezier(.16,1,.3,1) .18s both veilBadgeIn}.page-veil.is-reveal .veil-frame{animation:.35s 50ms both veilBadgeOut}@keyframes veilBadgeIn{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes veilBadgeOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.98)}}.veil-signal{font-family:var(--font-mono);letter-spacing:.18em;color:#fff8f3b3;align-items:center;gap:.4rem;font-size:.62rem;display:inline-flex}.veil-dot{background:var(--rose);width:.4rem;height:.4rem;animation:1.2s ease-out infinite ctaPulseDot}.veil-route{font-family:var(--font-display);letter-spacing:.04em;font-size:clamp(1.35rem,3vw,1.85rem);line-height:1}.veil-line{background:linear-gradient(90deg, transparent, var(--champagne), var(--teal), transparent);transform-origin:0;width:100%;height:2px}.page-veil.is-cover .veil-line{animation:.45s .25s both veilLine}.page-veil.is-reveal .veil-line{animation:.3s both veilLineOut}@keyframes veilLine{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}@keyframes veilLineOut{to{opacity:0;transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.route-view.is-exiting,.route-view.is-entering,.page-veil,.veil-band,.veil-frame,.veil-line,.veil-dot{animation:none!important}.page-veil{display:none}}.atmosphere{pointer-events:none;z-index:0;background:radial-gradient(80% 50% at 10% -10%,#f7d6d8b3,#0000 55%),radial-gradient(60% 45% at 95% 5%,#6ba8a038,#0000 50%),radial-gradient(50% 40% at 70% 90%,#c9a36a2e,#0000 55%),linear-gradient(165deg,#fff9f4 0%,#f6ebe3 48%,#efe2d6 100%);position:fixed;inset:0}.atm-blob{filter:blur(60px);opacity:.45;width:42vw;height:42vw;animation:18s ease-in-out infinite alternate drift;position:absolute}.atm-blob.a{background:radial-gradient(circle,#f0c4c8,#0000 70%);top:-8%;left:-6%}.atm-blob.b{background:radial-gradient(circle,#9ecfc8,#0000 70%);animation-delay:-7s;bottom:10%;right:-10%}.atm-noise{opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}@keyframes drift{0%{transform:translate(0)scale(1)}to{transform:translate(3%,2%)scale(1.05)}}.site-header{z-index:40;height:var(--header-h);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fff8f3b8;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;padding:0 clamp(1rem,3vw,2.5rem);display:grid;position:sticky;top:0}.site-header.is-solid{background:#fff8f3eb}.brand-lockup{justify-self:start;align-items:center;gap:.75rem;display:flex}.brand-mark{border:2px solid var(--champagne);outline:1px solid var(--teal);outline-offset:3px;background:var(--paper-2);width:42px;height:42px;overflow:hidden}.brand-mark img{object-fit:cover;object-position:top center;width:100%;height:100%}.brand-text{flex-direction:column;line-height:1.1;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.15rem;font-weight:700}.brand-sub{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);opacity:.75;font-size:.65rem}.site-nav{justify-content:center;gap:.25rem;display:flex}.site-nav a{letter-spacing:.02em;border:1px solid #0000;padding:.55rem .9rem;font-size:.85rem;font-weight:600;transition:border-color .2s,background .2s,color .2s}.site-nav a:hover,.site-nav a.active{border-color:var(--line-strong);background:#c9a36a1f}.header-cta{justify-self:end}.header-cta.is-live-session{opacity:1;cursor:default;pointer-events:none;background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 var(--champagne);gap:.55rem;animation:3.2s ease-in-out infinite ctaIdleBreath;position:relative;overflow:hidden}.header-cta.is-live-session:hover,.header-cta.is-live-session:disabled{opacity:1;background:var(--ink);box-shadow:4px 4px 0 var(--champagne);transform:none}.header-cta.is-live-session:before{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 0% 40%,#fff8f32e 50%,#0000 60% 100%);animation:4.5s ease-in-out infinite ctaSheen;position:absolute;inset:0;transform:translate(-120%)}.cta-live-dot{background:var(--rose);flex-shrink:0;width:.45rem;height:.45rem;animation:1.8s ease-out infinite ctaPulseDot;box-shadow:0 0 #d989928c}.cta-label{z-index:1;letter-spacing:.01em;position:relative}@keyframes ctaIdleBreath{0%,to{box-shadow:4px 4px 0 var(--champagne)}50%{box-shadow:4px 4px 0 var(--rose)}}@keyframes ctaSheen{0%,55%{transform:translate(-120%)}75%{transform:translate(120%)}to{transform:translate(120%)}}@keyframes ctaPulseDot{0%{background:var(--rose);box-shadow:0 0 #d989928c}70%{box-shadow:0 0 0 8px #d9899200}to{background:var(--champagne);box-shadow:0 0 #d9899200}}.btn{border:2px solid var(--ink);color:var(--ink);letter-spacing:.03em;cursor:pointer;clip-path:polygon(0 10px,10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);background:0 0;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.15rem;font-weight:700;transition:transform .2s,background .2s,color .2s,box-shadow .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--ink);color:var(--paper);box-shadow:4px 4px 0 var(--champagne)}.btn-primary:hover{background:var(--teal-deep);box-shadow:4px 4px 0 var(--rose)}.btn-ghost{background:#fff8f38c;box-shadow:4px 4px #1c17141f}.btn-lg{padding:.95rem 1.45rem;font-size:1rem}.geo-frame{background:linear-gradient(var(--paper), var(--paper)) padding-box, linear-gradient(135deg, var(--champagne), var(--teal), var(--rose)) border-box;clip-path:polygon(var(--frame-cut) 0, 100% 0, 100% calc(100% - var(--frame-cut)), calc(100% - var(--frame-cut)) 100%, 0 100%, 0 var(--frame-cut));border:2px solid #0000;padding:3px;position:relative}.geo-frame.accent-teal{background:linear-gradient(var(--paper), var(--paper)) padding-box, linear-gradient(135deg, var(--teal), var(--champagne)) border-box}.geo-frame.accent-rose{background:linear-gradient(var(--paper), var(--paper)) padding-box, linear-gradient(135deg, var(--rose), var(--champagne)) border-box}.geo-frame-inner{border:1px solid var(--line);outline-offset:-7px;height:100%;min-height:0;clip-path:inherit;background:#fff8f3d1;outline:1px dashed #c9a36a73;position:relative;overflow:hidden}.geo-label{z-index:3;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line-strong);pointer-events:none;padding:.25rem .45rem;font-size:.62rem;position:absolute;top:10px;left:14px}.chat-frame .geo-label{top:12px;left:14px;right:auto}.geo-corner{border:2px solid var(--champagne);z-index:4;pointer-events:none;width:12px;height:12px;position:absolute}.geo-corner.tl{border-bottom:none;border-right:none;top:-1px;left:-1px}.geo-corner.tr{border-bottom:none;border-left:none;border-color:var(--teal);top:-1px;right:-1px}.geo-corner.bl{border-top:none;border-right:none;border-color:var(--rose);bottom:-1px;left:-1px}.geo-corner.br{border-top:none;border-left:none;bottom:-1px;right:-1px}.landing-page>:not(.atmosphere){z-index:1;position:relative}.landing-page .atm-wallpaper{filter:saturate(.92)contrast(.96);background-position:50%;background-repeat:no-repeat;background-size:cover;animation:32s ease-in-out infinite alternate wallpaperDrift;position:absolute;inset:0;transform:scale(1.03)}.landing-page .atm-veil{background:linear-gradient(165deg,#fff9f4b8 0%,#f6ebe394 42%,#efe2d6b3 100%),radial-gradient(70% 50% at 12% 8%,#f7d6d859,#0000 55%),radial-gradient(55% 45% at 92% 18%,#6ba8a02e,#0000 50%);position:absolute;inset:0}.landing-page .atm-blob{opacity:.22}.landing-page .home-atmosphere{z-index:0;background:#f3e8df;position:fixed;inset:0;transform:translateZ(0)}@keyframes wallpaperDrift{0%{transform:scale(1.03)}to{transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.landing-page .atm-wallpaper{animation:none}}.hero{min-height:calc(100vh - var(--header-h));grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(1.5rem,4vw,3.5rem);padding:clamp(2rem,5vw,4.5rem) clamp(1rem,3vw,2.5rem) 3rem;display:grid}.hero>.reveal{min-width:0}.hero>.reveal .hero-visual{width:100%}.eyebrow{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--teal-deep);margin:0 0 .85rem;font-size:.72rem}.hero-brand{font-family:var(--font-display);letter-spacing:-.03em;color:var(--ink);background:linear-gradient(115deg,#1c1714 0% 42%,#8a4a55 78%,#6ba8a0 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .75rem;font-size:clamp(3.2rem,8vw,6.2rem);line-height:.92;animation:.9s cubic-bezier(.2,.8,.2,1) both brandIn}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.hero-brand{color:var(--ink);-webkit-text-fill-color:unset;background:0 0}}.hero-lead{font-family:var(--font-display);color:var(--ink-soft);margin:0 0 .85rem;font-size:clamp(1.25rem,2.4vw,1.7rem);font-weight:500;animation:.9s .1s both brandIn}.hero-support{max-width:36rem;color:var(--ink-soft);margin:0 0 1.6rem;line-height:1.65;animation:.9s .18s both brandIn}.hero-actions{flex-wrap:wrap;gap:.85rem;margin-bottom:1.75rem;animation:.9s .26s both brandIn;display:flex}.trait-row{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.trait-row li{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line-strong);background:#ffffff73;padding:.4rem .65rem;font-size:.7rem}.hero-visual{perspective:900px;transition:transform .45s cubic-bezier(.16,1,.3,1);animation:1s .15s both brandIn}.hero-visual.is-hot{transform:translateY(-4px)}.hero-visual.is-hot .hero-frame{box-shadow:6px 6px 0 var(--champagne), 0 18px 40px #1c17141f}.hero-frame{min-height:560px;transition:box-shadow .45s}.hero-frame .geo-frame-inner{min-height:560px}.hero-stage{cursor:crosshair;height:560px;transform-style:preserve-3d;background:linear-gradient(#efe2d6 0%,#e8d5c4 100%);position:relative;overflow:hidden}.hero-parallax{will-change:transform;transition:transform .18s ease-out;position:absolute;inset:-4%}.hero-banner{object-fit:cover;object-position:center top;transform-origin:50%;will-change:transform;-webkit-user-select:none;user-select:none;width:106%;height:106%;transition:transform .18s ease-out;animation:7s ease-in-out infinite heroIdleBreath;position:absolute;inset:-3%}.hero-light{z-index:1;pointer-events:none;mix-blend-mode:soft-light;background:radial-gradient(55% 40% at 22% 18%,#fff8f359,#0000 70%),radial-gradient(40% 35% at 78% 30%,#f7d6d82e,#0000 70%);animation:6.5s ease-in-out infinite heroLightPulse;position:absolute;inset:0}.hero-sheen{z-index:2;pointer-events:none;background:linear-gradient(115deg,#0000 0% 42%,#fff8f338 50%,#0000 58% 100%);animation:7.5s ease-in-out infinite heroSheen;position:absolute;inset:0;transform:translate(-130%)}.hero-petals{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-petals span{opacity:.55;clip-path:polygon(50% 0%,100% 40%,80% 100%,20% 100%,0% 40%);background:#fff8f3d9;border:1px solid #d9899259;width:7px;height:10px;animation:linear infinite heroPetalFall;position:absolute;top:-8%}.hero-petals span:first-child{animation-duration:9s;animation-delay:0s;left:12%}.hero-petals span:nth-child(2){width:5px;height:8px;animation-duration:11s;animation-delay:-2s;left:28%}.hero-petals span:nth-child(3){animation-duration:8.5s;animation-delay:-4s;left:44%}.hero-petals span:nth-child(4){width:6px;height:9px;animation-duration:12s;animation-delay:-1s;left:58%}.hero-petals span:nth-child(5){animation-duration:10s;animation-delay:-5s;left:71%}.hero-petals span:nth-child(6){width:5px;height:7px;animation-duration:9.5s;animation-delay:-3s;left:83%}.hero-petals span:nth-child(7){opacity:.35;width:4px;height:6px;animation-duration:13s;animation-delay:-6s;left:18%}.hero-petals span:nth-child(8){opacity:.4;width:4px;height:6px;animation-duration:10.5s;animation-delay:-7s;left:66%}.hero-vignette{z-index:3;pointer-events:none;background:linear-gradient(#0000 55%,#1c171429 100%);position:absolute;inset:0}.hero-spotlight{z-index:3;pointer-events:none;opacity:0;mix-blend-mode:soft-light;transition:opacity .35s;position:absolute;inset:0}.hero-visual.is-hot .hero-spotlight{opacity:1}.hero-live-tag{align-items:center;gap:.4rem;display:inline-flex}.hero-live-dot{background:var(--rose);width:.4rem;height:.4rem;animation:1.8s ease-out infinite ctaPulseDot}.hero-visual.is-hot .hero-live-tag{color:var(--ink)}.hero-model{filter:drop-shadow(0 18px 30px #1c171440);width:auto;max-width:none;height:108%;position:absolute;bottom:-4%;left:50%;transform:translate(-50%)}@keyframes heroIdleBreath{0%,to{filter:brightness()saturate()}50%{filter:brightness(1.04)saturate(1.05)}}@keyframes heroLightPulse{0%,to{opacity:.55}50%{opacity:.9}}@keyframes heroSheen{0%,55%{transform:translate(-130%)}75%,to{transform:translate(130%)}}@keyframes heroPetalFall{0%{opacity:0;transform:translateY(-10%)rotate(0)}12%{opacity:.65}to{opacity:0;transform:translate(28px,118%)rotate(160deg)}}@media (prefers-reduced-motion:reduce){.hero-banner,.hero-light,.hero-sheen,.hero-petals span,.hero-live-dot{animation:none!important}.hero-parallax,.hero-banner{transition:none!important;transform:none!important}}.float-idle{animation:4.5s ease-in-out infinite floatY}@keyframes floatY{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-10px)}}@keyframes brandIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero-meta-strip{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;gap:1rem;margin-top:.75rem;padding:.65rem .15rem;font-size:.68rem;display:flex}.section{padding:4rem clamp(1rem,3vw,2.5rem)}.section-head{max-width:40rem;margin-bottom:2rem}.section-head h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .6rem;font-size:clamp(1.8rem,3.5vw,2.6rem)}.section-head p{color:var(--ink-soft);margin:0;line-height:1.6}.feature-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.feature-grid .geo-frame-inner{padding:2.2rem 1.4rem 1.4rem}.feature-grid h3{font-family:var(--font-display);margin:0 0 .5rem;font-size:1.35rem}.feature-grid p{color:var(--ink-soft);margin:0;font-size:.95rem;line-height:1.55}.expr-marquee{contain:paint;width:100%;max-width:100%;display:block;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 5% 95%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 5% 95%,#0000 100%)}.expr-track{width:max-content;max-width:none;animation:exprMarquee var(--expr-duration,22s) linear infinite;will-change:transform;gap:0;display:flex}.preview-section{max-width:100%;overflow-x:clip}.expr-rail{flex-shrink:0;gap:1rem;padding-right:1rem;display:flex}.expr-card{flex:0 0 clamp(220px,24vw,300px);width:clamp(220px,24vw,300px)}.expr-card .geo-frame-inner{text-align:center;padding:.65rem}.expr-card img{aspect-ratio:3/4;object-fit:contain;object-position:top;background:linear-gradient(#6ba8a01f,#0000);width:100%}.expr-card span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-top:.5rem;font-size:.72rem;display:block}@keyframes exprMarquee{0%{transform:translate(0)}to{transform:translateX(calc(-1 * var(--expr-set-width,50%)))}}@media (prefers-reduced-motion:reduce){.expr-track{animation:none;transform:none}.expr-marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.expr-track>.expr-rail:not(:first-child){display:none}}.center-cta{justify-content:center;margin-top:2.5rem;display:flex}.site-footer{border-top:1px solid var(--line);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding:1.5rem clamp(1rem,3vw,2.5rem) 2.5rem;font-size:.7rem;display:flex}.studio-page{background:radial-gradient(ellipse 70% 40% at 20% 0%, #f7d6d873, transparent), radial-gradient(ellipse 50% 40% at 100% 20%, #6ba8a02e, transparent), var(--paper);flex-direction:column;height:100dvh;max-height:100dvh;display:flex;overflow:hidden}html:has(.studio-page){height:100%;max-height:100%;overflow:hidden}body:has(.studio-page){height:100%;max-height:100%;overflow:hidden}#root:has(.studio-page){height:100%;max-height:100%;overflow:hidden}.route-shell:has(.studio-page){height:100%;max-height:100%;overflow:hidden}.route-view:has(.studio-page){height:100%;max-height:100%;overflow:hidden}.studio-layout{flex:1;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:stretch;gap:1rem;min-height:0;padding:.85rem clamp(.75rem,2vw,1.5rem) 1rem;display:grid}.studio-stage-col,.studio-chat-col{flex-direction:column;min-width:0;min-height:0;display:flex}.stage-frame,.chat-frame{flex-direction:column;flex:1;height:100%;min-height:0;display:flex}.stage-frame .geo-frame-inner,.chat-frame .geo-frame-inner{flex-direction:column;flex:1;min-height:0;display:flex;height:100%!important}.stage-frame .geo-frame-inner{background:#1c1714;outline-color:#c9a36a59}.vtuber-stage{background:#1c1714;flex:1;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.stage-backdrop-stack{z-index:0;position:absolute;inset:0}.stage-backdrop{filter:saturate(1.05)contrast(1.02);opacity:1;transition:opacity var(--sprite-fade-ms,.32s) ease;will-change:opacity;background-position:50%;background-size:cover;position:absolute;inset:0;transform:scale(1.04)}.stage-backdrop.phase-in{opacity:0;animation:spriteFadeIn var(--sprite-fade-ms,.32s) ease forwards}.stage-backdrop.phase-out{opacity:0;z-index:1}.stage-backdrop.phase-shown{opacity:1;z-index:2}.stage-veil{z-index:1;pointer-events:none;background:linear-gradient(#1c17141a,#0000 22% 68%,#1c171459 100%),radial-gradient(at 50% 85%,#0000 30%,#1c171440);position:absolute;inset:0}.stage-grid{z-index:1;pointer-events:none;opacity:.5;background-image:linear-gradient(#fff8f30d 1px,#0000 1px),linear-gradient(90deg,#fff8f30d 1px,#0000 1px);background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 20% 70%,#0000);mask-image:linear-gradient(#0000,#000 20% 70%,#0000)}.stage-model-wrap{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}.stage-model-scaler{justify-content:center;align-items:flex-end;width:92%;height:110%;display:flex;position:absolute;bottom:-13%;left:50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(#000 0% 80%,#000000b3 90%,#0003 96%,#0000 100%);mask-image:linear-gradient(#000 0% 80%,#000000b3 90%,#0003 96%,#0000 100%)}.stage-model-stack{justify-content:center;align-items:flex-end;width:100%;height:100%;animation:5s ease-in-out infinite modelIdle;display:flex;position:relative}.stage-model{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 36px #0006);opacity:1;pointer-events:none;width:auto;max-width:none;height:100%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.stage-model.snap-layer{opacity:0;z-index:1;will-change:opacity;transition:none;animation:none}.stage-model.snap-layer.is-active{opacity:1;z-index:3}.stage-model.fade-layer{transition:opacity var(--sprite-fade-ms,.28s) ease;will-change:opacity}.stage-model.fade-layer.phase-in{opacity:0;animation:spriteFadeIn var(--sprite-fade-ms,.28s) ease forwards}.stage-model.fade-layer.phase-out{opacity:0;z-index:4}.stage-model.fade-layer.phase-shown{opacity:1;z-index:5}.stage-model-soft{z-index:3;pointer-events:none;background:linear-gradient(#0000 0%,#1c171447 50%,#0c0907eb 100%);height:150px;position:absolute;bottom:0;left:0;right:0}.is-speaking .stage-model-stack{animation:.9s ease-in-out infinite modelTalk}@keyframes spriteFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modelIdle{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-7px)rotate(-.35deg)}}@keyframes modelTalk{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-3px)scale(1.012)}}.stage-overlay{z-index:5;pointer-events:none;background:linear-gradient(#1c171400 0%,#1c171459 18%,#16110edb 48%,#0e0a08fa 100%);flex-direction:column;gap:.4rem;padding:.55rem .65rem .7rem;display:flex;position:absolute;bottom:0;left:0;right:0}.stage-overlay>*{pointer-events:auto}.stage-hud{flex-wrap:wrap;gap:.35rem;display:flex}.hud-chip{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--paper);background:#1c1714c7;border:1px solid #c9a36a8c;align-items:center;gap:.35rem;padding:.28rem .45rem;font-size:.6rem;display:inline-flex}.live-dot{background:var(--teal);width:7px;height:7px;box-shadow:0 0 #6ba8a0b3}.live-dot.on{background:var(--rose);animation:1s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 #d98992b3}50%{box-shadow:0 0 0 6px #d9899200}}.stage-controls{gap:.4rem;display:grid}.control-block{min-width:0}.control-label{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:#fff8f3b8;margin-bottom:.28rem;font-size:.58rem;display:block}.segmented{background:#fff8f31a;border:1px solid #fff8f359;flex-wrap:nowrap;gap:0;display:flex;overflow:hidden}.segmented.wrap{flex-wrap:wrap}.segmented button{cursor:pointer;color:#fff8f3d1;background:0 0;border:none;border-right:1px solid #fff8f333;flex:1;padding:.4rem;font-size:.72rem;font-weight:600;transition:background .15s,color .15s}.segmented.wrap button{flex:auto;min-width:0;padding:.38rem .45rem}.segmented button:last-child{border-right:none}.segmented button:hover{background:#c9a36a47}.segmented button.active{background:var(--paper);color:var(--ink)}.segmented button:disabled{opacity:.4;cursor:not-allowed}.chat-frame .geo-frame-inner{flex-direction:column;padding:2.7rem 1rem 1rem;display:flex}.chat-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.65rem;padding-bottom:.75rem;display:flex}.chat-header h1{font-family:var(--font-display);margin:0 0 .25rem;font-size:clamp(1.2rem,2vw,1.55rem)}.chat-header p{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-soft);margin:0;font-size:.65rem}.status-pill{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line-strong);white-space:nowrap;flex-shrink:0;padding:.35rem .5rem;font-size:.62rem}.chat-header-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.chat-clear-btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line-strong);color:var(--ink-soft);cursor:pointer;white-space:nowrap;background:0 0;padding:.35rem .5rem;font-size:.62rem}.chat-clear-btn:hover:not(:disabled){color:var(--ink);border-color:var(--ink);background:#c9a36a1f}.chat-clear-btn:disabled{opacity:.4;cursor:not-allowed}.status-pill.ready{background:#6ba8a026}.status-pill.busy{background:#c9a36a33}.status-pill.talk{background:#d9899238}.chat-transcript{flex-direction:column;flex:1;gap:.75rem;min-height:0;padding-right:.35rem;display:flex;overflow-y:auto}.chat-empty{text-align:center;color:var(--ink-soft);font-family:var(--font-display);margin:auto;font-size:1.15rem}.chat-bubble{grid-template-columns:42px 1fr;align-items:start;gap:.65rem;display:grid}.bubble-enter{animation:.42s cubic-bezier(.2,.85,.25,1) both bubbleIn}.chat-bubble.user-send{animation:.48s cubic-bezier(.2,.85,.25,1) both userSendIn}.chat-bubble.assistant-reveal{animation:.5s cubic-bezier(.2,.85,.25,1) both assistantIn}@keyframes bubbleIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes userSendIn{0%{opacity:0;transform:translateY(18px)scale(.97)}60%{opacity:1;transform:translateY(-3px)scale(1.01)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes assistantIn{0%{opacity:0;transform:translateY(12px)translate(-6px)}to{opacity:1;transform:translateY(0)translate(0)}}.typewriter-text{white-space:pre-wrap;margin:0;line-height:1.55}.type-caret{vertical-align:text-bottom;background:var(--champagne);width:.55ch;height:1em;margin-left:1px;animation:.75s step-end infinite caretBlink;display:inline-block}@keyframes caretBlink{0%,45%{opacity:1}50%,to{opacity:0}}.chat-composer.is-sending input{animation:.4s inputFlash}.btn.send-burst{animation:.42s sendBurst}@keyframes inputFlash{0%{box-shadow:inset 0 0 0 1px var(--champagne)}to{box-shadow:none}}@keyframes sendBurst{0%{transform:translateY(0)scale(1)}40%{transform:translateY(-3px)scale(1.04)}to{transform:translateY(0)scale(1)}}.bubble-avatar{object-fit:cover;object-position:top;border:1px solid var(--champagne);outline:1px solid var(--line);outline-offset:2px;background:var(--paper-2);width:42px;height:42px}.user-mark{font-family:var(--font-mono);letter-spacing:.1em;background:var(--ink);color:var(--paper);border-color:var(--ink);place-items:center;font-size:.6rem;display:grid}.bubble-body{border:1px solid var(--line-strong);background:#ffffff8c;padding:.7rem .85rem;position:relative}.bubble-body:before{content:"";background:var(--champagne);width:18px;height:2px;position:absolute;top:0;left:0}.role-user .bubble-body:before{background:var(--teal)}.bubble-meta{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.3rem;font-size:.62rem;display:block}.bubble-body p{white-space:pre-wrap;margin:0;line-height:1.55}.typing-dots{gap:5px;padding:.35rem 0;display:flex}.typing-dots span{background:var(--champagne);width:7px;height:7px;animation:1s ease-in-out infinite bounce}.typing-dots span:nth-child(2){background:var(--rose);animation-delay:.15s}.typing-dots span:nth-child(3){background:var(--teal);animation-delay:.3s}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}}.chat-error{border:1px solid var(--rose-deep);background:#d9899226;flex-shrink:0;margin-top:.5rem;padding:.55rem .7rem;font-size:.85rem}.chat-composer{border-top:1px solid var(--line);flex-shrink:0;grid-template-columns:1fr auto;gap:.55rem;margin-top:.75rem;padding-top:.75rem;display:grid}.chat-composer input{border:1px solid var(--line-strong);color:var(--ink);background:#ffffffb3;outline:none;min-width:0;padding:.75rem .9rem}.chat-composer input:focus{border-color:var(--champagne);box-shadow:inset 0 0 0 1px var(--champagne)}.chat-composer input::placeholder{color:#3a322c73}.gallery-page{background:radial-gradient(ellipse at top left, #f7d6d866, transparent 45%), var(--paper)}.gallery-main{padding:2rem clamp(1rem,3vw,2.5rem) 3rem}.gallery-head h1{font-family:var(--font-display);margin:0 0 .6rem;font-size:clamp(2.4rem,5vw,3.8rem)}.gallery-hero-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2.5rem;display:grid}.gallery-large{aspect-ratio:1;object-fit:contain;object-position:top;background:linear-gradient(#c9a36a1f,#0000);width:100%}.gallery-title{font-family:var(--font-display);margin:0 0 .75rem;font-size:1.8rem}.gallery-note{color:var(--ink-soft);margin:0 0 1rem}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:.85rem;margin-bottom:2.5rem;display:grid}.gallery-grid.mouths{grid-template-columns:repeat(3,1fr)}.gallery-card .geo-frame-inner{text-align:center;padding:.55rem}.gallery-card img{aspect-ratio:3/4;object-fit:contain;object-position:top;background:linear-gradient(#6ba8a01a,#0000);width:100%}.gallery-card span{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;margin-top:.45rem;font-size:.68rem;display:block}@media (width<=1100px){.hero{grid-template-columns:1fr}.hero-visual{order:-1}.hero-frame,.hero-frame .geo-frame-inner,.hero-stage{height:420px;min-height:420px}.feature-grid{grid-template-columns:repeat(2,1fr)}.expr-card{flex-basis:200px;width:200px}.studio-page{height:auto;overflow:auto}.studio-layout{flex:none;grid-template-columns:1fr;height:auto}.studio-stage-col{min-height:min(72vh,640px)}.studio-chat-col{min-height:min(60vh,560px)}.stage-model-wrap{inset:0}.stage-model-scaler{width:100%;height:104%;bottom:-8%}.gallery-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=720px){.site-header{grid-template-columns:1fr auto;height:auto;padding-top:.75rem;padding-bottom:.75rem}.site-nav{display:none}.header-cta{justify-self:end}.feature-grid,.gallery-grid,.gallery-grid.mouths,.gallery-hero-row{grid-template-columns:1fr 1fr}.hero-actions{flex-direction:column}.btn-lg{width:100%}.stage-overlay{padding:.45rem .5rem .55rem}.segmented button{padding:.35rem .3rem;font-size:.65rem}.studio-stage-col{min-height:70vh}}.reveal{--reveal-delay:0s;--reveal-dur:.85s;opacity:0;will-change:opacity, transform, filter;transition:opacity var(--reveal-dur) cubic-bezier(.22, 1, .36, 1) var(--reveal-delay), transform var(--reveal-dur) cubic-bezier(.22, 1, .36, 1) var(--reveal-delay), filter var(--reveal-dur) cubic-bezier(.22, 1, .36, 1) var(--reveal-delay)}.reveal-up{filter:blur(4px);transform:translateY(2.4rem)}.reveal-fade{filter:blur(3px);transform:none}.reveal-left{filter:blur(3px);transform:translate(-2rem,1rem)}.reveal-right{filter:blur(3px);transform:translate(2rem,1rem)}.reveal-scale{filter:blur(3px);transform:translateY(1.2rem)scale(.96)}.reveal.is-in{opacity:1;filter:blur();transform:none}.reveal-stagger .reveal-item{opacity:0;filter:blur(3px);transition:opacity .75s cubic-bezier(.22, 1, .36, 1) calc(var(--reveal-delay) + var(--reveal-i,0) * 90ms), transform .75s cubic-bezier(.22, 1, .36, 1) calc(var(--reveal-delay) + var(--reveal-i,0) * 90ms), filter .75s cubic-bezier(.22, 1, .36, 1) calc(var(--reveal-delay) + var(--reveal-i,0) * 90ms);transform:translateY(1.8rem)}.reveal-stagger.is-in .reveal-item{opacity:1;filter:blur();transform:none}.reveal-line{position:relative}.reveal-line:before{content:"";background:linear-gradient(90deg, var(--champagne), transparent);transform-origin:0;width:2.5rem;height:2px;transition:transform .7s cubic-bezier(.22, 1, .36, 1) calc(var(--reveal-delay) + .12s);position:absolute;top:-.65rem;left:0;transform:scaleX(0)}.reveal-line.is-in:before{transform:scaleX(1)}@media (prefers-reduced-motion:reduce){.reveal,.reveal-stagger .reveal-item{opacity:1!important;filter:none!important;transition:none!important;transform:none!important}.reveal-line:before{transition:none!important;transform:scaleX(1)!important}}
