@font-face{font-family:PT Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/pt-sans-400-italic-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/pt-sans-400-italic-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/pt-sans-400-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:PT Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/pt-sans-400-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pt-sans-400-normal-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pt-sans-400-normal-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pt-sans-400-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:PT Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pt-sans-400-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/pt-sans-700-normal-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/pt-sans-700-normal-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/pt-sans-700-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:PT Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/pt-sans-700-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"PT Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/pt-serif-400-italic-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"PT Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/pt-serif-400-italic-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"PT Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/pt-serif-400-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"PT Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/pt-serif-400-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"PT Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pt-serif-400-normal-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"PT Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pt-serif-400-normal-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"PT Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pt-serif-400-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"PT Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/pt-serif-400-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"PT Serif";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/pt-serif-700-normal-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"PT Serif";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/pt-serif-700-normal-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"PT Serif";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/pt-serif-700-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"PT Serif";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/pt-serif-700-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #101514;--bg-2: #131b17;--panel: #18231e;--panel-solid: var(--panel);--raise: #21312a;--line: #3a4941;--line-strong: #677a70;--text: #e9e2d5;--muted: #aeb9b1;--dim: #a1aaa2;--copper: #cba47e;--copper-2: #dfbd9b;--copper-ink: #101514;--copper-dim: rgba(203, 164, 126, .13);--teal: #8cb5ac;--teal-dim: rgba(140, 181, 172, .14);--good: #a6ccac;--bad: #ffab9b;--radius: 6px;--radius-s: 4px;--font: "PT Sans", system-ui, sans-serif;--display: "PT Serif", Georgia, serif;--mono: ui-monospace, "Cascadia Code", Consolas, monospace;--shadow: 0 18px 50px rgba(0, 0, 0, .32)}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);color-scheme:dark;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;font:1rem/1.6 var(--font);color:var(--text);min-height:100vh;background:var(--bg)}#root{display:flex;flex-direction:column;min-height:100vh}main{flex:1;outline:none}h1,h2,h3{font-family:var(--display);line-height:1.2;margin:0 0 .5em;font-weight:400;letter-spacing:-.01em;text-wrap:balance}h1{font-size:clamp(2rem,4.5vw,3.3rem)}h2{font-size:clamp(1.35rem,3vw,1.8rem)}h3{font-size:1.18rem}p{margin:0 0 1em}a{color:var(--copper-2);text-underline-offset:3px}a:hover{color:var(--text)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:6px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip{position:absolute;left:12px;top:-60px;background:var(--copper);color:var(--copper-ink);padding:8px 14px;border-radius:8px;z-index:100;font-weight:600}.skip:focus{top:12px}.muted{color:var(--muted)}.fine{color:var(--dim);font-size:.85rem}.empty{color:var(--muted);padding:1.5rem 0}.kaor{font-family:var(--mono);color:var(--copper-2);letter-spacing:.01em}.kaor.big,.big{font-size:1.45rem;line-height:1.3}.kaor b{color:var(--teal);font-weight:600}.kicker{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin:0 0 .6rem;font-weight:600}.lead{color:var(--muted);font-size:1.06rem;max-width:62ch}.top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:1.2rem;padding:.7rem clamp(1rem,4vw,2.5rem);background:var(--bg);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.6rem;font:700 1.05rem var(--display);letter-spacing:.22em;color:var(--text);text-decoration:none}.brand-mark{display:block;width:30px;height:30px}.top nav{display:flex;align-items:center;gap:.2rem;margin-left:auto;flex-wrap:wrap}.top nav a{color:var(--muted);text-decoration:none;padding:.4rem .7rem;border-radius:8px;font-size:.92rem}.top nav a:hover{color:var(--text);background:#ffffff0d}.top nav a.on{color:var(--text);box-shadow:inset 0 -2px 0 var(--copper);border-radius:8px 8px 0 0}.menu-actions{display:flex;align-items:center;gap:.6rem;margin-left:auto;order:2}.lang{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.lang button{background:none;border:0;padding:.45rem .65rem;min-height:40px;min-width:42px;font-size:.8rem;color:var(--muted);cursor:pointer;letter-spacing:.06em}.lang button:focus-visible{outline-offset:-3px}.lang button.on{background:var(--teal-dim);color:var(--teal)}.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:8px;width:42px;height:42px;cursor:pointer;font-size:1.1rem}@media(max-width:1000px){.menu-btn{display:block}.top nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:.6rem 1rem 1rem;background:var(--bg);border-bottom:1px solid var(--line)}.top nav.open{display:flex}.top nav a{padding:.8rem .6rem;font-size:1rem}.top nav a.on{box-shadow:inset 3px 0 0 var(--copper);border-radius:0 8px 8px 0}}.page{max-width:1120px;margin:0 auto;padding:clamp(1.4rem,4vw,3rem) clamp(1rem,4vw,2rem) 4rem}.page-head{margin-bottom:1.6rem}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1rem,2.5vw,1.6rem);margin-bottom:1.2rem}.panel.error{border-color:#ff8a7a66}.section{max-width:1120px;margin:0 auto;padding:2.5rem clamp(1rem,4vw,2rem) 0}.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.two>.panel{margin:0}.stack{display:grid;gap:.7rem}:is(.btn,.book-home .book-button){display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.55rem .95rem;border-radius:var(--radius-s);border:1px solid var(--line-strong);background:transparent;color:var(--copper-2);text-decoration:none;cursor:pointer;font-weight:700;font-size:.95rem}:is(.btn,.book-home .book-button):hover:not(:disabled){background:var(--raise);border-color:var(--copper);color:var(--text)}:is(.btn.primary,.book-home .book-button-primary){background:var(--copper);border-color:var(--copper);color:var(--copper-ink)}:is(.btn.primary,.book-home .book-button-primary):hover:not(:disabled){background:var(--copper-2);border-color:var(--copper-2);color:var(--copper-ink)}.btn.small{padding:.32rem .7rem;font-size:.84rem;border-radius:8px}.btn.on{border-color:var(--copper);color:var(--copper-2)}.btn.danger{border-color:var(--bad);color:var(--bad)}.btn:disabled{opacity:.4;cursor:not-allowed}.cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}.tag{display:inline-block;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;font-weight:700;vertical-align:middle;font-family:var(--font)}.tag.fiction{background:var(--copper-dim);color:var(--copper-2);border:1px solid rgba(226,120,60,.35)}.tag.science{background:var(--teal-dim);color:var(--teal);border:1px solid rgba(98,214,207,.35)}.tag.final{background:#f4a86824;color:var(--copper-2)}.tag.m-phrase{background:#6fdc9a24;color:var(--good)}.tag.m-rules{background:var(--teal-dim);color:var(--teal)}.tag.m-draft{background:#ffc85a24;color:#ffd27a}.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:.6rem 0}.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.34rem .75rem;border-radius:999px;border:1px solid var(--line);background:#ffffff08;color:var(--text);text-decoration:none;font-size:.88rem;cursor:pointer}.chip:hover{border-color:var(--teal);color:var(--text)}.chip.on{background:var(--teal-dim);border-color:var(--teal);color:var(--teal)}.bullets{padding-left:1.2rem;margin:0 0 1rem}.bullets li{margin-bottom:.45rem}.bullets li::marker{color:var(--copper)}.segmented{display:inline-flex;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;background:var(--bg-2)}.segmented button{background:none;border:0;border-right:1px solid var(--line);padding:.42rem .8rem;cursor:pointer;font-size:.85rem;color:var(--muted);min-height:36px}.segmented button:last-child{border-right:0}.segmented button.on{background:var(--teal-dim);color:var(--teal)}.segmented button:hover{color:var(--text)}.loading{display:flex;align-items:center;gap:.7rem;color:var(--muted);padding:2rem 0}.pulse{width:10px;height:10px;border-radius:50%;background:var(--teal);animation:pulse 1.2s infinite}@keyframes pulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.progress-line{height:6px;border-radius:99px;background:#ffffff12;overflow:hidden;margin:.6rem 0 1.2rem}.progress-line span{display:block;height:100%;background:linear-gradient(90deg,var(--copper),var(--copper-2));border-radius:99px;transition:width .4s}.progress-line.hot span{background:linear-gradient(90deg,var(--teal),var(--copper-2));transition:width 1s linear}label{display:grid;gap:.3rem;font-size:.85rem;color:var(--muted)}input,select,textarea{background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius-s);padding:.6rem .8rem;color:var(--text);width:100%;min-width:0;min-height:44px}input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px var(--teal-dim)}textarea{resize:vertical;line-height:1.5}input[type=checkbox]{width:18px;height:18px;min-height:0;accent-color:var(--copper)}label.check{display:flex;align-items:center;gap:.5rem;color:var(--text)}.foot{border-top:1px solid var(--line);padding:1.6rem clamp(1rem,4vw,2.5rem) 2.2rem;color:var(--dim);font-size:.86rem;margin-top:3rem}.foot p{margin:0 0 .4rem;max-width:80ch}.toasts{position:fixed;right:16px;bottom:16px;display:grid;gap:8px;z-index:60}.toast{display:grid;background:var(--panel-solid);border:1px solid var(--copper);border-radius:12px;padding:.8rem 1rem;box-shadow:var(--shadow);max-width:300px;animation:rise .3s}.toast .kicker{margin:0;color:var(--copper-2)}.toast span:last-child{color:var(--muted);font-size:.85rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}.hero{width:min(100%,1440px);margin-inline:auto;padding:1.25rem clamp(1rem,4vw,3rem) 0}.hero-front{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.4fr);align-items:center;gap:clamp(1rem,3vw,2.5rem)}.hero-stage{position:relative;height:clamp(300px,50svh,490px);overflow:hidden;background:#000;border:1px solid var(--line);border-radius:var(--radius)}.hero-stage .stage{min-height:0}.hero-stage .stage canvas{touch-action:pan-y}.hero-copy{min-width:0}.wordmark{font-size:clamp(3.4rem,8vw,7rem);letter-spacing:.2em;margin:0 0 .1em -.04em;font-weight:700;line-height:1;background:linear-gradient(180deg,#fff 10%,#ffd2a8 55%,var(--copper) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.tagline{font:500 clamp(1.1rem,2.4vw,1.5rem) var(--display);letter-spacing:.04em;margin-bottom:.3rem}.contact-phrases{list-style:none;margin:1.1rem 0 0;padding:0;color:var(--muted)}.contact-phrases li{display:grid;grid-template-columns:5rem minmax(0,1fr);align-items:center;gap:.65rem;width:min(100%,20rem);border-bottom:1px solid var(--line);padding:.45rem 0}.hero-error{margin:.8rem 0 0;color:var(--bad);font-size:.9rem}.hero-controls{display:grid;gap:.45rem;margin-top:.8rem;justify-items:start}.stage-controls{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.stage-note{margin:0;font-size:.78rem;color:var(--muted);max-width:78ch}.stage{position:relative;width:100%;height:100%;min-height:280px;overflow:hidden}.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}.stage canvas:active{cursor:grabbing}.planet-label{position:absolute;transform:translate(-50%);background:var(--bg-2);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:.15rem .7rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(4px);white-space:nowrap}.planet-label:hover{border-color:var(--teal);color:var(--teal)}.stage-2d{display:flex;align-items:center;justify-content:center;gap:6%;background:radial-gradient(1px 1px at 20% 30%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 70% 20%,#cde 50%,transparent 51%),radial-gradient(1.5px 1.5px at 40% 75%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 85% 60%,#fec 50%,transparent 51%),radial-gradient(1px 1px at 55% 45%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 10% 85%,#fff 50%,transparent 51%)}.planet2d{position:relative;border:0;padding:0;border-radius:50%;aspect-ratio:1;cursor:pointer;background-size:200% 100%;background-position:0 0;transition:width .5s,opacity .5s;flex:none}.planet2d.earth{width:min(38%,300px);background-color:#1b4f9c;background-image:radial-gradient(circle at 30% 40%,#3d8f5a 0 14%,transparent 15%),radial-gradient(circle at 62% 60%,#4a9a5f 0 18%,transparent 19%),radial-gradient(circle at 50% 12%,#eef 0 12%,transparent 13%),linear-gradient(#17468f,#0d2e66);box-shadow:0 0 40px #508cff73}.planet2d.mars{width:min(22%,170px);background-color:#b4552e;background-image:radial-gradient(circle at 40% 55%,#7a341b 0 16%,transparent 17%),radial-gradient(circle at 68% 35%,#d98052 0 14%,transparent 15%),radial-gradient(circle at 50% 6%,#f3e9e2 0 8%,transparent 9%),linear-gradient(#c4623a,#8f3f20);box-shadow:0 0 26px #e2783c59}.planet2d[style]{background-size:200% 100%}.planet2d.spin[style]{animation:drift 60s linear infinite}.stage-song .earth[style]{background-position-x:var(--song-turn, 0%)}.stage-song .mars[style]{background-position-x:calc(var(--song-turn, 0%) / 1.0275)}@keyframes drift{to{background-position:-200% 0}}.planet2d .shade{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 30%,transparent 35%,rgba(0,0,0,.78) 78%)}.planet2d .planet-label.static{top:calc(100% + 10px);left:50%}.stage-2d.focus-earth .mars,.stage-2d.focus-mars .earth{width:0;opacity:0}.stage-2d.focus-mars .mars{width:min(40%,300px)}@media(max-width:760px){.hero-front{grid-template-columns:minmax(0,1fr);gap:.9rem}.hero-stage{height:clamp(210px,62vw,370px)}.hero-copy .cta{margin-top:.8rem}}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.card{position:relative;display:block;padding:1.3rem 1.3rem 2.6rem;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(160deg,#151f33e6,#0a0f1be6);color:var(--text);text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;overflow:hidden}.card:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,var(--copper),transparent 70%);opacity:.7}.card:hover{transform:translateY(-3px);border-color:#e2783c80;box-shadow:var(--shadow);color:var(--text)}.card p{color:var(--muted);margin:0;font-size:.95rem}.card-go{position:absolute;right:1.2rem;bottom:1rem;color:var(--copper-2);font-size:1.2rem}.card.weekly{border-color:#e2783c73;margin-bottom:1.2rem}.notice h2{margin-bottom:1rem}.notice .panel p{margin:.6rem 0 0;color:var(--muted)}.explorer-stage{height:min(62vh,560px);min-height:320px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);margin-bottom:.8rem;background:#000}.explorer .stage-note{text-align:left;margin:.6rem 0 1.2rem}.explorer-switch{margin-bottom:1rem}.table-wrap{overflow-x:auto}table.compare{width:100%;border-collapse:collapse;font-size:.95rem;min-width:480px}.compare th,.compare td{text-align:left;padding:.65rem .8rem;border-bottom:1px solid var(--line);vertical-align:top}.compare thead th{font:600 .78rem var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--teal)}.compare tbody th{color:var(--muted);font-weight:500;width:28%}.bar{display:block;height:4px;border-radius:4px;margin-top:.35rem;min-width:3px}.bar.earth{background:#4f8fe6}.bar.mars{background:var(--copper)}.planet-row{display:flex;gap:.5rem;overflow-x:auto;padding:.3rem 0 .8rem}.planet-chip{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.4rem;min-width:84px;height:92px;padding:.5rem;border-radius:12px;border:1px solid var(--line);background:none;cursor:pointer;font-size:.82rem;color:var(--muted);flex:none}.planet-chip.on{border-color:var(--copper);color:var(--text);background:#e2783c14}.planet-chip .dot{border-radius:50%;box-shadow:inset -4px -4px 8px #00000080}dl.facts{display:grid;gap:0;margin:.6rem 0 1rem}dl.facts>div{display:grid;grid-template-columns:minmax(120px,30%) 1fr;gap:.8rem;padding:.5rem 0;border-bottom:1px solid var(--line)}dl.facts dt{color:var(--muted);font-size:.88rem}dl.facts dd{margin:0}.lore-block{margin-top:1rem}.tabs{display:flex;gap:.3rem;border-bottom:1px solid var(--line);margin-bottom:1.4rem;overflow-x:auto}.tabs a{padding:.6rem 1rem;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap;font-weight:600;font-size:.95rem}.tabs a.on{color:var(--text);border-bottom-color:var(--copper)}.tabs a:hover{color:var(--text)}.dict{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:1.2rem;align-items:start}.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.6rem;margin-bottom:.6rem;align-items:center}.filters .search{grid-column:1 / -1}.count{color:var(--dim);font-size:.85rem;margin:0 0 .5rem}.entries{background:var(--panel);list-style:none;margin:0 0 1rem;padding:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.entry{display:grid;grid-template-columns:minmax(84px,9rem) auto 1fr auto;gap:.2rem .8rem;align-items:baseline;padding:.6rem .9rem;border-bottom:1px solid var(--line);color:var(--text);text-decoration:none}.entries li:last-child .entry{border-bottom:0}.entry:hover,.entry.on{background:var(--teal-dim);color:var(--text)}.entry.on{box-shadow:inset 3px 0 0 var(--teal)}.entry .gloss2{grid-column:3;color:var(--dim);font-size:.85rem}.pos{color:var(--dim);font-size:.75rem;letter-spacing:.04em}.star{color:var(--copper-2);grid-row:1;grid-column:4}.dict-detail{position:sticky;top:76px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;max-height:calc(100vh - 96px);overflow:auto}.detail .back{display:none;margin-bottom:.8rem}.detail-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.detail-head h2{margin:0 .4rem 0 0;font-size:2rem}.detail-gloss{font-size:1.15rem;margin:.4rem 0 .6rem}.detail h3{font-family:var(--font);margin-top:1.2rem;color:var(--teal);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}@media(max-width:860px){.dict{grid-template-columns:1fr}.dict-detail{position:fixed;inset:0;z-index:50;border-radius:0;max-height:none;display:none;background:var(--bg-2);padding-top:1rem}.dict-detail.open{display:block}.detail .back{display:inline-flex}.entry{grid-template-columns:1fr auto}.entry .gloss,.entry .gloss2{grid-column:1 / -1}}.phrase{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-s);padding:.8rem 1rem}.phrase-top{display:flex;justify-content:space-between;gap:.6rem;align-items:flex-start}.phrase-top .kaor{font-size:1.12rem}.phrase-actions{display:flex;gap:.25rem;flex:none}.phrase-meaning{margin-top:.15rem}.phrase-pron{color:var(--dim);font-size:.84rem;margin-top:.2rem}.phrase-note{color:var(--muted);font-size:.84rem;margin-top:.3rem;border-top:1px dashed var(--line);padding-top:.3rem}.phrase-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:.7rem}.grammar{display:grid;grid-template-columns:240px minmax(0,1fr);gap:1.4rem;align-items:start}.lesson-nav{position:sticky;top:76px;display:grid;gap:1rem;max-height:calc(100vh - 96px);overflow:auto;padding-right:.3rem}.lesson-nav h3{font-family:var(--font);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin:0 0 .3rem}.lesson-nav a{display:block;padding:.38rem .7rem;border-radius:8px;color:var(--muted);text-decoration:none;font-size:.92rem;border-left:2px solid transparent}.lesson-nav a:hover{color:var(--text)}.lesson-nav a.on{color:var(--text);background:var(--copper-dim);border-left-color:var(--copper)}@media(max-width:860px){.grammar{grid-template-columns:1fr}.lesson-nav{position:static;max-height:none;grid-template-columns:repeat(2,1fr)}}.example{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-s);padding:.7rem .9rem}.example-line{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}.word{background:none;border:0;border-bottom:1px dashed var(--line-strong);padding:.15rem .2rem;cursor:pointer;font-size:1.12rem;border-radius:4px 4px 0 0}.word:hover,.word.on{background:var(--copper-dim)}.example-line .end{color:var(--copper-2);font-family:var(--mono);margin-right:.4rem}.example-meaning{color:var(--text);margin-top:.2rem}.example-gloss{margin-top:.4rem;padding-top:.4rem;border-top:1px dashed var(--line);font-size:.92rem;color:var(--muted)}.lab{margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid var(--line)}.panel.lab{border-top:1px solid var(--line);margin-top:0;padding-top:clamp(1rem,2.5vw,1.6rem)}.lab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.7rem;align-items:end;margin:.8rem 0}.lab-out{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius-s);padding:.9rem 1rem;margin:.8rem 0;display:grid;gap:.3rem}.family{display:grid;gap:.4rem}.family-item{display:grid;grid-template-columns:9rem 1fr auto;gap:.8rem;padding:.45rem .7rem;border:1px solid var(--line);border-radius:8px;color:var(--text);text-decoration:none;align-items:baseline}.family-item:hover{border-color:var(--teal);color:var(--text)}@media(max-width:600px){.family-item{grid-template-columns:1fr;gap:0}}.dialogues{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:1rem}.dialogues .panel{margin:0}.dialogue-line{display:grid;grid-template-columns:5.2rem 1fr;gap:.7rem;padding:.5rem 0;border-top:1px solid var(--line)}.dialogue-line .who{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);padding-top:.3rem}.dialogue-line:nth-child(2n) .who{color:var(--copper)}.letters{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:.6rem;margin-bottom:.8rem}.letter{display:grid;justify-items:center;gap:.2rem;padding:.7rem .4rem;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--bg-2);text-align:center;font-size:.85rem;color:var(--muted)}.dir{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem;margin-bottom:1.2rem}.tr-grid .panel{margin:0}.tr-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);gap:.5rem}.tr-head label{color:var(--teal);font-size:inherit}.tr-head>span{display:flex;gap:.4rem;align-items:center}.tr-out{font-size:1.3rem;line-height:1.4;margin:0 0 .8rem;overflow-wrap:anywhere}.tr-sentence{margin-top:.6rem;font-size:.86rem}.breakdown{display:flex;flex-wrap:wrap;gap:.35rem;margin:.6rem 0}.bd{display:grid;padding:.3rem .55rem;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--muted);font-size:.78rem;background:var(--bg-2)}.bd .kaor{font-size:.95rem}a.bd:hover{border-color:var(--teal);color:var(--text)}.bd.bad{border-color:var(--bad)}.tr-unknown{border:1px solid rgba(255,138,122,.4);background:#ff8a7a12;border-radius:var(--radius-s);padding:.6rem .8rem;margin-top:.8rem;font-size:.92rem}.tr-notes{margin:.8rem 0 0;padding-left:1.1rem;color:var(--muted);font-size:.86rem}.missions{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.7rem}.mission-card{display:grid;grid-template-columns:auto 1fr auto;gap:1.1rem;align-items:center;padding:1rem 1.2rem;border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);color:var(--text);text-decoration:none}a.mission-card:hover{border-color:#e2783c8c;color:var(--text);transform:translate(3px)}.mission-card{transition:transform .15s,border-color .15s}.mission-card.locked{opacity:.5}.m-n{font:700 1.7rem var(--display);color:var(--copper);letter-spacing:.04em;min-width:2.4rem}.m-body{display:grid;gap:.1rem}.m-body>span{color:var(--muted);font-size:.93rem}.m-state{color:var(--dim);font-size:.9rem}.m-state.done{color:var(--good);font-size:1.3rem}.mission-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.4rem}.mission-top .kicker{margin:0}.mission,.game{max-width:780px}.step{animation:rise .3s}.story-text{font-size:1.1rem;line-height:1.7;max-width:64ch}.tip{border-left:3px solid var(--teal);background:var(--teal-dim);padding:.7rem 1rem;border-radius:0 var(--radius-s) var(--radius-s) 0;margin-top:1rem}.step-nav{display:flex;justify-content:space-between;gap:.7rem;margin-top:1.4rem;flex-wrap:wrap}.step-nav .btn.primary{margin-left:auto}.ex-task{color:var(--muted);margin-bottom:.4rem}.ex-prompt{margin-bottom:1rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.6rem}.option,.tile{padding:.75rem 1rem;border-radius:10px;border:1px solid var(--line-strong);background:#ffffff08;cursor:pointer;text-align:left;min-height:46px;transition:border-color .15s,background .15s;color:var(--text)}.option.kaor,.tile.kaor{color:var(--copper-2)}.option:hover:not(:disabled),.tile:hover:not(:disabled){border-color:var(--teal);background:#62d6cf14}.option.right,.tile.right{border-color:var(--good);background:#6fdc9a1f;color:var(--good);opacity:1}.option.wrong,.tile.wrong{border-color:var(--bad);background:#ff8a7a1a;color:var(--bad);animation:shake .3s}.option:disabled:not(.right):not(.wrong){opacity:.45;cursor:default}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.tile{text-align:center;padding:.55rem .9rem}.tile.on{border-color:var(--copper);background:var(--copper-dim)}.tile:disabled{opacity:.3;cursor:default}.tile.right:disabled{opacity:.75}.slots{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;min-height:64px;padding:.6rem;border:1px dashed var(--line-strong);border-radius:var(--radius-s);margin-bottom:.8rem;background:var(--bg-2)}.slots.right{border:1px solid var(--good)}.slots.wrong{border-color:var(--bad)}.slots .end{font-family:var(--mono);color:var(--copper-2);font-size:1.3rem}.bank{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.type{font-family:var(--mono);font-size:1.15rem;margin-bottom:.8rem}.type.right{border-color:var(--good)}.type.wrong{border-color:var(--bad)}.match{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.match>div{display:grid;gap:.5rem;align-content:start}.feedback{margin:.9rem 0 0;padding:.6rem .9rem;border-radius:var(--radius-s)}.feedback.good{background:#6fdc9a1a;color:var(--good);border:1px solid rgba(111,220,154,.3)}.feedback.bad{background:#ff8a7a14;color:#ffb3a8;border:1px solid rgba(255,138,122,.3)}.finish{text-align:center}.finish .phrase-grid{text-align:left;margin-top:.8rem}.finish .cta{justify-content:center}.big-number{font:700 clamp(3rem,10vw,5rem) var(--display);margin:.2rem 0 0;background:linear-gradient(180deg,#fff,var(--copper-2));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1.1}.hud{display:flex;gap:1.6rem;margin-bottom:1rem;flex-wrap:wrap}.hud div{display:grid}.hud span{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}.hud strong{font:700 1.5rem var(--display);color:var(--copper-2);font-variant-numeric:tabular-nums}.signal{display:flex;gap:4px;align-items:flex-end;height:26px;margin-bottom:.9rem}.signal span{width:5px;background:var(--teal);border-radius:2px;opacity:.75;animation:wave 1.3s ease-in-out infinite}.signal span:nth-child(2){animation-delay:.12s}.signal span:nth-child(3){animation-delay:.24s}.signal span:nth-child(4){animation-delay:.36s}.signal span:nth-child(5){animation-delay:.48s}.signal span:nth-child(6){animation-delay:.6s}.signal span:nth-child(7){animation-delay:.72s}@keyframes wave{0%,to{height:5px}50%{height:24px}}.pass-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.6rem;background:linear-gradient(140deg,#28160ee6,#0c1220eb);border-color:#e2783c59}.rank{font:650 1.7rem var(--display);margin:1rem 0 0;color:var(--copper-2)}.pass-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;align-content:center}.pass-stats div{display:grid;padding:.7rem;border:1px solid var(--line);border-radius:var(--radius-s);background:#04060c73}.pass-stats strong{font:700 1.4rem var(--display)}.pass-stats span{font-size:.74rem;color:var(--muted)}@media(max-width:760px){.pass-card{grid-template-columns:1fr}}.ranks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}.ranks li{display:grid;padding:.6rem .8rem;border:1px solid var(--line);border-radius:var(--radius-s);color:var(--dim)}.ranks li.on{border-color:var(--copper);color:var(--text);background:#e2783c14}.achievements{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.6rem}.ach{display:grid;gap:.1rem;padding:.7rem .9rem;border:1px solid var(--line);border-radius:var(--radius-s);opacity:.55}.ach span{font-size:.85rem;color:var(--muted)}.ach.on{opacity:1;border-color:var(--good);background:#6fdc9a0f}.ach.on strong:before{content:"\2713  ";color:var(--good)}.tx-list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.tx{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:.85rem 1.1rem;border:1px solid var(--line);border-radius:var(--radius-s);background:var(--panel);color:var(--text);text-decoration:none}.tx:hover{border-color:var(--teal);color:var(--text)}.tx-code{font-family:var(--mono);color:var(--teal);font-size:.85rem}.tx-body{display:grid}.tx-body span{color:var(--muted);font-size:.86rem}.tx-state{font-size:.8rem;color:var(--dim)}.tx.done .tx-state{color:var(--good)}.terminal{font-family:var(--mono);background:linear-gradient(180deg,#061216e6,#05080eeb);border-color:#62d6cf40}.tx-line{padding:.5rem 0;border-top:1px dashed var(--line);display:grid;gap:.1rem;opacity:.45}.tx-line.active,.tx-line.decoded{opacity:1}.tx-line .kaor{font-size:1.15rem}.tx-line.active .kaor{text-shadow:0 0 14px rgba(244,168,104,.55)}.tx-meaning{color:var(--good);font-family:var(--font);font-size:.95rem}.lore{border-color:#e2783c66}.files{margin:2rem 0}.file{padding:0;margin-bottom:.6rem;overflow:hidden}.file h3{margin:0}.file h3 button{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;width:100%;text-align:left;background:none;border:0;padding:1rem 1.2rem;cursor:pointer;font:inherit;align-items:center}.file h3 button:hover{background:#ffffff08}.file-n{font-family:var(--mono);color:var(--copper)}.file-body{padding:0 1.2rem 1.2rem}.puzzle.solved{border-color:#6fdc9a66}.puzzle .fact{font-size:.9rem;color:var(--muted)}.puzzle-form{display:grid;grid-template-columns:1fr auto;gap:.6rem}.puzzle-form .feedback{grid-column:1 / -1;margin:0}.puzzles .two{margin-top:1rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.stage-song .planet2d[style]{background-position-x:0}}@media print{.top,.foot,.stage-controls,.hero-stage,.recording-button{display:none!important}body{background:#fff;color:#000}.kaor{color:#8a3b10}}.recording-button{width:fit-content;border:1px solid var(--line-strong);border-radius:8px;padding:.3rem .6rem;background:var(--teal-dim);color:var(--teal);cursor:pointer}.book-home{background:var(--bg);color:var(--text);min-height:100%;padding-bottom:clamp(2.25rem,5vw,5rem)}.book-home a:not(.book-button){color:var(--copper)}.book-home :focus-visible{outline-color:var(--teal)}.book-home [id]{scroll-margin-top:6rem}.book-home h1,.book-home h2{font:400 clamp(1.65rem,3vw,2.8rem)/1.1 var(--display)}.book-hero,.book-section{max-width:76rem;margin-inline:auto;padding-inline:clamp(1.1rem,5vw,4.5rem)}.book-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(31rem,66vh,48rem);padding-block:clamp(3rem,8vw,7rem);width:100%;max-width:none;padding-inline:max(5vw,calc((100vw - 68rem)/2));background:var(--bg);overflow:hidden}.book-hero-art{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:70% center}.book-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#101514 0%,rgba(16,21,20,.92) 24%,rgba(16,21,20,.54) 50%,transparent 76%),linear-gradient(0deg,#101514,transparent 24%)}.book-hero .book-copy{width:min(100%,35rem)}.book-hero .book-lead{color:var(--text)}.book-hero .book-button:not(.book-button-primary){background:var(--bg)}.house-emblem{display:block;flex:none}.world-house-heading{display:flex;align-items:center;gap:.75rem;margin-bottom:.55rem}.world-house-heading h3{margin:0}.book-label{color:var(--teal);text-transform:uppercase;font-size:.78rem;letter-spacing:.14em;font-weight:650}.book-mark{color:var(--copper);font:400 clamp(3.8rem,10vw,8.5rem)/.9 var(--display);letter-spacing:.07em;margin:.25em 0 .05em}.book-home h1{font-size:clamp(2.1rem,5.5vw,4.8rem);margin:0 0 .45em}.book-lead{font-size:clamp(1.04rem,2vw,1.28rem);max-width:46ch;color:var(--muted)}.book-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.55rem}.book-section{border-top:1px solid var(--line);padding-block:clamp(1.85rem,5vw,3.4rem)}.book-section p:not(.book-label){color:var(--muted)}.book-story,.book-discover{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.2rem,5vw,4.5rem)}.book-story figure{margin:0;padding:.35rem 0 .35rem 1rem;border-left:2px solid var(--copper);align-self:center}.book-story blockquote{font:400 clamp(1.25rem,2.6vw,2rem)/1.4 var(--display);margin:0 0 .5rem}.book-story figcaption{color:var(--muted);font-size:.9rem}.book-houses{list-style:none;padding:0;margin:1.25rem 0 0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem}.book-houses li{display:grid;gap:.3rem;align-content:start;padding:.85rem;background:var(--panel);border:1px solid var(--line);border-radius:4px}.book-houses li.book-lavar{background:transparent;border-style:dashed;border-color:var(--copper)}.book-houses li span{color:var(--muted);font-size:.86rem}.book-word{color:var(--copper)}.book-discover audio{display:block;width:min(100%,24rem)}@media(max-width:850px){.book-houses{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:620px){.book-story,.book-discover{grid-template-columns:minmax(0,1fr)}.book-hero{align-items:end;min-height:34rem;padding:13rem 1.2rem 2.75rem}.book-hero-art{object-position:76% top}.book-hero:before{background:linear-gradient(0deg,#101514 8%,rgba(16,21,20,.97) 38%,rgba(16,21,20,.42) 72%,transparent)}.book-houses{grid-template-columns:repeat(2,minmax(0,1fr))}}.reader{--reader-bg: var(--bg);--reader-ink: var(--text);--reader-muted: var(--muted);--reader-accent: var(--copper);--reader-rule: var(--line-strong);background:var(--reader-bg);color:var(--reader-ink);min-height:75vh;padding:0 1.2rem 4.5rem}.reader-paper{--reader-bg: #f2e9d9;--reader-ink: #2a251f;--reader-muted: #51493d;--reader-accent: #794b2a;--reader-rule: #917d65;color-scheme:light}.reader-sheet{max-width:67ch;margin-inline:auto}.reader a,.reader button{color:var(--reader-accent)}.reader :focus-visible{outline-color:var(--reader-accent)}.reader button{cursor:pointer;border:1px solid var(--reader-rule);border-radius:4px;background:transparent;min-height:44px;padding:.35rem .8rem}.reader-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;padding-block:1.1rem;font-size:.9rem;border-bottom:1px solid var(--reader-rule)}.reader-book{color:var(--reader-muted);text-transform:uppercase;font-size:.83rem;letter-spacing:.12em;margin:2.8rem 0 .55rem}.reader-header h1{font:400 clamp(2rem,6vw,3.2rem)/1.12 var(--display)}.reader-header{margin-bottom:clamp(1.5rem,5vw,2.8rem)}.reader-resume{margin-top:.4rem}.reader-prose{font:400 clamp(1.125rem,2.5vw,1.24rem)/1.75 var(--display);overflow-wrap:break-word}.reader-prose p{margin-block:0 1em;scroll-margin-top:7rem}.reader-prose p:focus:not(:focus-visible){outline:none}.reader-break{width:2.5rem;border:0;border-top:1px solid var(--reader-rule);margin:2.3rem auto}.reader-end{border-top:1px solid var(--reader-rule);margin-top:2rem;padding-top:1.4rem;color:var(--reader-muted)}.hekara-world .world-intro{border-top:0;padding-block:clamp(2.8rem,8vw,6rem);background:radial-gradient(ellipse at 90% 0%,#1c3029,transparent 55%)}.world-intro .book-lead{max-width:50ch}.world-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem;margin:1.25rem 0 0;padding:0;list-style:none}.world-card{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:1.25rem}.world-card h3{font:400 1.45rem/1.2 var(--display);margin:0 0 .45rem}.world-card p{margin:0}.world-card p+p{margin-top:.65rem}.world-lavar{background:transparent;border-style:dashed;border-color:var(--copper)}.world-life{grid-template-columns:repeat(auto-fit,minmax(min(100%,23rem),1fr))}.house-card-link{display:grid;gap:.3rem;align-content:start;height:100%;text-decoration:none;color:var(--text)}.book-home .house-card-link{color:var(--text)}.book-home .house-card-link:hover strong,.book-home .house-card-link:hover h3{color:var(--copper-2)}.book-houses li:has(.house-card-link),.world-card:has(.house-card-link){padding:0}.book-houses .house-card-link{padding:.85rem}.world-card .house-card-link{padding:1.25rem}.book-houses li:has(.house-card-link):hover,.world-card:has(.house-card-link):hover{border-color:var(--copper)}.house-intro{border-top:0}.house-back{display:inline-block;margin-bottom:1.5rem}.house-title{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.house-title h1,.house-title .book-label{margin:0}.house-title .book-label{margin-bottom:.35rem}.house-illustration{margin:0}.house-illustration img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius-s)}.house-illustration figcaption{margin-top:.5rem;color:var(--muted);font-size:.95rem}.house-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem}.house-details p{max-width:57ch;margin-bottom:0}@media(max-width:680px){.house-details{grid-template-columns:1fr;gap:1.5rem}}.chapter-cover{margin:1.3rem 0 0}.chapter-scene{max-width:24rem;margin:1.15rem auto 1.6rem}.chapter-cover img,.chapter-scene img{display:block;width:100%;height:auto;border:1px solid var(--reader-rule);border-radius:var(--radius-s)}
