:root{color-scheme:dark;--bg:#05080f;--panel:#0b1220;--line:#1b2839;--ink:#e6edf6;--dim:#9db0c6;--faint:#62748c;--cyan:#42d2e9;--magenta:#ff52d9;--amber:#ffb547;--green:#3ddc84;--mono:"B612 Mono",ui-monospace,Menlo,Consolas,monospace}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0 auto;max-width:980px;padding:18px 18px 40px;color:var(--ink);background:var(--bg);font:15px/1.6 var(--mono)}
a{color:var(--cyan)}
header{display:flex;gap:.6em;align-items:baseline;padding-bottom:10px;border-bottom:1px solid var(--line);color:var(--faint)}
header a{color:var(--ink);text-decoration:none;font-weight:700}
h1{margin:22px 0 4px;font-size:26px;letter-spacing:.02em}
h1 span{display:inline-block;margin-left:.6em;padding:2px 8px;border:1px solid var(--magenta);border-radius:3px;color:var(--magenta);font-size:11px;letter-spacing:.14em;vertical-align:middle}
h2{margin:34px 0 10px;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan)}
h3{margin:0 0 4px;font-size:15px}
p{margin:.4em 0}
.lede{color:var(--dim)}
pre{margin:.5em 0;padding:10px 12px;background:var(--panel);border:1px solid var(--line);border-radius:3px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;font:13px/1.5 var(--mono)}
code{font-family:var(--mono);color:var(--amber)}
.note{color:var(--faint);font-size:13px}
.lock{margin:12px 0;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--cyan);border-radius:3px;background:rgba(66,210,233,.03)}
.lock.open{border-left-color:var(--magenta);background:rgba(255,82,217,.04)}
.lock pre{margin:.4em 0}
.st{color:var(--faint);font-size:13px}
.st b{color:var(--ink)}
.solve{margin:14px 0;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:3px}
.solve.door{border-left-color:var(--magenta)}
.meta{color:var(--faint);font-size:13px}
.flag{color:var(--amber);font-size:13px}
.ok{color:var(--green);font-size:13px}
.msg{background:transparent;border-color:transparent;padding:4px 0;font-size:14px}
ul{padding-left:1.2em}
li{margin:.25em 0}
footer{margin-top:40px;padding-top:12px;border-top:1px solid var(--line);color:var(--faint);font-size:12px}
