/* Storefront shell: phone-width frame, night palette drawn from the existing jade/cream/gold. */
*{box-sizing:border-box}
html{background:var(--s-deep);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;color:var(--s-cream);font-family:var(--sans);font-size:15px;line-height:1.65;word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;
  background:radial-gradient(900px 600px at 50% -10%,#173538 0,transparent 70%),var(--s-deep)}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}
a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible,.reel:focus-visible{outline:2px solid var(--s-gold);outline-offset:3px}
img,video{display:block;max-width:100%}h1,h2,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}
.hidden{display:none!important}
.skip{position:fixed;z-index:100;top:0;left:0;background:var(--s-cream);color:var(--ink);padding:12px;clip-path:inset(50%)}.skip:focus{clip-path:none}

/* header + tabs */
.tabs{position:sticky;top:56px;z-index:29;display:flex;gap:4px;padding:0 12px;overflow-x:auto;scrollbar-width:none;background:rgba(13,29,31,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--s-rule)}
.tabs::-webkit-scrollbar{display:none}
.tabs button{position:relative;flex:none;min-height:46px;padding:0 12px;font-size:15px;color:var(--s-dim);white-space:nowrap}
.tabs button[aria-pressed=true]{color:var(--s-cream);font-weight:700}
.tabs button[aria-pressed=true]:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;background:var(--s-gold);border-radius:2px}
.resume{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin:14px 18px 0;padding:12px 16px;border:1px solid rgba(201,164,100,.45);border-radius:14px;background:rgba(201,164,100,.08);font-size:13px}
.resume a{font-weight:700;color:var(--s-gold)}.resume p{color:var(--s-dim);font-size:12px}.resume button{color:var(--s-gold);text-decoration:underline;min-height:44px}

