/* Motion for the inner pages; the palette follows the existing theme. */
@view-transition{navigation:auto}
html:not(.theme-circle-change)::view-transition-old(root){animation:page-out .18s ease both}
html:not(.theme-circle-change)::view-transition-new(root){animation:page-in .32s cubic-bezier(.2,.7,.2,1) both}
.site-header{view-transition-name:qol-header}
@keyframes page-out{to{opacity:0}}
@keyframes page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.inner-reveal{opacity:0;translate:0 20px;transition:opacity .65s ease,translate .65s cubic-bezier(.2,.8,.2,1);transition-delay:var(--entry-delay,0ms)}
.inner-reveal.entered{opacity:1;translate:0 0}
.steps{position:relative}.steps article{position:relative;transition:background .5s ease;isolation:isolate}.steps article:before{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:linear-gradient(180deg,transparent,var(--sand,#c6a17d),transparent);transform:scaleY(0);transform-origin:top;transition:transform .8s ease}.steps article.step-current:before{transform:scaleY(1)}.steps .step-num{transition:color .4s,transform .4s}.steps .step-current .step-num{color:var(--sand,#c6a17d);transform:translateX(6px)}
.step-visual{width:150px;height:90px;flex-shrink:0;border:1px solid var(--line,#ffffff20);border-radius:14px;display:grid;align-content:center;gap:9px;padding:18px;margin-left:auto;overflow:hidden;background:color-mix(in srgb,currentColor 3%,transparent)}.step-visual i{display:block;border-radius:3px;height:5px;background:currentColor;opacity:.28;transform-origin:left}.step-visual i:nth-child(2){width:75%}.step-visual i:nth-child(3){width:55%}.step-current .step-visual i{animation:step-stroke 2.8s ease infinite}.step-visual i:nth-child(2){animation-delay:.18s}.step-visual i:nth-child(3){animation-delay:.36s}.step-visual.options{grid-template-columns:repeat(3,1fr);gap:9px}.step-visual.options i{width:100%;height:28px;border:1px solid currentColor;background:transparent;border-radius:6px}.step-visual.options i:nth-child(2){background:var(--sand,#c6a17d);border-color:transparent}.step-visual.result{padding:0}.step-visual video{width:100%;height:90px;object-fit:cover;object-position:center 28%}
@keyframes step-stroke{0%,100%{opacity:.24;scale:.8 1}45%,65%{opacity:.6;scale:1 1}}
.scenario-preview{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.2,.8,.2,1),margin .55s; margin-top:0}.scenario-preview>div{overflow:hidden;min-height:0;border-radius:12px}.scenario-preview video{width:100%;height:220px;object-fit:cover;object-position:center 28%;display:block;opacity:0;transform:scale(1.04);transition:opacity .45s,transform .7s}.audience-card.preview-open .scenario-preview{grid-template-rows:1fr;margin-top:20px}.audience-card.preview-open video{opacity:1;transform:scale(1)}.scenario-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;color:inherit;border:0;border-top:1px solid var(--line,#ffffff20);padding:16px 0 0;margin-top:20px;font:inherit;font-size:13px;cursor:pointer}.scenario-toggle span:last-child{transition:rotate .4s}.preview-open .scenario-toggle span:last-child{rotate:45deg}.scenario-toggle:focus-visible{outline:2px solid var(--sand,#c6a17d);outline-offset:5px}
.price-card,.plan-card{transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .4s}.price-card:focus-within,.plan-card:focus-within{transform:translateY(-5px);box-shadow:0 18px 38px #00000016;border-color:var(--sand,#c6a17d)}.price-card.featured:hover,.plan-card.featured:hover{box-shadow:0 18px 38px #00000016,0 0 0 1px #c6a17d55}.price-card .price,.plan-price{animation:price-settle .7s ease both}@keyframes price-settle{from{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}
.sidebar{transition:transform .45s cubic-bezier(.22,.8,.25,1),visibility .45s!important}.app-content{transition:margin-left .45s cubic-bezier(.22,.8,.25,1)!important}.screen.active{animation:panel-enter .4s cubic-bezier(.2,.8,.2,1)}@keyframes panel-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
dialog[open] .sheet-content,dialog[open] .auth-panel,dialog[open] .welcome-screen{animation:panel-enter .4s cubic-bezier(.2,.8,.2,1)}.auth-fields-enter .field:not([hidden]){animation:panel-enter .4s ease both}.auth-fields-enter .field:nth-child(2){animation-delay:40ms}.auth-fields-enter .field:nth-child(3){animation-delay:80ms}.auth-fields-enter .field:nth-child(4){animation-delay:120ms}.auth-message:not([hidden]),.field-error:not([hidden]){animation:panel-enter .3s ease}.video-result:not([hidden]){animation:panel-enter .5s ease}.creation-card{transition:transform .3s,box-shadow .3s}.creation-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #00000016}
@media(max-width:700px){.step-visual{width:94px;height:70px;padding:12px;margin:16px 0 0}.step-visual video{height:70px}.steps article{flex-wrap:wrap}.scenario-preview video{height:240px}}
@media(prefers-reduced-motion:reduce){html::view-transition-old(root),html::view-transition-new(root){animation:none!important}.inner-reveal{opacity:1;translate:none}.steps article:before,.steps .step-num,.scenario-preview,.scenario-preview video,.scenario-toggle span,.price-card,.plan-card,.sidebar,.app-content,.creation-card{transition:none!important}.step-visual i,.screen.active,dialog[open] .sheet-content,dialog[open] .auth-panel,dialog[open] .welcome-screen,.auth-fields-enter .field,.video-result,.price-card .price,.plan-price{animation:none!important}}

.steps article{grid-template-columns:100px minmax(0,1fr) 150px;gap:32px;align-items:center}.steps article>div:nth-child(2){min-width:0}@media(max-width:700px){.steps article{grid-template-columns:54px minmax(0,1fr);gap:18px}.step-visual{grid-column:2;margin-top:0}}

.scenario-preview video{height:auto;aspect-ratio:9/16;object-fit:contain;background:#f6f6f6}.step-visual.result{background:#f6f6f6}.step-visual.result video{object-fit:contain;object-position:center}

#about,#features,#pricing{scroll-margin-top:100px}.onepage-process .section-head,.onepage-pricing .section-head{margin-bottom:48px}.onepage-process .section-head p,.onepage-pricing .section-head p{max-width:580px;line-height:1.65;color:var(--muted)}.onepage-pricing .pricing-grid{padding:0;max-width:none;margin:0}.onepage-process .steps{padding:0}.three-grid{align-items:start}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Reserve matching text rows so all three closed cards share baselines. */
.three-grid .audience-card{display:flex;flex-direction:column;gap:0}.three-grid .audience-card .card-number{line-height:1.4}.three-grid .audience-card h3{margin:34px 0 18px;min-height:2.6em;line-height:1.3}.three-grid .audience-card>p{margin:0;min-height:4.8em;line-height:1.6;max-width:none}.scenario-sample{margin-top:22px;padding:16px 0 0;border-top:1px solid var(--line,#ffffff20);min-height:120px}.scenario-topic{display:block;font-size:11px;line-height:1.5;color:var(--sand,#c6a17d);letter-spacing:.02em;margin-bottom:9px}.scenario-phrase{display:block;font-size:14px;line-height:1.5;color:inherit}.three-grid .scenario-toggle{margin-top:18px;min-height:44px}.three-grid .scenario-preview{flex-shrink:0}
@media(min-width:701px) and (max-width:1000px){.three-grid .audience-card>p{min-height:6.4em}.scenario-sample{min-height:155px}.scenario-phrase{font-size:13px}}
@media(max-width:700px){.three-grid .audience-card h3{min-height:0;margin-top:22px}.three-grid .audience-card>p{min-height:0}.scenario-sample{min-height:0}.three-grid .scenario-toggle{margin-top:18px}}

/* A single flat video frame matched to the native 9:16 clip. */
.product-home #experience{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(30px,6vw,90px);align-items:center;padding-block:76px}.product-home #experience .experience-copy{margin:0;text-align:left;max-width:540px}.product-home #experience .experience-copy .eyebrow{justify-content:flex-start}.product-home #experience .experience-copy h2{text-align:left;margin:20px 0 24px}.product-home #experience .experience-copy>p{margin:0;max-width:430px}.product-home #experience .experience-video{position:relative;inset:auto;transform:none;perspective:none;width:min(100%,280px);height:auto;aspect-ratio:9/16;max-width:280px;justify-self:center;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#deddd7;box-shadow:0 18px 45px #0000001a}.product-home #experience .experience-video video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:cover;max-height:none;border-radius:0;background:transparent}
@media(max-width:740px){.product-home #experience{grid-template-columns:1fr;gap:30px;padding-block:48px}.product-home #experience .experience-copy{max-width:540px}.product-home #experience .experience-video{width:min(100%,250px);max-width:250px}.product-home #experience .experience-copy h2{font-size:clamp(30px,7vw,42px)}}

html.scenario-modal-open{overflow:hidden;scrollbar-gutter:stable}.scenario-dialog{position:fixed;inset:0;margin:auto;width:min(420px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:18px 20px;border:1px solid var(--line,#ffffff20);border-radius:22px;background:var(--white,#112936);color:var(--ink,#f6f5f2);box-shadow:0 28px 90px #0006;overflow:hidden}.scenario-dialog::backdrop{background:#03121bb3;backdrop-filter:blur(7px)}.scenario-dialog[open]{animation:scenario-modal-in .35s cubic-bezier(.2,.8,.2,1)}.scenario-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.scenario-dialog header h2{font:inherit;font-size:17px;line-height:1.35;margin:0}.scenario-close{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border:1px solid var(--line,#ffffff20);border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:transform .3s,background .3s}.scenario-close:hover{transform:rotate(90deg);background:#ffffff0a}.scenario-close svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}.scenario-dialog video{display:block;margin:0 auto;width:auto;max-width:100%;height:min(58dvh,460px);object-fit:contain;aspect-ratio:9/16;border-radius:13px;background:#f6f6f6}.scenario-dialog>p{margin:14px 0 0;font-size:14px;line-height:1.5;text-align:center;color:inherit}.scenario-dialog button:focus-visible{outline:2px solid var(--sand,#c6a17d);outline-offset:3px}@keyframes scenario-modal-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.product-home .onepage-pricing .section-head{text-align:center;max-width:100%;width:100%}.product-home .onepage-pricing .section-head h2{max-width:none;width:100%;text-align:center;margin-inline:auto;font-size:clamp(36px,4.2vw,64px);line-height:1.16}.product-home .onepage-pricing .section-head h2 .motion-line{display:inline-block;margin-inline:.1em}.product-home .onepage-pricing .section-head>p{max-width:780px;margin-inline:auto;text-align:center}.product-home .onepage-pricing .section-head .eyebrow{justify-content:center}
.site-header #site-nav a[href^="#"]{position:relative;border-bottom-color:transparent!important;transition:color .25s,translate .3s;isolation:isolate}.site-header #site-nav a[href^="#"]:before{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:linear-gradient(90deg,#c6a17d45,var(--sand,#c6a17d));scale:0 1;transform-origin:left;transition:scale .35s cubic-bezier(.2,.8,.2,1)}.site-header #site-nav a[href^="#"]:after{content:"";position:absolute;left:0;bottom:-7px;width:3px;height:3px;border-radius:50%;background:var(--sand,#c6a17d);box-shadow:0 0 6px #c6a17d80;opacity:0;pointer-events:none}.site-header #site-nav a[href^="#"]:hover{translate:0 -2px}.site-header #site-nav a[href^="#"]:hover:before,.site-header #site-nav a[href^="#"]:focus-visible:before,.site-header #site-nav a[aria-current="location"]:before{scale:1 1}.site-header #site-nav a[href^="#"]:hover:after{animation:nav-light-run .6s ease-out both}@keyframes nav-light-run{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:calc(100% - 3px);opacity:0}}
@media(max-width:740px){.product-home .onepage-pricing .section-head h2 .motion-line{display:block}.scenario-dialog{padding:14px 16px}.scenario-dialog video{height:min(55dvh,440px)}.scenario-dialog>p{font-size:13px}}
@media(max-height:540px){.scenario-dialog{width:min(580px,calc(100vw - 28px));display:grid;grid-template-columns:auto 1fr;gap:12px}.scenario-dialog:not([open]){display:none}.scenario-dialog header{grid-column:1/-1;margin-bottom:0}.scenario-dialog video{height:calc(100dvh - 120px);grid-column:1;grid-row:2}.scenario-dialog>p{grid-column:2;grid-row:2;align-self:center;margin:0}}
@media(prefers-reduced-motion:reduce){.scenario-dialog[open],.site-header #site-nav a[href^="#"]:hover:after{animation:none}.scenario-close,.site-header #site-nav a[href^="#"],.site-header #site-nav a[href^="#"]:before{transition:none}.site-header #site-nav a[href^="#"]:hover{translate:none}}



/* Layered light and glass follow the video instead of decorative ribbons. */
.video-surround{position:relative;isolation:isolate;justify-self:center;width:min(100%,340px);padding:24px 30px;display:grid;place-items:center;perspective:900px}.video-surround:before{content:"";position:absolute;inset:-12%;z-index:-2;background:radial-gradient(ellipse at 30% 35%,#31566b66,transparent 55%),radial-gradient(ellipse at 75% 80%,#c39b7826,transparent 55%);filter:blur(28px)}.player-depth{position:absolute;inset:0;z-index:-1;pointer-events:none;transform-style:preserve-3d}.player-depth i{position:absolute;inset:18px 22px;border:1px solid #7492a34a;border-radius:24px;background:linear-gradient(130deg,#6f93a314,transparent 50%,#c39b780d);box-shadow:0 20px 45px #0003;animation:glass-breathe 8s ease-in-out infinite}.player-depth i:nth-child(1){translate:-16px -12px;rotate:-5deg}.player-depth i:nth-child(2){translate:17px 14px;rotate:5deg;animation-delay:-4s}.player-depth i:nth-child(3){inset:20px 25px;background:transparent;box-shadow:none;translate:0 0;rotate:0deg;border-color:#c39b7870;animation:glass-light 6s ease-in-out infinite}.video-surround .experience-video{box-shadow:0 24px 45px #0005!important}.video-surround:not(.orbits-visible) .player-depth i,.video-surround.orbits-paused .player-depth i{animation-play-state:paused}@keyframes glass-breathe{0%,100%{transform:rotateY(-6deg) translateY(-5px);opacity:.65}50%{transform:rotateY(6deg) translateY(5px);opacity:1}}@keyframes glass-light{0%,100%{opacity:.2;transform:translateY(-2px)}50%{opacity:.8;transform:translateY(2px)}}
/* Horizontal disclosure: only the selected panel shows its clip. */
.product-home #features{padding-block:48px}.product-home #features .section-head{margin-bottom:30px}.product-home .three-grid{display:flex;gap:14px;height:340px;align-items:stretch}.product-home .three-grid .audience-card{position:relative;display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;padding:20px;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--white) 95%,var(--sand)),var(--white));overflow:hidden;transform:none!important;transition:flex .65s cubic-bezier(.22,.8,.25,1),border-color .4s,background .4s}.product-home .three-grid .audience-card.scenario-active{flex:3.4;border-color:var(--sand)}.scenario-select{display:flex;flex-direction:column;align-items:flex-start;gap:22px;flex:1;width:100%;text-align:left;background:transparent;color:inherit;border:0;padding:0;cursor:pointer}.scenario-number{font-size:12px;color:var(--muted)}.product-home .three-grid .scenario-select h3{margin:0;min-height:0;font-size:21px;line-height:1.2;text-transform:none;letter-spacing:-.035em}.scenario-expand{display:grid;place-items:center;width:32px;height:32px;margin-top:auto;border:1px solid var(--line);border-radius:50%;font-size:21px;transition:rotate .5s,background .4s}.scenario-active .scenario-expand{rotate:45deg;background:var(--sand);color:#102e41}.scenario-active .scenario-select{flex:0;flex-direction:row;align-items:center;gap:12px;margin-bottom:20px}.scenario-active .scenario-expand{margin:0 0 0 auto;flex-shrink:0}.scenario-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;flex:1;min-height:0;visibility:hidden;opacity:0;max-height:0;transition:opacity .3s .25s}.scenario-active .scenario-panel{visibility:visible;opacity:1;max-height:none}.scenario-panel video{height:100%;max-height:240px;width:auto;max-width:100%;aspect-ratio:9/16;object-fit:contain;background:#f6f6f6;border-radius:12px;justify-self:end}.scenario-caption{min-width:0}.product-home .scenario-topic{display:block;font-size:11px;color:var(--sand);margin-bottom:12px;line-height:1.5}.product-home .scenario-phrase{display:block;font-size:15px;line-height:1.6;margin:0;color:inherit}.scenario-select:focus-visible{outline:2px solid var(--sand);outline-offset:5px;border-radius:6px}.scenario-select:hover .scenario-expand{background:var(--sand);color:#102e41}
@media(max-width:740px){.video-surround{width:min(100%,310px);padding:24px 30px}.product-home .three-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;height:360px;padding-bottom:292px}.product-home .three-grid .audience-card{position:static;display:contents}.scenario-select,.scenario-active .scenario-select{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:5px;border:1px solid var(--line);border-radius:12px;padding:8px 6px;margin:0;min-width:0;background:var(--white)}.product-home .three-grid .scenario-select h3{font-size:13px;line-height:1.3;text-align:center}.scenario-select .scenario-number,.scenario-select .scenario-expand{display:none}.scenario-active .scenario-select{border-color:var(--sand);background:color-mix(in srgb,var(--white) 88%,var(--sand))}.scenario-panel{position:absolute;inset:82px 0 0;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--white);gap:14px}.scenario-panel video{max-height:240px}.product-home .scenario-phrase{font-size:14px}.product-home #features .section-head h2{font-size:30px}.product-home #features .section-head{margin-bottom:24px}}
@media(prefers-reduced-motion:reduce){.player-depth i{animation:none}.product-home .three-grid .audience-card,.scenario-panel,.scenario-expand{transition:none}}

/* The root already reserves header space; avoid doubling it at this anchor. */
.product-home #features{scroll-margin-top:0}

/* A restrained edge glow, with the light kept behind the signer. */
.video-surround .experience-video{box-shadow:0 0 0 1px #7194a329,0 0 26px 3px #44799126,0 18px 38px #0004!important}.player-depth i:first-child{box-shadow:-7px -5px 24px #44799118,0 20px 45px #0003}.player-depth i:nth-child(2){box-shadow:8px 12px 24px #c39b7814,0 20px 45px #0003}[data-theme=light] .video-surround .experience-video{box-shadow:0 0 0 1px #31566b1a,0 0 22px 2px #44799114,0 18px 38px #102e411c!important}

.product-home .onepage-process .section-head{width:100%;max-width:none;text-align:center}.product-home .onepage-process .section-head .eyebrow{justify-content:center}.product-home .onepage-process .section-head h2{width:100%;max-width:none;text-align:center;font-size:clamp(36px,4.2vw,64px);line-height:1.16;margin-inline:auto}.product-home .onepage-process .section-head h2 br{display:none}.product-home .onepage-process .section-head h2 .motion-line{display:inline-block;margin-inline:.1em}.product-home .onepage-process .section-head>p{max-width:780px;margin-inline:auto;text-align:center}@media(max-width:740px){.product-home .onepage-process .section-head h2 .motion-line{display:block;margin-inline:0}.product-home .onepage-process .section-head h2 br{display:block}}

/* Navigation: one softly animated capsule, without competing underlines. */
.site-header #site-nav a[href^="#"]{padding:9px 15px;border:0!important;border-radius:999px;text-decoration:none!important;background:transparent;transition:color .3s,background .3s,box-shadow .3s,transform .3s;translate:none}
.site-header #site-nav a[href^="#"]::before{inset:0;width:auto;height:auto;border-radius:inherit;border:1px solid #c6a17d38;background:linear-gradient(120deg,#c6a17d18,#c6a17d05);scale:1;opacity:0;transform:none;transition:opacity .3s;z-index:-1}
.site-header #site-nav a[href^="#"]::after{content:none!important;animation:none!important}
.site-header #site-nav a[href^="#"]:hover,.site-header #site-nav a[href^="#"]:focus-visible,.site-header #site-nav a[aria-current="location"]{color:var(--sand);text-decoration:none!important;translate:none;transform:translateY(-2px);box-shadow:0 7px 22px #c6a17d0c}
.site-header #site-nav a[href^="#"]:hover::before,.site-header #site-nav a[href^="#"]:focus-visible::before,.site-header #site-nav a[aria-current="location"]::before{opacity:1}
.site-header #site-nav a[aria-current="location"]{animation:nav-capsule-breathe 4s ease-in-out infinite}
@keyframes nav-capsule-breathe{0%,100%{box-shadow:0 0 0 #c6a17d00}50%{box-shadow:0 0 24px #c6a17d18}}
@media(max-width:740px){.site-header #site-nav a[href^="#"]{padding:12px 16px}}
@media(prefers-reduced-motion:reduce){.site-header #site-nav a[href^="#"]{animation:none!important;transition:none;transform:none}.site-header #site-nav a[href^="#"]::before{transition:none}}

/* Larger scenario typography balances the portrait and fills the expanded card. */
.product-home .scenario-expand{display:none}
.product-home .scenario-panel{gap:24px;grid-template-columns:minmax(0,1.35fr) auto}
.product-home .scenario-caption{padding-right:6px}
.product-home .scenario-topic{font-size:clamp(16px,1.6vw,23px);line-height:1.3;margin-bottom:18px;letter-spacing:-.02em}
.product-home .scenario-phrase{font-size:clamp(23px,2.4vw,34px);line-height:1.3;letter-spacing:-.035em;text-wrap:balance;font-weight:500}
@media(max-width:1000px) and (min-width:741px){.product-home .scenario-panel{gap:14px}.product-home .scenario-phrase{font-size:23px}.product-home .scenario-panel video{max-height:210px}}
@media(max-width:740px){.product-home .scenario-panel{gap:14px;grid-template-columns:minmax(0,1fr) auto}.product-home .scenario-topic{font-size:14px;margin-bottom:12px}.product-home .scenario-phrase{font-size:clamp(18px,4.6vw,24px);line-height:1.35}.product-home .scenario-panel video{max-width:38vw}}

/* Quiet scroll entry, with a short stagger instead of a large slide. */
.inner-reveal{opacity:0;translate:0 14px;transition:opacity .7s ease,translate .7s cubic-bezier(.22,1,.36,1);transition-delay:var(--entry-delay,0ms)}
.inner-reveal.entered{opacity:1;translate:0 0}
.motion-enabled .motion-reveal:not(.is-visible) .motion-line-inner{transform:translateY(18px);opacity:0}
.motion-line-inner{transition:transform .8s cubic-bezier(.22,1,.36,1),opacity .7s;transition-delay:var(--line-delay,0ms)}
/* A narrow light wave carries the message along the existing curved thread. */
.conversation-visible .conversation-thread .conversation-pulse{stroke-width:1.7;stroke-dasharray:12 100;filter:drop-shadow(0 0 5px #c6a17daa);animation:qol-message-wave 6s cubic-bezier(.4,0,.2,1) infinite}
@keyframes qol-message-wave{0%,15%{stroke-dashoffset:15;opacity:0}25%{opacity:.9}75%{opacity:.9}90%,100%{stroke-dashoffset:-100;opacity:0}}
.conversation-paused .conversation-thread .conversation-pulse{animation-play-state:paused}
/* Soft button light and directional arrows. */
.button,.primary-button,.text-link,.nav-login{transition:background-color .3s,box-shadow .3s,color .3s,transform .3s}
.button>span,.text-link>span,.nav-login>span{display:inline-block;transition:transform .3s cubic-bezier(.22,1,.36,1)}
@media(hover:hover) and (pointer:fine){
.button:hover,.primary-button:hover:not(:disabled){box-shadow:0 5px 25px #c6a17d26;transform:translateY(-2px)}
.button:hover>span[aria-hidden="true"]:not(.qol-button-effect),.text-link:hover>span[aria-hidden="true"]:not(.qol-button-effect),.nav-login:hover>span[aria-hidden="true"]:not(.qol-button-effect){transform:translateX(4px)}
#site-nav .nav-login:hover{background:#c6a17d18;box-shadow:0 0 20px #c6a17d14}
#site-nav .nav-login:hover::before,.button:hover::before,.primary-button:hover::before{animation:none;opacity:0}
}
@media(prefers-reduced-motion:reduce){.inner-reveal{opacity:1;translate:none;transition:none}.motion-enabled .motion-reveal .motion-line-inner{transform:none!important;opacity:1!important;transition:none}.conversation-visible .conversation-thread .conversation-pulse{animation:none;opacity:0}.button,.primary-button,.text-link,.nav-login,.button>span,.text-link>span,.nav-login>span{transition:none;transform:none!important}}

/* Distinct internal motion for each action category. */
.button,.primary-button,.text-link,.nav-login,.scenario-select,.theme-button,#site-nav>a[href^="#"]{position:relative;isolation:isolate;overflow:hidden}
.qol-button-effect{position:absolute!important;inset:0!important;margin:0!important;pointer-events:none!important;border-radius:inherit;opacity:0;transform:none!important;transition:opacity .25s;z-index:-1}
.button>.qol-button-effect,.primary-button>.qol-button-effect{background:linear-gradient(110deg,transparent 25%,#fff8 48%,transparent 70%);width:200%;left:-100%!important}
.price-card .button>.qol-button-effect{width:auto;left:0!important;background:radial-gradient(ellipse at 50% 100%,#fff5,transparent 65%);transform-origin:bottom}

.closing .button>.qol-button-effect{background:linear-gradient(110deg,transparent 25%,#c6a17d88 48%,transparent 70%);width:200%;left:-100%!important}
#site-nav .nav-login>.qol-button-effect{background:radial-gradient(circle at 50% 100%,#c6a17d66,transparent 70%)}
#site-nav>a[href^="#"]>.qol-button-effect{background:linear-gradient(100deg,transparent,#c6a17d22,transparent);background-size:200% 100%}
.text-link>.qol-button-effect{background:linear-gradient(90deg,transparent,#c6a17d77,transparent);height:2px!important;top:auto!important;bottom:0!important}
.scenario-select>.qol-button-effect{background:radial-gradient(ellipse at 0 50%,#c6a17d20,transparent 75%)}
.theme-button>.qol-button-effect{background:conic-gradient(transparent,#c6a17d66,transparent)}
@media(hover:hover) and (pointer:fine){
:is(.button,.primary-button,.text-link,.nav-login,.scenario-select,.theme-button,#site-nav>a[href^="#"]):not(:disabled):hover>.qol-button-effect{opacity:1}
.button:hover>.qol-button-effect,.primary-button:hover:not(:disabled)>.qol-button-effect{animation:qol-action-sweep .9s ease both}
.price-card .button:hover>.qol-button-effect{animation:qol-plan-rise .7s ease both}

#site-nav .nav-login:hover>.qol-button-effect{animation:qol-soft-ripple 1.2s ease both}
.text-link:hover>.qol-button-effect,#site-nav>a[href^="#"]:hover>.qol-button-effect{animation:qol-pro-flow 1.3s ease both}
.scenario-select:hover>.qol-button-effect{animation:qol-soft-ripple .7s ease both}
.theme-button:hover>.qol-button-effect{animation:qol-dial 1.5s ease both}
}
@keyframes qol-action-sweep{from{translate:-30% 0}to{translate:100% 0}}
@keyframes qol-plan-rise{from{scale:1 .1;opacity:0}to{scale:1 1;opacity:1}}
@keyframes qol-pro-flow{from{background-position:100% 0}to{background-position:0 0}}
@keyframes qol-soft-ripple{from{scale:.3;opacity:0}to{scale:1.4;opacity:1}}
@keyframes qol-dial{from{rotate:0deg}to{rotate:180deg}}
@media(prefers-reduced-motion:reduce){.qol-button-effect{animation:none!important;transition:none!important;translate:none!important;scale:1!important;rotate:none!important}}

/* Theme control has no decorative light; lower studio CTA matches the upper sweep. */
.theme-button>.qol-button-effect{display:none!important}
@media(hover:hover) and (pointer:fine){.closing .button:hover>.qol-button-effect{animation:qol-action-sweep .9s ease both}}
@media(prefers-reduced-motion:reduce){.closing .button:hover>.qol-button-effect{animation:none!important}}

/* Sliding two-panel authentication inspired by the supplied motion reference. */
#authDialog .auth-layout{min-height:680px;position:relative;overflow:hidden}
#authDialog .welcome-screen{position:relative;justify-content:center;gap:26px;padding:44px;transition:transform .8s cubic-bezier(.22,1,.36,1);isolation:isolate}
#authDialog .welcome-top{position:absolute;top:32px;left:36px;right:36px}
#authDialog .welcome-copy{margin:0;padding:0;z-index:1}
#authDialog .welcome-copy h1{font-size:clamp(32px,3.5vw,46px);line-height:1.1}
#authDialog .welcome-copy p{font-size:14px;line-height:1.7}
#authDialog .welcome-screen::before,#authDialog .welcome-screen::after{content:"";position:absolute;pointer-events:none;z-index:-1;border-radius:50%;border:1px solid #c69f7a30;width:380px;height:380px;right:-160px;bottom:-140px;background:radial-gradient(circle,#c69f7a12,transparent 70%);transition:transform 1s cubic-bezier(.22,1,.36,1)}
#authDialog .welcome-screen::after{width:260px;height:260px;right:-90px;bottom:-70px;border-color:#c69f7a45;background:transparent}
#authDialog .welcome-actions{display:flex;align-items:flex-start;flex-direction:column;gap:12px;position:relative;z-index:1}
#authDialog .welcome-actions .primary-button{background:transparent;color:#f8f6f1;border:1px solid #c69f7a80;border-radius:999px;padding:12px 24px;min-height:44px}
#authDialog .welcome-actions .text-button{color:#e0bc99;border:1px solid #c69f7a55;border-radius:999px;padding:12px 20px}
#authDialog[data-mode=register] .welcome-actions .primary-button{display:none}
#authDialog .auth-panel{padding:30px 36px;transition:transform .8s cubic-bezier(.22,1,.36,1);min-width:0}
#authDialog .auth-heading{margin:22px 0}
#authDialog .auth-heading h2{font-size:30px}
#authDialog .auth-tabs{margin-bottom:20px}
#authDialog .auth-panel .field{margin-bottom:14px}
#authDialog .registration-consent{display:flex;align-items:flex-start;gap:11px;font-size:12px;line-height:1.65;margin:16px 0;color:var(--muted)}
#authDialog .registration-consent[hidden]{display:none}
#authDialog .registration-consent input{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:var(--accent)}
#authDialog .registration-consent button{color:var(--accent);font:inherit;text-decoration:underline;text-underline-offset:3px;padding:0;min-height:0;display:inline}
@media(min-width:701px){
#authDialog[data-mode=login] .welcome-screen{transform:translateX(100%)}
#authDialog[data-mode=login] .auth-panel{transform:translateX(-100%)}
#authDialog[data-mode=login] .welcome-screen::before{transform:translate(-60px,-30px)}
#authDialog[data-mode=login] .welcome-screen::after{transform:translate(-30px,-50px)}
}
@media(max-width:700px){#authDialog .auth-layout{min-height:100%;overflow:visible}#authDialog .welcome-screen{display:none}#authDialog .auth-panel{padding:28px 24px;transform:none}#authDialog .auth-heading h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){#authDialog .welcome-screen,#authDialog .auth-panel,#authDialog .welcome-screen::before,#authDialog .welcome-screen::after{transition:none}}
/* Refined compact registration with a quiet brand panel and a clear form. */
#authDialog{width:940px;max-height:calc(100dvh - 28px);border-radius:24px}
#authDialog .auth-layout{grid-template-columns:.85fr 1fr;min-height:600px}
#authDialog .welcome-screen{padding:34px;gap:24px;justify-content:center;transform:none!important}
#authDialog .welcome-top{top:28px;left:30px;right:30px}
#authDialog .welcome-copy h1{font-size:39px;letter-spacing:-1.5px;max-width:300px}
#authDialog .welcome-copy p{font-size:14px;max-width:280px;line-height:1.7}
#authDialog .welcome-screen::before{width:440px;height:440px;bottom:-220px;right:-180px}
#authDialog .welcome-screen::after{width:310px;height:310px;bottom:-150px;right:-100px}
#authDialog .welcome-actions{display:none!important}
#authDialog .auth-panel{padding:24px 32px;transform:none!important}
#authDialog .auth-top{margin-bottom:16px;min-height:32px}
#authDialog .auth-preferences{top:24px;right:66px}
#authDialog .modal-close{top:27px;right:22px;width:30px;height:30px;min-width:30px}
#authDialog .auth-tabs{margin:0 0 20px;padding:4px;border:1px solid var(--line);border-radius:12px;gap:4px;background:var(--bg)}
#authDialog .auth-tabs button{flex:1;min-height:36px;padding:8px 12px;border-radius:8px;font-size:13px;transition:background .25s,color .25s}
#authDialog .auth-tabs button.active{background:var(--surface);color:var(--accent);box-shadow:0 2px 10px #0001}
#authDialog .auth-tabs .active::after{display:none}
#authDialog .auth-heading{margin:0 0 20px}
#authDialog .auth-heading h2{font-size:28px;letter-spacing:-.9px;line-height:1.15}
#authDialog .auth-heading p{font-size:13px;margin-top:8px;line-height:1.5}
#authDialog .auth-panel .field{gap:6px;margin-bottom:13px}
#authDialog .auth-panel .field input{height:46px;min-height:46px;padding:11px 14px;border-radius:10px;font-size:14px}
#authDialog .password-input button{height:36px;width:36px;top:5px;right:5px}
#authDialog .password-strength{margin:-3px 0 14px;font-size:10px}
#authDialog .registration-consent{font-size:12px;line-height:1.55;margin:12px 0;gap:10px}
#authDialog .auth-submit{min-height:48px;margin-top:18px;border-radius:11px;font-size:14px}
#authDialog .auth-switch{min-height:36px;margin-top:5px;font-size:12px}
#authDialog[data-mode=login] .auth-panel,#authDialog[data-mode=register] .auth-panel{animation:qol-auth-content .35s ease both}
@keyframes qol-auth-content{from{opacity:.4;translate:0 8px}to{opacity:1;translate:0 0}}
@media(max-width:700px){#authDialog{width:100%;height:auto;max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);margin:auto;border:1px solid var(--line);border-radius:20px}#authDialog .auth-layout{display:block;min-height:0}#authDialog .auth-panel{min-height:0;padding:24px}#authDialog .auth-preferences{top:22px;right:60px}#authDialog .auth-heading h2{font-size:28px}#authDialog .auth-top{margin-bottom:22px}#authDialog .auth-step-brand{font-size:19px}}
@media(prefers-reduced-motion:reduce){#authDialog .auth-panel{animation:none!important}}

/* Restore the reference's panel exchange while keeping the compact form. */
@media(min-width:701px){
#authDialog .auth-layout{grid-template-columns:1fr 1fr}
#authDialog .welcome-screen,#authDialog .auth-panel{transition:transform .85s cubic-bezier(.22,1,.36,1)}
#authDialog[data-mode=login] .welcome-screen{transform:translateX(100%)!important}
#authDialog[data-mode=login] .auth-panel{transform:translateX(-100%)!important}
#authDialog[data-mode=register] .welcome-screen,#authDialog[data-mode=register] .auth-panel{transform:translateX(0)!important}
#authDialog[data-mode=login] .auth-panel,#authDialog[data-mode=register] .auth-panel{animation:none}
}
@media(prefers-reduced-motion:reduce){#authDialog .welcome-screen,#authDialog .auth-panel{transition:none!important}}

/* Switch modes with the contextual link below the form. */
#authDialog .auth-tabs{display:none!important}
#authDialog .auth-top{margin-bottom:26px}

/* Use the full welcome panel width instead of a narrow text column. */
#authDialog .welcome-copy{width:100%;max-width:none}
#authDialog .welcome-copy h1{max-width:none;width:100%;font-size:clamp(32px,3.25vw,44px);line-height:1.14;letter-spacing:-1.3px;text-wrap:balance}
#authDialog .welcome-copy p{max-width:none;width:100%;font-size:15px;line-height:1.75;margin-top:24px;text-wrap:pretty}
@media(min-width:701px) and (max-width:1000px){#authDialog .welcome-screen{padding-inline:30px}#authDialog .welcome-copy h1{font-size:34px}}

/* Auth micro-interactions keep the established layout and palette. */
#authDialog .field>span:first-child{transition:color .25s}
#authDialog .field:focus-within>span:first-child{color:var(--accent)}
#authDialog .field input{transition:border-color .25s,box-shadow .25s,background .25s}
#authDialog .field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
#authDialog input[type=checkbox]{appearance:none;display:inline-grid;place-items:center;width:18px;height:18px;flex:0 0 18px;border:1px solid var(--line);border-radius:5px;background:var(--bg);transition:background .2s,border-color .2s;cursor:pointer}
#authDialog input[type=checkbox]::after{content:"";width:8px;height:4px;border-left:2px solid #102e41;border-bottom:2px solid #102e41;transform:rotate(-45deg) scale(0);transition:transform .2s}
#authDialog input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}
#authDialog input[type=checkbox]:checked::after{transform:rotate(-45deg) scale(1)}
#authDialog input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
#authDialog .eye-slash{stroke:currentColor;stroke-width:1.8;stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .25s}
#authDialog .password-visible .eye-slash{stroke-dashoffset:0}
.auth-state-icon{position:relative;display:grid;place-items:center;width:24px;height:24px}
.auth-state-icon>*{grid-area:1/1}.auth-spinner,.auth-check{display:none}
.auth-spinner{width:18px;height:18px;border:2px solid #102e4130;border-top-color:#102e41;border-radius:50%;animation:qol-auth-spin .7s linear infinite}
#authSubmit[data-state=loading] .auth-arrow,#authSubmit[data-state=success] .auth-arrow{display:none}
#authSubmit[data-state=loading] .auth-spinner,#authSubmit[data-state=success] .auth-check{display:block}
.auth-check{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:25;stroke-dashoffset:25;animation:qol-auth-check .3s ease forwards}
.auth-inline-error{font-size:12px;line-height:1.5;color:var(--ink);font-weight:400;animation:qol-error-in .2s ease both}
#authDialog .registration-consent:has(.auth-inline-error){flex-wrap:wrap}#authDialog .registration-consent .auth-inline-error{flex-basis:100%;margin-left:28px}
#authDialog [aria-invalid=true]{border-color:var(--accent)!important}
#authDialog .welcome-screen::before,#authDialog .welcome-screen::after{transition:transform 1s cubic-bezier(.22,1,.36,1);animation:none}
#authDialog[data-mode=login] .welcome-screen::before{transform:translate(-45px,-25px)}
#authDialog[data-mode=login] .welcome-screen::after{transform:translate(-25px,-40px)}
#authDialog[data-mode=register] .welcome-screen::before,#authDialog[data-mode=register] .welcome-screen::after{transform:translate(0,0)}
@keyframes qol-auth-spin{to{rotate:360deg}}@keyframes qol-auth-check{to{stroke-dashoffset:0}}@keyframes qol-error-in{from{opacity:0;translate:0 -3px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){#authDialog .field>span,#authDialog input,#authDialog input::after,#authDialog .eye-slash,#authDialog .welcome-screen::before,#authDialog .welcome-screen::after{transition:none!important}.auth-inline-error,.auth-check,.auth-spinner{animation:none}.auth-check{stroke-dashoffset:0}}

#authDialog .auth-inline-error,#authDialog #authError{color:#ff9999;font-weight:500}
#authDialog input[aria-invalid=true],#authDialog input[aria-invalid=true]:focus{border-color:#ef7373!important;box-shadow:0 0 0 3px #ef737318!important}
[data-theme=light] #authDialog .auth-inline-error,[data-theme=light] #authDialog #authError{color:#b32d3b}
#authDialog .welcome-screen{background:radial-gradient(ellipse at 15% 20%,#c69f7a15,transparent 50%),radial-gradient(ellipse at 85% 75%,#21618c60,transparent 60%),linear-gradient(150deg,#102d43,#081a2a)}
#authDialog .welcome-screen::before{background:linear-gradient(130deg,#c69f7a10,transparent 65%);border-color:#c69f7a35}
#authDialog .welcome-screen::after{background:radial-gradient(ellipse,#c69f7a10,transparent 70%);animation:qol-welcome-breathe 12s ease-in-out infinite}
@keyframes qol-welcome-breathe{0%,100%{opacity:.4}50%{opacity:.85}}
.return-home-ready .motion-reveal .motion-line-inner,.return-home-ready .inner-reveal,.return-home-ready .reveal{opacity:1!important;transform:none!important;translate:none!important;transition:none!important;animation:none!important}
.return-home-ready .conversation-person,.return-home-ready .conversation-message,.return-home-ready .conversation-response,.return-home-ready .hero-actions{opacity:1!important;transform:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){#authDialog .welcome-screen::after{animation:none}}
/* Authentication has a quiet press response, independent of homepage effects. */
#authDialog #authSubmit{background:#bd9875;color:#102e41;box-shadow:inset 0 1px 0 #ffffff22;border:1px solid #cba98a;transition:background .25s,transform .25s,box-shadow .25s;filter:none;translate:none;overflow:hidden}
#authDialog #authSubmit>.qol-button-effect{display:none!important}
#authDialog #authSubmit:hover:not(:disabled){background:#c3a07f;box-shadow:inset 0 0 0 2px #102e410c;transform:translateY(-1px);filter:none;translate:none}
#authDialog #authSubmit .auth-state-icon{transition:transform .3s cubic-bezier(.22,1,.36,1)}
#authDialog #authSubmit:hover:not(:disabled) .auth-state-icon{transform:translateX(3px)}
#authDialog #authSubmit:active:not(:disabled){transform:scale(.987);box-shadow:inset 0 2px 6px #102e4120}
#authDialog #authSwitch{font-size:14px;min-height:48px;padding:12px 16px;margin-top:8px;border-radius:11px;transition:background .25s,color .25s}
#authDialog #authSwitch:hover{background:#c69f7a0b;color:var(--ink)}
/* Visible blue and sand aurora layers beneath the welcome copy. */
#authDialog .welcome-screen{isolation:isolate;overflow:hidden;background:linear-gradient(145deg,#102e41,#0a2335 70%,#102e41)}
#authDialog .welcome-screen::before{inset:-25%;width:auto;height:auto;right:-25%;bottom:-25%;border:0;border-radius:0;background:radial-gradient(ellipse at 25% 25%,#c69f7a44,transparent 44%),radial-gradient(ellipse at 75% 75%,#246a9999,transparent 50%);filter:blur(30px);z-index:-1;animation:qol-auth-aurora 14s ease-in-out infinite alternate;transform:none}
#authDialog .welcome-screen::after{inset:auto -22% -30% auto;width:110%;height:70%;border:1px solid #c69f7a40;border-radius:50%;background:radial-gradient(ellipse,#c69f7a18,transparent 65%);z-index:-1;animation:qol-auth-orbit 18s ease-in-out infinite alternate;opacity:1}
#authDialog .welcome-copy{position:relative;z-index:1}
@keyframes qol-auth-aurora{0%{translate:-6% -4%;rotate:-7deg;scale:1}100%{translate:9% 8%;rotate:10deg;scale:1.15}}
@keyframes qol-auth-orbit{0%{translate:0 0;rotate:-20deg}100%{translate:-12% -12%;rotate:8deg}}
@media(prefers-reduced-motion:reduce){#authDialog .welcome-screen::before,#authDialog .welcome-screen::after{animation:none}#authDialog #authSubmit,#authDialog #authSubmit .auth-state-icon,#authDialog #authSwitch{transition:none;transform:none!important}}

/* Sand streams: distinct authentication motion, without white flashes. */
#authDialog #authSwitch{display:block;width:fit-content;max-width:100%;min-height:44px;margin:10px auto 0;padding:10px 3px;background:transparent!important;border:0;border-radius:0;box-shadow:none!important;font-size:14px;color:var(--accent)}
#authDialog #authSwitch:hover{background:transparent!important;color:var(--ink);text-decoration:underline;text-underline-offset:5px}
#authDialog #authSwitch::before,#authDialog #authSwitch::after{display:none!important}
#authDialog #authSubmit{isolation:isolate;background:#c69f7a}
#authDialog #authSubmit::before,#authDialog #authSubmit::after{content:"";display:block!important;position:absolute;pointer-events:none;z-index:-1;width:120%;height:250%;left:-10%;top:45%;border-radius:43%;background:#102e411b;transform-origin:50% 50%;animation:qol-button-tide 9s linear infinite!important;opacity:1}
#authDialog #authSubmit::after{top:60%;background:#102e4126;border-radius:47%;animation-duration:13s!important;animation-direction:reverse!important}
#authDialog #authSubmit:hover::before,#authDialog #authSubmit:hover::after{top:10%;transition:top .6s ease}
#authDialog #authSubmit:hover:not(:disabled){background:#c69f7a;transform:none;box-shadow:inset 0 0 0 1px #102e4125}
#authDialog .welcome-screen{background:#0b2435}
#authDialog .welcome-screen::before{background:radial-gradient(ellipse at 65% 60%,#15445c 0,transparent 65%);filter:none;animation:none!important;opacity:.65}
#authDialog .welcome-screen::after{display:none}
.auth-flow-art{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible;opacity:.9}
.auth-flow-art .flow-line{fill:none;stroke:#c69f7a;stroke-width:1;opacity:.3}
.auth-flow-art .flow-trace{fill:none;stroke:#c69f7a;stroke-width:2;stroke-linecap:round;stroke-dasharray:70 950;animation:qol-flow-travel 7s linear infinite;opacity:.75}
.auth-flow-art .flow-ribbon{transform-origin:center;animation:qol-flow-drift 8s ease-in-out infinite alternate}
.auth-flow-art .flow-ribbon:nth-child(2){animation-delay:-4s}
.auth-flow-art .flow-ribbon:nth-child(2) .flow-trace{animation-delay:-3.5s}
@keyframes qol-button-tide{to{rotate:360deg}}
@keyframes qol-flow-travel{from{stroke-dashoffset:1020}to{stroke-dashoffset:0}}
@keyframes qol-flow-drift{from{translate:0 -12px;rotate:-3deg}to{translate:0 18px;rotate:3deg}}
@media(prefers-reduced-motion:reduce){#authDialog #authSubmit::before,#authDialog #authSubmit::after,.auth-flow-art .flow-trace,.auth-flow-art .flow-ribbon{animation:none!important}}

/* Branded status cards, shared by all studio actions. */
#toast{display:flex;align-items:center;gap:12px;position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));width:max-content;max-width:min(440px,calc(100vw - 32px));padding:15px 16px;border:1px solid #c69f7a40;border-radius:16px;background:#182e3d;color:#f6f4ef;box-shadow:0 12px 36px #0004;overflow:hidden;text-align:left;font-size:14px;line-height:1.5;transform:translate(-50%,12px) scale(.97);opacity:0;pointer-events:none;transition:opacity .25s,transform .35s cubic-bezier(.22,1,.36,1);z-index:1000}
#toast.visible{opacity:1;transform:translate(-50%,0) scale(1);pointer-events:auto}
.toast-icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#c69f7a20;color:#c69f7a;font-size:17px;font-weight:700}
.toast-copy{flex:1;min-width:0}.toast-close{flex:0 0 30px;width:30px;height:30px;border:0;border-radius:7px;background:transparent;color:#aebcc4;font-size:23px;cursor:pointer}.toast-close:hover{background:#ffffff0b;color:#fff}
.toast-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#c69f7a;transform-origin:left;opacity:.65}#toast.visible .toast-progress{animation:qol-toast-life 5s linear forwards}
#toast[data-kind=error]{border-color:#ef737345}#toast[data-kind=error] .toast-icon{background:#ef737318;color:#ff9999}#toast[data-kind=error] .toast-progress{background:#ef7373}
[data-theme=light] #toast{background:#faf7f1;color:#102e41;box-shadow:0 12px 36px #102e4118}[data-theme=light] .toast-close{color:#526977}
@keyframes qol-toast-life{to{scale:0 1}}
@media(prefers-reduced-motion:reduce){#toast{transition:none}#toast.visible .toast-progress{animation:none}}
/* The composer has one clear primary action. */
#saveDraft{display:none!important}
#screen-studio .composer-actions{grid-template-columns:1fr}
#screen-studio .composer-actions #generateButton{width:100%;flex:1}

.character-frame{position:relative;margin:0 auto;width:min(220px,100%);aspect-ratio:9/16;overflow:hidden;border-radius:16px;background:#142d3e;border:1px solid #c69f7a40;transition:width .4s,aspect-ratio .4s}
.character-frame[data-format=landscape]{width:100%;aspect-ratio:16/9}.character-frame[data-format=square]{width:min(300px,100%);aspect-ratio:1}
.character-frame img{width:100%;height:100%;object-fit:contain;display:block;background:#102737}.frame-ratio,.frame-name{position:absolute;padding:5px 9px;background:#102e41dc;border-radius:6px;color:#f6f4ef;font-size:11px}.frame-ratio{top:10px;right:10px}.frame-name{bottom:10px;left:10px}
#emptyResult.preview-empty{padding:20px;width:100%}#characterPreviewHint{font-size:12px;line-height:1.6;margin:14px 0 0;color:var(--muted)}
.generate-loader{display:none;width:18px;height:18px;flex:0 0 18px;border:2px solid #102e4130;border-top-color:#102e41;border-radius:50%;animation:qol-auth-spin .8s linear infinite}
#generateButton.is-processing .generate-loader{display:block}#generateButton.is-processing .generate-arrow{display:none}#generateButton.is-processing{opacity:.9}
#composerRetry{min-height:48px;border-radius:14px;padding:0 16px}#composerRetry[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.character-frame{transition:none}.generate-loader{animation:none}}
/* Balanced studio typography and workspace panels. */
#screen-studio .page-heading h1{font-size:clamp(28px,3.2vw,42px);line-height:1.15;letter-spacing:-1.1px}
#screen-studio .page-heading{margin-bottom:28px}
#screen-studio .studio-grid{align-items:stretch;gap:20px}
#screen-studio .editor-card,#screen-studio .preview-card{border-radius:24px;min-height:440px;border:1px solid var(--line)}
#screen-studio .editor-card{display:flex;flex-direction:column;padding:24px}
#screen-studio .editor-card textarea{flex:1;min-height:200px}
#screen-studio .card-header h2{font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--ink)}
#screen-studio .preview-header{padding:24px 24px 0}
#screen-studio .preview-label{font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--ink)}
#screen-studio .preview-stage{flex:1}
#screen-studio .preview-card{display:flex;flex-direction:column}
#screen-studio .preview-footer{margin:0 24px 24px}
#screen-studio .composer-settings{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
#screen-studio .parameter-chip{min-height:40px;border-radius:11px;padding:9px 12px;font-size:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);gap:8px}
#studioFormatValue{color:var(--ink);font-weight:500;border-left:1px solid var(--line);padding-left:8px}
#screen-studio #generateButton{border-radius:14px;min-height:52px}
#videoResult #downloadVideo{background:var(--accent);color:#102e41;border:1px solid transparent;font-weight:600;box-shadow:none}
#videoResult #saveVideo{background:transparent;color:var(--ink);border:1px solid var(--line);font-weight:500;box-shadow:none}
#videoResult .video-actions{gap:10px}#videoResult .video-actions>*{border-radius:12px;min-height:46px}
#videoResult #saveVideo>.qol-button-effect{display:none!important}
@media(max-width:700px){#screen-studio .editor-card,#screen-studio .preview-card{min-height:360px;border-radius:20px}#screen-studio .editor-card{padding:20px}#screen-studio .preview-header{padding:20px 20px 0}#screen-studio .page-heading{margin-bottom:20px}}

/* Quiet texture and an anchored account block. */
#appRoot{isolation:isolate;position:relative}
#appRoot::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:url('studio-grain.svg');opacity:.065}
.sidebar-profile{display:flex;align-items:center;gap:10px;width:100%;padding:13px 9px;margin-bottom:12px;border-top:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;border-radius:0}
.sidebar-profile-avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:var(--accent);color:#102e41;font-size:14px;font-weight:600;overflow:hidden}.sidebar-profile-avatar img{width:100%;height:100%;object-fit:cover}
.sidebar-profile-copy{min-width:0;flex:1}.sidebar-profile-copy strong{display:block;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile-copy small{display:block;margin-top:4px;font-size:10px;color:var(--muted)}.sidebar-profile-arrow{font-size:16px;color:var(--muted)}.sidebar-profile:hover .sidebar-profile-arrow{color:var(--accent)}
.side-nav button[data-go=profile]{margin-top:12px;border-top:1px solid var(--line);border-radius:0 0 12px 12px;padding-top:16px}
/* Compact desktop workspace with aligned panel headings. */
@media(min-width:701px){
#screen-studio .page-heading{padding-top:8px;margin:8px 0 20px}
#screen-studio .page-heading .eyebrow{margin-bottom:8px}
#screen-studio .page-heading h1{font-size:30px;line-height:1.15}
#screen-studio .page-heading>p{margin-top:8px;font-size:12px}
#screen-studio .studio-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:18px}
#screen-studio .editor-card,#screen-studio .preview-card{min-height:0;height:clamp(370px,58vh,460px);border-color:color-mix(in srgb,var(--line) 55%,transparent);border-radius:22px}
#screen-studio .editor-card{padding:22px}
#screen-studio .card-header{margin:0 0 14px;min-height:26px;align-items:center}
#screen-studio .card-header h2,#screen-studio .preview-label{font-size:15px;line-height:26px}
#screen-studio .preview-header{padding:22px 22px 0;margin:0;min-height:26px;align-items:center}
#screen-studio .preview-footer{margin:0 22px 22px}
#screen-studio .editor-card textarea{min-height:100px;padding-top:8px;font-size:18px}
#screen-studio .composer-settings{flex-wrap:nowrap;gap:7px;margin:12px 0}
#screen-studio .parameter-chip{padding:8px 10px;min-height:36px;white-space:nowrap;font-size:11px}
#screen-studio .parameter-chip svg{width:15px;height:15px;flex-shrink:0}
#screen-studio #generateButton{min-height:48px;font-size:13px}
#screen-studio .editor-meta{font-size:10px}
#screen-studio .studio-limit{margin-top:14px}
#screen-studio .preview-empty{padding:20px}
}
@media(min-width:701px){#screen-studio .preview-card{padding:22px}#screen-studio .preview-header{padding:0;min-height:32px;height:32px}#screen-studio .preview-footer{margin:0}#screen-studio .preview-stage{min-height:0}}
#accountMenu{transform-origin:calc(100% - 18px) 0}
#accountMenu:not([hidden]){animation:qol-account-unfold .28s cubic-bezier(.22,1,.36,1) both}
#accountMenu:not([hidden])>button{animation:qol-account-item .24s ease both;animation-delay:.06s}
#accountMenu:not([hidden])>button:nth-child(2){animation-delay:.1s}
#accountButton{transition:transform .2s,box-shadow .2s}
#accountButton[aria-expanded=true]{box-shadow:0 0 0 3px #c69f7a20}
@keyframes qol-account-unfold{from{opacity:0;transform:translateY(-8px) scale(.94);clip-path:inset(0 0 85% 0 round 14px)}to{opacity:1;transform:translateY(0) scale(1);clip-path:inset(0 0 0 0 round 14px)}}
@keyframes qol-account-item{from{opacity:0;translate:0 -4px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){#accountMenu:not([hidden]),#accountMenu:not([hidden])>button{animation:none}#accountButton{transition:none}}

/* Mobile content follows its natural height; only navigation stays docked. */
@media(max-width:700px){
#appRoot.app-layout{min-height:0}
#appRoot .main-content,html[data-screen=studio] #appRoot .main-content{padding:20px 16px 16px}
#screen-studio .page-heading{margin:0 0 18px}
#screen-studio .studio-grid{gap:14px}
#screen-studio .editor-card,#screen-studio .preview-card{height:auto;min-height:0;padding:18px;border-radius:20px}
#screen-studio .editor-card textarea{min-height:150px;flex:none}
#screen-studio .preview-stage{min-height:0;flex:none}
#screen-studio .preview-card[data-state=empty] .preview-stage{min-height:110px}
#screen-studio .preview-card[data-state=empty] .preview-empty{padding:8px 0;display:grid;grid-template-columns:36px 1fr;column-gap:12px;text-align:left;align-content:center}
#screen-studio .preview-empty .video-placeholder{grid-row:1/3;width:36px;height:54px;margin:0}
#screen-studio .preview-empty .video-placeholder svg{width:32px;height:48px}
#screen-studio .preview-empty h2{font-size:15px;text-align:left;line-height:1.4}
#screen-studio .preview-empty p{font-size:11px;margin:7px 0 0;max-width:none;text-align:left}
#screen-studio .composer-actions{display:flex!important;margin-top:12px;gap:8px}
#screen-studio #generateButton{min-height:48px;flex:1;width:100%;font-size:14px}
#screen-studio .preview-footer{display:none}
#screen-studio .studio-limit{margin:12px 0 0}
#screen-library .section-heading{flex-wrap:wrap;gap:12px}
#screen-library .section-heading>.primary-button{width:auto;min-width:0;height:auto;min-height:40px;padding:9px 14px;border-radius:12px;margin:0;font-size:12px;white-space:nowrap;overflow:visible;max-width:100%}
#screen-library .section-heading>.primary-button>span:first-child{font-size:16px}
#screen-library .section-heading>.primary-button>span:last-child{display:inline;font-size:12px}
#screen-plans .plans-grid{margin-top:18px;gap:14px}
#screen-plans .plan-card{min-height:0;padding:22px}
#screen-profile .data-card{margin-top:16px}
body:has(#appRoot)>.legal-links{margin:0;padding:14px 16px calc(86px + env(safe-area-inset-bottom));font-size:9px;gap:4px 13px}
}
@media(max-width:700px){#screen-studio .preview-card[data-state=empty] #emptyResult{display:grid!important;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;gap:6px 12px;width:100%;align-items:center}#screen-studio #emptyResult .video-placeholder{grid-column:1;grid-row:1/3;align-self:center}#screen-studio #emptyResult h2{grid-column:2;grid-row:1;width:100%;max-width:none;margin:0;align-self:end}#screen-studio #emptyResult p{grid-column:2;grid-row:2;width:100%;max-width:none;margin:0;align-self:start}}
