@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./literata-cyrillic-ext-wght-normal-CGKlZYBf.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./literata-cyrillic-wght-normal-DLqwHbi6.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./literata-greek-ext-wght-normal-e3e57Shi.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./literata-greek-wght-normal-CO1l-giJ.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./literata-vietnamese-wght-normal-LcSrhZ7T.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./literata-latin-ext-wght-normal-BnEbWgdZ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata Variable;font-style:normal;font-display:swap;font-weight:200 900;src:url(./literata-latin-wght-normal-DLxlUchJ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(./literata-cyrillic-ext-wght-italic-DrMGjC4f.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(./literata-cyrillic-wght-italic-C2hF6zFe.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(./literata-greek-ext-wght-italic-f6xT_0ee.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(./literata-greek-wght-italic-9BAkQpca.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(./literata-vietnamese-wght-italic-LyOFdRXZ.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(./literata-latin-ext-wght-italic-CC1SwlwQ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Literata Variable;font-style:italic;font-display:swap;font-weight:200 900;src:url(./literata-latin-wght-italic-Bm_GJfSc.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}img,svg,canvas{max-width:100%;display:block}img{height:auto}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}ol,ul{padding:0;list-style:none}:where(a){color:inherit}}@layer tokens{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f4e8cf;--paper-glow:#fff6dc;--card:#fdf6e7;--card-2:#f6ead0;--ink:#2b1b12;--ink-2:#4d3a2c;--ink-3:#85705d;--line:#2b1b1224;--sun:#f6c343;--sun-soft:#fbe3a0;--cobalt:#1f4dd8;--cobalt-ink:#fff8e8;--terracotta:#c94a30;--olive:#6f8f3a;--teal:#2f8a84;--rose:#d9667e;--violet:#7d5bbf;--gold:#f2b632;--sticky:#fff0a3;--btn-shadow:var(--ink);--font-display:"Literata Variable", "Georgia", serif;--font-ui:"Nunito Variable", system-ui, sans-serif;--font-hand:"Caveat", "Segoe Print", cursive;--radius:24px;--radius-sm:14px;--header-h:76px;--col:min(560px, 41vw);--gutter:clamp(16px, 4.5vw, 72px);--shadow-card:0 1px 0 #ffffffa6 inset, 0 2px 6px #5a320f12, 0 28px 60px -28px #5a320f73;--spring:linear(0, .009, .035 2.1%, .141 4.4%, .723 12.9%, .938 16.7%, 1.017 19.4%, 1.067, 1.099 24.3%, 1.108 26%, 1.1 27.8%, 1.078 30.1%, .994 38.3%, .981 41.4%, .976 44.5%, .981 49.2%, 1.004 59.8%, 1.003 67.9%, 1);--ease-out:cubic-bezier(.2, .8, .2, 1)}:root[data-theme=night]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#141a30;--paper-glow:#2a2547;--card:#1d2443;--card-2:#252d52;--ink:#f7ecd6;--ink-2:#d9cdb8;--ink-3:#a59cb5;--line:#f7ecd624;--cobalt:#4d72f0;--terracotta:#f07a5c;--olive:#a4c46a;--teal:#5cc2b9;--sticky:#3b3a63;--btn-shadow:#05070f;--shadow-card:0 1px 0 #ffffff0d inset, 0 2px 6px #00000040, 0 28px 60px -28px #000c}}@layer base{html{scroll-behavior:smooth;scroll-padding-top:var(--header-h)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:radial-gradient(1100px 760px at 8% -8%, var(--paper-glow), transparent 62%), radial-gradient(900px 700px at 100% 110%, #c94a3014, transparent 60%), var(--paper);min-height:100svh;color:var(--ink);font-family:var(--font-display);font-optical-sizing:auto;background-attachment:fixed;font-size:1.0625rem;line-height:1.6;transition:background-color .6s,color .6s;overflow-x:clip}[data-theme=night] body{background:radial-gradient(900px 640px at 70% 52%, #ffb85c29, transparent 66%), radial-gradient(2px 2px at 12% 18%, #fff8 50%, transparent 51%), radial-gradient(1.5px 1.5px at 28% 8%, #fff6 50%, transparent 51%), radial-gradient(2px 2px at 44% 22%, #fff7 50%, transparent 51%), radial-gradient(1.5px 1.5px at 88% 12%, #fff6 50%, transparent 51%), radial-gradient(2px 2px at 64% 6%, #fff5 50%, transparent 51%), var(--paper);background-attachment:fixed}h1,h2,h3{text-wrap:balance;font-weight:750;line-height:1.05}p,li{text-wrap:pretty}:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px;border-radius:8px}::selection{background:var(--sun);color:#2b1b12}}@layer layout{.stage{height:100vh;z-index:0;pointer-events:none;height:100lvh;position:fixed;inset:0 0 auto}.stage.is-zoomed{z-index:55;pointer-events:auto;background:var(--paper)}.stage.is-zoomed .stage__canvas{cursor:grab}.stage.is-zoomed .stage__canvas:active{cursor:grabbing}html.is-zoomed{overflow:hidden}.stage__canvas{pointer-events:auto;opacity:0;touch-action:pan-y;width:100%;height:100%;transition:opacity 1.2s;position:absolute;inset:0}.stage.is-ready .stage__canvas{opacity:1}.stage.is-pointer .stage__canvas{cursor:pointer}.stage__fallback{filter:drop-shadow(0 24px 30px #5a320f4d);opacity:0;width:min(30vw,420px);transition:opacity .8s;position:absolute;top:50%;right:9vw;translate:0 -46%;rotate:3deg}.stage.is-failed .stage__fallback{opacity:1}.stage__dapple{mix-blend-mode:multiply;opacity:.085;filter:blur(7px);background:url(./dapple-aWSwU5lY.svg) 50%/900px;position:absolute;inset:-12%;-webkit-mask-image:radial-gradient(120% 90% at 85% 0,#000 20%,#0000 75%);mask-image:radial-gradient(120% 90% at 85% 0,#000 20%,#0000 75%)}@media (prefers-reduced-motion:no-preference){.stage__dapple{animation:22s ease-in-out infinite alternate dapple}}[data-theme=night] .stage__dapple{opacity:0}@keyframes dapple{0%{transform:translate(-2%,-1%)rotate(-1deg)scale(1.02)}to{transform:translate(2%,1.5%)rotate(1.5deg)scale(1.05)}}.grain{z-index:50;pointer-events:none;opacity:.07;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .2 0 0 0 0 .1 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}[data-theme=night] .grain{mix-blend-mode:screen;opacity:.05}.read-progress{z-index:60;background:linear-gradient(90deg, var(--sun), var(--terracotta));transform-origin:0;height:3px;position:fixed;inset:0 0 auto;scale:0 1}@supports (animation-timeline:scroll()){.read-progress{animation:linear both read-progress;animation-timeline:scroll(root)}}@keyframes read-progress{to{scale:1}}main,body>footer{z-index:1;pointer-events:none;position:relative}main :where(.hero,.card),body>footer :where(.the-end,.badger){pointer-events:auto}.chapter{min-height:190svh;padding:50svh var(--gutter) 30svh;position:relative}.chapter>.card{top:min(max(calc(var(--header-h) + 12px), calc(50svh - var(--card-h,0px) / 2)), calc(100svh - var(--card-h,0px) - 16px));width:var(--col);position:sticky}.chapter--hero{min-height:100svh;padding:calc(var(--header-h) + 3svh) var(--gutter) 6svh;align-items:center;display:grid}.chapter--end{min-height:125svh;padding:40svh var(--gutter) 0;align-content:start;display:grid;overflow:clip}@media (max-width:860px){:root{--header-h:62px;--col:100%}.chapter{min-height:auto;padding:58svh 14px 22svh}.chapter>.card{position:relative;top:auto}.chapter--hero{align-items:start;padding:60svh 14px 10svh}.chapter--end{min-height:150svh;padding:0 14px calc(env(safe-area-inset-bottom) + 104px);align-content:end}.stage__fallback{width:52vw;top:30%;right:50%;translate:50% -50%}}}@layer components{.topbar{z-index:40;height:var(--header-h);pointer-events:none;justify-content:space-between;align-items:center;gap:12px;padding:0 clamp(12px,2.4vw,32px);display:flex;position:fixed;inset:0 0 auto}.topbar>*{pointer-events:auto}.brand{background:color-mix(in oklab, var(--card) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:999px;align-items:center;gap:10px;padding:6px 16px 6px 8px;text-decoration:none;display:inline-flex;box-shadow:0 6px 18px -10px #5a320f66}.brand__mark{width:38px;height:38px;transition:rotate .5s var(--spring)}.brand:hover .brand__mark{rotate:-10deg}.brand__name{letter-spacing:-.01em;font-variation-settings:"opsz" 36;white-space:nowrap;font-size:1.28rem;font-style:italic;font-weight:800}.hud{align-items:center;gap:8px;display:flex}.hud__btn{background:color-mix(in oklab, var(--card) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);min-width:44px;height:44px;color:var(--ink);transition:translate .25s var(--spring), background-color .2s;border-radius:999px;grid-auto-flow:column;place-items:center;gap:6px;padding:0 10px;display:inline-grid;box-shadow:0 6px 18px -10px #5a320f66}.hud__btn:hover{translate:0 -2px}.hud__btn svg{width:22px;height:22px}.hud__icon{padding:0}.hud__coins{font-family:var(--font-ui);font-variant-numeric:tabular-nums;gap:5px;padding-left:12px;padding-right:14px;font-size:1.05rem;font-weight:900}.hud__coins .hud__card-icon{width:22px;height:22px}.hud__coins .hud__coin-icon{width:26px;height:26px}.hud__coins.is-bump .hud__coin-icon{animation:coin-bump .6s var(--spring)}.hud__catalog{font:800 .98rem/1 var(--font-ui);padding:0 16px 0 12px}.hud__label{display:none}@media (min-width:861px){.hud__label{display:inline}}@keyframes coin-bump{0%{scale:1}30%{rotate:-20deg;scale:1.5}to{scale:1}}[data-theme-toggle]{transition:background-color .25s ease, color .25s ease, translate .25s var(--spring), scale .15s ease}[data-theme-toggle]:active{scale:.92}[data-theme-toggle] svg{transition:transform .35s var(--spring), filter .3s ease;transform-origin:50% 85%}[data-theme-toggle][aria-pressed=true]{background:var(--sun);color:#2b1b12}[data-theme-toggle][aria-pressed=true] svg{filter:drop-shadow(0 0 6px #ffd27a);animation:lamp-ignite .45s var(--spring)}@keyframes lamp-ignite{0%{filter:drop-shadow(0 0 #0000);rotate:-12deg;scale:.85}50%{filter:drop-shadow(0 0 12px #ffe699);rotate:6deg;scale:1.18}to{filter:drop-shadow(0 0 6px #ffd27a);rotate:0deg;scale:1}}.lang{background:color-mix(in oklab, var(--card) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:999px;gap:2px;padding:4px;display:inline-flex;box-shadow:0 6px 18px -10px #5a320f66}.lang button{min-width:40px;height:34px;font:900 .82rem/1 var(--font-ui);letter-spacing:.06em;color:var(--ink-3);border-radius:999px;transition:background-color .2s,color .2s}.lang button[aria-pressed=true]{background:var(--ink);color:var(--paper)}@media (max-width:860px){.brand{padding:4px 12px 4px 6px}.brand__mark{width:32px;height:32px}.brand__name{font-size:1.05rem}.hud{gap:5px}.hud__btn{min-width:38px;height:38px}.hud__btn svg{width:19px;height:19px}.hud__catalog{padding:0}.hud__coins{padding-left:9px;padding-right:10px;font-size:.95rem}}@media (max-width:420px){.brand__name{display:none}}.menu{inset:auto;top:calc(var(--header-h) + 6px);width:min(380px,100vw - 24px);max-height:calc(100svh - var(--header-h) - 16px);overscroll-behavior:contain;scrollbar-width:thin;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);box-shadow:var(--shadow-card);opacity:0;transition:opacity .25s ease, translate .35s var(--spring), display .35s allow-discrete, overlay .35s allow-discrete;margin:0;padding:16px 18px;right:clamp(12px,2.4vw,32px);overflow-y:auto;translate:0 -8px}.menu:popover-open{opacity:1;translate:0}@starting-style{.menu:popover-open{opacity:0;translate:0 -8px}}.menu__header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.menu__title{font:700 1.9rem/1 var(--font-hand);color:var(--terracotta);margin:0}.menu__close{width:34px;height:34px;color:var(--ink-3);border-radius:50%;place-items:center;transition:background .15s,color .15s;display:grid}.menu__close:hover{background:var(--card-2);color:var(--ink)}.menu__close svg{width:18px;height:18px}.menu__account:not(:empty){border-radius:var(--radius-sm);background:var(--card-2);border:1px solid var(--line);gap:8px;margin-bottom:10px;padding:12px;display:grid}.menu__who{align-items:center;gap:10px;display:flex}.menu__who strong{font:800 1rem/1.2 var(--font-ui);display:block}.menu__who small{font:700 .8rem/1.2 var(--font-ui);color:var(--ink-3)}.menu__avatar{background:var(--cobalt);width:38px;height:38px;color:var(--cobalt-ink);font:900 1.1rem/1 var(--font-ui);border-radius:50%;flex:none;place-items:center;display:grid}.menu__hint{font:600 .85rem/1.35 var(--font-ui);color:var(--ink-3)}.menu__login{background:var(--cobalt);min-height:44px;color:var(--cobalt-ink);font:800 .98rem/1 var(--font-ui);text-align:center;border-radius:999px;justify-content:center;align-items:center;padding:0 16px;text-decoration:none;display:flex}.menu__login:hover{translate:0 -1px}.menu__link{font:800 .85rem/1 var(--font-ui);color:var(--cobalt);justify-self:start;padding:6px 0;text-decoration:underline}.menu__section-title{font:700 1.3rem/1 var(--font-hand);color:var(--ink-2);align-items:center;gap:6px;margin:4px 0 6px;display:flex}.menu__section-title svg{width:18px;height:18px;color:var(--terracotta);flex:none}.menu__divider{background:var(--line);height:1px;margin:10px 0 6px}.menu__list{gap:2px;margin:0 0 8px;padding:0;list-style:none;display:grid}.menu__list li[hidden],.menu__list a[hidden]{display:none}.menu__list :is(button,a){width:100%;min-height:42px;font:800 .95rem/1.2 var(--font-ui);color:var(--ink);text-align:left;border-radius:12px;align-items:center;gap:12px;padding:0 10px;text-decoration:none;display:flex}.menu__list :is(button,a):hover{background:var(--card-2)}.menu__list svg{flex:none;width:22px;height:22px}.menu__list [aria-pressed=true] svg{color:var(--terracotta)}.menu .lang{width:max-content;box-shadow:none;margin-inline:auto;margin-top:6px;display:flex}.menu .lang button{min-width:56px;height:34px}.menu__studio{border-top:1px dashed var(--line);margin-top:12px;padding-top:10px}.menu__studio-link{border-radius:var(--radius-sm,12px);color:var(--ink);background:var(--card-2);border:1px solid var(--line);transition:background .18s ease, border-color .18s ease, transform .18s var(--spring);align-items:center;gap:10px;padding:8px 12px;text-decoration:none;display:flex}.menu__studio-link:hover{background:var(--card);border-color:#f59e0b80;transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b1f}.menu__studio-logo{width:24px;height:24px;color:var(--ink);flex:none;overflow:visible}.menu__studio-copy{text-align:left;flex-direction:column;min-width:0;display:flex}.menu__studio-label{font:600 .7rem/1.2 var(--font-ui);color:var(--ink-3)}.menu__studio-name{font:800 .88rem/1.2 var(--font-ui);color:var(--ink);letter-spacing:-.01em}.toc__list{gap:1px;margin:0;padding:0;list-style:none;display:grid}.toc__list a{color:var(--ink);border-radius:8px;align-items:baseline;gap:8px;padding:7px 6px;font-size:.98rem;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.toc__list a:hover{background:var(--card-2)}.toc__list i{border-bottom:2px dotted var(--line);flex:1;translate:0 -4px}.toc__list b{font-family:var(--font-ui);color:var(--ink-3);font-weight:800}.toc__list a:hover span,.toc__list a[aria-current=true] span{color:var(--cobalt)}.toc__list a[aria-current=true] b{color:var(--terracotta)}.toc__install{border-radius:var(--radius-sm);background:var(--card-2);border:1.5px dashed var(--line);width:100%;font:800 .92rem/1.2 var(--font-ui);text-align:left;align-items:center;gap:10px;margin-top:10px;padding:10px 14px;display:flex}.toc__install[hidden]{display:none}.toc__install svg{width:22px;height:22px;color:var(--cobalt);flex:none}.toc__install:hover{border-color:var(--cobalt)}.hero{max-width:calc(var(--col) + 48px);position:relative}.hero__eyebrow{flex-wrap:wrap;gap:8px;margin-bottom:clamp(16px,3vh,28px);display:flex}.pill{background:var(--ink);color:var(--paper);font:800 .86rem/1.2 var(--font-ui);border-radius:999px;align-items:center;gap:6px;padding:6px 14px 6px 10px;display:inline-flex}.pill svg{width:16px;height:16px}.pill--soft{background:color-mix(in oklab, var(--card) 80%, transparent);color:var(--ink-2);border:1px solid var(--line);padding-left:14px}.hero__title{letter-spacing:-.035em;font-variation-settings:"opsz" 72;margin-bottom:.18em;font-size:clamp(3.6rem,6.5vw,7.4rem);font-weight:850;line-height:.86;position:relative}.hero__line{white-space:nowrap;display:block}.hero__line+.hero__line{color:var(--cobalt);padding-left:.32em;font-style:italic}.hero__bang{color:var(--terracotta);transition:rotate .6s var(--spring);display:inline-block;translate:.04em;rotate:9deg}.hero__title:hover .hero__bang{rotate:-14deg}.hero__squiggle{width:78%;margin:.06em 0 0 .36em;overflow:visible}.hero__squiggle path{fill:none;stroke:var(--sun);stroke-width:7px;stroke-linecap:round;stroke-dasharray:340;stroke-dashoffset:0}@media (prefers-reduced-motion:no-preference){.hero__squiggle path{animation:draw 1.4s .5s var(--ease-out) backwards}}@keyframes draw{0%{stroke-dashoffset:340px}}.hero__say{font:600 clamp(1.5rem, 2.2vw, 1.9rem)/1.15 var(--font-hand);color:var(--ink-2);max-width:30ch;margin-bottom:18px}.hero__lead{color:var(--ink-2);max-width:42ch;margin-bottom:30px;font-size:clamp(1.05rem,1.25vw,1.2rem)}.hero__cta{flex-wrap:wrap;gap:14px;display:flex}.book-hint{z-index:1;font:700 1.4rem/1 var(--font-hand);color:var(--ink-3);white-space:nowrap;pointer-events:none;opacity:1;will-change:transform, opacity;align-items:center;gap:10px;transition:transform .55s cubic-bezier(.16,1,.3,1),opacity .4s;display:flex;position:fixed;top:89svh;left:52vw;right:auto;transform:translate(0)}@media (prefers-reduced-motion:no-preference){.book-hint{animation:rise-in .9s .8s var(--ease-out) backwards}}.book-hint:before{content:"";background:radial-gradient(circle at 50% 30%,currentColor 3px,#0000 3.5px);border:2px solid;border-radius:12px;width:22px;height:34px}@media (prefers-reduced-motion:no-preference){.book-hint:before{animation:1.8s ease-in-out infinite wheel}}@keyframes wheel{50%{background-position:0 8px}}@media (pointer:coarse){.book-hint:before{background:radial-gradient(circle at 50% 74%,currentColor 3px,#0000 3.5px);border-radius:11px;width:20px;height:32px}@media (prefers-reduced-motion:no-preference){.book-hint:before{animation:1.8s ease-in-out infinite swipe-up}}}@keyframes swipe-up{0%{opacity:.35;background-position:0 0}25%{opacity:1}75%{opacity:1;background-position:0 -12px}to{opacity:0;background-position:0 -16px}}.book-hint.is-out{opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.4,0,.2,1),opacity .35s;animation:none;transform:translate(100vw)}.book-hint.is-out:before{animation-play-state:paused}html.is-zoomed .book-hint{opacity:0;pointer-events:none}@media (prefers-reduced-motion:reduce){.book-hint{transition:opacity .25s}.book-hint.is-out{opacity:0;transform:none}}@media (prefers-reduced-motion:no-preference){.hero>*{animation:rise-in .9s var(--ease-out) backwards}}.hero>.hero__title{animation-name:slide-in}@keyframes slide-in{0%{translate:0 18px}}.hero>:nth-child(2){animation-delay:80ms}.hero>:nth-child(3){animation-delay:.16s}.hero>:nth-child(4){animation-delay:.24s}.hero>:nth-child(5){animation-delay:.32s}.hero>:nth-child(6){animation-delay:.6s}@keyframes rise-in{0%{opacity:0;translate:0 24px}}.doodle{left:58vw;top:calc(var(--header-h) + 8svh);pointer-events:none;font:700 1.7rem/1 var(--font-hand);color:var(--terracotta);flex-direction:column;align-items:flex-start;display:flex;position:absolute;translate:-70%;rotate:-6deg}.doodle svg{width:74px;margin-left:46px;overflow:visible}.doodle path{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}@media (max-width:860px){.hero{min-width:0;max-width:none}.hero__title{font-size:clamp(2.6rem,12.6vw,5rem)}.hero__line+.hero__line{padding-left:.18em}.book-hint{justify-content:center;max-width:calc(100vw - 24px);font-size:1.25rem;top:56svh;left:50%;right:auto;translate:-50%}.doodle{left:auto;right:14px;top:calc(var(--header-h) + 2svh);align-items:flex-end;font-size:1.35rem;translate:none}.doodle svg{width:52px;margin:0 34px 0 0;scale:-1 1}.hero,.the-end{border-radius:var(--radius);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow-card);padding:28px 20px 26px;position:relative}.hero:before,.the-end:before{content:"";clip-path:polygon(3% 0,97% 0,100% 20%,97% 40%,100% 60%,97% 80%,100% 100%,3% 100%,0 80%,3% 60%,0 40%,3% 20%,0 0);background:repeating-linear-gradient(-45deg,#f6c343d9 0 9px,#fbe3a0d9 9px 18px);width:116px;height:30px;position:absolute;top:-14px;left:34px;rotate:-4deg}.hero__eyebrow{margin-bottom:14px}.hero__cta .btn{flex:auto}}.btn{--bg:var(--card);--fg:var(--ink);background:var(--bg);min-height:52px;color:var(--fg);font:800 1.02rem/1.1 var(--font-ui);box-shadow:0 4px 0 var(--btn-shadow);transition:translate .18s var(--ease-out), box-shadow .18s var(--ease-out), background-color .2s;border:2.5px solid #2b1b12;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:.8em 1.45em;text-decoration:none;display:inline-flex}.btn svg{flex:none;width:20px;height:20px}.btn:hover{box-shadow:0 6px 0 var(--btn-shadow);translate:0 -2px}.btn:active{box-shadow:0 1px 0 var(--btn-shadow);translate:0 3px}.btn--primary{--bg:var(--cobalt);--fg:var(--cobalt-ink)}.btn--sun{--bg:var(--sun);--fg:#2b1b12}.btn--ghost{--bg:transparent;box-shadow:none;border-color:var(--line)}.btn--ghost:hover{box-shadow:none;background:color-mix(in oklab, var(--ink) 6%, transparent)}.btn--small{min-height:40px;box-shadow:0 3px 0 var(--btn-shadow);border-width:2px;padding:.5em 1.05em;font-size:.92rem}.btn--wide{width:100%}.card{border-radius:var(--radius);background:radial-gradient(120% 80% at 0% 0%, #ffffff80, transparent 60%), var(--card);border:1px solid var(--line);box-shadow:var(--shadow-card);padding:clamp(26px,3vw,42px);transition:background-color .6s;position:relative}[data-theme=night] .card{background:radial-gradient(120% 80% at 0% 0%, #ffffff0d, transparent 60%), var(--card)}.card:before{content:"";clip-path:polygon(3% 0,97% 0,100% 20%,97% 40%,100% 60%,97% 80%,100% 100%,3% 100%,0 80%,3% 60%,0 40%,3% 20%,0 0);background:repeating-linear-gradient(-45deg,#f6c343d9 0 9px,#fbe3a0d9 9px 18px);width:116px;height:30px;position:absolute;top:-14px;left:34px;rotate:-4deg;box-shadow:0 1px 2px #00000014}.card:after{content:"";clip-path:polygon(3% 0,97% 0,100% 25%,97% 50%,100% 75%,97% 100%,3% 100%,0 75%,3% 50%,0 25%);background:repeating-linear-gradient(90deg,#1f4dd88c 0 6px,#1f4dd840 6px 12px);width:70px;height:26px;position:absolute;top:-12px;right:40px;rotate:5deg}.card>*+*{margin-top:1em}.card h2{letter-spacing:-.02em;font-variation-settings:"opsz" 60;margin-top:.3em;font-size:clamp(2rem,3.1vw,2.85rem)}.card p{color:var(--ink-2)}.card__chapter{font:700 1.55rem/1 var(--font-hand);color:var(--terracotta);align-items:center;gap:10px;display:flex}.card__num{width:36px;height:36px;font-family:var(--font-display);border:2.5px solid;border-radius:52% 46% 55% 44%/48% 55% 45% 52%;place-items:center;font-size:1.15rem;font-style:italic;font-weight:800;display:grid}.stats{grid-template-columns:repeat(3,1fr);gap:12px;padding-top:6px;display:grid}.stats li{border-radius:var(--radius-sm);background:var(--card-2);border:1px dashed var(--line);padding:14px 12px 12px}.stats b{color:var(--cobalt);font-variation-settings:"opsz" 48;font-size:clamp(1.7rem,2.4vw,2.2rem);font-style:italic;font-weight:850;line-height:1;display:block}.stats span{font:700 .84rem/1.25 var(--font-ui);color:var(--ink-3);margin-top:6px;display:block}.note{background:var(--sticky);border-radius:6px 18px;align-items:center;gap:14px;padding:12px 18px 12px 12px;display:flex;rotate:-1.2deg;box-shadow:0 10px 22px -14px #5a320f99}.note img{flex:none;width:64px;height:auto;rotate:-6deg}.note p{font:600 1.42rem/1.15 var(--font-hand);color:var(--ink)}.ticks li{color:var(--ink-2);padding-left:34px;position:relative}.ticks li+li{margin-top:10px}.ticks li:before{content:"";background:var(--olive);width:22px;height:22px;position:absolute;top:.25em;left:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 13c3 2 5 4 6 7 3-7 7-12 12-16' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 13c3 2 5 4 6 7 3-7 7-12 12-16' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.tip{border:2px dashed color-mix(in oklab, var(--sun) 70%, var(--ink));border-radius:var(--radius-sm);font:600 1.38rem/1.15 var(--font-hand);align-items:center;gap:12px;padding:12px 16px;display:flex;color:var(--ink)!important}.tip svg{width:28px;height:28px;color:var(--terracotta);flex:none}.peek{background:var(--ink);color:var(--paper);font:800 .85rem/1.2 var(--font-ui);opacity:0;pointer-events:none;border-radius:999px;padding:6px 12px;position:absolute;bottom:12px;left:16px}.peek:focus-visible{opacity:1;pointer-events:auto}.peek[hidden]{display:none}.chips{border:0;flex-wrap:wrap;gap:8px;min-width:0;padding:0;display:flex}.chips legend{font:700 1.4rem/1 var(--font-hand);color:var(--ink);float:left;width:100%;margin-bottom:10px}.chips label{position:relative}.chips input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.chips span{border:1.5px solid var(--line);background:var(--card-2);min-height:40px;font:800 .92rem/1 var(--font-ui);color:var(--ink-2);transition:background-color .2s, color .2s, translate .25s var(--spring), border-color .2s;border-radius:999px;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.chips label[style] span:before{content:"";background:var(--dot);border-radius:50%;width:9px;height:9px}.chips label:hover span{translate:0 -2px}.chips input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chips input:focus-visible+span{outline:3px solid var(--cobalt);outline-offset:2px}.oracle{gap:18px;margin-top:1.2em;display:grid}.oracle__result:empty{display:none}.oracle__result{margin-top:1.2em}.bookcard{border-radius:var(--radius-sm);background:var(--card-2);border:1.5px solid var(--line);grid-template-columns:92px 1fr;align-items:start;gap:18px;padding:18px;transition:transform .25s,box-shadow .25s,border-color .25s;display:grid}@media (prefers-reduced-motion:no-preference){.bookcard{animation:card-flip .8s var(--spring) backwards}}.bookcard:hover{border-color:color-mix(in srgb, var(--ink) 25%, transparent);box-shadow:0 10px 24px -8px #2b1b121f}@keyframes card-flip{0%{opacity:0;transform-origin:50% 0;transform:perspective(700px)rotateX(-70deg)translateY(-12px)}}.bookcard__cover{aspect-ratio:2/3;background:linear-gradient(90deg, #00000047 0 7%, #ffffff38 8% 10%, transparent 14%), radial-gradient(120% 90% at 80% 10%, #ffffff40, transparent 50%), var(--c,var(--cobalt));color:#fff8e8;font:800 .72rem/1.1 var(--font-display);border-radius:4px 10px 10px 4px;align-items:flex-end;padding:10px 8px 8px 14px;font-style:italic;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;display:flex;position:relative;overflow:hidden;rotate:-4deg;box-shadow:0 2px #00000026,6px 10px 18px -8px #3c1e0a8c}.bookcard:hover .bookcard__cover{transform:scale(1.05)rotate(-2deg);box-shadow:0 4px #0003,8px 14px 22px -6px #3c1e0a99}.bookcard__cover-img{object-fit:cover;z-index:1;border-radius:inherit;width:100%;height:100%;position:absolute;inset:0}.bookcard__cover:has(.bookcard__cover-img) span{display:none}.bookcard__cover:has(.bookcard__cover-img):after{display:none}.bookcard__cover:has(.bookcard__cover-img):before{content:"";z-index:2;pointer-events:none;border-radius:inherit;background:linear-gradient(90deg,#00000061 0 6%,#ffffff3d 7% 9%,#0000 14%,#00000014 98%),radial-gradient(120% 90% at 80% 10%,#ffffff26,#0000 60%);position:absolute;inset:0;box-shadow:inset 0 0 0 1px #fff3,inset 0 0 0 1px #00000026}.bookcard__cover:after{content:"";background:#fff8e899;height:2px;position:absolute;inset:10px 8px auto 14px;box-shadow:0 6px #fff8e859}.bookcard h3{font-size:1.28rem;line-height:1.15}.bookcard__author{font:700 .92rem/1.3 var(--font-ui);color:var(--ink-3);margin-top:4px!important}.bookcard__age{background:var(--sun-soft);color:#2b1b12;font:800 .78rem/1.3 var(--font-ui);border-radius:999px;margin-top:8px;padding:3px 10px;display:inline-block}.bookcard__says{font:600 1.38rem/1.12 var(--font-hand);color:var(--ink);margin-top:10px}.bookcard__says:before{content:"— ";color:var(--terracotta)}.bookcard__actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.bookcard__actions [aria-pressed=true]{--bg:var(--rose);--fg:#fff}.casting{gap:12px;margin-top:1em;display:grid}.casting__picker{border:0;min-width:0;margin:0;padding:0}.casting__grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.cand{background:var(--card-2);cursor:pointer;transition:translate .3s var(--spring), border-color .2s, background-color .2s;border:2px solid #0000;border-radius:14px;justify-items:center;gap:4px;padding:7px 2px 6px;display:grid;position:relative}.cand input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.cand:hover{translate:0 -3px}.cand:has(input:checked){border-color:var(--c);background:color-mix(in oklab, var(--c) 16%, var(--card))}.cand:has(input:focus-visible){outline:3px solid var(--cobalt);outline-offset:2px}.cand__face{background:color-mix(in oklab, var(--c) 28%, var(--card));width:54px;height:54px;box-shadow:inset 0 0 0 2px color-mix(in oklab, var(--c) 45%, transparent);border-radius:50%;overflow:hidden}.cand__face img{object-fit:cover;object-position:50% 8%;width:100%;height:100%;transition:scale .4s var(--spring)}.cand:has(input:checked) .cand__face img{scale:1.08}.cand__name{font:800 .78rem/1.15 var(--font-ui);text-align:center;color:var(--ink-2)}.cand__mark{color:var(--rose);font-size:.9rem;line-height:1;position:absolute;top:4px;right:6px}.casting__audition{gap:10px;display:grid}.casting__role{font:800 .86rem/1.35 var(--font-ui);color:var(--ink-3)!important}.casting__line{background:var(--sticky);border-left:5px solid var(--c);font:700 1.36rem/1.16 var(--font-hand);color:var(--ink);border-radius:6px 18px;margin:0;padding:12px 16px;rotate:-.6deg;box-shadow:0 10px 22px -16px #5a320f99}@media (prefers-reduced-motion:no-preference){.casting__line{animation:line-in .5s var(--spring) backwards}}@keyframes line-in{0%{opacity:0;translate:-10px}}.casting__actions{flex-wrap:wrap;gap:8px;display:flex}.casting__actions .btn[disabled]{opacity:.75;cursor:default;box-shadow:0 2px 0 var(--btn-shadow);translate:none}.casting__note{font:700 .86rem/1.4 var(--font-ui);color:var(--ink-3)!important}.casting__note--warn{color:var(--terracotta)!important}.casting__results-title{font:700 1.5rem/1 var(--font-hand);color:var(--terracotta);margin-bottom:8px}.tally{gap:6px;display:grid}.tally__row{font:700 .84rem/1.2 var(--font-ui);grid-template-columns:28px minmax(0,9.5em) 1fr 2.5em;align-items:center;gap:8px;display:grid}.tally__row img{object-fit:cover;object-position:50% 8%;background:var(--card-2);border-radius:50%;width:28px;height:28px}.tally__name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tally__name small{color:var(--rose);font-weight:800}.tally__bar{background:color-mix(in oklab, var(--ink) 8%, transparent);border-radius:99px;height:10px;overflow:hidden}.tally__bar i{height:100%;width:var(--p);border-radius:inherit;background:var(--c);transition:width .8s var(--ease-out);display:block}.tally__n{text-align:right;color:var(--ink-3);font-variant-numeric:tabular-nums}.tally__row.is-yours .tally__name{color:var(--ink)}@media (max-width:420px){.cand__face{width:48px;height:48px}.cand__name{font-size:.72rem}}.tickets{gap:12px;display:grid}.ticket{--notch:radial-gradient(circle at 0 0, transparent 9px, #000 9.5px) top left / 51% 51% no-repeat, radial-gradient(circle at 100% 0, transparent 9px, #000 9.5px) top right / 51% 51% no-repeat, radial-gradient(circle at 0 100%, transparent 9px, #000 9.5px) bottom left / 51% 51% no-repeat, radial-gradient(circle at 100% 100%, transparent 9px, #000 9.5px) bottom right / 51% 51% no-repeat;background:var(--card-2);filter:drop-shadow(0 6px 10px #5a320f1f);border-radius:12px;grid-template-columns:86px 1fr;display:grid;position:relative}.ticket__date{text-align:center;background:var(--sun);color:#2b1b12;border-right:2.5px dashed #2b1b1259;border-radius:12px 0 0 12px;place-content:center;padding:12px 6px;display:grid}.ticket--past .ticket__date{background:color-mix(in oklab, var(--sun) 40%, var(--card-2))}.ticket__day{font:850 2.1rem/1 var(--font-display);font-style:italic}.ticket__month{font:900 .78rem/1.2 var(--font-ui);text-transform:uppercase;letter-spacing:.08em}.ticket__body{min-width:0;padding:12px 16px 14px}.ticket__body h3{font-size:1.12rem;line-height:1.2}.ticket__meta{font:800 .82rem/1.3 var(--font-ui);color:var(--ink-3);margin-top:3px}.ticket__body p{margin-top:6px;font-size:.96rem;line-height:1.45}.ticket__body .btn{margin-top:10px}.ticket__stamp{border:2.5px solid var(--terracotta);color:var(--terracotta);font:900 .78rem/1.2 var(--font-ui);text-transform:uppercase;letter-spacing:.06em;opacity:.85;mix-blend-mode:multiply;border-radius:8px;padding:4px 10px;position:absolute;bottom:12px;right:14px;rotate:8deg}[data-theme=night] .ticket__stamp{mix-blend-mode:normal}.where{align-items:flex-start;gap:12px;font-style:normal;display:flex}.where svg{width:28px;height:28px;color:var(--terracotta);flex:none;margin-top:2px}.where b{font-size:1.15rem;display:block}.where span span{color:var(--ink-3);font-size:.98rem}.find-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.find-grid h3{font:700 1.5rem/1 var(--font-hand);color:var(--terracotta);margin-bottom:10px}.hours div{align-items:baseline;gap:8px;font-size:.98rem;display:flex}.hours div+div{margin-top:6px}.hours dt{flex:1;align-items:baseline;gap:8px;font-weight:700;display:flex}.hours dt:after{content:"";border-bottom:2px dotted var(--line);flex:1;min-width:12px;translate:0 -4px}.hours dd{font-family:var(--font-ui);color:var(--ink-2);white-space:nowrap;font-weight:800}.steps{counter-reset:step;gap:10px;display:grid}.steps li{counter-increment:step;color:var(--ink-2);grid-template-columns:30px 1fr;gap:10px;font-size:.98rem;line-height:1.35;display:grid}.steps li:before{content:counter(step);background:var(--cobalt);width:28px;height:28px;color:var(--cobalt-ink);font:900 .9rem/1 var(--font-ui);border-radius:50%;place-items:center;display:grid}.contact-row{flex-wrap:wrap;gap:8px;display:flex}.donate{border-radius:var(--radius-sm);background:color-mix(in oklab, var(--rose) 14%, var(--card));padding:14px 16px 14px 52px;font-size:.98rem;position:relative}.donate:before{content:"";background:var(--rose);width:24px;height:24px;position:absolute;top:16px;left:16px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10A4.3 4.3 0 0 1 12 7.4 4.3 4.3 0 0 1 19.5 10c0 5.4-7.5 10-7.5 10z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20s-7.5-4.6-7.5-10A4.3 4.3 0 0 1 12 7.4 4.3 4.3 0 0 1 19.5 10c0 5.4-7.5 10-7.5 10z'/%3E%3C/svg%3E") 50%/contain no-repeat}@media (max-width:520px){.find-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr 1fr;gap:8px}.stats li{padding:10px 8px}}.the-end{width:var(--col);text-align:center;padding-bottom:30svh;position:relative}.the-end__big{letter-spacing:-.02em;font-variation-settings:"opsz" 72;font-size:clamp(2.6rem,5vw,4.4rem);font-style:italic;font-weight:800;line-height:1}.the-end__sub{font:700 clamp(1.8rem, 2.6vw, 2.4rem)/1.1 var(--font-hand);color:var(--terracotta);margin-top:12px}.the-end__meta{font:700 .86rem/1.5 var(--font-ui);color:var(--ink-3);margin-top:40px}.badger{width:120px;transition:translate .6s var(--spring);position:absolute;bottom:0;left:calc(50% - 60px);translate:0 58%}.badger:hover,.badger:focus-visible{translate:0 28%}.badger[hidden]{display:none}@media (max-width:860px){.the-end{width:100%;padding-bottom:30px}.the-end__meta{margin-top:22px}.badger{width:92px;inset:0 16px auto auto;translate:0 -66%}.badger:hover,.badger:focus-visible{translate:0 -80%}}.logo-beam{fill:#f59e0b;opacity:.35;animation:4.8s ease-in-out infinite ct-logo-sweep}.logo-beam--r{animation-delay:-2.4s}@keyframes ct-logo-sweep{0%,to{opacity:.16}50%{opacity:.85}}.colophon{z-index:2;pointer-events:auto;justify-content:center;margin-top:26px;display:flex;position:relative}.studio-card{border-radius:var(--radius-sm,16px);background:var(--card);border:1.5px solid var(--line);color:var(--ink);text-align:left;pointer-events:auto;cursor:pointer;max-width:min(480px,100%);transition:transform .25s var(--spring,cubic-bezier(.34, 1.56, .64, 1)), border-color .25s ease, box-shadow .25s ease, background-color .25s ease;align-items:center;gap:16px;padding:12px 18px 12px 14px;text-decoration:none;display:inline-flex;box-shadow:0 4px 16px #0000000d}.studio-card:hover{border-color:#f59e0ba6;transform:translateY(-2px);box-shadow:0 10px 28px #f59e0b2e,0 2px 6px #0000000f}.studio-card:hover .logo-beam{opacity:.95;animation-duration:2.4s}.studio-card:hover .studio-card__pill{color:#1a1612;background:#f59e0b;border-color:#f59e0b}.studio-card:hover .studio-card__arrow{transform:translate(1px,-1px)}.studio-card__beacon{width:46px;height:46px;color:var(--ink);transition:background .2s ease, border-color .2s ease, transform .25s var(--spring);background:#f59e0b1a;border:1px solid #f59e0b40;border-radius:12px;flex:none;place-items:center;display:grid}.studio-card:hover .studio-card__beacon{background:#f59e0b33;border-color:#f59e0b80;transform:scale(1.05)}.studio-card__logo{width:32px;height:32px;overflow:visible}.studio-card__content{flex-direction:column;gap:3px;min-width:0;display:flex}.studio-card__eyebrow{font:700 .72rem/1.2 var(--font-ui);color:var(--ink-3);letter-spacing:.03em;text-transform:uppercase}.studio-card__heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.studio-card__name{font:800 1.02rem/1.2 var(--font-ui);letter-spacing:-.01em;color:var(--ink)}.studio-card__pill{font:700 .74rem/1 var(--font-ui);background:var(--card-2);color:var(--ink-2);border:1px solid var(--line);border-radius:999px;align-items:center;gap:3px;padding:3px 8px;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.studio-card__arrow{width:8px;height:8px;transition:transform .2s}.studio-card__role{font:500 .8rem/1.3 var(--font-ui);color:var(--ink-2);margin:0}@media (max-width:520px){.studio-card{gap:12px;width:100%;padding:10px 14px}.studio-card__role{white-space:normal}}.zoom-btn{z-index:1;background:var(--card);width:52px;height:52px;color:var(--ink);transition:translate .25s var(--spring), scale .25s var(--spring), opacity .3s;border:2px solid #2b1b12;border-radius:50%;place-items:center;display:grid;position:fixed;top:0;left:0;box-shadow:0 4px #2b1b12,0 14px 26px -12px #3c1e0a99}.zoom-btn svg{width:26px;height:26px}.zoom-btn:hover{scale:1.08}.zoom-btn:active{translate:0 3px;box-shadow:0 1px #2b1b12}.zoom-btn[hidden]{display:none}@media (prefers-reduced-motion:no-preference){.zoom-btn.is-new{animation:2.4s ease-in-out 2s 2 zoom-hello}}@keyframes zoom-hello{0%,to{scale:1}12%{rotate:-12deg;scale:1.18}24%{rotate:0deg;scale:1}}.zoom-ui{z-index:60;padding:10px 16px max(16px, env(safe-area-inset-bottom));pointer-events:none;justify-items:center;gap:10px;display:grid;position:fixed;inset:auto 0 0}.zoom-ui[hidden]{display:none}.zoom-ui__hint{background:color-mix(in oklab, var(--card) 90%, transparent);border:1px solid var(--line);max-width:34ch;font:700 1.2rem/1.15 var(--font-hand);text-align:center;border-radius:999px;padding:8px 16px}.zoom-ui__tools{pointer-events:auto;gap:8px;display:flex}.zoom-ui__tools button{background:var(--card);min-width:50px;height:50px;font:800 .95rem/1 var(--font-ui);border:2px solid #2b1b12;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex;box-shadow:0 4px #2b1b12}.zoom-ui__tools button:active{translate:0 3px;box-shadow:0 1px #2b1b12}.zoom-ui__tools svg{width:22px;height:22px}.zoom-ui__close{color:var(--cobalt-ink);background:var(--cobalt)!important}.toasts{top:calc(var(--header-h) + 8px);z-index:70;pointer-events:none;justify-items:center;gap:8px;width:min(440px,100vw - 24px);display:grid;position:fixed;left:50%;translate:-50%}.toast{background:var(--ink);color:var(--paper);font:700 .98rem/1.3 var(--font-ui);border-radius:18px;align-items:center;gap:12px;padding:10px 18px 10px 10px;display:flex;box-shadow:0 16px 30px -14px #00000080}@media (prefers-reduced-motion:no-preference){.toast{animation:toast-in .6s var(--spring) backwards}}.toast.is-leaving{opacity:0;transition:all .35s;translate:0 -10px}.toast--action{pointer-events:auto;padding-right:8px}.toast__action{background:var(--sun);color:#2b1b12;min-height:36px;font:900 .88rem/1 var(--font-ui);border-radius:999px;flex:none;padding:0 14px}.toast img,.toast svg{object-fit:contain;flex:none;width:44px;height:44px}.toast b{color:var(--sun)}@keyframes toast-in{0%{opacity:0;translate:0 -24px;scale:.9}}.flying-coin{z-index:80;pointer-events:none;width:30px;height:30px;position:fixed;top:0;left:0}html.is-upside main,html.is-upside body>footer{transition:rotate 1s var(--spring);rotate:180deg}main,body>footer{transition:rotate 1s var(--spring)}}@layer chat{.librarian-dock{z-index:45;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:clamp(14px,2.4vw,30px);right:clamp(14px,2.4vw,32px)}.librarian-fab{background:radial-gradient(circle at 35% 30%, #ffe08a, var(--sun) 60%);width:96px;height:96px;transition:translate .3s var(--spring), box-shadow .3s;border:2.5px solid #2b1b12;border-radius:50%;flex:none;position:relative;box-shadow:0 5px #2b1b12,0 18px 30px -12px #5a320f99}@media (prefers-reduced-motion:no-preference){.librarian-fab{animation:3.6s ease-in-out infinite bob}}.librarian-fab img{clip-path:inset(-60% 0 0 round 0 0 48px 48px);width:auto;max-width:none;height:133%;transition:rotate .5s var(--spring);transform-origin:50% 90%;position:absolute;bottom:-2px;left:50%;translate:-50%}.librarian-fab[data-who=ginger] img{clip-path:inset(-60% -40% 0 round 0 0 48px 48px)}.librarian-fab:hover{translate:0 -4px}.librarian-fab:hover img{rotate:-6deg}.librarian-fab:active{translate:0 3px;box-shadow:0 1px #2b1b12}.librarian-fab.is-open img{rotate:8deg}@keyframes bob{50%{translate:0 -5px}}.librarian-teaser{background:var(--card);max-width:220px;font:700 1.38rem/1.1 var(--font-hand);border:2px solid #2b1b12;border-radius:18px 18px 4px;margin-bottom:52px;padding:12px 34px 12px 16px;position:relative;box-shadow:0 4px #2b1b12}@media (prefers-reduced-motion:no-preference){.librarian-teaser{animation:toast-in .7s var(--spring) backwards}}.librarian-teaser__x{width:24px;height:24px;font:800 1.1rem/1 var(--font-ui);color:var(--ink-3);border-radius:50%;position:absolute;top:6px;right:8px}.chat{width:min(410px,100vw - 24px);height:min(640px, calc(100svh - var(--header-h) - 40px));background:var(--card);color:var(--ink);overscroll-behavior:contain;opacity:0;transform-origin:90% 100%;transition:opacity .25s ease, translate .45s var(--spring), scale .45s var(--spring), display .45s allow-discrete, overlay .45s allow-discrete;border:2.5px solid #2b1b12;border-radius:26px;flex-direction:column;margin:0;padding:0;inset:auto clamp(14px,2.4vw,32px) clamp(14px,2.4vw,30px) auto;overflow:hidden;translate:0 24px;scale:.96;box-shadow:0 6px #2b1b12,0 40px 80px -30px #28140599}.chat:popover-open{opacity:1;display:flex;translate:0;scale:1}@starting-style{.chat:popover-open{opacity:0;translate:0 24px;scale:.96}}.chat__head{background:var(--sun);color:#2b1b12;border-bottom:2.5px solid #2b1b12;align-items:center;gap:12px;padding:12px 12px 12px 14px;display:flex}.chat__avatar{filter:drop-shadow(0 3px #00000026);width:58px;height:auto;margin:-8px 0 -12px}.chat__title{font:700 1.9rem/.9 var(--font-hand)}.chat__status{font:800 .8rem/1.3 var(--font-ui);opacity:.75;align-items:center;gap:6px;display:flex}.chat__status:before{content:"";background:#3fa34d;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #3fa34d40}.chat__close{border-radius:50%;place-items:center;width:40px;height:40px;margin-left:auto;display:grid}.chat__close:hover{background:#00000014}.chat__close svg{width:22px;height:22px}.chat__log{overscroll-behavior:contain;scrollbar-width:thin;background-color:#0000;background-image:linear-gradient(90deg,#0000 10px,#c94a304d 10px 12px,#0000 12px),repeating-linear-gradient(#0000 0 31px,#1f4dd817 31px 32px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:auto,auto;background-attachment:local;background-origin:padding-box,padding-box;background-clip:border-box,border-box;flex-direction:column;flex:1;gap:10px;padding:18px 16px 12px 22px;display:flex;overflow-y:auto}.msg{max-width:86%;font:600 .98rem/1.45 var(--font-ui);border-radius:18px 18px 18px 6px;padding:10px 14px}@media (prefers-reduced-motion:no-preference){.msg{animation:msg-in .45s var(--spring) backwards}}@keyframes msg-in{0%{opacity:0;translate:0 10px;scale:.96}}.msg--librarian{background:var(--card-2);border:1.5px solid var(--line);align-self:flex-start}.msg--me{background:var(--cobalt);color:var(--cobalt-ink);border-radius:18px 18px 6px;align-self:flex-end}.msg--book{background:0 0;border:0;max-width:100%;padding:0}.msg--book .bookcard{grid-template-columns:70px 1fr;gap:14px;padding:14px}.msg--typing{gap:5px;padding:14px 16px;display:inline-flex}.msg--typing i{background:var(--ink-3);border-radius:50%;width:7px;height:7px;animation:1s ease-in-out infinite dots}.msg--typing i:nth-child(2){animation-delay:.15s}.msg--typing i:nth-child(3){animation-delay:.3s}@keyframes dots{40%{opacity:1;translate:0 -5px}0%,80%,to{opacity:.4}}.chat__chips{overscroll-behavior:contain;scrollbar-width:none;border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;max-height:30%;padding:8px 12px;display:flex;overflow-y:auto}.chat__chips:empty{display:none}.chat__chips button{text-align:left;background:var(--card);min-height:36px;line-height:1.15;font:800 .86rem/1 var(--font-ui);border:1.5px solid #2b1b12;border-radius:999px;flex:0 auto;padding:6px 14px;transition:translate .15s,box-shadow .15s;box-shadow:0 2px #2b1b12}[data-theme=night] .chat__chips button{border-color:var(--line);box-shadow:none}.chat__chips button:hover{translate:0 -1px;box-shadow:0 3px #2b1b12}.chat__who{border-bottom:1px solid var(--line);background:var(--card-2);gap:6px;padding:8px 12px;display:flex}.chat__who button{min-height:40px;font:800 .9rem/1 var(--font-ui);color:var(--ink-2);border:1.5px solid #0000;border-radius:999px;flex:1;justify-content:center;align-items:center;gap:8px;padding:0 10px;display:flex;position:relative}.chat__who button img{object-fit:cover;object-position:50% 20%;border-radius:50%;width:26px;height:26px}.chat__who button[aria-selected=true]{background:var(--card);color:var(--ink);border-color:#2b1b12;box-shadow:0 2px #2b1b12}[data-theme=night] .chat__who button[aria-selected=true]{border-color:var(--line);box-shadow:none}.chat__dot{background:var(--terracotta);width:10px;height:10px;box-shadow:0 0 0 3px var(--card);border-radius:50%}.chat__dot[hidden],.chat__log[hidden],.chat__gate[hidden]{display:none}.chat__gate{text-align:center;font:600 1rem/1.45 var(--font-ui);flex:1;align-content:center;justify-items:center;gap:14px;padding:24px;display:grid}.chat__gate-btn{background:var(--cobalt);min-height:46px;color:var(--cobalt-ink);font:800 1rem/1 var(--font-ui);border-radius:999px;justify-content:center;align-items:center;padding:0 22px;text-decoration:none;display:inline-flex}.chat__gate-wait{color:var(--ink-3);font-size:.9rem}.chat__gate-link{font:800 .9rem/1 var(--font-ui);color:var(--cobalt);text-decoration:underline}.chat[data-mode=natasha] .chat__chips{display:none}.chat[data-mode=natasha] .chat__form{display:flex}.chat:has(.chat__gate:not([hidden])) .chat__form{display:none}.msg--note{text-align:center;border:1.5px dashed var(--line);max-width:94%;color:var(--ink-3);background:0 0;border-radius:14px;align-self:center;font-size:.88rem}.msg.is-sending{opacity:.6}.msg.is-failed{background:var(--terracotta)}.librarian-fab.has-new:after{content:"";background:var(--terracotta);border:2.5px solid #fff8e8;border-radius:50%;width:16px;height:16px;position:absolute;top:4px;right:4px}.chat__form{border-top:1px solid var(--line);gap:8px;padding:10px 12px 12px;display:flex}.chat__form input{border:1.5px solid var(--line);background:var(--card-2);min-width:0;height:46px;font:600 1rem/1 var(--font-ui);border-radius:999px;flex:1;padding:0 16px}.chat__form input:focus-visible{outline-offset:0;border-radius:999px}.chat__form button{background:var(--cobalt);width:46px;height:46px;color:var(--cobalt-ink);border-radius:50%;flex:none;place-items:center;display:grid}.chat__form button svg{width:22px;height:22px}@media (max-width:860px){.librarian-fab{width:78px;height:78px}.librarian-teaser{max-width:180px;margin-bottom:40px;font-size:1.2rem}.chat{transform-origin:50% 100%;border-bottom:0;border-radius:26px 26px 0 0;width:100%;height:min(88svh,720px);bottom:0;left:0;right:0}}}@layer passport{.passport{color:#2b1b12;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#965f2673 transparent;opacity:0;width:min(760px,100vw - 20px);max-height:calc(100svh - 24px);transition:opacity .3s ease, translate .5s var(--spring), rotate .5s var(--spring), display .5s allow-discrete, overlay .5s allow-discrete;background:radial-gradient(140% 100% at 0 0,#ffffff59,#0000 50%),repeating-linear-gradient(0deg,#0000 0 3px,#78501e08 3px 4px),#e6cf9f;border:0;border-radius:22px;margin:auto;padding:0;overflow:hidden auto;translate:0 30px;rotate:-1.5deg;box-shadow:0 50px 100px -30px #140a00b3}.passport::-webkit-scrollbar{width:8px}.passport::-webkit-scrollbar-track{background:0 0;margin:16px 0}.passport::-webkit-scrollbar-thumb{background:#965f2661 padding-box padding-box;border:2px solid #0000;border-radius:99px;transition:background-color .2s}.passport::-webkit-scrollbar-thumb:hover{background:#965f26b3 padding-box padding-box}.passport::-webkit-scrollbar-thumb:active{background:#784614e6 padding-box padding-box}.passport[open]{opacity:1;translate:0;rotate:0deg}@starting-style{.passport[open]{opacity:0;translate:0 30px;rotate:-1.5deg}}.passport::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .3s, display .3s allow-discrete, overlay .3s allow-discrete;background:#1e120880}.passport[open]::backdrop{opacity:1}@starting-style{.passport[open]::backdrop{opacity:0}}.passport__close-form{z-index:2;justify-content:flex-end;height:0;display:flex;position:sticky;top:0}.passport__close{background:#ffffff80;border-radius:50%;place-items:center;width:44px;height:44px;margin:10px;display:grid}.passport__close svg{width:22px;height:22px}.passport__body{gap:26px;padding:clamp(22px,4vw,40px);display:grid}.pp-head{grid-template-columns:auto 1fr;align-items:center;gap:20px;display:grid}.pp-photo{background:#fdf6e7;border:2px solid #2b1b12;border-radius:8px;place-items:center;width:104px;height:124px;display:grid;position:relative;rotate:-3deg;box-shadow:0 8px 0 -4px #0000001f}.pp-photo img{width:86%}.pp-photo:after{content:"";background:#f6c343d9;width:40px;height:18px;position:absolute;top:-10px;left:50%;translate:-50%;rotate:4deg}.pp-kicker{font:900 .78rem/1.2 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;opacity:.6}.pp-title{font:800 italic clamp(1.7rem, 4vw, 2.4rem)/1 var(--font-display);letter-spacing:-.02em;margin:4px 0 10px}.pp-name{align-items:center;gap:8px;display:flex}.pp-name input{min-width:0;font:700 1.9rem/1.2 var(--font-hand);color:#1f4dd8;background:0 0;border:0;border-bottom:2px dashed #2b1b1266;flex:1;padding:2px 4px}.pp-name input:focus-visible{border-bottom-style:solid;border-bottom-color:#1f4dd8;outline:none}.pp-rank{background:#fff6;border-radius:16px;gap:8px;padding:16px 18px;display:grid}.pp-rank__row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.pp-rank__name{font:700 1.8rem/1 var(--font-hand);color:#c94a30}.pp-rank__coins{font:900 1rem/1 var(--font-ui);align-items:center;gap:6px;display:inline-flex}.pp-rank__coins svg{width:22px;height:22px}.pp-bar{background:#2b1b121f;border-radius:99px;height:12px;overflow:hidden}.pp-bar i{height:100%;width:var(--p,0%);border-radius:inherit;transition:width .8s var(--ease-out);background:linear-gradient(90deg,#f2b632,#c94a30);display:block}.pp-rank__next{font:700 .9rem/1.3 var(--font-ui);opacity:.75}.pp-section h3{font:700 1.6rem/1 var(--font-hand);margin-bottom:12px}.pp-stamps{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px;display:grid}.stamp{aspect-ratio:1;text-align:center;font:900 .7rem/1.15 var(--font-ui);text-transform:uppercase;letter-spacing:.04em;color:#2b1b1259;border:2px dashed #2b1b1240;border-radius:50%;place-items:center;padding:10px;display:grid}.stamp.is-earned{border:3.5px double var(--ink-c,#1f4dd8);color:var(--ink-c,#1f4dd8);rotate:var(--r,-8deg);mix-blend-mode:multiply;background:radial-gradient(circle,#ffffff40,#0000 70%)}.stamp.is-new{animation:stamp-in .7s var(--spring) backwards}@keyframes stamp-in{0%{opacity:0;scale:2.2}}.pp-critters{grid-template-columns:repeat(7,1fr);gap:10px;display:grid}.pp-critter{text-align:center;justify-items:center;display:grid}.pp-critter__btn{width:100%;font:800 .72rem/1.15 var(--font-ui);color:inherit;cursor:pointer;transition:transform .18s var(--spring), background-color .15s, box-shadow .15s;background:0 0;border:0;border-radius:12px;justify-items:center;gap:4px;padding:6px 4px;display:grid}.pp-critter__btn:hover{background:#ffffff80;transform:translateY(-2px)}.pp-critter__btn:active{transform:translateY(0)}.pp-critter__btn.is-active{background:#fffc;box-shadow:0 4px 12px -2px #2b1b1226}.pp-critter img{aspect-ratio:1;object-fit:contain;width:100%;max-width:72px}.pp-critter--locked{-webkit-user-select:none;user-select:none;justify-items:center;gap:4px;width:100%;padding:6px 4px;display:grid}.pp-critter__placeholder{background:#ffffff29;border:2px dashed #2b1b1238;border-radius:50%;place-items:center;width:58px;height:58px;margin:6px auto;display:grid;box-shadow:inset 0 2px 4px #2b1b120d}.pp-critter__mark{font:800 1.5rem/1 var(--font-hand);color:#2b1b1259}.pp-critter__name{font:800 .72rem/1.15 var(--font-ui);color:inherit}.pp-critter__name--locked{color:#2b1b1259;font-size:.85rem}@media (max-width:560px){.pp-critters{grid-template-columns:repeat(4,1fr)}}.pp-critter-card{border:1px solid var(--line);background:#ffffffb3;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:14px;padding:12px 16px;display:grid;box-shadow:0 4px 14px -4px #2b1b121a}.pp-critter-card__img{object-fit:contain;flex:none;width:56px;height:56px}.pp-critter-card__text h4{font:700 1.3rem/1.1 var(--font-hand);color:#c94a30;margin:0 0 3px}.pp-critter-card__text p{font:600 .92rem/1.35 var(--font-ui);color:#3b281c;margin:0}.pp-critter-card__close{color:#7a4a12;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;transition:background-color .15s,color .15s;display:grid}.pp-critter-card__close:hover{color:#2b1b12;background:#00000014}.pp-critter-card__close svg{width:16px;height:16px}.pp-wish{gap:6px;display:grid}.pp-wish li{background:#fff6;border-radius:10px;justify-content:space-between;gap:10px;padding:8px 12px;font-size:.98rem;display:flex}.pp-wish button{font:800 .8rem/1 var(--font-ui);opacity:.6}.pp-empty{font:600 1.3rem/1.2 var(--font-hand);opacity:.7}.pp-secret{color:#fff8e8;background:#1f4dd8;border-radius:16px;gap:4px;padding:16px 18px;display:grid}.pp-secret b{font:900 2rem/1 var(--font-ui);letter-spacing:.2em;color:#f6c343}.pp-foot{font:700 .85rem/1.3 var(--font-ui);pointer-events:auto;border-top:1px dashed #2b1b122e;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:10px;display:flex}.pp-foot *{pointer-events:auto}.pp-foot-info{opacity:.7}.pp-reset-btn{color:#c94a30;font:inherit;text-underline-offset:3px;cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:6px;padding:4px 8px;text-decoration:underline;transition:background-color .15s,color .15s,transform .1s}.pp-reset-btn:hover{color:#a3321c;background:#c94a301f}.pp-reset-btn:active{transform:scale(.97)}.pp-reset-confirm{width:100%;animation:pp-confirm-in .22s var(--ease-out);background:#c94a301a;border:1.5px dashed #c94a30;border-radius:14px;gap:10px;padding:14px 18px;display:grid}@keyframes pp-confirm-in{0%{opacity:0;transform:translateY(6px)}}.pp-reset-confirm__msg{font:700 .95rem/1.35 var(--font-ui);color:#8c2612;margin:0}.pp-reset-confirm__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pp-btn--reset{color:#fff;min-height:auto;font:800 .85rem/1 var(--font-ui);cursor:pointer;background:#c94a30;border:0;border-radius:8px;padding:8px 16px;transition:transform .15s,background-color .15s;box-shadow:0 4px 12px -2px #c94a3059}.pp-btn--reset:hover{background:#a3321c;transform:translateY(-1px)}.pp-btn--reset:active{transform:translateY(0)}.pp-btn--cancel{color:#2b1b12;min-height:auto;font:800 .85rem/1 var(--font-ui);cursor:pointer;background:#fff;border:1.5px solid #2b1b12;border-radius:8px;padding:8px 16px;transition:transform .15s,background-color .15s,border-color .15s,color .15s;box-shadow:0 2px 4px #2b1b121f}.pp-btn--cancel:hover{color:#fff;background:#2b1b12;border-color:#2b1b12;transform:translateY(-1px);box-shadow:0 4px 8px #2b1b1233}.pp-btn--cancel:active{background:#1a0f08;transform:translateY(0)}}@layer utilities{.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;background:var(--ink);color:var(--paper);font:800 .95rem/1 var(--font-ui);border-radius:999px;padding:10px 16px;position:fixed;top:12px;left:12px;translate:0 -200%}.skip-link:focus-visible{translate:0}.sprite{width:0;height:0;position:absolute;overflow:hidden}}html.is-modal-open,body.is-modal-open{touch-action:none;overscroll-behavior:none!important;overflow:hidden!important}.catalog-modal:not([open]){display:none!important}.catalog-modal[open]{flex-direction:column;display:flex}.catalog-modal{background:var(--bg,#fbf7ee);width:min(94vw,1180px);height:90vh;max-height:90vh;color:var(--ink,#282119);z-index:95;overscroll-behavior:contain;border:none;border-radius:24px;margin:auto;padding:0;transition:opacity .25s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1);position:fixed;inset:0;overflow:hidden;box-shadow:0 24px 70px #00000059,0 0 0 1px #00000014}html[data-theme=night] .catalog-modal{color:#e9ecf5;background:#181d2f;box-shadow:0 28px 80px #0009,0 0 0 1px #ffffff14}.catalog-modal::backdrop{-webkit-backdrop-filter:blur(8px);background:#14120eb3}html[data-theme=night] .catalog-modal::backdrop{background:#060810d1}.catalog-head{border-bottom:1px solid var(--line,#00000014);background:inherit;z-index:2;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.75rem 1rem;display:flex;position:relative}html[data-theme=night] .catalog-head{border-bottom-color:#ffffff14}.catalog-title-group{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.catalog-title{font-family:var(--serif,"Literata", Georgia, serif);letter-spacing:-.01em;margin:0;font-size:clamp(1.25rem,2.5vw,1.75rem);font-weight:700}.catalog-badge{font-family:var(--sans,"Nunito", sans-serif);background:var(--sun,#f4c242);color:#2b1b12;border-radius:999px;padding:.2rem .65rem;font-size:.85rem;font-weight:600;box-shadow:0 1px 4px #0000001a}.catalog-close{cursor:pointer;color:inherit;opacity:.85;z-index:5;background:#0000000f;border:1px solid #0000000f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex}html[data-theme=night] .catalog-close{background:#ffffff1a;border-color:#ffffff14}.catalog-close:hover{opacity:1;background:#0000001f;transform:rotate(90deg)scale(1.08)}html[data-theme=night] .catalog-close:hover{background:#fff3}.catalog-close svg{width:20px;height:20px;display:block}.catalog-controls{border-bottom:1px solid var(--line,#00000014);background:#00000005;flex-direction:column;gap:.85rem;padding:1rem 1.75rem .75rem;display:flex}html[data-theme=night] .catalog-controls{background:#ffffff05;border-bottom-color:#ffffff14}.catalog-search-wrap{align-items:center;display:flex;position:relative}.catalog-search-icon{opacity:.45;pointer-events:none;width:20px;height:20px;position:absolute;left:1rem}.catalog-search-input{background:var(--bg,#fff);width:100%;color:inherit;border:1.5px solid #0000001f;border-radius:14px;outline:none;padding:.75rem 2.75rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}html[data-theme=night] .catalog-search-input{background:#111524;border-color:#ffffff24}.catalog-search-input:focus{border-color:var(--terracotta,#e06d53);box-shadow:0 0 0 3px #e06d5333}.catalog-search-clear{cursor:pointer;color:inherit;opacity:.5;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.35rem;display:flex;position:absolute;right:.75rem}.catalog-search-clear:hover{opacity:1}.catalog-filters{flex-direction:column;gap:.5rem;display:flex}.catalog-pills-row{scrollbar-width:thin;gap:.45rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.catalog-pills-row::-webkit-scrollbar{height:4px}.catalog-pill{color:inherit;cursor:pointer;white-space:nowrap;background:#0000000d;border:1px solid #0000;border-radius:999px;flex-shrink:0;padding:.35rem .85rem;font-family:inherit;font-size:.85rem;font-weight:600;transition:all .2s}html[data-theme=night] .catalog-pill{background:#ffffff0f}.catalog-pill:hover{background:#00000017;transform:translateY(-1px)}html[data-theme=night] .catalog-pill:hover{background:#ffffff1f}.catalog-pill.is-active{background:var(--terracotta,#e06d53);color:#fff;border-color:var(--terracotta,#e06d53);box-shadow:0 2px 6px #e06d5359}.catalog-pill--collection.is-active{background:var(--teal,#2f8a84);border-color:var(--teal,#2f8a84);box-shadow:0 2px 6px #2f8a8459}.catalog-body{scroll-behavior:smooth;flex:1;padding:1.5rem 1.75rem 2rem;overflow-y:auto}.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-items:stretch;gap:1.25rem;display:grid}@media (max-width:600px){.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.85rem}}.catalog-card{background:var(--bg,#fff);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:16px;flex-direction:column;transition:transform .24s cubic-bezier(.34,1.56,.64,1),box-shadow .24s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #0000000f,0 0 0 1px #0000000d}html[data-theme=night] .catalog-card{background:#1f253b;box-shadow:0 6px 20px #0000004d,0 0 0 1px #ffffff0f}.catalog-card:hover{box-shadow:0 14px 28px #00000024, 0 0 0 1px var(--dominant,#e06d53);transform:translateY(-5px)scale(1.02)}.catalog-card__cover{aspect-ratio:2/3;background:var(--dominant,#3a4a58);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.catalog-card__cover-img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.catalog-card__cover-img.is-landscape{margin:auto;box-shadow:0 4px 14px #0000004d;object-fit:contain!important;width:100%!important;height:auto!important;max-height:100%!important}.catalog-card:hover .catalog-card__cover-img{transform:scale(1.04)}.catalog-card__cover:before{content:"";pointer-events:none;z-index:2;background:linear-gradient(90deg,#0006 0%,#fff3 40%,#00000040 70%,#0000 100%);width:12px;position:absolute;top:0;bottom:0;left:0}.catalog-card__cover:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 1px #fff3}.catalog-card__age{-webkit-backdrop-filter:blur(4px);color:#fff;z-index:3;background:#000000a6;border-radius:999px;padding:.15rem .5rem;font-size:.72rem;font-weight:700;position:absolute;top:8px;right:8px}.catalog-card__lang{-webkit-backdrop-filter:blur(4px);color:#fff;z-index:3;text-transform:uppercase;letter-spacing:.04em;background:#000000a6;border-radius:999px;padding:.15rem .45rem;font-size:.68rem;font-weight:700;position:absolute;top:8px;left:8px}.catalog-card__wish{cursor:pointer;z-index:3;color:#444;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background-color .2s,color .2s;display:flex;position:absolute;bottom:8px;right:8px;box-shadow:0 2px 8px #0000002e}html[data-theme=night] .catalog-card__wish{color:#ddd;background:#181d2fd9}.catalog-card__wish:hover{transform:scale(1.15)}.catalog-card__wish[aria-pressed=true]{color:#fff;background:#ff4757}.catalog-card__wish svg{width:18px;height:18px}.catalog-card__content{flex-direction:column;flex:1;padding:.85rem .95rem 1rem;display:flex}.catalog-card__title{font-family:var(--serif,"Literata", Georgia, serif);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .25rem;font-size:.95rem;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.catalog-card__author{opacity:.75;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0 0 .5rem;font-size:.82rem;display:-webkit-box;overflow:hidden}.catalog-card__quote{opacity:.85;border-top:1px dashed var(--line,#00000014);-webkit-line-clamp:2;color:var(--terracotta,#e06d53);-webkit-box-orient:vertical;margin-top:auto;padding-top:.4rem;font-size:.76rem;font-style:italic;display:-webkit-box;overflow:hidden}html[data-theme=night] .catalog-card__quote{border-top-color:#ffffff14}.catalog-empty{text-align:center;max-width:460px;margin:0 auto;padding:4rem 1rem}.catalog-empty__icon{margin-bottom:1rem;font-size:3rem}.catalog-empty p{opacity:.8;margin-bottom:1.5rem;font-size:1.05rem}.catalog-loadmore-wrap{text-align:center;padding:2rem 0 1rem}.catalog-status{opacity:.7;margin-bottom:.75rem;font-size:.88rem}.book-drawer{z-index:100;-webkit-backdrop-filter:blur(8px);background:#0e1018b3;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:absolute;inset:0}.book-drawer[hidden]{display:none!important}.book-drawer__content{background:var(--bg,#fbf7ee);color:var(--ink,#282119);border-radius:20px;grid-template-columns:240px 1fr;gap:1.75rem;width:min(92vw,760px);max-height:86vh;padding:2rem;display:grid;position:relative;overflow-y:auto;box-shadow:0 24px 60px #00000073,0 0 0 1px #00000014}html[data-theme=night] .book-drawer__content{color:#e9ecf5;background:#191f33;box-shadow:0 24px 70px #000000b3,0 0 0 1px #ffffff14}@media (max-width:680px){.book-drawer__content{grid-template-columns:1fr;gap:1.25rem;padding:1.5rem}}.book-drawer__close{background:var(--bg,#fff);cursor:pointer;width:40px;height:40px;color:inherit;opacity:.9;z-index:25;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .2s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;top:1.25rem;right:1.25rem;box-shadow:0 4px 14px #0000002e,0 0 0 1px #00000014}html[data-theme=night] .book-drawer__close{background:#252c48;box-shadow:0 4px 14px #0006,0 0 0 1px #ffffff1f}.book-drawer__close:hover{opacity:1;transform:rotate(90deg)scale(1.1)}.book-drawer__close svg{width:22px;height:22px;display:block}.book-drawer__left{flex-direction:column;gap:1rem;display:flex}.book-drawer__cover{aspect-ratio:2/3;background:var(--dominant,#3a4a58);border-radius:14px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 25px #0003}.book-drawer__cover img{object-fit:cover;width:100%;height:100%;display:block}.book-drawer__cover img.is-landscape{margin:auto;box-shadow:0 6px 18px #00000059;object-fit:contain!important;width:100%!important;height:auto!important;max-height:100%!important}.book-drawer__quote{border-left:3px solid var(--sun,#f4c242);background:#f4c24226;border-radius:0 10px 10px 0;margin:.75rem 0 1rem;padding:.75rem 1rem;font-size:.88rem;font-style:italic;line-height:1.4}.book-drawer__lang{color:var(--teal,#2f8a84);background:#2f8a8426;border-radius:999px;align-items:center;gap:.35rem;margin-left:.5rem;padding:.2rem .65rem;font-size:.8rem;font-weight:700;display:inline-flex}html[data-theme=night] .book-drawer__lang{color:#55c8c0;background:#2f8a8440}.book-drawer__meta{grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:1rem 0;font-size:.85rem;display:grid}.book-drawer__meta dt{opacity:.6}.book-drawer__meta dd{margin:0;font-weight:600}.book-drawer__tags{flex-wrap:wrap;gap:.4rem;margin:1rem 0;display:flex}.book-drawer__tag{opacity:.85;background:#0000000d;border-radius:999px;padding:.2rem .55rem;font-size:.75rem}html[data-theme=night] .book-drawer__tag{background:#ffffff14}.book-drawer__actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}
