
:root{--ink:#20221f;--muted:#5c6156;--paper:#faf8f0;--grid:#dfe7ee;--panel:#f2efe4;--line:#20221f;
--key:#e8590c;--key-ink:#fff;--lcd:#c8d4bc;--lcd-ink:#243026;--link:#1d4ed8;
--mono:Consolas,Menlo,"Courier New",monospace;--serif:Georgia,"Times New Roman",serif}
*{box-sizing:border-box}
body{margin:0;font-family:var(--serif);color:var(--ink);line-height:1.6;background:var(--paper);
background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);
background-size:24px 24px}
.wrap{width:min(880px,calc(100% - 28px));margin:0 auto}
header{background:var(--paper);border-bottom:3px double var(--line);padding:10px 0}
.hrow{display:flex;align-items:center;justify-content:space-between}
.dice{font-family:var(--mono);font-size:.8rem;color:var(--ink);text-decoration:none;border:2px solid var(--line);background:#fff;padding:4px 10px;box-shadow:2px 2px 0 var(--line)}
.dice:active{transform:translate(2px,2px);box-shadow:none}
.brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-weight:700;font-size:1.2rem;letter-spacing:.04em;color:var(--ink);text-decoration:none;text-transform:uppercase}
.logo{display:block;flex:none}
.sysline{margin-top:6px;font-size:.7rem;opacity:.85}
.lcd-hero{background:var(--lcd);color:var(--lcd-ink);border:2px solid var(--line);box-shadow:inset 2px 2px 5px rgba(0,0,0,.25);font-family:var(--mono);font-weight:700;font-size:clamp(1.15rem,4vw,1.9rem);letter-spacing:.12em;padding:18px 22px;text-transform:uppercase;margin:.6em 0}
.manifesto{max-width:640px}
.term{background:#101410;color:#7de07d;font-family:var(--mono);font-size:.95rem;padding:22px;border:2px solid var(--line);box-shadow:4px 4px 0 var(--line);overflow-x:auto}
.term a{color:#7de07d;font-weight:700}
.geoline{display:inline-block;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;background:var(--lcd);color:var(--lcd-ink);border:1px solid var(--line);padding:3px 10px;margin:6px 0 0}
.ad-slot{display:none}
.ad-slot.ad-on{display:block;min-height:280px;margin:22px 0}
@media(max-width:600px){.ad-slot.ad-on{min-height:250px}}
.hook{background:#fff;border:2px solid var(--line);border-left:8px solid var(--key);box-shadow:3px 3px 0 var(--line);padding:12px 16px;margin:22px 0}
.hook b{font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;color:var(--key);display:block;margin-bottom:4px}
.brand::after{content:"\258C";color:var(--key);margin-left:2px;animation:blink 1.2s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.brand::after{animation:none}}
main{padding:18px 0 44px}
h1{font-family:var(--mono);font-size:1.55rem;line-height:1.2;margin:.5em 0;letter-spacing:-.01em}
h2{font-family:var(--mono);font-size:1.05rem;margin:1.6em 0 .4em;text-transform:uppercase;letter-spacing:.05em}
h2::before{content:"\25A0 ";color:var(--key);font-size:.7em;vertical-align:.15em}
a{color:var(--link)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--key);outline-offset:2px}
.crumbs{font-family:var(--mono);font-size:.78rem;color:var(--muted);margin:8px 0}
.crumbs a{color:var(--muted)}
.lang-suggest{font-family:var(--mono);font-size:.8rem;background:var(--panel);border:1px dashed var(--ink);padding:8px 12px}
.tool{background:var(--panel);border:2px solid var(--line);box-shadow:4px 4px 0 var(--line);padding:18px;margin:16px 0}
.tool label{display:block;font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:10px 0 3px}
.tool input,.tool select{width:100%;max-width:300px;padding:9px;border:2px solid var(--line);background:#fff;font-family:var(--mono);font-size:1rem;border-radius:0}
.tool button{margin-top:16px;padding:11px 26px;border:2px solid var(--line);border-radius:0;background:var(--key);color:var(--key-ink);font-family:var(--mono);font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;box-shadow:3px 3px 0 var(--line)}
.tool button:active{transform:translate(3px,3px);box-shadow:none}
.result{margin-top:16px;padding:14px 16px;background:var(--lcd);color:var(--lcd-ink);border:2px solid var(--line);box-shadow:inset 2px 2px 4px rgba(0,0,0,.25);font-family:var(--mono);font-size:1rem;display:none}
.result strong{font-size:1.35rem;letter-spacing:.02em}
table{border-collapse:collapse;width:100%;margin:12px 0;background:#fff;font-family:var(--mono);font-size:.85rem;border:2px solid var(--line)}
th,td{border:1px solid var(--ink);padding:7px 10px;text-align:right}
th:first-child,td:first-child{text-align:left}
th{background:var(--panel);text-transform:uppercase;font-size:.72rem;letter-spacing:.04em}
.formula{font-family:var(--mono);font-size:.9rem;background:#fff;border:2px solid var(--line);border-left:8px solid var(--key);padding:10px 14px;overflow-x:auto}
.related ul{columns:2;gap:24px;padding-left:20px}
.updated{font-family:var(--mono);color:var(--muted);font-size:.78rem;margin-top:30px}
footer{border-top:3px double var(--line);background:var(--paper);padding:18px 0;font-family:var(--mono);font-size:.78rem;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;padding:0;list-style:none}
.grid a{display:block;background:#fff;border:2px solid var(--line);box-shadow:3px 3px 0 var(--line);padding:14px;text-decoration:none;color:var(--ink)}
.grid a:hover{background:var(--panel)}
.grid a strong{display:block;margin-bottom:4px;font-family:var(--mono)}
.grid a span{color:var(--muted);font-size:.85rem}
@media(max-width:600px){.related ul{columns:1}body{background-size:20px 20px}}
