:root{color:#f8efda;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#062f28;font-family:Avenir Next,Hiragino Sans,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}#game{width:100vw;height:100dvh;overflow:hidden}canvas{display:block}.sr-only,#accessible-controls{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:fixed;overflow:hidden}#accessible-controls:focus-within{z-index:20;clip-path:none;white-space:normal;background:#093d34;border:1px solid #e5c279;border-radius:12px;width:auto;max-width:calc(100vw - 32px);height:auto;padding:12px;bottom:16px;left:16px}button{color:#173e35;font:inherit;cursor:pointer;background:#f8efda;border:1px solid #b89b5e;border-radius:6px;margin:4px;padding:12px 22px;transition:background .12s,box-shadow .12s,transform .12s;box-shadow:inset 0 0 0 3px #fff9e9,inset 0 0 0 4px #d6c69e,0 3px #9d885c,0 5px 10px #021d1726}button:hover{background:#fff7e4}button:active{transform:translateY(2px);box-shadow:inset 0 0 0 3px #fff9e9,inset 0 0 0 4px #d6c69e,0 1px #9d885c}button:focus-visible{outline-offset:3px;outline:3px solid #e5c279}.grimoire{--leather:#123d33;--leather-deep:#062019;--gilt:#e5c279;--gilt-ink:#a8843c;--vellum:#f1e5c6;--vellum-edge:#d6bd88;--ink:#2a2418;--ink-green:#173e35;--ink-muted:#6b5b3f;--mincho:"Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif;--latin:Georgia, "Times New Roman", serif;width:min(1120px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--ink);font-family:var(--mincho);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:0 0;border:0;padding:0;font-size:15.5px;line-height:1.85;overflow:auto}.grimoire::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:radial-gradient(#06271fcc,#020f0bf2)}.book{background:linear-gradient(135deg, var(--gilt), var(--gilt-ink) 34%, transparent 35%) top left / 64px 64px no-repeat, linear-gradient(225deg, var(--gilt), var(--gilt-ink) 34%, transparent 35%) top right / 64px 64px no-repeat, linear-gradient(45deg, var(--gilt), var(--gilt-ink) 34%, transparent 35%) bottom left / 64px 64px no-repeat, linear-gradient(315deg, var(--gilt), var(--gilt-ink) 34%, transparent 35%) bottom right / 64px 64px no-repeat, radial-gradient(ellipse at 25% 15%, #ffffff12, transparent 55%), radial-gradient(ellipse at 50% 50%, var(--leather), var(--leather-deep));box-shadow:inset 0 0 0 1px #000, inset 0 0 0 7px var(--leather), inset 0 0 0 8px #e5c27999, inset 0 0 0 11px var(--leather), inset 0 0 0 12px #e5c27955, 0 30px 90px #000000a6;perspective:2000px;border-radius:16px;grid-template-columns:1fr 1fr;padding:22px;display:grid;position:relative}.book[hidden]{display:none}.book:before,.book:after{content:"";background:var(--gilt);width:9px;height:9px;position:absolute;left:50%;transform:translate(-50%)rotate(45deg)}.book:before{top:7px}.book:after{bottom:7px}.page{background:radial-gradient(ellipse at 50% 40%, #f8efd6, transparent 70%), radial-gradient(circle at 12% 88%, #b8945426, transparent 22%), radial-gradient(circle at 86% 10%, #b894541a, transparent 18%), var(--vellum);padding:36px 44px 52px;position:relative}.page-left{box-shadow:-1px 1px 0 var(--vellum-edge), -3px 2px 0 var(--vellum), -4px 3px 0 var(--vellum-edge), -6px 4px 0 var(--vellum), -7px 5px 0 #c3a773;transform-origin:100%;background-image:linear-gradient(270deg,#5a401c52,#5a401c14 7%,#0000 16%),radial-gradient(at 50% 40%,#f8efd6,#0000 70%),radial-gradient(circle at 12% 88%,#b8945426,#0000 22%);border-radius:6px 2px 2px 6px}.page-right{box-shadow:1px 1px 0 var(--vellum-edge), 3px 2px 0 var(--vellum), 4px 3px 0 var(--vellum-edge), 6px 4px 0 var(--vellum), 7px 5px 0 #c3a773;transform-origin:0;background-image:linear-gradient(90deg,#5a401c52,#5a401c14 7%,#0000 16%),radial-gradient(at 50% 40%,#f8efd6,#0000 70%),radial-gradient(circle at 86% 10%,#b894541a,#0000 18%);border-radius:2px 6px 6px 2px}.page:after{content:attr(data-folio);color:var(--ink-muted);font:italic 13px var(--latin);position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.frontispiece{text-align:center;margin-bottom:18px}.rules-logo{background:var(--leather);border-radius:50%;width:104px;height:104px;margin:0 auto 6px;display:block}.grimoire h1{color:var(--ink-green);letter-spacing:.4em;text-indent:.4em;margin:0;font-size:28px;font-weight:600}.grimoire h2{color:var(--ink-green);letter-spacing:.08em;align-items:center;gap:10px;margin:22px 0 8px;font-size:18px;font-weight:600;display:flex}.grimoire h2:before{content:"";background:var(--gilt-ink);flex:none;width:6px;height:6px;transform:rotate(45deg)}.page>h2:first-child{margin-top:0}.grimoire p{margin:0 0 10px}.grimoire p,.grimoire li,.grimoire dd{text-wrap:pretty}.grimoire strong{color:var(--ink-green)}.steps{counter-reset:step;margin:0 0 12px;padding:0;list-style:none}.steps li{counter-increment:step;grid-template-columns:32px 1fr;display:grid}.steps li:before{content:counter(step, upper-roman);color:var(--gilt-ink);font:italic 16px / 1.85 var(--latin)}.spells{gap:8px;margin:0 0 12px;display:grid}.spells div{grid-template-columns:108px 1fr;align-items:start;display:grid}.spells dt{font:italic 16px / 1.85 var(--latin);align-items:center;gap:10px;display:flex}.spells dd{margin:0}.glyph{--glyph:var(--ink-green);border:1px solid var(--glyph);width:28px;height:28px;color:var(--glyph);font:normal 15px / 1 var(--latin);border-radius:50%;flex:none;place-items:center;display:grid}.glyph[data-card=ceil]{--glyph:var(--card-ceil)}.glyph[data-card=floor]{--glyph:var(--card-floor)}.glyph[data-card=round]{--glyph:var(--card-round)}.glyph[data-card=reverse]{--glyph:var(--card-reverse)}.glyph[data-card=double]{--glyph:var(--card-double);font-size:12px}.shortcuts{border-top:1px solid #a8843c66;margin-top:18px;padding-top:4px}.shortcuts dl{grid-template-columns:108px 1fr;row-gap:4px;margin:0;font-size:14.5px;display:grid}.shortcuts dd{margin:0}.grimoire kbd{min-width:24px;color:var(--ink);font:13px / 1.6 var(--latin);text-align:center;background:#ebdcb6;border:1px solid #a8905f;border-bottom-width:2px;border-radius:4px;padding:0 6px;display:inline-block}.grimoire form{text-align:right;margin-top:16px}.grimoire button{border:1px solid var(--leather-deep);background:linear-gradient(#1c4b3f, var(--leather));color:var(--gilt);box-shadow:inset 0 0 0 2px var(--leather), inset 0 0 0 3px #e5c27966, 0 2px 0 var(--leather-deep), 0 5px 12px #3b2a1033;font:600 15px var(--mincho);letter-spacing:.3em;text-indent:.3em;border-radius:4px;margin:0;padding:7px 26px}.grimoire button:hover{background:linear-gradient(#245a4b,#164537)}.grimoire button:active{box-shadow:inset 0 0 0 2px var(--leather), inset 0 0 0 3px #e5c27966, 0 0 0 var(--leather-deep);transform:translateY(2px)}.grimoire button:focus-visible{outline:2px solid var(--ink-green);outline-offset:3px}.book:lang(en),.book:lang(en) button{font-family:var(--latin)}.book:lang(en){font-size:.95em}.book:lang(en) h1{letter-spacing:.12em;text-indent:.12em}.grimoire[open] .page-left{animation:.52s cubic-bezier(.2,.75,.25,1) unfold-left}.grimoire[open] .page-right{animation:.52s cubic-bezier(.2,.75,.25,1) unfold-right}@keyframes unfold-left{0%{opacity:.4;transform:rotateY(70deg)}}@keyframes unfold-right{0%{opacity:.4;transform:rotateY(-70deg)}}.confirm{color:#f8efda;text-align:center;background:#0b3a31;border:1px solid #e5c27999;border-radius:12px;width:min(440px,100vw - 32px);padding:28px 28px 22px;box-shadow:inset 0 0 0 4px #0b3a31,inset 0 0 0 5px #e5c27933,0 24px 60px #000000a6}.confirm::backdrop{background:#020f0bb3}.confirm p{margin:0 0 8px;font-size:19px}.confirm #confirm-note{color:#a9c5b6;font-size:14px}.confirm-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px;display:flex}.confirm button[value=confirm]{color:#f8efda;box-shadow:none;background:0 0;border-color:#e5c27966}.confirm button[value=confirm]:hover{background:#ffffff14}.orientation-note{display:none}@media (orientation:landscape) and (height<=500px) and (pointer:coarse){.orientation-note{text-align:center;color:#a9c5b6;pointer-events:none;width:100%;margin:0;font-size:12px;line-height:14px;display:block;position:fixed;bottom:2px}}@media (hover:none) and (pointer:coarse){.shortcuts{display:none}}@media (prefers-reduced-motion:reduce){button{transition:none}.grimoire[open] .page{animation:none}}@media (width>=901px) and (height<=860px){.grimoire{font-size:14.5px;line-height:1.7}.page{padding:26px 38px 42px}.page:after{bottom:12px}.rules-logo{width:80px;height:80px}.frontispiece{margin-bottom:12px}.grimoire h1{font-size:24px}.grimoire h2{margin:16px 0 6px}.steps li:before,.spells dt{line-height:1.7}.shortcuts{margin-top:12px}.grimoire form{margin-top:10px}}@media (width<=900px){.book{grid-template-columns:1fr;gap:14px;padding:14px}.book:before,.book:after{display:none}.page,.page-left,.page-right{box-shadow:0 3px 0 var(--vellum-edge);background-image:radial-gradient(at 50% 40%,#f8efd6,#0000 70%);border-radius:4px;padding:28px 22px 48px}.grimoire[open] .page{animation:none}.spells div,.shortcuts dl{grid-template-columns:104px 1fr}}
