@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./eb-garamond-cyrillic-ext-400-normal-o8fRvAFQ.woff2) format("woff2"),url(./eb-garamond-cyrillic-ext-400-normal-DG8lny6_.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./eb-garamond-cyrillic-400-normal-DDLP67lu.woff2) format("woff2"),url(./eb-garamond-cyrillic-400-normal-C0kVTdou.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./eb-garamond-greek-ext-400-normal-K8pwR3tn.woff2) format("woff2"),url(./eb-garamond-greek-ext-400-normal-BaZl8BIK.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./eb-garamond-greek-400-normal-CVAbzS9p.woff2) format("woff2"),url(./eb-garamond-greek-400-normal-d4JlP2QH.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./eb-garamond-vietnamese-400-normal-CLvJdMEL.woff2) format("woff2"),url(./eb-garamond-vietnamese-400-normal-ifvNSiWx.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./eb-garamond-latin-ext-400-normal-o4A__6QZ.woff2) format("woff2"),url(./eb-garamond-latin-ext-400-normal-B4EmgUmt.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(./eb-garamond-latin-400-normal-BCNrxLz_.woff2) format("woff2"),url(./eb-garamond-latin-400-normal-maQnHeKB.woff) format("woff");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:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./eb-garamond-cyrillic-ext-400-italic-Bz1w3xqM.woff2) format("woff2"),url(./eb-garamond-cyrillic-ext-400-italic-CYS3phfl.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./eb-garamond-cyrillic-400-italic-BGIwiowF.woff2) format("woff2"),url(./eb-garamond-cyrillic-400-italic-BZInx2ys.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./eb-garamond-greek-ext-400-italic-CHZOQEtG.woff2) format("woff2"),url(./eb-garamond-greek-ext-400-italic-BL1XYHtS.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./eb-garamond-greek-400-italic-Dqr5KC66.woff2) format("woff2"),url(./eb-garamond-greek-400-italic-BamGE6QP.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./eb-garamond-vietnamese-400-italic-DQ8HKnks.woff2) format("woff2"),url(./eb-garamond-vietnamese-400-italic-ORtyMVfw.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./eb-garamond-latin-ext-400-italic-V7s3nWfX.woff2) format("woff2"),url(./eb-garamond-latin-ext-400-italic-DUSsnRSD.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(./eb-garamond-latin-400-italic-DSEbMgZu.woff2) format("woff2"),url(./eb-garamond-latin-400-italic-CDFyLPXJ.woff) format("woff");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:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./eb-garamond-cyrillic-ext-600-normal-cjIjEMm6.woff2) format("woff2"),url(./eb-garamond-cyrillic-ext-600-normal-b6vuEf1e.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./eb-garamond-cyrillic-600-normal-CHfC3jm-.woff2) format("woff2"),url(./eb-garamond-cyrillic-600-normal-koFutDBv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./eb-garamond-greek-ext-600-normal-B6KG6Acg.woff2) format("woff2"),url(./eb-garamond-greek-ext-600-normal-DzPSPp8W.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./eb-garamond-greek-600-normal--vWuDlyL.woff2) format("woff2"),url(./eb-garamond-greek-600-normal-JScKXZBq.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./eb-garamond-vietnamese-600-normal-Dmi8L14S.woff2) format("woff2"),url(./eb-garamond-vietnamese-600-normal-DgZMCD0h.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./eb-garamond-latin-ext-600-normal-CrweTMKz.woff2) format("woff2"),url(./eb-garamond-latin-ext-600-normal-CoWPx8v4.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:EB Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(./eb-garamond-latin-600-normal-DHwxsLHv.woff2) format("woff2"),url(./eb-garamond-latin-600-normal-xCe6GkOx.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");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:EB Garamond Fallback;src:local("Times New Roman"),local("TimesNewRomanPSMT"),local("Times"),local("Tinos"),local("Liberation Serif");size-adjust:94.4%;ascent-override:107%;descent-override:31.8%;line-gap-override:0%}:root{--bg: #0d0b08;--bg2: #15110c;--panel: rgba(28, 23, 16, .78);--line: rgba(214, 176, 106, .18);--line-strong: rgba(214, 176, 106, .42);--ink: #e9dfc7;--muted: #a39578;--gold: #d6b06a;--gold-hi: #f0cf8a;--serif: "EB Garamond", "EB Garamond Fallback", serif;--mono: "IBM Plex Mono", ui-monospace, monospace;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;color:var(--ink);font:400 19px/1.55 var(--serif);background:radial-gradient(ellipse 70% 45% at 50% -8%,rgba(240,180,90,.16),transparent 70%),radial-gradient(ellipse 60% 60% at 50% 120%,rgba(120,70,30,.14),transparent 70%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 0 56 16v32L28 64 0 48V16zM28 64v33M0 16-28 0M56 16 84 0' fill='none' stroke='%23d6b06a' stroke-opacity='.045'/%3E%3C/svg%3E"),var(--bg);background-attachment:fixed;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.55));z-index:50}#app{display:flex;flex-direction:column;min-height:100vh}a{color:var(--gold);text-decoration-color:#d6b06a66;text-underline-offset:3px}a:hover{color:var(--gold-hi)}h1,h2,h3{font-weight:400;letter-spacing:.01em;margin:0 0 .4em}h1{font-size:clamp(2.1rem,4.5vw,3.4rem);line-height:1.05}h2{font-size:1.55rem}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.small{font-size:.86rem}.eyebrow{font:400 .72rem/1 var(--mono);text-transform:uppercase;letter-spacing:.22em;color:var(--gold);margin:0 0 1em;opacity:.85}.row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.row.tight{gap:.35rem}.row.tight>*{flex:1}.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:.9rem clamp(1rem,4vw,2.6rem);background:linear-gradient(#0d0b08f5,#0d0b08bf);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.7rem;color:var(--ink);text-decoration:none;font-size:1.2rem;letter-spacing:.04em}.brand svg{width:30px;height:30px;color:var(--gold)}.top nav{display:flex;gap:clamp(.8rem,3vw,2rem)}.top nav a{color:var(--muted);text-decoration:none;font-size:1.02rem;padding:.2rem 0;border-bottom:1px solid transparent}.top nav a:hover,.top nav a.on{color:var(--ink);border-bottom-color:var(--gold)}main{flex:1;position:relative}#view{min-height:100vh}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 2rem;padding:1.4rem clamp(1rem,4vw,2.6rem);border-top:1px solid var(--line);color:var(--muted);font-size:.86rem}.view{animation:arrive .5s ease both}@keyframes arrive{0%{opacity:0;transform:translateY(6px)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:400 1rem/1 var(--serif);letter-spacing:.02em;color:#1a130a;background:linear-gradient(#e6c47f,#c89c52);border:1px solid #f0d49a;border-radius:3px;padding:.62rem 1.1rem;cursor:pointer;text-decoration:none;box-shadow:0 0 0 1px #0006,0 6px 22px -8px #f0b45a8c;transition:filter .15s,transform .15s}.btn:hover{filter:brightness(1.08);color:#1a130a}.btn:active{transform:translateY(1px)}.btn.ghost{color:var(--ink);background:#d6b06a0d;border-color:var(--line-strong);box-shadow:none}.btn.ghost:hover{background:#d6b06a1f;color:var(--ink)}.btn.small{font-size:.9rem;padding:.5rem .7rem}.btn.big{font-size:1.25rem;padding:.95rem 1.6rem;width:100%}.btn.icon{width:2.6rem;height:2.6rem;padding:0;font-size:1.2rem}.seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:3px;overflow:hidden}.seg button{white-space:nowrap;font:400 .92rem/1 var(--serif);color:var(--muted);background:transparent;border:0;padding:.55rem .8rem;cursor:pointer;flex:1}.seg button+button{border-left:1px solid var(--line)}.seg button.on{color:#1a130a;background:var(--gold)}.seg.small button{font-family:var(--mono);font-size:.78rem}.toggle{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;color:var(--muted);font-size:.95rem;-webkit-user-select:none;user-select:none}.toggle input{position:absolute;opacity:0;pointer-events:none}.toggle .track{width:34px;height:18px;border-radius:9px;background:#d6b06a1f;border:1px solid var(--line-strong);position:relative;transition:background .2s;flex:none}.toggle .track:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--muted);transition:transform .2s,background .2s}.toggle input:checked+.track{background:#d6b06a59}.toggle input:checked+.track:after{transform:translate(16px);background:var(--gold-hi)}.toggle input:focus-visible+.track{outline:2px solid var(--gold);outline-offset:2px}textarea{width:100%;resize:vertical;font-size:.8rem;color:var(--ink);background:#00000059;border:1px solid var(--line-strong);border-radius:3px;padding:.6rem;margin-bottom:.8rem}textarea:focus{outline:1px solid var(--gold)}canvas.pixels,.leaf canvas{image-rendering:pixelated}.home{position:relative;overflow:hidden;padding:0 clamp(1rem,4vw,2.6rem) 3rem}.digits,.namewall{position:absolute;top:0;left:0;display:block;width:100%;color:var(--gold);pointer-events:none;-webkit-user-select:none;user-select:none}.digits{font:400 13px/1.35 var(--mono);opacity:.07}.hero{position:relative;max-width:58rem;margin:0 auto;padding:clamp(3rem,9vw,7rem) 0 3rem;text-align:center}.hero h1{font-size:clamp(2.8rem,8vw,5.6rem);text-shadow:0 0 40px rgba(240,180,90,.25)}.lede{font-size:1.28rem;line-height:1.6;color:#d8ccb0;max-width:44rem;margin:0 auto 2rem}.count{display:flex;flex-direction:column;align-items:center;gap:.3rem}.count .big{font-size:clamp(1.8rem,4vw,2.6rem);color:var(--gold-hi)}.count sup{font-size:.55em}.count .muted{font-size:.95rem;max-width:30rem}.doors{position:relative;display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.2rem;max-width:72rem;margin:0 auto}.door{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:2.2rem 1.6rem 1.6rem;background:var(--panel);border:1px solid var(--line);clip-path:polygon(18px 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%,0 18px)}.door p{color:var(--muted);flex:1;margin:0 0 1.2rem}.door .numeral{font-size:.85rem;letter-spacing:.3em;color:var(--gold);margin-bottom:.6rem}.door textarea{flex:1}.shelf-wrap{position:relative;max-width:72rem;margin:3.5rem auto 0;text-align:center}.shelf{display:flex;justify-content:center;gap:clamp(.6rem,2.5vw,2rem);padding:1.5rem 1rem 0;min-height:150px;border-bottom:10px solid #2a1e12;box-shadow:0 14px 30px -10px #000c;background:linear-gradient(transparent 70%,#f0b45a0f)}.shelf .leaf{animation:bob 5s ease-in-out infinite}.shelf .leaf canvas{width:48px;height:96px}@keyframes bob{50%{transform:translateY(-6px)}}.namewall{font:400 12px/1.4 var(--mono);opacity:.05}.hexname{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.25rem;background:#0000004d;border:1px solid var(--line-strong);border-radius:3px;padding:.55rem .8rem;color:var(--ink);cursor:pointer;text-align:left}.hexname:hover{border-color:var(--gold)}.hexname .mono{font-size:.95rem;color:var(--gold-hi)}.label{font:400 .66rem/1 var(--mono);text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}dialog.scroll{max-width:min(52rem,92vw);max-height:86vh;color:var(--ink);background:#17120c;border:1px solid var(--line-strong);padding:1.6rem;display:flex;flex-direction:column}dialog.scroll::backdrop{background:#000000b3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}dialog .fullname{flex:1;overflow:auto;font-size:.72rem;line-height:1.5;word-break:break-all;color:var(--gold);background:#00000059;border:1px solid var(--line);padding:.8rem;margin:.6rem 0 1rem;max-height:50vh}.toast{position:fixed;left:50%;bottom:2rem;z-index:100;transform:translate(-50%,1rem);opacity:0;background:#231b11;border:1px solid var(--line-strong);padding:.6rem 1.1rem;transition:opacity .3s,transform .3s}.toast.show{opacity:1;transform:translate(-50%)}.page-view,.volume-view{position:relative;padding:1.6rem clamp(1rem,4vw,2.6rem) 3rem;overflow:hidden}.page-grid{position:relative;display:grid;grid-template-columns:minmax(15rem,1fr) auto minmax(15rem,1fr);gap:2rem;align-items:start;max-width:78rem;margin:0 auto}.col-left,.col-right{display:flex;flex-direction:column;gap:1.1rem;align-items:flex-start;padding-top:1rem}.col-right{align-items:stretch}.col-stage{display:flex;flex-direction:column;align-items:center;gap:1rem}.plate{display:flex;flex-direction:column;gap:.8rem}.coords{display:grid;grid-template-columns:repeat(4,auto);gap:.5rem 1rem}.coord{display:flex;flex-direction:column;gap:.2rem}.coord .value{font-size:1.7rem;line-height:1;color:var(--gold-hi)}.coord .of{font:.7rem var(--mono);color:var(--muted)}.pedestal{position:relative;padding:0 1rem 1.2rem;background:radial-gradient(ellipse 50% 9% at 50% 93%,rgba(240,180,90,.35),transparent 70%),radial-gradient(ellipse 60% 55% at 50% 45%,rgba(240,180,90,.08),transparent 70%)}.pedestal:after{content:"";position:absolute;left:22%;right:22%;bottom:.5rem;height:6px;border-radius:50%;background:#f0b45a40;filter:blur(6px)}.stage canvas{display:block;cursor:grab;touch-action:none}.stage canvas:active{cursor:grabbing}.pager{display:flex;align-items:center;gap:.4rem}.pageno{min-width:9rem;text-align:center;font-family:var(--mono);font-size:.85rem;color:var(--muted);text-decoration:none}.pageno:hover{color:var(--gold-hi)}.wander{display:flex;flex-direction:column;align-items:center;gap:.7rem;width:min(100%,22rem);margin-top:.4rem}.wander-row{display:flex;gap:.5rem;width:100%}.wander-row .dice{flex:1}.btn.back{width:auto;font-size:1.05rem;padding-inline:1rem}.btn:disabled{opacity:.35;cursor:default;filter:none}.btn.dice{gap:.7rem}.btn.dice svg{width:26px;height:26px;transition:transform .4s}.btn.dice:hover svg{transform:rotate(60deg)}.wander-bar{width:100%;height:2px;background:var(--line);visibility:hidden}.wander-bar.on{visibility:visible}.wander-fill{width:0;height:100%;background:var(--gold);box-shadow:0 0 8px var(--gold)}.keys{margin:0;white-space:pre}kbd{font:.72rem var(--mono);color:var(--ink);border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:3px;padding:.05rem .35rem;margin:0 .1rem}.sheet{margin:0;padding:.8rem;background:var(--panel);border:1px solid var(--line)}.sheet canvas{width:100%;aspect-ratio:1;display:block;background:#0a0806}.sheet figcaption{margin-top:.5rem;font:.7rem var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.actions{display:flex;flex-direction:column;gap:.5rem}.found{position:relative;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem 2rem;max-width:78rem;margin:0 auto 1.5rem;padding:1.1rem 1.5rem;border:1px solid var(--gold);background:linear-gradient(90deg,#d6b06a29,#d6b06a0a);animation:glow 2.4s ease-in-out 2}.found h3{font-size:1.6rem;color:var(--gold-hi);margin:0}.found p{margin:.2rem 0 0;color:#d8ccb0}@keyframes glow{50%{box-shadow:0 0 40px -6px #f0b45a80}}.volume-head{position:relative;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem;max-width:78rem;margin:0 auto 1.6rem}.volume-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:10px 8px;max-width:78rem;margin:0 auto}.volume-grid .leaf{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;padding:4px 0;border-radius:3px;transition:background .15s,transform .15s}.volume-grid .leaf canvas{width:32px;height:64px}.volume-grid .leaf span{font:.62rem var(--mono);color:var(--muted);opacity:.6}.volume-grid .leaf:hover{background:#d6b06a1f;transform:scale(1.12)}.volume-grid .leaf:hover span{opacity:1;color:var(--gold-hi)}.volume-grid .leaf.here{outline:1px solid var(--gold)}.hexagon-view,.catalogue-view{position:relative;padding:1.6rem clamp(1rem,4vw,2.6rem) 3rem;overflow:hidden}.hexagon-head,.catalogue-head{position:relative;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem;max-width:78rem;margin:0 auto 1.6rem}.hexagon-title{font-size:clamp(1.4rem,3.4vw,2.4rem);color:var(--gold-hi);word-break:break-all}.eyebrow a{color:inherit}.room{position:relative;display:grid;grid-template-columns:15rem minmax(0,1fr);gap:2rem;align-items:start;max-width:78rem;margin:0 auto}.plan{position:sticky;top:5.5rem}.floor-plan{width:100%;height:auto;display:block}.floor-plan .floor{fill:#d6b06a0d;stroke:none}.floor-plan .side line{stroke:var(--line-strong);stroke-width:7;stroke-linecap:round;transition:stroke .15s}.floor-plan .side line.hit{stroke:transparent;stroke-width:26}.floor-plan .side text{fill:var(--muted);font:15px var(--mono)}.floor-plan .door line{stroke-dasharray:2 9;stroke-width:3}.floor-plan .side:hover line:not(.hit){stroke:var(--gold-hi)}.floor-plan .side:hover text{fill:var(--gold-hi)}.floor-plan .wall.on line:not(.hit){stroke:var(--gold);filter:drop-shadow(0 0 6px rgba(240,180,90,.7))}.floor-plan .wall.on text{fill:var(--gold-hi)}.floor-plan .here{fill:var(--muted);font:12px var(--mono);letter-spacing:.15em;text-transform:uppercase}.shelves{display:flex;flex-direction:column;gap:1.1rem}.shelf-line .label{display:block;margin-bottom:.35rem}.shelf-row{display:grid;grid-template-columns:repeat(32,minmax(0,1fr));gap:3px;min-height:92px;padding:6px 6px 0;border-bottom:8px solid #2a1e12;background:linear-gradient(transparent 60%,#f0b45a0d);box-shadow:0 10px 20px -10px #000c}.spine{display:flex;flex-direction:column;align-items:center;gap:2px;text-decoration:none;transition:transform .15s}.spine canvas{width:100%;max-width:20px;aspect-ratio:1 / 4;image-rendering:pixelated;box-shadow:inset 0 0 0 1px #00000080;outline:1px solid rgba(0,0,0,.6)}.spine span{font:.55rem var(--mono);color:var(--muted);opacity:.6}.spine:hover{transform:translateY(-5px)}.spine:hover span{opacity:1;color:var(--gold-hi)}.spine.empty{border-left:1px dashed var(--line);opacity:.4}.catalogue-view section{position:relative;max-width:78rem;margin:0 auto 2.4rem}.row.spread{justify-content:space-between;margin-bottom:.8rem}.row.spread h2{margin:0}.find{flex:1;max-width:32rem;flex-wrap:nowrap}.find input{flex:1;min-width:0;font-size:.85rem;color:var(--ink);background:#00000059;border:1px solid var(--line-strong);border-radius:3px;padding:.62rem .7rem}.find input:focus{outline:1px solid var(--gold)}.hex-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.6rem}.hex-list a{display:flex;align-items:center;gap:.8rem;padding:.5rem .8rem;text-decoration:none;background:var(--panel);border:1px solid var(--line);transition:border-color .15s,background .15s}.hex-list a:hover{border-color:var(--gold);background:#d6b06a14}.hex-list canvas{width:20px;height:40px;image-rendering:pixelated;flex:none}.hex-list .name{color:var(--gold-hi);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hex-list .small{margin-left:auto;white-space:nowrap}.desk{padding:1.6rem clamp(1rem,3vw,2.6rem) 3rem;max-width:84rem;margin:0 auto}.desk-head{margin-bottom:1.4rem;max-width:46rem}.desk-head .muted{margin:0}.desk-grid{display:grid;grid-template-columns:11.5rem minmax(0,1fr) 20rem;gap:1.6rem;align-items:start}.tools{display:flex;flex-direction:column;gap:.8rem;position:sticky;top:5rem}.tool-list{display:flex;flex-direction:column;gap:.3rem}.tool{display:flex;align-items:center;gap:.6rem;font:400 1rem/1 var(--serif);color:var(--muted);background:transparent;border:1px solid transparent;border-radius:3px;padding:.45rem .6rem;cursor:pointer;text-align:left}.tool svg{width:20px;height:20px;flex:none}.tool:hover{color:var(--ink);background:#d6b06a12}.tool.on{color:var(--gold-hi);border-color:var(--line-strong);background:#d6b06a1f}.colour{display:flex;align-items:center;gap:.6rem;cursor:pointer}.colour input{width:44px;height:32px;padding:0;border:1px solid var(--line-strong);background:none;cursor:pointer}.colour span{font-size:.8rem;color:var(--muted)}.swatches{display:grid;grid-template-columns:repeat(8,1fr);gap:3px}.swatches.recent:empty{display:none}.swatch{aspect-ratio:1;background:var(--c);border:1px solid rgba(0,0,0,.6);box-shadow:inset 0 0 0 1px #ffffff14;cursor:pointer;padding:0}.swatch:hover{outline:1px solid var(--gold-hi)}.sheet-wrap{display:flex;flex-direction:column;gap:.4rem}.sheet-frame{padding:10px;background:#0a0806;border:1px solid var(--line-strong);box-shadow:0 30px 60px -30px #000000e6,0 0 0 6px #d6b06a08}.sheet-wrap{align-items:center}.sheet-frame{max-width:100%}.desk-sheet{display:block;width:min(600px,calc(100vh - 12rem),calc(100vw - 4rem));max-width:100%;aspect-ratio:1;cursor:crosshair;touch-action:none;image-rendering:pixelated;margin:0 auto}.hover-label{min-height:1.3em;font:.75rem var(--mono);color:var(--muted);white-space:pre}.figure{display:flex;flex-direction:column;align-items:center;gap:.8rem}.pedestal.small{padding:0 0 1rem}.query{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:1.6rem;margin-top:2rem;padding-top:1.6rem;border-top:1px solid var(--line);align-items:start}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:1rem}.mode{display:flex;flex-direction:column;gap:.4rem;text-align:left;color:var(--muted);font:400 .92rem/1.45 var(--serif);background:var(--panel);border:1px solid var(--line);padding:1rem;cursor:pointer}.mode b{font-weight:400;font-size:1.2rem;color:var(--ink)}.mode:hover{border-color:var(--line-strong)}.mode.on{border-color:var(--gold);background:#d6b06a1a}.mode.on b{color:var(--gold-hi)}.query-side{display:flex;flex-direction:column;gap:1rem}.stats{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.stats>div{display:flex;flex-direction:column;gap:.3rem;padding:.8rem;border:1px solid var(--line);background:var(--panel)}.stats b{font-weight:400;font-size:1.5rem;color:var(--gold-hi);line-height:1.1}.stats sup{font-size:.6em}.stats .muted{font-size:.8rem}.consult{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:#080604eb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:arrive .3s ease both}.consult>div{max-width:32rem;text-align:center;padding:1rem}.consult .glyphs{font-size:.9rem;line-height:1.6;word-break:break-all;color:var(--gold);text-shadow:0 0 12px rgba(240,180,90,.6)}.consult.out{animation:leave .4s ease forwards}@keyframes leave{to{opacity:0}}.prose{max-width:42rem;margin:0 auto;padding:3rem 1.2rem 4rem}.prose h2{margin-top:2.2rem;color:var(--gold-hi)}.prose p,.prose li{color:#d8ccb0}.prose li{margin-bottom:.4rem}.prose b{font-weight:600;color:var(--ink)}.prose .row{margin-top:2rem}.faq h3{font-size:1.2rem;color:var(--ink);margin:1.6rem 0 .3rem}.faq h3+p{margin-top:0}.notes{position:relative;text-align:left}.notes h2{font-size:1.3rem}.home .notes{padding-bottom:0;margin-top:2rem}main+.notes{max-width:46rem;padding-top:0}.lost{text-align:center;padding-top:6rem}.lost .row{justify-content:center}@media(max-width:900px){.room{grid-template-columns:1fr}.plan{position:static;max-width:13rem;margin:0 auto}.shelf-row{grid-template-columns:repeat(16,minmax(0,1fr));min-height:0;row-gap:8px}}@media(max-width:1100px){.page-grid{grid-template-columns:1fr;justify-items:center}.col-left,.col-right{align-items:center;padding-top:0}.col-right{width:min(100%,22rem)}.desk-grid{grid-template-columns:1fr}.tools{position:static;flex-direction:row;flex-wrap:wrap;align-items:center}.tool-list{flex-direction:row;flex-wrap:wrap}.swatches{width:14rem}.query{grid-template-columns:1fr}}@media(max-width:700px){body{font-size:17px}.brand span{display:none}.modes{grid-template-columns:1fr}.coords{grid-template-columns:repeat(2,auto)}}
