:root{--bg:#1a1a19;--panel:#212120;--line:#3a3a37;--line-dim:#2b2b29;--text:#c9c7bf;--bright:#e3e1d8;--muted:#7c7a73;--sage:#a5b591;--sage-dim:#7c8b6c;--amber:#c9a05a;--rust:#c9705a;--mono:ui-monospace, "SF Mono", "JetBrains Mono", "IBM Plex Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--mono);margin:0;padding:0 0 44px;font-size:14px;line-height:1.65}a{color:var(--sage);text-decoration:none}a:hover{color:var(--bright);background:var(--line-dim)}a:focus-visible,button:focus-visible{outline:2px solid var(--sage);outline-offset:2px}.skip{background:var(--panel);color:var(--bright);border:1px solid var(--sage);z-index:20;padding:8px 14px;position:absolute;top:0;left:-9999px}.skip:focus{top:8px;left:8px}.wrap{border-left:1px solid var(--line-dim);border-right:1px solid var(--line-dim);max-width:900px;min-height:100vh;margin:0 auto;padding:26px 18px 60px}.nav{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:20px;display:flex}.nav a{border:1px solid var(--line);color:var(--muted);padding:2px 14px}.nav a:hover{color:var(--sage);border-color:var(--sage-dim);background:#a5b5910f}.nav a[aria-current=page]{background:var(--sage);border-color:var(--sage);color:#1b1b16}.nav .hint{color:var(--muted);margin-left:auto;font-size:12px}.panel{border:1px solid var(--line);margin-bottom:16px}.panel>h2,.panel>h1{border-bottom:1px solid var(--line);letter-spacing:.04em;color:var(--sage);background:#a5b5910d;margin:0;padding:5px 12px;font-size:12px;font-weight:400}.panel>h2:before,.panel>h1:before{content:"─ ";color:var(--sage-dim);opacity:.7}.body{padding:14px}.body>:first-child{margin-top:0}.body>:last-child{margin-bottom:0}.cols{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;display:grid}.cols-even{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.cols>.panel,.cols-even>.panel{margin-bottom:0}.name{color:var(--bright);margin:0;font-size:22px;font-weight:400;line-height:1.3}.tag{color:var(--sage);margin:2px 0 12px;font-size:13px}p{margin:0 0 12px}.dim{color:var(--muted)}.cursor{background:var(--sage);vertical-align:-2px;width:8px;height:15px;margin-left:4px;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.kv{justify-content:space-between;gap:12px;padding:2px 0;font-size:13px;display:flex}.kv span:first-child{color:var(--muted)}.kv span:last-child{color:var(--text);text-align:right}.cert{justify-content:space-between;gap:12px;padding:2px 0;font-size:13px;display:flex}.rows{font-size:13px}.rows a,.rows .row{border-left:2px solid #0000;border-bottom:1px dotted var(--line-dim);color:var(--text);align-items:baseline;gap:12px;padding:5px 0 5px 10px;display:flex}.rows a:last-child,.rows .row:last-child{border-bottom:0}.rows a:hover{background:var(--line-dim);color:var(--bright);border-left-color:var(--sage)}.date{color:var(--muted);flex:0 0 78px;font-size:12px}.title{flex:auto;min-width:0}.flag{flex:none;font-size:12px}.flag.easy{color:var(--sage)}.flag.medium{color:var(--amber)}.flag.hard{color:var(--rust)}ul.plain{margin:0 0 12px;padding:0;list-style:none}ul.plain li{padding:2px 0}ul.plain li:before{content:" · ";color:var(--sage)}.meter{letter-spacing:1px;color:var(--sage);font-size:13px}.meter .off{color:var(--line)}.article{max-width:68ch}.article h2{color:var(--sage);margin:22px 0 8px;font-size:15px;font-weight:400}.article h2:before{content:"## ";color:var(--muted)}.article pre{background:var(--panel);border:1px solid var(--line);margin:0 0 14px;padding:12px;font-size:13px;overflow-x:auto}.article code{color:var(--bright)}.article blockquote{border-left:2px solid var(--sage-dim);color:var(--muted);margin:0 0 14px;padding:2px 0 2px 14px}.statusbar{background:var(--panel);border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:14px;padding:5px 16px;font-size:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.statusbar b{color:var(--sage);font-weight:400}.statusbar .mid{color:var(--muted)}.statusbar button{font:inherit;color:var(--sage);cursor:pointer;background:0 0;border:0;padding:0}.help[hidden]{display:none}.help{z-index:30;background:#0c0c0cbd;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.help .box{background:var(--bg);border:1px solid var(--sage-dim);width:100%;max-width:360px}.help .box h2{border-bottom:1px solid var(--line);color:var(--sage);margin:0;padding:5px 12px;font-size:12px;font-weight:400}@media (width<=720px){.cols{grid-template-columns:minmax(0,1fr)}.nav .hint,.statusbar .mid{display:none}.date{flex-basis:100%}.rows a,.rows .row{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.cursor{animation:none}*{transition:none!important}}.stack{flex-direction:column;gap:16px;display:flex}.cols>.stack>.panel{margin-bottom:0}.cert-name{color:var(--bright)}.label{margin:0 0 2px}.label+.cert+.label{margin-top:16px}.statusbar{max-width:900px;margin:0 auto;left:0;right:0}
