:root{
--bg:#111111;--surface:#222222;--line:#333333;--muted:#888888;--soft:#cccccc;--ink:#eeeeee;
--u:.313rem;--w:939px;--col:313px;--r:3px;--rr:11px;
--t1:313ms;--t2:1111ms;--sample:3131ms;
--f:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--m:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
color-scheme:dark}
@media (prefers-color-scheme:light){:root{--bg:#eeeeee;--surface:#ffffff;--line:#cccccc;--muted:#777777;--soft:#333333;--ink:#111111;color-scheme:light}}
*{box-sizing:border-box;margin:0}
html{background:var(--bg);color:var(--ink);font:400 1.0313rem/1.313 var(--f);-webkit-text-size-adjust:100%}
body{min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-underline-offset:.313em;text-decoration-color:var(--muted)}
a:hover{text-decoration-color:var(--ink)}
:focus-visible{outline:1px solid var(--ink);outline-offset:3px}
.wrap{width:100%;max-width:var(--w);margin:0 auto;padding:0 calc(var(--u)*5)}
header{border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:calc(var(--u)*3);height:53px}
.home{display:flex;align-items:center;gap:calc(var(--u)*2);text-decoration:none;font:600 .8313rem/1 var(--m);letter-spacing:.11em;text-transform:uppercase}
.home svg{height:17px;width:auto}
nav{display:flex;gap:calc(var(--u)*4);scrollbar-width:none;font:500 .8313rem/1 var(--m);letter-spacing:.033em;overflow-x:auto}
nav a{text-decoration:none;color:var(--muted);padding:calc(var(--u)*2) 0;border-bottom:1px solid transparent;transition:color var(--t1),border-color var(--t1);white-space:nowrap}
nav a:hover,nav a[aria-current]{color:var(--ink);border-color:var(--ink)}
main{flex:1;padding:calc(var(--u)*11) 0 calc(var(--u)*11)}
h1{font:600 1.313rem/1.11 var(--f);letter-spacing:-.011em}
h2{font:600 .8313rem/1.313 var(--m);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin:calc(var(--u)*11) 0 calc(var(--u)*3)}
p{color:var(--soft);max-width:66ch}
p+p{margin-top:calc(var(--u)*2)}
.mono{font-family:var(--m)}
.small{font-size:.8313rem;color:var(--muted)}
.hero svg{width:100%;max-width:var(--col);height:auto;display:block;margin-bottom:calc(var(--u)*7)}
.lede{font-size:1.1313rem;color:var(--ink);margin-top:calc(var(--u)*3)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(191px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.tile{background:var(--bg);padding:calc(var(--u)*5);text-decoration:none;display:block;transition:background var(--t1)}
a.tile:hover{background:var(--surface)}
.tile b{display:block;font:600 .8313rem/1 var(--m);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin-bottom:calc(var(--u)*3)}
.tile .n{font:500 1.313rem/1 var(--m);letter-spacing:.033em}
.tile p{font-size:.9131rem;margin-top:calc(var(--u)*2)}
.sign{display:flex;gap:calc(var(--u)*3);align-items:baseline;border-top:1px solid var(--line);padding:calc(var(--u)*3) 0}
.sign:last-child{border-bottom:1px solid var(--line)}
.sign .a{font:600 .8313rem/1 var(--m);color:var(--muted);min-width:77px;letter-spacing:.11em}
.sign .x{flex:1}
.sign .q{font:500 .8313rem/1 var(--m);color:var(--muted)}
.station{border:1px solid var(--line);border-radius:var(--rr);padding:calc(var(--u)*11) calc(var(--u)*5);text-align:center}
.sample{font:500 clamp(2.313rem,11vw,5.13rem)/1 var(--m);letter-spacing:.033em;transition:opacity var(--t1)}
.sample.out{opacity:0}
.tick{height:1px;background:var(--line);margin:calc(var(--u)*7) auto 0;max-width:var(--col);overflow:hidden}
.tick i{display:block;height:1px;background:var(--ink);width:0}
@media (prefers-reduced-motion:no-preference){.tick i{animation:fill var(--sample) linear infinite}}
@keyframes fill{to{width:100%}}
button{font:500 .8313rem/1 var(--m);letter-spacing:.033em;color:var(--ink);background:none;border:1px solid var(--line);border-radius:var(--r);padding:calc(var(--u)*3) calc(var(--u)*5);cursor:pointer;transition:border-color var(--t1)}
button:hover{border-color:var(--ink)}
.row{display:flex;gap:calc(var(--u)*3);flex-wrap:wrap;margin-top:calc(var(--u)*5);justify-content:center}
.card{width:100%;max-width:var(--col);height:auto;display:block;border-radius:var(--rr);box-shadow:0 1px 0 var(--line)}
.sw{display:grid;grid-template-columns:repeat(auto-fill,minmax(111px,1fr));gap:calc(var(--u)*3)}
.sw div{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;font:500 .7313rem/1.313 var(--m)}
.sw span{display:block;height:53px}
.sw em{display:block;font-style:normal;padding:calc(var(--u)*2)}
.dl{display:grid;grid-template-columns:repeat(auto-fill,minmax(191px,1fr));gap:calc(var(--u)*3)}
.dl a{border:1px solid var(--line);border-radius:var(--r);text-decoration:none;display:block}
.dl img{display:block;width:100%;height:111px;object-fit:contain;padding:calc(var(--u)*5);background:#111111}
.dl em{display:block;font:500 .7313rem/1 var(--m);font-style:normal;padding:calc(var(--u)*3)}
@media (max-width:430px){.home span{display:none}nav{gap:calc(var(--u)*3)}}
footer{border-top:1px solid var(--line);padding:calc(var(--u)*5) 0}
footer .wrap{display:flex;justify-content:space-between;gap:calc(var(--u)*3);flex-wrap:wrap;font:400 .7313rem/1.313 var(--m);color:var(--muted)}
