:root{--bg:#141315;--edge:var(--bg);--primary:#aaa3b1;--bubble:#2e2c31;--ink:#fff;--button-ink:#141315;--muted:#aaa3b1;--soft:#ffffff1a;--line:#ffffff1f;--danger:#ff9b8a;--safe:#6fd39a;--font:"SF Pro Rounded", ui-rounded, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--cards-h:300px;--current-w:246px;--side-w:164px;--side-h:200px;--side-bottom:50px;--side-out:98px}*{box-sizing:border-box}html,body{background-color:var(--edge);overscroll-behavior:none;margin:0}body{color:var(--ink);font:600 16px / 1.35 var(--font);letter-spacing:.02em;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,textarea{letter-spacing:inherit;font-family:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.app{width:100%;min-height:100dvh;position:relative;overflow-x:clip}.sky{pointer-events:none;background:var(--bg);position:fixed;inset:0;overflow:hidden}.sky:before{content:"";opacity:.3;mix-blend-mode:lighten;background:url(/images/sky.webp) top/cover no-repeat;position:absolute;inset:0 0 -6.2%}.sky:after{content:"";background-image:linear-gradient(to top, var(--edge), transparent);height:56px;position:absolute;bottom:0;left:0;right:0}body[data-screen=welcome] .sky:before,body[data-screen=value-buddy] .sky:before,body[data-screen=value-plot] .sky:before,body[data-screen=value-lesson] .sky:before,body[data-screen=player] .sky,body[data-screen=paywall] .sky,body[data-screen=early-access] .sky,body[data-screen=series-player] .sky{display:none}:is(:root:has(body[data-screen=series-splash]),:root:has(body[data-screen=series-home]),:root:has(body[data-screen=series-page]),:root:has(body[data-screen=series-player]),:root:has(.series-shell)){--edge:#000}body[data-screen=series-splash] .sky,body[data-screen=series-home] .sky,body[data-screen=series-page] .sky{display:none}:is(:root:has(body[data-screen=series-age]),:root:has(body[data-screen=series-tags]),:root:has(body[data-screen=series-pick]),:root:has(#paywall[data-door]:not([hidden]))){--edge:#000}body[data-screen=series-age] .sky,body[data-screen=series-tags] .sky,body[data-screen=series-pick] .sky{display:none}body[data-screen^=series-] .icon-btn.glass,#paywall[data-door] .icon-btn.glass{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff24}::view-transition-group(series-poster){animation-duration:.45s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-group(episode-art){animation-duration:.45s;animation-timing-function:cubic-bezier(.2,.8,.2,1)}::view-transition-old(root){animation-duration:.3s}::view-transition-new(root){animation-duration:.3s}
.screen{z-index:1;width:100%;max-width:460px;min-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + 14px) 20px calc(env(safe-area-inset-bottom,0px) + 28px);flex-direction:column;margin:0 auto;display:flex;position:relative}.screen[hidden]{display:none}.screen.fit{height:100dvh;min-height:0;overflow-y:auto}body[data-debug] .screen{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 64px)}.top{grid-template-columns:44px 1fr 44px;align-items:start;gap:8px;min-height:44px;display:grid}.icon-btn{width:44px;height:44px;color:var(--primary);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.icon-btn svg .fill{fill:currentColor;stroke:none}.icon-btn.spacer{visibility:hidden}.icon-btn[hidden]{display:none}.icon-btn.glass{color:#fff;background:#00000080;width:48px;height:48px}.icon-btn.glass svg{stroke-width:3.2px;width:24px;height:24px}.title{color:var(--ink);text-align:center;margin:4px 0 0;font-size:32px;font-weight:700;line-height:1.18}.accent{color:var(--primary)}.subtitle{color:var(--muted);text-align:center;margin:10px 0 0;font-size:17px}.screen.middle>.top{margin-bottom:24px}.actions{justify-items:center;gap:14px;width:100%;margin:auto 0 0;padding-top:24px;display:grid}.primary{background:var(--primary);width:100%;height:63px;color:var(--button-ink);border:0;border-radius:16px;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex}.primary:active{transform:scale(.985)}.primary:disabled{opacity:.45;cursor:not-allowed}.mini{color:#e3dee8;background:#ffffff14;border:0;border-radius:12px;align-items:center;gap:6px;height:40px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.link{color:var(--primary);background:0 0;border:0;padding:6px 10px;font-size:17px;font-weight:700}.link[hidden]{display:none}.error{color:var(--danger);text-align:center;margin:0}.error[hidden]{display:none}.secondary{color:#fff;background:#ffffff1a;border:0;border-radius:16px;justify-content:center;align-items:center;width:100%;height:63px;margin-top:8px;font-size:20px;font-weight:700;display:flex}.secondary:active{transform:scale(.985)}.landing-logo{gap:4px}.landing-logo .logo-icon{border-radius:8px;width:32px;height:32px}.landing-logo .logo-name{color:#fc70f0;letter-spacing:1.2px;font-size:18px;font-weight:900;line-height:27px}.logo{align-items:center;gap:8px;margin:0;display:flex}.logo-icon{border-radius:10px;width:40px;height:40px}.logo-name{color:var(--ink);letter-spacing:.06em;font-size:20px;font-weight:900}
.bubble{background:var(--bubble);width:fit-content;max-width:100%;color:var(--primary);border-radius:20px;justify-self:start;margin:0 0 26px;padding:9px 16px;font-size:20px;font-weight:800;line-height:1.25;position:relative}.bubble:before,.bubble:after{content:"";background:var(--bubble);border-radius:50%;position:absolute}.bubble:before{width:20px;height:20px;bottom:-9px;left:6px}.bubble:after{width:12px;height:12px;bottom:-21px;left:20px}.bubble:empty{visibility:hidden}.bubble.bubble-light,.bubble.bubble-light:before,.bubble.bubble-light:after{background:var(--primary)}.bubble.bubble-light{color:var(--button-ink)}.says-row{flex:none;align-items:flex-start;gap:18px;margin-top:14px;display:flex}.says-face{background:#2e2c31 50% 8%/120% no-repeat;border:2px solid #aaa3b180;border-radius:50%;flex:none;width:52px;height:52px}.says{background:var(--primary);min-width:0;color:var(--button-ink);border-radius:18px;flex:1;margin:12px 0 0;padding:10px 16px 12px 18px;font-size:20px;font-weight:800;line-height:1.2;position:relative}.says:before,.says:after{content:"";background:var(--primary);border-radius:50%;position:absolute}.says:before{width:18px;height:18px;top:2px;left:-6px}.says:after{width:10px;height:10px;top:-8px;left:-16px}.field-input{-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);color:#fff;background:#aaa3b11a;border:2px solid #aaa3b13d;border-radius:23px;width:100%;min-height:64px;padding:0 20px;font-size:22px;font-weight:700;box-shadow:0 0 0 1px #1d1c1f}.field-input::placeholder{color:#aaa3b173}.field-input:focus{border-color:#aaa3b199;outline:none}textarea.field-input{resize:none;min-height:140px;padding:14px 20px;line-height:1.3}.privacy-tag{min-height:32px;color:var(--safe);background:0 0;border:0;flex:none;align-items:center;gap:5px;margin-top:2px;padding:0 8px;font-size:13px;font-weight:600;display:inline-flex}.icon-shield{fill:currentColor;flex:none;width:15px;height:15px}
.screen.has-sheet:after{content:"";z-index:3;background:#0a090b8c;position:fixed;inset:0}.sheet{z-index:4;width:100%;max-width:520px;max-height:calc(100dvh - 60px);padding:22px 20px calc(env(safe-area-inset-bottom,0px) + 22px);color:#fff;overscroll-behavior:contain;background:#252327;border-radius:36px 36px 0 0;animation:.35s cubic-bezier(.2,.8,.2,1) sheet-up;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%)}.sheet.sheet-tall{top:calc(env(safe-area-inset-top,0px) + 56px);flex-direction:column;max-height:none;padding-top:24px;display:flex}.sheet.sheet-tall>*{flex-shrink:0}.sheet[hidden]{display:none}.sheet-top{flex:none;grid-template-columns:48px 1fr 48px;align-items:center;display:grid}.sheet-close{width:48px;height:48px;color:var(--primary);background:#aaa3b133;border:0;border-radius:12px;place-items:center;padding:0;display:grid}.sheet-close svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:22px;height:22px}.sheet-title{text-align:center;margin:0;font-size:22px;font-weight:700}.sheet-topics{flex-wrap:wrap;gap:16px 8px;margin-top:22px;display:flex}
img.alive{object-fit:contain;object-position:50% 100%;transform-origin:50% 100%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;width:100%;height:100%;animation:4.4s ease-in-out infinite idle-sway;display:block}img.alive-spot{animation:3.4s ease-in-out infinite idle-bounce}img.alive-milo{animation:3.8s ease-in-out infinite idle-bob}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes sheet-up{0%{opacity:0;transform:translate(-50%,40px)}}@keyframes idle-sway{0%,to{transform:rotate(-1.5deg)translateY(0)}50%{transform:rotate(1.5deg)translateY(-6px)}}@keyframes idle-bounce{0%,to{transform:translateY(0)scale(1)}35%{transform:translateY(-9px)scale(.99,1.02)}55%{transform:translateY(0)scale(1.02,.98)}70%{transform:translateY(0)scale(1)}}@keyframes idle-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-7px)rotate(-1deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
