:root{--ink:#0c0b09;--char:#16130f;--line:#2e271e;--amber:#f2a33a;--copper:#c4703a;--sand:#e8d6b0;--dim:#8a7a62}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% -20%,#2a1a0c 0,var(--ink) 60%);color:var(--sand);font:15px/1.5 "JetBrains Mono",monospace;min-height:100vh}
.small{font-size:12px;color:var(--dim)}
h1,h2,h3{font-family:"Big Shoulders Stencil Display",sans-serif;letter-spacing:.06em;margin:0}
.scan{pointer-events:none;position:fixed;inset:0;background:repeating-linear-gradient(0deg,rgba(255,200,120,.025) 0 1px,transparent 1px 3px);z-index:9}
.scan:after{content:"";position:absolute;left:0;right:0;height:120px;background:linear-gradient(transparent,rgba(242,163,58,.05),transparent);animation:sweep 9s linear infinite}
@keyframes sweep{from{top:-120px}to{top:100%}}
.top{display:flex;align-items:center;gap:24px;padding:18px 28px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.brand{display:flex;align-items:baseline;gap:12px}.brand h1{font-size:42px;color:var(--amber);text-shadow:0 0 18px rgba(242,163,58,.35)}
.tag{color:var(--dim);font-size:12px;text-transform:uppercase}
.led{width:10px;height:10px;border-radius:50%;background:#ff5a1f;box-shadow:0 0 10px #ff5a1f;animation:blink 2.4s infinite;align-self:center}
.dial{flex:1;min-width:200px;height:34px;position:relative;border:1px solid var(--line);background:#100d0a}
.ticks{position:absolute;inset:0;background:repeating-linear-gradient(90deg,var(--dim) 0 1px,transparent 1px 12px),repeating-linear-gradient(90deg,var(--copper) 0 2px,transparent 2px 60px);background-size:auto 40%,auto 70%;background-repeat:repeat-x;background-position:bottom,bottom;opacity:.6}
.needle{position:absolute;top:-4px;bottom:-4px;width:2px;background:#ff5a1f;box-shadow:0 0 8px #ff5a1f;left:62%;animation:needle 7s ease-in-out infinite}
@keyframes needle{0%,100%{left:61%}40%{left:63.5%}55%{left:62.2%}70%{left:62.8%}}
.clock{color:var(--amber);font-size:22px}.clock small{font-size:11px;color:var(--dim)}
.ridge{display:block;width:100%;height:60px}.ridge path{fill:#1b150f;stroke:var(--copper);stroke-width:1;vector-effect:non-scaling-stroke}
.grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;padding:18px 28px}
@media(max-width:900px){.grid{grid-template-columns:1fr}.meter{grid-template-columns:repeat(2,1fr)!important}}
.panel{background:linear-gradient(180deg,var(--char),#110e0b);border:1px solid var(--line);padding:18px;position:relative}
.panel:before{content:"";position:absolute;top:-1px;left:-1px;width:14px;height:14px;border-top:2px solid var(--amber);border-left:2px solid var(--amber)}
.panel h2{font-size:22px;margin-bottom:14px}.panel h2 b{color:var(--copper);margin-right:8px}
.interests{grid-column:1/-1}
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.tile{display:block;border:1px solid var(--line);padding:14px;color:inherit;text-decoration:none;position:relative;transition:.2s;background:#0f0c09}
.tile:hover{border-color:var(--amber);box-shadow:0 0 18px rgba(242,163,58,.18) inset}
.tile h3{font-size:22px;color:var(--amber)}.tile p{margin:6px 0;font-size:13px;color:#cbb994}.tile em{font-style:normal;font-size:12px;color:var(--copper)}
.tile.dim{opacity:.65}
.sig{position:absolute;right:12px;top:14px;width:22px;height:14px;background:repeating-linear-gradient(90deg,var(--amber) 0 3px,transparent 3px 6px);clip-path:polygon(0 100%,0 75%,100% 0,100% 100%)}
.s2{opacity:.4}.s3{opacity:.6}.s4{opacity:.8}
.meter{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:10px}
.meter div{border:1px solid var(--line);padding:8px;background:#0f0c09}.meter small{display:block;color:var(--dim);font-size:10px}.meter strong{color:var(--amber);font-size:18px}
.desc{color:#cbb994;font-size:13px}
.feed{max-height:330px;overflow:auto;border-top:1px dashed var(--line);border-bottom:1px dashed var(--line);margin:10px 0}
.item{padding:9px 2px;border-bottom:1px solid #1e1913;font-size:13px}.item .k{color:var(--copper);font-size:11px}.item a{color:var(--sand)}
.static{padding:20px;color:var(--dim)}.blink{animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:.2}}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn{display:inline-block;border:1px solid var(--amber);color:var(--ink);background:var(--amber);padding:9px 14px;text-decoration:none;font-weight:600;font-size:13px;letter-spacing:.05em;transition:.2s}
.btn:hover{box-shadow:0 0 16px rgba(242,163,58,.5)}.btn.ghost{background:transparent;color:var(--amber)}.btn.big{font-size:16px;margin:6px 8px 6px 0}
.links a{color:var(--amber)}.links a.btn{color:var(--ink)}.links a.btn.ghost{color:var(--amber)}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.chip{border:1px solid var(--line);background:#0f0c09;color:var(--sand);font:12px "JetBrains Mono",monospace;padding:6px 10px;cursor:pointer;text-transform:uppercase}
.chip.on{border-color:var(--amber);color:var(--amber);box-shadow:0 0 10px rgba(242,163,58,.25)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.card{border:1px solid var(--line);padding:14px;cursor:pointer;background:#0f0c09;transition:.2s}
.card:hover{border-color:var(--copper)}.card h3{font-size:20px;color:var(--amber)}.card .f{font-size:11px;color:var(--dim)}
.card .more{max-height:0;overflow:hidden;transition:max-height .3s;font-size:13px;color:#cbb994}.card.open .more{max-height:200px;margin-top:8px}
footer{padding:20px 28px;color:var(--dim);font-size:12px;border-top:1px solid var(--line)}

.tuner{flex:1;min-width:200px;display:flex;flex-direction:column;gap:3px}
.tuner .dial{flex:none;width:100%;cursor:grab;touch-action:none;user-select:none;outline:none}
.tuner .dial:focus-visible{box-shadow:0 0 0 1px #ff5a1f}
.tuner .dial.drag{cursor:grabbing}
.dial:not(.idle) .needle{animation:none;transition:left .06s linear}
.dial.drag .needle{transition:none}
.freq{font-size:11px;color:var(--amber);letter-spacing:.08em;text-align:center}
.bands{grid-column:1/-1}
.bandimg{display:block;text-align:center;padding:10px;background:#000;border:1px solid rgba(255,170,60,.25)}
.bandimg img{max-width:100%;height:auto;display:inline-block;filter:sepia(.15)}
.bands .cap{font-family:monospace;font-size:11px;opacity:.7;letter-spacing:.08em;margin-top:8px;text-align:center}
.bands .cap a{color:inherit}
/* v3 polish */
.tuner,.dial{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.top{position:relative;z-index:10}
.tuner .dial{height:48px}
.needle{width:4px;margin-left:-2px;top:-5px;bottom:-5px;border-radius:2px;pointer-events:none}
.ticks{pointer-events:none}
.freq{font-size:13px}
@media(max-width:700px){
 .top{display:grid;grid-template-columns:1fr auto;gap:10px 12px;padding:12px 14px}
 .brand{flex-wrap:wrap;gap:4px 10px;min-width:0}.brand h1{font-size:clamp(26px,9vw,38px);letter-spacing:.01em}
 .tag{flex-basis:100%;font-size:10px}
 .clock{grid-column:2;grid-row:1;align-self:start;text-align:right;font-size:12px}
 .tuner{grid-column:1/-1;width:100%;min-width:0}
 .tuner .dial{height:52px}
 main,.grid{padding-left:12px!important;padding-right:12px!important;gap:12px!important}
 .panel{padding:14px!important}
 img{max-width:100%;height:auto}
}
.ailab{grid-column:1/-1}
.dgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.dg{margin:0;display:flex;flex-direction:column;gap:8px;background:rgba(0,0,0,.35);border:1px solid rgba(232,160,64,.35);padding:10px}
.dg h3{margin:0;color:var(--amber);font-size:15px;letter-spacing:.04em}
.dg p{margin:2px 0 0;font-size:13px;opacity:.8}
.dg a{display:block;border:1px solid rgba(232,160,64,.55);background:#0b0806;line-height:0;transition:border-color .2s,box-shadow .2s}
.dg a:hover{border-color:var(--amber);box-shadow:0 0 14px rgba(232,160,64,.35)}
.dg img{width:100%;max-width:100%;height:auto;display:block}
.dg em{font-size:10px;opacity:.55;letter-spacing:.1em;font-style:normal}
.res{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-top:14px;padding-top:10px;border-top:1px dashed rgba(232,160,64,.35);font-size:11px;letter-spacing:.08em}
.res span{opacity:.6}.res a{color:var(--amber);text-decoration:none}.res a:hover{text-decoration:underline}

.prop,.prop:link,.prop:visited,.prop:hover,.prop:active{color:var(--dim);text-decoration:none}
.prop{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap;white-space:nowrap;font-size:11px;letter-spacing:.04em;border:1px solid var(--line);border-radius:3px;padding:6px 10px;background:linear-gradient(#14100c,#0d0b08);box-shadow:inset 0 0 12px rgba(0,0,0,.6);max-width:100%;box-sizing:border-box}
.prop *{text-decoration:none;color:inherit}
.prop:hover{border-color:var(--copper)}
.plbl{color:var(--copper)!important;letter-spacing:.14em;padding-right:8px;border-right:1px solid var(--line)}
.bc{display:inline-flex;align-items:center;gap:5px;color:var(--sand)!important}
.bc i{display:block;width:7px;height:7px;border-radius:50%;background:#3a3026;box-shadow:inset 0 0 2px #000;flex:none}
.bc.good i{background:#5dff8a;box-shadow:0 0 6px #3bff74,0 0 2px #fff inset;animation:ledp 1.8s ease-in-out infinite}
.bc.fair i{background:var(--amber);box-shadow:0 0 6px rgba(242,163,58,.8)}
.bc.poor{color:var(--dim)!important}.bc.poor i{background:#4a2a1c;box-shadow:none}
@keyframes ledp{0%,100%{opacity:1;box-shadow:0 0 8px #3bff74}50%{opacity:.45;box-shadow:0 0 2px #3bff74}}
.geo{color:var(--amber)!important;padding-left:8px;border-left:1px solid var(--line)}.geo.unsettled{color:#ffcf5a!important}.geo.storm{color:#ff5a1f!important}
@media(max-width:440px){.prop{gap:6px;font-size:10px;padding:5px 7px;letter-spacing:0}.plbl{padding-right:6px;letter-spacing:.08em}.geo{padding-left:6px}.bc{gap:4px}}
.chip{position:relative;padding:2px 6px 2px 16px;border:1px solid var(--line);color:var(--dim)}
.chip:before{content:"";position:absolute;left:5px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#3a3025}
.chip.fair{color:var(--sand)}.chip.fair:before{background:var(--amber);box-shadow:0 0 6px var(--amber)}
.chip.good{color:#9be37a;border-color:#3d5a2c}.chip.good:before{background:#7be05a;box-shadow:0 0 8px #7be05a;animation:bpulse 1.6s ease-in-out infinite}
@keyframes bpulse{50%{opacity:.35;box-shadow:0 0 2px #7be05a}}
@media (prefers-reduced-motion:reduce){.chip.good:before{animation:none}}

.roster{margin:14px auto 0;max-width:1180px;padding:0 16px;box-sizing:border-box}
.rhd{display:flex;justify-content:space-between;gap:8px;font-size:10px;letter-spacing:.14em;color:var(--copper);border-bottom:1px solid var(--line);padding-bottom:5px;margin-bottom:8px;white-space:nowrap}
.rhd .rx{color:var(--dim);letter-spacing:.06em;overflow:hidden;text-overflow:ellipsis}
.rrow{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.rrow::-webkit-scrollbar{display:none}
.cm{all:unset;cursor:pointer;flex:1 0 74px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border:1px solid transparent;border-radius:3px}
.cm:hover,.cm:focus-visible{border-color:var(--line);background:#100d0a}
.av{position:relative;display:block}
.av img{display:block;width:48px;height:48px;border-radius:50%;object-fit:cover;border:1.5px solid var(--amber);box-shadow:0 0 0 2px var(--ink),0 0 10px rgba(242,163,58,.3)}
.av i{position:absolute;right:1px;bottom:2px;width:8px;height:8px;border-radius:50%;background:#5dff8a;border:2px solid var(--ink);animation:ledp 2.4s ease-in-out infinite}
.cm b{font-size:11px;color:var(--sand);letter-spacing:.08em;font-weight:normal;margin-top:3px}
.cm small{font-size:9px;color:var(--copper);letter-spacing:.1em}
.sheet{position:fixed;inset:0;z-index:50;background:rgba(5,4,3,.6);display:flex;align-items:flex-end;justify-content:center}
.sheet[hidden]{display:none}
.sbox{position:relative;display:flex;gap:14px;align-items:flex-start;width:100%;max-width:460px;margin:0 0 0;background:#14100c;border:1px solid var(--amber);border-bottom:none;padding:16px 16px 22px;box-shadow:0 -6px 30px rgba(242,163,58,.15);animation:sup .18s ease-out}
@media(min-width:700px){.sheet{align-items:center}.sbox{border-bottom:1px solid var(--amber)}}
@keyframes sup{from{transform:translateY(30px);opacity:0}}
.sbox img{width:64px;height:64px;border-radius:50%;border:1.5px solid var(--amber);flex:none;object-fit:cover}
.sbox small{display:block;font-size:10px;color:var(--copper);letter-spacing:.14em}
.sbox b{display:block;color:var(--amber);font-size:18px;letter-spacing:.08em;margin:2px 0}
.sbox em{display:block;font-style:normal;font-size:12px;color:var(--dim);margin-bottom:6px}
.sbox p{margin:0;font-size:13px;line-height:1.5;color:var(--sand)}
.sx{all:unset;cursor:pointer;position:absolute;top:8px;right:12px;color:var(--dim);font-size:16px}.sx:hover{color:var(--amber)}
@media(max-width:440px){.roster{padding:0 12px}.rrow{gap:2px}.cm{flex:1 0 54px;padding:5px 1px}.av img{width:44px;height:44px}.cm b{font-size:10px;letter-spacing:.04em}.rhd .rx{display:none}}
