/* NEAR OHM — Swiss-poster system: paper white, ink black, NEAR green. Hairline grid, giant numerals. */
@import url('https://fonts.googleapis.com/css2?family=Unbounded:wght@400;500;700;900&family=Inter:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:root{--paper:#ffffff;--paper2:#f4f5f3;--ink:#000000;--ink2:#1f1f1f;--sub:#4b4f4b;--mut:#8a908a;--line:#000000;--line2:#d9ddd9;--green:#00ec97;--green2:#00c87f;--teal:#17d9d4;--violet:#9797ff;--red:#ff7966;--amber:#ffd257}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:'Inter',system-ui,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(var(--line2) 1px,transparent 1px),linear-gradient(90deg,var(--line2) 1px,transparent 1px);background-size:80px 80px;opacity:.55;mask-image:linear-gradient(#000 60%,transparent)}
a{color:inherit;text-decoration:none}
.u{font-family:'Unbounded',sans-serif}.mono{font-family:'IBM Plex Mono',monospace}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.lab{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--sub)}
.gr{background:var(--green);color:var(--ink);padding:0 .12em}
header{position:sticky;top:0;z-index:50;background:var(--ink);color:#fff}
.hrow{display:flex;align-items:center;gap:22px;height:64px}
.logo{display:flex;align-items:center;gap:12px;font-family:'Unbounded';font-weight:700;font-size:16px;letter-spacing:.02em;color:#fff;white-space:nowrap}
.logo .mk{width:30px;height:30px;display:grid;place-items:center;background:var(--green);color:#000;font-family:'Unbounded';font-weight:900;font-size:15px;line-height:1}
nav.tabs{display:flex;gap:4px;margin-left:8px}nav.tabs a,nav.tabs button{background:none;border:none;color:#9a9a9a;font:500 13.5px 'Inter';padding:8px 12px;cursor:pointer;letter-spacing:.01em}nav.tabs a.on,nav.tabs button.on{color:#fff;box-shadow:inset 0 -2px 0 var(--green)}
.hr{margin-left:auto;display:flex;align-items:center;gap:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);font:600 13.5px 'Inter';padding:11px 18px;cursor:pointer;letter-spacing:.01em;transition:transform .12s,background .12s}
.btn:hover{transform:translate(-2px,-2px);box-shadow:3px 3px 0 var(--ink)}.btn:active{transform:none;box-shadow:none}
.btn.ink{background:var(--ink);color:#fff}.btn.green{background:var(--green);border-color:var(--green);color:#000}.btn.green:hover{box-shadow:3px 3px 0 var(--ink)}
.btn.sm{padding:7px 12px;font-size:12.5px}.btn.wide{width:100%}
.btn.onink{border-color:#fff;background:transparent;color:#fff}.btn.onink:hover{box-shadow:3px 3px 0 var(--green)}
.card{background:var(--paper);border:1.5px solid var(--ink);padding:22px}
.card h3{font-family:'Unbounded';font-weight:500;font-size:13px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:12px}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid var(--line2);font-size:13.5px;color:var(--sub)}.row b{color:var(--ink);font-weight:600;font-family:'IBM Plex Mono';font-size:13px}
.field{display:flex;align-items:center;border:1.5px solid var(--ink);background:var(--paper);height:48px;padding:0 0 0 14px;margin:8px 0}
.field input{flex:1;border:none;background:none;outline:none;font:500 16px 'IBM Plex Mono';color:var(--ink);min-width:0}.field input::placeholder{color:var(--mut)}
.field .unit{font-family:'IBM Plex Mono';font-size:12px;letter-spacing:.14em;color:var(--sub);padding:0 12px}.field .mx{font:600 11px 'Inter';letter-spacing:.1em;padding:0 14px;height:100%;display:grid;place-items:center;border-left:1.5px solid var(--ink);cursor:pointer;background:var(--paper2)}
.big{font-family:'Unbounded';font-weight:700;letter-spacing:-.02em;line-height:1}
.up{color:var(--green2)}.dn{color:var(--red)}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:var(--ink);color:#fff;font:500 13.5px 'Inter';padding:12px 18px;border:1.5px solid var(--ink);opacity:0;pointer-events:none;transition:.2s;z-index:100;max-width:90vw}.toast.on{opacity:1;transform:translate(-50%,0)}.toast.err{background:var(--red);color:#000;border-color:var(--red)}
.marq{overflow:hidden;white-space:nowrap;background:var(--green);color:#000;font-family:'IBM Plex Mono';font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:8px 0;border-bottom:1.5px solid var(--ink)}.marq span{display:inline-block;padding-right:64px;animation:mq 34s linear infinite}@keyframes mq{to{transform:translateX(-50%)}}
footer{border-top:1.5px solid var(--ink);margin-top:80px;padding:26px 0;font-family:'IBM Plex Mono';font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--sub);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.modal{position:fixed;inset:0;background:#0009;display:none;place-items:center;z-index:90;padding:20px}.modal.on{display:grid}.mcard{background:var(--paper);border:1.5px solid var(--ink);padding:26px;width:min(460px,100%);box-shadow:8px 8px 0 var(--green)}.mcard h3{font-family:'Unbounded';font-size:16px;margin-bottom:8px}.mcard p{font-size:13.5px;color:var(--sub);margin-bottom:8px}
@media(max-width:820px){nav.tabs{display:none}.wrap{padding:0 16px}}
