:root{--paper: #efe9d8;--paper-edge: #ded5bd;--ink: #23231f;--ink-soft: #5c5a50;--rule: #b9b09a;--spot: #2f6f68;--spot-pale: #d6e5e1;--cover: #2f6f68;--gb0: #e8e8d0;--gb1: #a0a08c;--gb2: #585850;--gb3: #202018}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#23231f;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;-webkit-text-size-adjust:100%}#boot{position:fixed;inset:0;background:#23231f;display:grid;place-items:center;z-index:10;transition:opacity .6s ease}#boot.fading{opacity:0}#boot-art{opacity:0;transition:opacity .7s ease}#boot-art.ready{opacity:1}#boot-art{max-width:min(92vw,62vh);max-height:84vh;image-rendering:auto;box-shadow:0 10px 40px #00000080}#viewer{min-height:100%;display:flex;flex-direction:column;align-items:center;gap:14px;padding:18px 12px 26px}#viewer[hidden]{display:none}#book{width:min(940px,96vw);height:min(640px,calc(100vh - 130px));height:min(640px,calc(100svh - 130px));min-height:240px;overflow:hidden}.page{background:var(--paper);padding:26px 26px 30px;overflow:hidden;border:2px solid var(--paper-edge);font-size:13px;line-height:1.65}.page:first-child{border-right-width:1px}.page:last-child{border-left-width:1px}@media(max-width:720px){#spread{grid-template-columns:1fr}.page.hide-narrow{display:none}.page{padding:18px 16px 20px;font-size:12px}}.page-inner{display:flex;flex-direction:column;gap:12px;height:100%}.cover .page-inner{align-items:center;justify-content:center;text-align:center;gap:16px}h1,h2,h3{margin:0;font-weight:700}h1{font-size:26px;letter-spacing:.06em;line-height:1.15}h2{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--spot);border-bottom:2px solid var(--rule);padding-bottom:6px}h3{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}p{margin:0}ul,ol{margin:0;padding-left:20px}li{margin-bottom:5px}strong{color:var(--spot)}.lead{font-size:14px}.small{font-size:11.5px;color:var(--ink-soft)}.sec{display:inline-grid;place-items:center;width:22px;height:22px;background:var(--spot);color:var(--paper);font-size:12px;margin-right:8px}.tip{border:2px solid var(--spot);background:var(--spot-pale);padding:10px 12px;font-size:12px}.tip b{color:var(--spot);letter-spacing:.1em}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:5px 6px;border-bottom:1px solid var(--rule);vertical-align:top}th{color:var(--spot);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px}.folio-mark{margin-top:auto;font-size:10.5px;color:var(--ink-soft);letter-spacing:.1em}.cover{background:var(--cover);color:var(--paper)}.cover h1{font-size:30px}.cover .rule{width:60%;height:3px;background:var(--paper)}.cover .tag{font-size:13px;letter-spacing:.04em}.cover .kind{font-size:11px;letter-spacing:.3em;text-transform:uppercase;opacity:.85}.cover canvas{image-rendering:pixelated}.page canvas{image-rendering:pixelated;display:block;position:static!important;width:auto!important;height:auto!important;max-width:100%}.cover canvas{max-height:30%}.roster{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mon{display:flex;gap:10px;align-items:flex-start}.mon figcaption{font-size:11px}.mon b{display:block;color:var(--spot);letter-spacing:.06em}.mapwrap{display:flex;flex-direction:column;gap:6px;align-items:center}.mapwrap canvas{border:2px solid var(--rule)}.controls-svg{display:block;margin:0 auto;width:auto;height:100%;max-height:30vh;max-width:100%}.controls-diagram{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:12px}.controls-diagram dt{color:var(--spot);font-weight:700}.controls-diagram dd{margin:0}#controls,#back{position:relative;z-index:2}#controls{display:flex;align-items:center;gap:18px;color:var(--paper)}#controls button{font-family:inherit;font-size:14px;padding:8px 18px;color:var(--paper);background:#4a4a52;border:0;box-shadow:0 3px #2c2c33;cursor:pointer}#controls button:active{transform:translateY(2px);box-shadow:0 1px #2c2c33}#controls button:disabled{opacity:.35;cursor:default;transform:none;box-shadow:0 3px #2c2c33}#folio{font-size:12px;letter-spacing:.12em;min-width:9ch;text-align:center}#back{color:#8d8a7e;font-size:11px;letter-spacing:.12em;text-decoration:none}#back:hover{color:var(--paper)}:focus-visible{outline:2px solid var(--spot);outline-offset:3px}@media(prefers-reduced-motion:reduce){#boot,.ghost{transition:none}}.stf__parent{margin:0 auto}.stf__block{background:transparent}.page{box-shadow:none}