/* hero reel */
.reel-wrap{padding-top:18px}
.reel{display:flex;gap:10px;padding:6px 11% 10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab}
.reel.dragging{scroll-snap-type:none;cursor:grabbing}.reel.dragging .poster{pointer-events:none}
.reel::-webkit-scrollbar{display:none}
.poster{position:relative;flex:0 0 100%;aspect-ratio:2/3;border-radius:22px;overflow:hidden;scroll-snap-align:center;background:var(--s-panel);box-shadow:0 18px 40px -18px #000;transition:transform .35s ease,opacity .35s ease;isolation:isolate;transform:scale(.92);opacity:.55;user-select:none;-webkit-user-drag:none}
.poster.now{transform:none;opacity:1}
.poster:not(.now) .poster-copy{opacity:.0;transition:opacity .25s}.poster.now .poster-copy{opacity:1;transition:opacity .35s .1s}
.poster img,.tile-art img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.poster img,.poster video{transform:scale(1.22);transform-origin:50% 22%}
.poster video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%;opacity:0;transition:opacity .5s}
.poster video.live{opacity:1}
.poster:after,.tile-art:after{content:"";position:absolute;inset:40% 0 0;z-index:1;background:linear-gradient(transparent,rgba(6,16,18,.7) 42%,rgba(6,16,18,.95) 70%)}
.poster:before{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;border:1px solid rgba(244,234,209,.16);pointer-events:none}
.flag,.count{position:absolute;z-index:3;top:14px;font-size:11px;line-height:1;letter-spacing:.5px}
.flag{left:14px;padding:7px 10px 6px;border-radius:999px;background:var(--s-gold);color:#1d1508;font-weight:700}
.count{right:14px;padding:7px 10px 6px;border-radius:999px;background:rgba(6,16,18,.55);color:var(--s-soft);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.poster-copy{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:0 22px 18px;text-align:center;display:flex;flex-direction:column;align-items:center}
.poster-copy small,.tile-copy small{font-size:12px;letter-spacing:3px;color:var(--s-gold);padding-left:3px}
.poster-copy strong{margin-top:2px;font-family:var(--title);font-weight:400;font-size:clamp(48px,15vw,62px);line-height:1.08;color:#fff7e4;text-shadow:0 2px 0 rgba(0,0,0,.35),0 0 28px rgba(233,200,140,.45)}
.poster-copy em{margin-top:8px;font-style:normal;font-family:var(--serif);font-size:17.5px;line-height:1.45;color:#f1ead6}
.go{display:flex;align-items:center;justify-content:center;gap:10px;align-self:stretch;min-height:50px;margin-top:14px;border-radius:14px;background:linear-gradient(180deg,#fbf3df,#ecdcb6);color:#1c2a27;font-size:15.5px;font-weight:700;box-shadow:0 10px 26px -12px rgba(233,200,140,.6)}
.go i{font-style:normal}
.poster-meta{margin-top:9px;font-size:13px;color:var(--s-soft)}
.reel-wrap{position:relative;overflow:hidden}
.petals.few i:nth-child(n+8){display:none}
.tone-love .poster-copy strong,.tone-love .tile-copy strong{text-shadow:0 2px 0 rgba(0,0,0,.35),0 0 26px rgba(234,150,150,.6)}
.tone-love small{color:var(--s-peach)}
.dots-row{display:flex;justify-content:center;align-items:center;gap:6px;padding:12px 0 4px 38px;min-height:40px}
.reel-pause.spent{visibility:hidden}
.dots{display:flex;align-items:center;gap:9px}
.reel-pause{display:grid;place-items:center;width:32px;height:32px;color:var(--s-dim)}.reel-pause svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.reel-note{padding:6px 18px 0;text-align:center;font-size:12.5px;color:var(--s-dim)}
.dots button{position:relative;width:8px;height:8px;border-radius:50%;background:rgba(244,234,209,.26);transition:all .25s}
.dots button:after{content:"";position:absolute;inset:-14px -5px}
.dots button.on{width:22px;border-radius:4px;background:var(--s-gold)}
.reel-arrow{position:absolute;z-index:5;top:38%;display:none;place-items:center;width:40px;height:40px;border-radius:50%;background:rgba(6,16,18,.6);border:1px solid rgba(244,234,209,.25);color:var(--s-cream);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.reel-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.reel-arrow.prev{left:10px}.reel-arrow.next{right:10px}
@media(hover:hover) and (pointer:fine){.reel-arrow{display:grid}}

/* sections */
.block{padding:30px 18px 0}
.block h2{display:flex;align-items:center;gap:8px;font-size:19px;font-weight:700;letter-spacing:-.4px;line-height:1.4}
.block h2 span{color:var(--s-gold);font-size:14px}
.block-note{margin-top:4px;font-size:12.5px;color:var(--s-dim)}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:20px 12px;margin-top:16px}
.tile{display:flex;flex-direction:column;min-width:0;transition:transform .25s ease,opacity .25s ease}
.tile-art{position:relative;display:block;aspect-ratio:3/4;border-radius:16px;overflow:hidden;background:var(--s-panel);isolation:isolate;box-shadow:0 0 0 1px rgba(244,234,209,.12) inset}
.tile-copy{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:0 8px 14px;display:flex;flex-direction:column;align-items:center;text-align:center}
.tile-copy small{font-size:10px;letter-spacing:1.5px;opacity:.85}
.tile-copy strong{margin-top:2px;font-family:var(--title);font-weight:400;font-size:clamp(30px,9.4vw,40px);line-height:1.1;color:#fff7e4;text-shadow:0 2px 0 rgba(0,0,0,.35),0 0 20px rgba(233,200,140,.45);white-space:nowrap}
.tiles.solo .tile{grid-column:1/-1}.tiles.solo .tile-art{aspect-ratio:16/10}.tiles.solo .tile-art img{object-position:50% 30%}
.tone-free .tile-art img{object-position:50% 50%}
.tile-hook{margin-top:10px;font-size:14.5px;font-weight:600;line-height:1.45;letter-spacing:-.3px}
.tile-meta{margin-top:4px;font-size:12px;color:var(--s-dim)}.tile-meta b{color:var(--s-gold);font-weight:600}
.shelf{display:flex;gap:12px;margin:16px -18px 0;padding:0 18px 6px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
.shelf::-webkit-scrollbar{display:none}
.peek{flex:0 0 84%;display:grid;grid-template-columns:92px 1fr;min-height:168px;border-radius:16px;overflow:hidden;background:var(--s-panel);border:1px solid var(--s-rule);color:var(--s-cream);scroll-snap-align:start;box-shadow:0 14px 28px -18px #000}
.peek img{width:100%;height:100%;object-fit:cover;object-position:50% 12%}
.peek-body{display:flex;flex-direction:column;gap:6px;padding:14px 14px 12px}
.peek small{font-size:11.5px;letter-spacing:1px;color:var(--s-gold);font-weight:700}
.peek em{font-style:normal;font-size:12.5px;line-height:1.6;color:var(--s-soft)}
.peek strong{font-family:var(--serif);font-size:16px;font-weight:600;line-height:1.45;letter-spacing:-.4px}
.peek b{margin-top:auto;font-size:12.5px;font-weight:700;color:var(--s-gold)}
.banner{position:relative;display:block;aspect-ratio:16/9;border-radius:18px;overflow:hidden;isolation:isolate;background:var(--s-panel)}
.banner img{width:100%;height:100%;object-fit:cover}
.banner:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,16,18,.9),rgba(6,16,18,.35) 70%,transparent)}
.banner span{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 22px}
.banner small{font-size:11px;letter-spacing:2.5px;color:var(--s-peach)}
.banner strong{font-family:var(--title);font-weight:400;font-size:38px;line-height:1.2;color:#fff7e4}
.banner em{margin-top:6px;font-style:normal;font-size:12.5px;color:var(--s-soft)}
.plain{padding-top:34px}
.promises{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--s-rule);border-radius:16px;background:var(--s-panel)}
.promises li{padding:14px 6px;text-align:center;font-size:12px;color:var(--s-dim);line-height:1.5}
.promises li+li{border-left:1px solid var(--s-rule)}.promises b{display:block;font-size:14px;color:var(--s-cream)}
.faqs{margin-top:22px;border-top:1px solid var(--s-rule)}
.faqs details{border-bottom:1px solid var(--s-rule)}
.faqs summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:6px 2px;font-size:14.5px;cursor:pointer;list-style:none}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary:after{content:"+";color:var(--s-gold);font-size:20px;line-height:1;transition:transform .2s}
.faqs details[open] summary:after{transform:rotate(45deg)}
.faqs p{padding:0 2px 18px;font-size:13.5px;line-height:1.85;color:var(--s-soft)}

/* floating dock */

/* tab filter + tap-to-enter */
[data-cats].off,[data-section].off{display:none}
.leaving .poster:not(.picked),.leaving .tile:not(.picked){opacity:.35}
.poster.picked,.tile.picked{transform:scale(.965)}
.veil{position:fixed;z-index:90;inset:0;background:var(--s-deep);opacity:0;pointer-events:none;transition:opacity .28s ease}
.leaving .veil{opacity:1}

/* product entry */
.stage{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;background:#061012;isolation:isolate}
.stage-art,.stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.stage video{opacity:0;transition:opacity .4s}.stage video.ready{opacity:1}
.stage-art{animation:drift 16s ease-out both;view-transition-name:poster}
.stage-shade{position:absolute;inset:0;z-index:2;background:linear-gradient(rgba(6,16,18,.55),transparent 20%,transparent 48%,rgba(6,16,18,.78) 70%,rgba(6,16,18,.97))}
.stage-bar{position:absolute;z-index:4;top:0;left:0;right:0;display:flex;align-items:center;gap:6px;height:56px;padding:0 8px;font-size:13px;color:var(--s-soft);letter-spacing:.3px}
.stage-bar b{font-family:var(--title);font-weight:400;font-size:19px;color:var(--s-cream);letter-spacing:.5px}
.stage-back{display:grid;place-items:center;width:44px;height:44px}
.say{position:absolute;z-index:4;left:0;right:0;bottom:0;padding:0 22px calc(22px + env(safe-area-inset-bottom));animation:rise .9s .35s cubic-bezier(.2,.7,.2,1) both}
.speaker{display:inline-block;padding:4px 12px 3px;border:1px solid rgba(201,164,100,.6);border-radius:999px;font-size:12px;letter-spacing:2px;color:var(--s-gold)}
.say h1{margin-top:12px;font-family:var(--serif);font-weight:500;font-size:clamp(25px,7.4vw,32px);line-height:1.45;letter-spacing:-.8px;color:#fffaf0;text-shadow:0 1px 14px rgba(0,0,0,.6)}
.say p{margin-top:6px;font-size:15px;color:var(--s-soft);min-height:1.65em}
.say.swap h1,.say.swap p{animation:line .55s ease both}
.begin{display:flex;align-items:center;justify-content:space-between;min-height:58px;margin-top:20px;padding:0 22px;border-radius:16px;background:linear-gradient(180deg,#fbf3df,#ecdcb6);color:#1c2a27;font-size:16px;font-weight:700;box-shadow:0 10px 30px -10px rgba(233,200,140,.55);transition:transform .15s}
.begin:active{transform:scale(.98)}
.begin.ghost{background:none;border:1px solid rgba(244,234,209,.3);color:var(--s-cream);box-shadow:none;font-weight:600;font-size:14.5px;min-height:52px}
.more{display:block;margin-top:12px;min-height:40px;text-align:center;font-size:13px;color:var(--s-dim);line-height:40px}
.petals{position:absolute;inset:0;z-index:3;overflow:hidden;pointer-events:none}
.petals i{position:absolute;top:-6%;width:11px;height:9px;border-radius:80% 10% 80% 10%;background:linear-gradient(135deg,#ffe1dc,#e79a98);opacity:0;animation:fall 9s linear infinite}
.petals i:nth-child(1){left:6%;animation-delay:.2s;animation-duration:10s}.petals i:nth-child(2){left:18%;animation-delay:3.1s;width:8px;height:7px}
.petals i:nth-child(3){left:29%;animation-delay:6.4s;animation-duration:11s}.petals i:nth-child(4){left:41%;animation-delay:1.6s;width:13px;height:10px}
.petals i:nth-child(5){left:52%;animation-delay:4.8s;animation-duration:8s}.petals i:nth-child(6){left:63%;animation-delay:7.3s;width:8px;height:7px}
.petals i:nth-child(7){left:74%;animation-delay:2.4s;animation-duration:12s}.petals i:nth-child(8){left:85%;animation-delay:5.6s}
.petals i:nth-child(9){left:93%;animation-delay:.9s;width:9px;height:7px;animation-duration:10s}.petals i:nth-child(10){left:12%;animation-delay:8.2s;animation-duration:9.5s}
.petals i:nth-child(11){left:36%;animation-delay:9.4s;width:7px;height:6px}.petals i:nth-child(12){left:58%;animation-delay:10.3s;animation-duration:11s}
.petals i:nth-child(13){left:80%;animation-delay:11.5s;width:12px;height:9px}.petals i:nth-child(14){left:47%;animation-delay:12.2s;animation-duration:8.5s}
.about{padding:40px 22px calc(48px + env(safe-area-inset-bottom));background:var(--s-night)}
.about-kicker{font-family:var(--title);font-size:24px;color:var(--s-gold)}
.about h2{margin-top:6px;font-family:var(--serif);font-weight:500;font-size:23px;line-height:1.5;letter-spacing:-.6px}
.about>p{margin-top:12px;font-size:14.5px;line-height:1.85;color:var(--s-soft)}
.chapters{margin-top:24px;border-top:1px solid var(--s-rule)}
.chapters li{display:flex;gap:14px;align-items:baseline;padding:13px 2px;border-bottom:1px solid var(--s-rule);font-size:15px}
.chapters span{font-family:Georgia,serif;font-size:13px;color:var(--s-gold)}
.facts{margin-top:24px;padding:4px 16px;border-radius:16px;background:var(--s-panel)}
.facts div{display:flex;gap:14px;padding:13px 0;font-size:13.5px;line-height:1.6}.facts div+div{border-top:1px solid var(--s-rule)}
.facts dt{flex:0 0 38px;color:var(--s-dim)}.facts dd{color:var(--s-cream)}.facts small{display:block;color:var(--s-dim);font-size:12px}
.about .about-note{font-size:12.5px;color:var(--s-dim)}.about-note a{text-decoration:underline;text-underline-offset:3px}

/* shelf page */
.box h1{font-family:var(--title);font-weight:400;font-size:34px}
.box-list{margin-top:20px;display:grid;gap:12px}
.box-list a{position:relative;display:grid;gap:3px;padding:18px 44px 16px 18px;border-radius:16px;background:var(--s-panel);border:1px solid var(--s-rule)}
.box-list a.ready{border-color:rgba(201,164,100,.6)}
.box-list strong{font-size:16px}.box-list strong i{font-style:normal;font-weight:400;font-size:12px;margin-left:6px;padding:3px 8px;border-radius:999px;border:1px solid var(--s-rule);color:var(--s-soft)}.box-list em{font-style:normal;font-size:13.5px;color:var(--s-gold)}.box-list small{font-size:12px;color:var(--s-dim)}
.box-list span{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--s-dim)}
.box-empty{margin-top:22px;text-align:center}.box-empty img{border-radius:16px;opacity:.85}.box-empty p{margin-top:18px;color:var(--s-soft)}

@keyframes drift{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes line{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes fall{0%{opacity:0;transform:translate3d(0,0,0) rotate(0)}8%{opacity:.85}85%{opacity:.7}100%{opacity:0;transform:translate3d(-70px,108vh,0) rotate(540deg)}}
@media(min-width:481px){.stage{height:min(100svh,900px)}}
@media(max-height:780px){.poster{aspect-ratio:4/5}.poster img,.poster video{transform-origin:50% 30%}.block{padding-top:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.stage-art,.say,.say.swap h1,.say.swap p{animation:none}.petals{display:none}.poster,.tile,.veil{transition:none}}

/* account */
.account h1{font-family:var(--title);font-weight:400;font-size:34px}
.account .begin{margin-top:22px}
.account-tabs{display:grid;grid-template-columns:1fr 1fr;margin-top:22px;border:1px solid var(--s-rule);border-radius:14px;overflow:hidden}
.account-tabs button{min-height:48px;font-size:15px;color:var(--s-dim)}
.account-tabs button[aria-selected=true]{background:rgba(244,234,209,.1);color:var(--s-cream);font-weight:700}
.account-form{display:grid;gap:8px;margin-top:20px}
.account-form label,.account-close label{margin-top:8px;font-size:13.5px;color:var(--s-soft)}
.account-form label small{color:var(--s-dim);font-size:12px}
.account-form input[type=email],.account-form input[type=password],.account-close input{width:100%;min-height:52px;padding:0 16px;border-radius:12px;border:1px solid rgba(244,234,209,.22);background:rgba(6,16,18,.5);color:var(--s-cream);font:inherit;font-size:16px}
.account-form input:focus-visible,.account-close input:focus-visible{outline:2px solid var(--s-gold);outline-offset:2px}
.account-check{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.6}
.account-check input{width:20px;height:20px;margin-top:1px;accent-color:#c9a464;flex:none}
.account-check a,.account-note a{text-decoration:underline;text-underline-offset:3px}
.account-note{margin-top:10px;font-size:12.5px;line-height:1.75;color:var(--s-dim)}
.account-facts{margin-top:22px;padding:6px 18px;border-radius:16px;background:var(--s-panel);font-size:13.5px;color:var(--s-soft)}
.account-facts li{padding:12px 0}.account-facts li+li{border-top:1px solid var(--s-rule)}
.account-close{margin-top:28px;border-top:1px solid var(--s-rule);padding-top:6px;font-size:13.5px;color:var(--s-soft)}
.account-close summary{min-height:48px;display:flex;align-items:center;cursor:pointer;color:var(--s-dim)}
.account-close form{display:grid;gap:8px}
.begin.danger{border-color:rgba(234,150,140,.55);color:#f0b9b0}
.account-error{margin-top:18px;padding:14px 16px;border-radius:12px;border:1px solid rgba(234,150,140,.55);background:rgba(234,150,140,.08);color:#f6cfc8;font-size:14px}
button.begin{width:100%;font:inherit;font-size:16px;font-weight:700;border:0;cursor:pointer}button.begin.ghost{border:1px solid rgba(244,234,209,.3);font-weight:600;font-size:14.5px}button.begin.ghost.danger{border-color:rgba(234,150,140,.55)}
button.begin:disabled{opacity:.55;cursor:wait}
.box-account{margin-top:18px;padding:16px 18px;border-radius:16px;border:1px dashed rgba(201,164,100,.5);font-size:13.5px;color:var(--s-soft)}
.box-account a{color:var(--s-gold);font-weight:700;white-space:nowrap}

/* conversation on the entry stage */
.stage.asking .stage-art,.stage.asking video{filter:blur(5px) brightness(.62);transform:scale(1.06);transition:filter .5s ease,transform .5s ease}
.stage-art,.stage video{transition:filter .5s ease,transform .5s ease}
.stage.asking .petals{opacity:.5}
.stage.asking .stage-shade{background:linear-gradient(rgba(6,16,18,.5),rgba(6,16,18,.25) 30%,rgba(6,16,18,.8) 62%,rgba(6,16,18,.97))}
.talk{position:absolute;z-index:4;left:0;right:0;bottom:0;padding:0 22px calc(22px + env(safe-area-inset-bottom));animation:rise .5s cubic-bezier(.2,.7,.2,1) both}
.talk-progress{font-size:12px;letter-spacing:2px;color:var(--s-dim);margin-bottom:10px}
.ask{border:0;padding:0;margin:0;min-width:0;animation:line .45s ease both}
.ask legend:focus{outline:0}
.ask legend{padding:0;font-family:var(--serif);font-weight:500;font-size:clamp(23px,6.8vw,29px);line-height:1.45;letter-spacing:-.7px;color:#fffaf0;text-shadow:0 1px 14px rgba(0,0,0,.6)}
.ask legend .speaker{display:table;margin-bottom:12px;font-family:var(--sans);text-shadow:none}
.ask legend small{display:block;margin-top:4px;font-family:var(--sans);font-size:13px;letter-spacing:0;color:var(--s-dim)}
.ask legend b{font-weight:500;color:var(--s-gold)}
.ask input:not([type=radio]):not([type=checkbox]),.ask textarea{width:100%;margin-top:18px;padding:12px 2px;border:0;border-bottom:1.5px solid rgba(244,234,209,.45);border-radius:0;background:none;color:#fffaf0;font:inherit;font-size:22px;letter-spacing:.5px;caret-color:var(--s-gold)}
.ask textarea{font-size:16px;line-height:1.7;letter-spacing:0;resize:none;border:1.5px solid rgba(244,234,209,.3);border-radius:14px;padding:12px 14px;background:rgba(6,16,18,.45)}
.ask input::placeholder,.ask textarea::placeholder{color:rgba(244,234,209,.38)}
.ask input:focus-visible,.ask textarea:focus-visible{outline:0;border-color:var(--s-gold)}
.ask-row{display:flex;align-items:flex-end;gap:12px}.ask-row input{flex:1;min-width:0}
.pills{display:flex;gap:8px;flex:none}.pills.stack{flex-wrap:wrap;margin-top:18px}
.pills label{position:relative}.pills input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.pills span,.pill{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid rgba(244,234,209,.28);background:rgba(6,16,18,.5);color:var(--s-soft);font-size:15px;white-space:nowrap;transition:background .15s,color .15s}
.pills input:checked+span{background:#fbf3df;color:#1c2a27;border-color:#fbf3df;font-weight:700}
.pills input:focus-visible+span,.pill:focus-visible{outline:2px solid var(--s-gold);outline-offset:2px}
.pills.stack span{min-height:50px;padding:0 20px}
.pill.ghost{margin-top:12px;border-color:transparent;background:none;color:var(--s-dim);text-decoration:underline;text-underline-offset:4px;padding:0 4px}
.ask-hint{margin-top:10px;font-size:12.5px;line-height:1.7;color:var(--s-dim)}
.ask-check{display:flex;gap:10px;align-items:flex-start;margin-top:14px;font-size:13.5px;line-height:1.6;color:var(--s-soft)}
.ask-check input{width:20px;height:20px;margin-top:1px;flex:none;accent-color:#c9a464}.ask-check a{text-decoration:underline;text-underline-offset:3px}
.ask .begin{margin-top:18px;width:100%;border:0;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.talk-error{margin-top:14px;padding:12px 14px;border-radius:12px;border:1px solid rgba(234,150,140,.55);background:rgba(40,14,12,.7);color:#f6cfc8;font-size:14px}
@media(prefers-reduced-motion:reduce){.talk,.ask{animation:none}.stage.asking .stage-art,.stage.asking video{transition:none}}
.social{display:grid;gap:10px;margin-top:20px}
.social-button{display:flex;align-items:center;justify-content:center;min-height:54px;border-radius:14px;font-size:16px;font-weight:700}
.social-kakao{background:#fee500;color:#191919}.social-google{background:#fff;color:#1f1f1f}
.social-or{display:flex;align-items:center;gap:12px;margin-top:8px;font-size:12.5px;color:var(--s-dim)}
.social-or:before,.social-or:after{content:"";flex:1;height:1px;background:var(--s-rule)}
