*{box-sizing:border-box;margin:0;padding:0}
:root{--hm-up:#14b836;--hm-down:#d1393f;--hm-flat:#2b2d31;--bg:#020508;--glow1:#06303a;--glow2:#0c1820;--scene-op:.32;--scene-filter:none;--metal:linear-gradient(180deg,#f4f7fa 0%,#a8b3bd 45%,#6b7681 55%,#cfd7de 100%);
 --hazard-k:#111;--chip:rgba(0,0,0,.5);--on-accent:#021;--well:rgba(4,7,9,.85);--well-shadow:inset 0 2px 8px rgba(0,0,0,.8);--scheme:dark;--brush:rgba(255,255,255,.022);
 --panel-a:rgba(40,47,54,.82);--panel-b:rgba(16,20,24,.88);--panel-hi:rgba(255,255,255,.1);--shadow:rgba(0,0,0,.55);--rule:#2a3138;--sunk:rgba(0,0,0,.25);--body:#c5ced6;--glowfx:1;
 --steel:#9aa6b2;--dim:#5b6570;--hi:#d9e1e8;--amber:#ffb000;--teal:#5ff0cc;--grn:#6fffc8;--red:#ff4d5e;--line:#3a454c;
 --mono:'DejaVu Sans Mono',Menlo,Consolas,'Liberation Mono',monospace}
html{background:var(--bg)}
body{font-family:var(--mono);color:var(--hi);min-height:100vh;position:relative;font-size:14px;
 background:radial-gradient(1300px 600px at 50% 100%,var(--glow1) 0%,transparent 70%),radial-gradient(1000px 500px at 50% 0%,var(--glow2) 0%,transparent 70%),var(--bg)}
.scene{position:fixed;left:0;right:0;bottom:0;height:min(62vh,760px);background:url(/assets/scene.svg) center bottom/cover no-repeat;opacity:var(--scene-op);filter:var(--scene-filter);pointer-events:none;z-index:0}
header.top,main,footer,.hazard{position:relative;z-index:1}
a{color:var(--teal)}
header.top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:28px 40px 14px;flex-wrap:wrap}
.brand{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.logo{text-decoration:none;font-size:30px;font-weight:700;letter-spacing:10px;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.tag{font-size:12px;color:var(--dim);letter-spacing:3px}
nav{display:flex;gap:6px;flex-wrap:wrap}
nav a{font-size:12px;letter-spacing:3px;color:var(--steel);text-decoration:none;padding:7px 12px;border:1px solid transparent}
nav a:hover{border-color:var(--line);color:var(--hi)}
nav a.on{border-color:var(--teal);color:var(--teal);box-shadow:0 0 12px rgba(95,240,204,.15) inset}
nav a.out{color:var(--dim)}
.hazard{height:7px;margin:0 40px;background:repeating-linear-gradient(135deg,var(--amber) 0 12px,var(--hazard-k) 12px 24px);opacity:.7}
main{padding:22px 40px 40px}
footer{text-align:center;color:var(--dim);font-size:11px;letter-spacing:5px;padding:20px 0 30px}

.bar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.bar h1{font-size:13px;letter-spacing:5px;color:var(--steel);font-weight:400}
.bar h1 b{color:var(--hi);font-weight:400}
.ranges{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.ranges a,.ranges button,.btn{font:inherit;font-size:11px;letter-spacing:2px;color:var(--steel);background:var(--chip);border:1px solid var(--line);padding:6px 10px;text-decoration:none;cursor:pointer}
.ranges a.on{color:var(--on-accent);background:var(--teal);border-color:var(--teal)}
.ranges .custom{display:flex;gap:4px;margin-left:6px}
input,select,textarea{font:inherit;font-size:12px;color:var(--hi);background:var(--well);border:1px solid var(--line);padding:6px 8px;color-scheme:var(--scheme)}
.btn:hover,.ranges a:hover,.ranges button:hover{color:var(--hi);border-color:var(--steel)}
.btn.primary{color:var(--on-accent);background:var(--teal);border-color:var(--teal)}
.btn.danger{color:var(--red);border-color:var(--red)}

.grid{display:grid;gap:18px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g2{grid-template-columns:2fr 1fr}
.g11{grid-template-columns:repeat(2,minmax(0,1fr))}
.span2{grid-column:span 2}
@media (max-width:1300px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.g4,.g3,.g2,.g11{grid-template-columns:1fr}.span2{grid-column:auto}main{padding:16px}header.top{padding:18px 16px 10px}.hazard{margin:0 16px}}

.panel{position:relative;padding:18px 22px 20px;min-width:0;
 background:repeating-linear-gradient(90deg,var(--brush) 0 1px,transparent 1px 4px),linear-gradient(170deg,var(--panel-a),var(--panel-b));
 border:1px solid var(--line);box-shadow:inset 0 1px 0 var(--panel-hi),0 14px 34px var(--shadow);
 clip-path:polygon(16px 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%,0 16px)}
.bolt{position:absolute;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#e3e8ed,#6a737c 55%,#2a2f35)}
.b1{top:9px;right:9px}.b2{bottom:9px;left:9px}
.hd{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;letter-spacing:3px;color:var(--steel);padding:0 0 9px 16px;border-bottom:1px solid var(--line);margin-bottom:14px}
.hd .id{color:var(--dim);font-size:10px;text-align:right}
.led{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--a);box-shadow:0 0 8px var(--a);margin-right:9px}
.cells{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cell{background:var(--well);border:1px solid var(--line);box-shadow:var(--well-shadow);padding:10px 13px;min-width:0}
.cell.wide{grid-column:1/3}
.v{font-size:26px;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v.xl{font-size:44px}
.k{font-size:10px;color:var(--dim);letter-spacing:2px;margin-top:3px}
.k b{color:var(--steel);font-weight:400}
.pos{color:var(--grn);text-shadow:0 0 12px rgba(111,255,200,.3)}
.neg{color:var(--red);text-shadow:0 0 12px rgba(255,77,94,.35)}
.flat{color:var(--steel)}
.amb{color:var(--amber);text-shadow:0 0 12px rgba(255,176,0,.3)}
.rule{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:6px;font-size:13px;letter-spacing:1px;padding:9px 0;border-bottom:1px dashed var(--rule)}
.rule:last-child{border-bottom:0}
.rule .n{color:var(--dim);font-size:11px}
.rule small{display:block;color:var(--dim);font-size:10px;letter-spacing:1px;margin-top:2px}
.st{font-size:10px;letter-spacing:2px;padding:3px 7px;border:1px solid currentColor;white-space:nowrap}
.st.ok{color:var(--grn)}.st.bad{color:var(--red);background:rgba(255,77,94,.08)}.st.man{color:var(--dim)}.st.warn{color:var(--amber)}

.hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px 0 4px}
.hero h2{font-size:24px;font-weight:700;letter-spacing:7px;line-height:1.45;margin-top:6px;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.plates{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:12px}
.plates span{font-size:10px;letter-spacing:2px;padding:6px 10px;border:1px solid var(--line);background:var(--chip);color:var(--steel)}
.plates b{font-weight:400}

.chart{width:100%;position:relative}
.chart svg{display:block;width:100%;height:auto;overflow:visible}
.tip{position:fixed;pointer-events:none;background:var(--well);border:1px solid var(--teal);color:var(--hi);font-size:11px;letter-spacing:1px;padding:6px 9px;z-index:50;white-space:nowrap;display:none}

table{width:100%;border-collapse:collapse;font-size:12px}
th{font-weight:400;font-size:10px;letter-spacing:2px;color:var(--dim);text-align:left;padding:8px 8px;border-bottom:1px solid var(--line);cursor:pointer;user-select:none;white-space:nowrap}
th.num,td.num{text-align:right}
td{padding:8px;border-bottom:1px dashed var(--rule);vertical-align:top}
tr.legs td{color:var(--dim);font-size:11px;background:var(--sunk)}
tr.main:hover td{background:rgba(95,240,204,.04)}
.chip{display:inline-block;font-size:9px;letter-spacing:1px;color:var(--red);border:1px solid rgba(255,77,94,.6);padding:2px 5px;margin:0 4px 2px 0}
.tablewrap{overflow-x:auto}
.empty{text-align:center;padding:50px 20px;color:var(--steel);letter-spacing:2px;line-height:2}

.drop{border:1px dashed var(--teal);background:rgba(95,240,204,.04);padding:40px 20px;text-align:center;cursor:pointer;letter-spacing:2px;color:var(--steel);transition:.15s}
.drop.over{background:rgba(95,240,204,.12);color:var(--hi)}
.drop b{color:var(--teal);font-weight:400}
.msg{padding:12px 14px;margin-bottom:16px;border:1px solid var(--line);font-size:12px;letter-spacing:1px;line-height:1.7;background:var(--chip)}
.msg.ok{border-color:var(--grn);color:var(--grn)}.msg.err{border-color:var(--red);color:var(--red)}
.form{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px;align-items:end}
.form label{font-size:10px;letter-spacing:2px;color:var(--dim);display:flex;flex-direction:column;gap:5px}
.form .full{grid-column:1/-1}
.login{max-width:420px;margin:8vh auto 0}
.muted{color:var(--dim);font-size:11px;letter-spacing:1px;line-height:1.8}

.tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:22px}
.tool{display:flex;align-items:center;gap:16px;padding:14px 18px;text-decoration:none;color:var(--hi);background:var(--well);border:1px solid var(--line);transition:.15s}
.tool:hover{border-color:var(--teal);box-shadow:0 0 18px rgba(95,240,204,.12)}
.tool svg{flex:none}
.tool b{display:block;font-size:13px;letter-spacing:3px;font-weight:400}
.tool span{font-size:10px;color:var(--dim);letter-spacing:1px}
.btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}

.tools{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.st.info{color:var(--teal)}
textarea{width:100%;resize:vertical;line-height:1.6;font-size:13px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media (max-width:900px){.cols{grid-template-columns:1fr}}
.sub{font-size:10px;letter-spacing:3px;color:var(--dim);margin:2px 0 8px;border-bottom:1px dashed var(--rule);padding-bottom:6px}
.ev{display:grid;grid-template-columns:62px 12px 1fr auto;gap:8px;align-items:baseline;font-size:12px;padding:6px 0;border-bottom:1px dashed var(--rule)}
.ev:last-child{border-bottom:0}
.ev .t{color:var(--steel)}
.ev .fp{color:var(--dim);font-size:10px;white-space:nowrap}
.imp{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--dim)}
.imp.High{background:var(--red);box-shadow:0 0 6px var(--red)}.imp.Medium{background:var(--amber)}.imp.Low{background:#4b5560}.imp.Holiday{background:var(--teal)}
.syms{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.sym{font-size:11px;letter-spacing:1px;padding:4px 7px;border:1px solid var(--line);background:var(--chip);color:var(--hi);text-decoration:none;white-space:nowrap}
.sym small{color:var(--dim);font-size:10px;margin-left:5px}
.sym.mine{border-color:var(--amber);color:var(--amber)}
.sym.big{border-color:#3d6b66}
.entry{padding:14px 0;border-bottom:1px dashed var(--rule)}
.entry:last-child{border-bottom:0}
.entry h3{font-size:14px;font-weight:400;letter-spacing:2px;margin-bottom:6px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.entry .body{font-size:13px;line-height:1.75;color:var(--body);word-break:break-word}
.entry .meta{font-size:10px;color:var(--dim);letter-spacing:1px;margin-top:8px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.entry .meta form{display:inline}
.linkbtn{font:inherit;font-size:10px;letter-spacing:2px;background:none;border:0;color:var(--teal);cursor:pointer;padding:0;text-decoration:underline}
.linkbtn.danger{color:var(--red)}
.daystat{font-size:11px;letter-spacing:1px;color:var(--steel)}
.closeout{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;padding-top:10px;border-top:1px dashed var(--rule)}
.closeout input{width:130px}
.check{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center}
@media (max-width:700px){.check{grid-template-columns:1fr}}
/* news */
.news{padding:13px 0;border-bottom:1px dashed var(--rule)}
.news:last-child{border-bottom:0}
.nmeta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:10px;letter-spacing:1px;color:var(--dim);margin-bottom:5px}
.nmeta .st,.nmeta .sym{font-size:9px;padding:2px 5px;text-decoration:none}
.ntitle{color:var(--hi);text-decoration:none;font-size:14px;line-height:1.5}
.ntitle:hover{color:var(--teal)}
.nsum{font-size:12px;color:var(--steel);line-height:1.6;margin-top:4px}
/* trade winds */
.wx{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
@media (max-width:1300px){.wx{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:800px){.wx{grid-template-columns:1fr}}
.wxcard{padding:14px 16px 16px}
.wbar{height:6px;background:var(--well);border:1px solid var(--line);margin-bottom:10px}
.wbar i{display:block;height:100%}
.wf{display:grid;grid-template-columns:26px 1fr;gap:6px;font-size:11px;line-height:1.45;padding:3px 0;color:var(--body)}
.wf b{color:var(--dim);font-weight:400}
.grn-t{color:var(--grn)}
:root{--steel-c:var(--steel)}
/* nav fits more items */
nav a{letter-spacing:2px;padding:7px 9px}
/* voice dictation */
.mic{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn.rec{color:#fff;background:var(--red);border-color:var(--red);animation:pulse 1.2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 6px rgba(255,77,94,.15)}}
#micInterim{font-size:12px;color:var(--amber);min-height:1.2em}
.fp .act{color:var(--hi)}
.fp .act b{color:var(--amber);font-weight:700}

/* ---------- themes ---------- */
html[data-theme="light"]{--hm-up:#1e9e4a;--hm-down:#d6434b;--hm-flat:#dde3e8;--steel:#4d5964;--dim:#7b8792;--hi:#1a2229;--amber:#b06a00;--teal:#0b8f79;--grn:#0a8a57;--red:#d0283a;--line:#c3ccd4;
 --bg:#e7ecf0;--glow1:#cfe6ea;--glow2:#f6f8fa;--scene-op:.10;--scene-filter:invert(1) hue-rotate(180deg);--metal:linear-gradient(180deg,#5b6672 0%,#2c343c 50%,#56616c 100%);
 --hazard-k:#2b2b2b;--chip:rgba(255,255,255,.75);--on-accent:#fff;--well:#f7f9fb;--well-shadow:inset 0 1px 3px rgba(20,30,40,.12);--scheme:light;--brush:rgba(0,0,0,.018);
 --panel-a:rgba(255,255,255,.94);--panel-b:rgba(232,237,241,.94);--panel-hi:rgba(255,255,255,.9);--shadow:rgba(30,45,60,.16);--rule:#d5dce2;--sunk:rgba(20,40,60,.04);--body:#2b343c;--glowfx:0}
html[data-theme="midnight"]{--hm-up:#17b07c;--hm-down:#e0485f;--hm-flat:#1a2342;--steel:#9fb0c8;--dim:#5f6f8a;--hi:#e2e9f5;--amber:#ffc24a;--teal:#6cc3ff;--grn:#5cf0b0;--red:#ff5f7a;--line:#2a3a5c;
 --bg:#030714;--glow1:#0d2350;--glow2:#0a1430;--scene-op:.30;--scene-filter:hue-rotate(25deg);--metal:linear-gradient(180deg,#f2f6ff 0%,#a9b9d6 45%,#5f7194 55%,#cdd9ef 100%);
 --hazard-k:#0b1020;--chip:rgba(4,8,22,.6);--on-accent:#02122a;--well:rgba(5,10,26,.88);--well-shadow:inset 0 2px 8px rgba(0,0,0,.7);--scheme:dark;--brush:rgba(160,190,255,.025);
 --panel-a:rgba(28,40,70,.84);--panel-b:rgba(9,14,32,.9);--panel-hi:rgba(170,200,255,.12);--shadow:rgba(0,0,0,.6);--rule:#1d2a46;--sunk:rgba(0,0,0,.25);--body:#c9d5ea;--glowfx:1}
@media (prefers-color-scheme: light){html[data-theme="auto"]{--hm-up:#1e9e4a;--hm-down:#d6434b;--hm-flat:#dde3e8;--steel:#4d5964;--dim:#7b8792;--hi:#1a2229;--amber:#b06a00;--teal:#0b8f79;--grn:#0a8a57;--red:#d0283a;--line:#c3ccd4;
 --bg:#e7ecf0;--glow1:#cfe6ea;--glow2:#f6f8fa;--scene-op:.10;--scene-filter:invert(1) hue-rotate(180deg);--metal:linear-gradient(180deg,#5b6672 0%,#2c343c 50%,#56616c 100%);
 --hazard-k:#2b2b2b;--chip:rgba(255,255,255,.75);--on-accent:#fff;--well:#f7f9fb;--well-shadow:inset 0 1px 3px rgba(20,30,40,.12);--scheme:light;--brush:rgba(0,0,0,.018);
 --panel-a:rgba(255,255,255,.94);--panel-b:rgba(232,237,241,.94);--panel-hi:rgba(255,255,255,.9);--shadow:rgba(30,45,60,.16);--rule:#d5dce2;--sunk:rgba(20,40,60,.04);--body:#2b343c;--glowfx:0}}
html[data-theme="light"] .pos,html[data-theme="light"] .neg,html[data-theme="light"] .amb{text-shadow:none}
@media (prefers-color-scheme: light){html[data-theme="auto"] .pos,html[data-theme="auto"] .neg,html[data-theme="auto"] .amb{text-shadow:none}}
.theme{font:inherit;font-size:10px;letter-spacing:2px;color:var(--steel);background:var(--chip);border:1px solid var(--line);padding:6px 6px;cursor:pointer;color-scheme:var(--scheme)}
.tools{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}

/* news pop-up */
.nmodal{position:fixed;inset:0;z-index:950;display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px}
.nmodal-bg{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(2px)}
.nmodal-card{position:relative;width:min(720px,100%);max-height:86vh;overflow-y:auto}
.nm-title{font-size:19px;font-weight:400;line-height:1.45;letter-spacing:.5px;margin:4px 0 12px;color:var(--hi)}
.nm-body p{font-size:13px;line-height:1.75;color:var(--body);margin-bottom:10px}
.nm-body .nm-lead{color:var(--hi)}
.nm-img{width:100%;max-height:260px;object-fit:cover;border:1px solid var(--line);margin-bottom:12px;display:block}
a[data-news]{cursor:pointer}

/* built-in heatmap */
.hmbar .ranges button.on{color:var(--on-accent);background:var(--teal);border-color:var(--teal)}
.hmbar .ranges .k{margin:0 4px 0 2px}
.hmstrip{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:-6px 0 14px}
.hmstrip .sym b{font-weight:400;margin-left:4px}
.hm{display:grid;grid-template-columns:250px 1fr;gap:14px;height:max(520px,calc(100vh - 300px))}
.hmside{overflow-y:auto;padding:14px 10px 14px 14px}
.hmside .hd{padding-left:12px}
.hmtree{list-style:none}
.hmtree button{display:flex;justify-content:space-between;gap:8px;width:100%;text-align:left;background:none;border:0;color:var(--hi);font:inherit;font-size:11px;letter-spacing:1px;padding:5px 6px;cursor:pointer}
.hmtree button.l2{padding-left:18px;color:var(--steel)}
.hmtree button:hover{background:var(--sunk)}
.hmtree button.on{background:var(--teal);color:var(--on-accent)}
.hmtree button.on b{color:inherit;text-shadow:none}
.hmtree b{font-weight:400;white-space:nowrap}
.hmwrap{padding:8px;clip-path:none}
#map{position:relative;width:100%;height:100%;overflow:hidden}
#map .tile{position:absolute;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--bg);cursor:pointer;transition:filter .12s}
#map .tile:hover{filter:brightness(1.18);z-index:2;outline:1px solid var(--hi)}
#map .tile *{pointer-events:none}
#map .sym-t{font-weight:700;line-height:.95;letter-spacing:.5px;opacity:.85}
#map .chg-t{line-height:1.3;opacity:.85}
#map .secbox{position:absolute;border:2px solid var(--bg);pointer-events:none}
#map .sectag{position:absolute;z-index:3;font:inherit;font-size:9px;letter-spacing:2px;background:var(--chip);color:var(--hi);border:0;padding:2px 6px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#map .sectag:hover{background:var(--teal);color:var(--on-accent)}
.hmfoot{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:12px}
.hmlegend{display:flex}
.hmlegend span{width:46px;text-align:center;padding:4px 0;font-size:10px}
#hmtip{white-space:normal;max-width:340px;line-height:1.7}
@media (max-width:900px){.hm{grid-template-columns:1fr;height:auto}.hmside{max-height:220px}.hmwrap{height:70vh}}
/* ---------- Surf Daddy TV page + shows admin ---------- */
.sd-wrap{align-items:start}
.sd-wrap>div{display:grid;gap:18px;min-width:0}
.sd-stage{position:relative;aspect-ratio:16/9;width:min(100%,calc((100vh - 40px) * 16 / 9));margin:0 auto;background:#000;border:1px solid var(--line);box-shadow:var(--well-shadow)}
.sd-stage video,.sd-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.sd-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:30px;color:#9aa6b2;font-size:12px;line-height:1.8}
.sd-audio{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:20px;
  background:radial-gradient(ellipse at 50% 120%,rgba(95,240,204,.18),transparent 60%),#05080a}
.sd-audio audio{width:min(560px,100%)}
.sd-audio .muted{color:#7b8792}
.sd-wave{display:flex;align-items:flex-end;gap:3px;height:38%;width:min(560px,100%)}
.sd-wave i{flex:1;height:var(--h);background:linear-gradient(180deg,#5ff0cc,rgba(95,240,204,.15))}
.sd-info{margin-top:14px}
.sd-title{font-size:20px;line-height:1.35;color:var(--hi);font-weight:400;margin:6px 0 8px}
.sd-sum{font-size:13px;line-height:1.7;color:var(--body);margin:0 0 10px}
.sd-tape{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11px;letter-spacing:1px;color:var(--steel);padding:8px 0;border-top:1px dashed var(--rule);border-bottom:1px dashed var(--rule)}
.sd-tape b{font-weight:400}
.sd-secs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:6px 22px}
.sd-sec ul{margin:0 0 12px;padding-left:16px;font-size:12px;line-height:1.65;color:var(--body)}
.sd-sec li{margin-bottom:5px}
.sd-script summary{cursor:pointer;font-size:11px;letter-spacing:2px;color:var(--teal);padding:6px 0}
.sd-script div{max-height:420px;overflow-y:auto;padding:4px 12px 4px 0;font-size:13px;line-height:1.75;color:var(--body)}
.sd-src{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11px}
.sd-src a{color:var(--steel);text-decoration:none}.sd-src a:hover{color:var(--teal)}
.sd-eps{max-height:640px;overflow-y:auto;margin-right:-8px;padding-right:8px}
.sd-day{font-size:9px;letter-spacing:3px;color:var(--dim);margin:12px 0 4px}
.sd-day:first-child{margin-top:0}
.sd-ep{display:grid;grid-template-columns:26px 1fr;gap:10px;align-items:start;padding:8px 6px;border-bottom:1px dashed var(--rule);text-decoration:none;color:var(--body);font-size:12px;line-height:1.45}
.sd-ep:hover{background:var(--sunk);color:var(--hi)}
.sd-ep.on{background:var(--sunk);box-shadow:inset 3px 0 0 var(--teal);color:var(--hi)}
.sd-ep b{font-weight:400;display:block}
.sd-ep small{display:block;font-size:9px;letter-spacing:1px;color:var(--dim);margin-top:3px}
.sd-kind{width:26px;height:26px;display:grid;place-items:center;border:1px solid var(--line);font-size:13px}
.sd-kind.k-daily{color:var(--amber)}.sd-kind.k-evening{color:var(--teal)}.sd-kind.k-special{color:var(--red)}
.sd-yt{display:grid;grid-template-columns:88px 1fr;gap:10px;align-items:center;padding:6px 0;border-bottom:1px dashed var(--rule);text-decoration:none;color:var(--body);font-size:11px;line-height:1.4}
.sd-yt:hover{color:var(--teal)}
.sd-yt img{width:88px;height:50px;object-fit:cover;background:#000;display:block}
.sd-yt small{display:block;font-size:9px;letter-spacing:1px;color:var(--dim);margin-top:3px}
.sd-yt.live small{color:var(--red)}
.sd-shows td .btns{margin-top:0}
.sd-shows .st{display:inline-block;margin:0 4px 4px 0}
.sd-log{white-space:pre-wrap;font-size:11px;line-height:1.5;max-height:260px;overflow:auto;background:var(--well);border:1px solid var(--line);padding:8px 10px;color:var(--body)}
.sd-meta{font-size:12px;line-height:1.7;color:var(--body)}
.form textarea.script{min-height:340px;font-size:13px;line-height:1.7}
.sd-steps{font-size:12px;line-height:1.9;color:var(--body);padding-left:18px}
.sd-steps code{background:var(--well);border:1px solid var(--line);padding:2px 6px;user-select:all;word-break:break-all}
@media (max-width:900px){.sd-eps{max-height:420px}}
/* ON-AIR light over Surf Daddy videos: grey until playing, red while playing, grey on pause (dot is at 58,148 r4 in the 1280x720 art) */
.sd-onair{position:absolute;left:calc(58 / 1280 * 100%);top:calc(148 / 720 * 100%);width:calc(9 / 1280 * 100%);aspect-ratio:1;
  transform:translate(-50%,-50%);border-radius:50%;background:#6b7a80;pointer-events:none;z-index:2;transition:background .15s,box-shadow .15s}
.sd-onair.on{background:#ff4d3d;box-shadow:0 0 6px 2px rgba(255,77,61,.75)}
/* ---------- Check a Wave ---------- */
.wave-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-bottom:12px}
.wave-form input{font:inherit;font-size:15px;letter-spacing:1px;text-transform:uppercase;background:var(--well);border:1px solid var(--line);color:var(--hi);padding:10px 12px}
.wave-form input:focus{outline:none;border-color:var(--teal)}
.wave-chips>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px}
.wave-chips .sub{width:92px;margin:0;flex:none}
.wchip{font:inherit;font-size:11px;letter-spacing:1px;background:transparent;color:var(--body);border:1px solid var(--line);padding:4px 9px;cursor:pointer}
.wchip:hover,.wchip.on{border-color:var(--teal);color:var(--teal)}
#waveOut{margin-top:12px}
.wq{border-top:1px dashed var(--rule);padding-top:12px;display:grid;gap:12px}
.wq-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;align-items:flex-end}
.wq-name{font-size:17px;color:var(--hi)}
.wq-sub{font-size:10px;letter-spacing:1.5px;color:var(--dim);margin-top:4px;text-transform:uppercase}
.wq-px{font-size:30px;color:var(--hi);text-align:right;line-height:1.1}
.wq-chg{font-size:13px;text-align:right}
.wq-sess{font-size:9px;letter-spacing:2px;color:var(--amber);text-align:right}
.wq-last{font-size:11px;color:var(--dim);text-align:right;margin-top:2px}
.wq svg{width:100%;height:70px;display:block}
.wq-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin:0}
.wq-stats div{background:var(--well);border:1px solid var(--line);padding:7px 9px}
.wq-stats dt{font-size:9px;letter-spacing:1.5px;color:var(--dim);text-transform:uppercase}
.wq-stats dd{margin:3px 0 0;font-size:13px;color:var(--hi)}
.wq-news ul{margin:4px 0 0;padding-left:16px;font-size:12px;line-height:1.6}
.wq-news a{color:var(--body)}.wq-news a:hover{color:var(--teal)}
.wq-news small{color:var(--dim);font-size:10px}
.wq-voice{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.wq-voice audio{height:34px;flex:1;min-width:220px}
.wq-cap{font-size:13px;line-height:1.6;color:var(--hi);min-height:1.6em;width:100%}
.wq-msg{font-size:11px;color:var(--dim)}
.wq-time{font-size:10px;color:var(--dim);margin:0}
.wq .up{color:var(--grn)}.wq .down{color:var(--red)}.wq .flat{color:var(--steel)}
/* ---------- Analyze ---------- */
.an-obs{margin:0;padding-left:18px;font-size:13px;line-height:1.7;color:var(--body)}
.an-obs li{margin-bottom:6px}
.an-prompt{width:100%;min-height:260px;font:11px/1.5 var(--mono,ui-monospace),monospace;background:var(--well);color:var(--body);border:1px solid var(--line);padding:8px;resize:vertical}
.an-ctx{font-size:12px;line-height:1.6;padding:8px 0;border-bottom:1px dashed var(--rule)}
.an-ctx:last-child{border-bottom:0}
.an-ai{font-size:13px;line-height:1.7;color:var(--body)}
.an-ai ul{padding-left:18px;margin:4px 0 10px}
.an-ai p{margin:0 0 10px}
@media (max-width:900px){.grid .cells[style*="repeat(4"]{grid-template-columns:1fr 1fr!important}}
/* formatted notes (Trade Log) and Claude reviews */
.md p{margin:0 0 10px}
.md ul,.md ol{margin:0 0 10px;padding-left:20px}
.md li{margin-bottom:4px}
.md .md-h{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--teal);margin:14px 0 6px}
.md .md-h1{font-size:13px}
.md hr{border:0;border-top:1px dashed var(--rule);margin:12px 0}
.md code{font-size:12px;background:var(--well);border:1px solid var(--line);padding:0 4px}
.md>:last-child{margin-bottom:0}
.entry .body.clamped{max-height:220px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 65%,transparent);mask-image:linear-gradient(180deg,#000 65%,transparent)}
.more-btn{font:inherit;font-size:10px;letter-spacing:2px;background:none;border:0;color:var(--teal);cursor:pointer;padding:6px 0;margin-top:2px}
.more-btn:hover{text-decoration:underline}
/* ---------- Trade Winds: surf conditions ---------- */
.ms-cond{font-size:clamp(28px,3.6vw,46px);letter-spacing:1px;color:var(--hi);margin:6px 0 10px;line-height:1.1}
.ms-bar{height:8px;background:var(--well);border:1px solid var(--line);margin:14px 0 8px;overflow:hidden}
.ms-bar i{display:block;height:100%;background:linear-gradient(90deg,#2fb59f,#e0a947,#e2664f)}
.ms-adv{border-left:3px solid var(--amber);background:var(--well);padding:9px 12px;margin-bottom:8px;font-size:12px;line-height:1.5}
.ms-adv b{display:block;color:var(--hi);font-weight:500;margin-bottom:2px}
.ms-adv span{color:var(--body)}
.ms-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ms-tile,.ms-sec,.ms-swell{padding:14px;border:1px solid rgba(255,255,255,.08);color:#f2f7f9;display:flex;flex-direction:column;justify-content:space-between;min-height:128px}
.ms-name{font-size:11px;letter-spacing:2px}
.ms-name span{opacity:.75;letter-spacing:1px;font-size:10px;margin-left:4px}
.ms-val{font-size:30px;margin:6px 0}
.ms-val small{font-size:12px;opacity:.7}
.ms-why{font-size:11px;line-height:1.45;opacity:.92}
.ms-why b{font-weight:500}
.ms-safe{background:#145b55}.ms-watch{background:#6b571e}.ms-danger{background:#803c31}.ms-critical{background:#852d46}.ms-none{background:#25485c}
.ms-epic{background:#0f6b4f}.ms-good{background:#1c7a6a}.ms-chop{background:#6b571e}.ms-mushy{background:#8a4b2a}.ms-wipe{background:#852d46}
.ms-breadth-top{display:grid;grid-template-columns:1.2fr 1fr;gap:10px;align-items:stretch;margin-bottom:10px}
.ms-swell .ms-val{font-size:34px}
.ms-legend{display:flex;flex-wrap:wrap;gap:6px;align-content:center}
.ms-legend span{font-size:10px;letter-spacing:1px;color:#f2f7f9;padding:5px 8px}
.ms-sectors{display:flex;flex-wrap:wrap;gap:8px}
.ms-sec{flex-basis:180px;min-height:112px}
.ms-sec .ms-val{font-size:18px;letter-spacing:1px}
@media (max-width:900px){.ms-tiles{grid-template-columns:repeat(2,1fr)}.ms-breadth-top{grid-template-columns:1fr}}
@media (max-width:540px){.ms-tiles{grid-template-columns:1fr}}
/* rule limits: amount + unit */
.unitrow{display:flex;gap:6px}
.unitrow input{flex:1;min-width:0}
.unitrow select{width:auto;flex:0 0 auto}
.form .eq{font-size:10px;letter-spacing:1px;min-height:1.2em;text-transform:none}
/* ---- Sector Blitz ---- */
.spark{display:block}
.score{display:inline-block;min-width:38px;padding:3px 6px;text-align:center;font-weight:600;
  background:linear-gradient(90deg,rgba(95,240,204,.28) calc(var(--s)*1%),transparent 0);border:1px solid var(--line)}
.quads{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.quad{border:1px solid var(--line);padding:10px;min-height:110px;display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start}
.quad b{width:100%;letter-spacing:2px;font-size:12px}
.quad small{width:100%;color:var(--dim);font-size:10px;margin:-4px 0 4px}
.quad .sym span{color:var(--dim);margin-left:4px}
.q-leading{background:rgba(95,240,204,.06)}.q-leading b{color:var(--grn)}
.q-improving b,.q-weakening b{color:var(--amber)}
.q-lagging{background:rgba(255,77,94,.06)}.q-lagging b{color:var(--red)}
.bz-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bz-h{font-size:10px;letter-spacing:2px;margin-bottom:4px}
.bz-t{width:100%;border-collapse:collapse;font-size:12px}
.bz-t td{padding:3px 2px;border-bottom:1px dashed var(--line)}
.bz-t a{color:var(--hi);text-decoration:none}.bz-t a:hover{text-decoration:underline}
.mine{color:var(--amber)}
@media (max-width:1300px){.blitz-cards.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.blitz-cards.g3,.quads{grid-template-columns:1fr}}
@media (max-width:1800px){nav a{letter-spacing:1.2px;padding:7px 6px;font-size:11px}}
/* ---- Trade Log images ---- */
.imgdrop{border:1px dashed var(--line);padding:10px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.imgdrop.over{border-color:var(--teal);background:rgba(95,240,204,.06)}
.imgprev{display:flex;flex-wrap:wrap;gap:8px;flex-basis:100%}
.imgprev:empty{display:none}
.imgprev .thumb{position:relative;width:120px;height:80px;border:1px solid var(--line);overflow:hidden;display:block}
.imgprev .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.imgprev .thumb button{position:absolute;top:2px;right:2px;background:rgba(0,0,0,.7);color:#fff;border:0;width:22px;height:22px;cursor:pointer}
.imgprev.cur .thumb span{position:absolute;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);color:#fff;font-size:9px;letter-spacing:1px;padding:3px 4px;display:flex;gap:4px;align-items:center}
.imgprev.cur .thumb input{width:auto;margin:0}
.gallery{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.gallery .gimg{display:block;width:200px;height:120px;border:1px solid var(--line);overflow:hidden;background:#000}
.gallery .gimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}
.gallery .gimg:hover img{transform:scale(1.04)}
.lightbox{position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.88);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}
.lightbox[hidden]{display:none}
.lightbox img{max-width:100%;max-height:calc(100vh - 90px);object-fit:contain;box-shadow:0 0 40px rgba(0,0,0,.6)}
.lb-bar{display:flex;gap:16px;align-items:center;margin-top:12px;color:#cfd8df;font-size:11px;letter-spacing:1px}
.lb-bar a,.lb-bar button{color:#5ff0cc;background:none;border:1px solid #5ff0cc55;padding:5px 10px;cursor:pointer;font:inherit;text-decoration:none}
@media (max-width:760px){.gallery .gimg{width:calc(50% - 4px)}}

/* ---- Tradewind core: admin plugins ---- */
.plugins{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:18px}
.plugins .panel p{margin:0 0 8px;line-height:1.5}
.perms{list-style:none;margin:6px 0;padding:0;font-size:11px;color:var(--dim)}
.perms li{padding:3px 0;border-top:1px dashed var(--line)}
.perms b{color:var(--amber);font-weight:400;letter-spacing:1px;margin-right:6px}

.lic .rule{grid-template-columns:130px 1fr auto}
.pl-head{display:flex;gap:12px;align-items:flex-start}
.pl-head img{flex:0 0 30px;margin-top:2px;padding:6px;box-sizing:content-box;border:1px solid var(--line);background:rgba(0,0,0,.35)}
.pl-head p{font-size:12px;line-height:1.6;margin:0 0 8px}
/* ---- help ---- */
.help-q{margin-left:10px;width:18px;height:18px;border-radius:50%;border:1px solid var(--a,var(--teal));background:transparent;color:var(--a,var(--teal));
  font:inherit;font-size:11px;line-height:16px;padding:0;cursor:pointer;vertical-align:middle;letter-spacing:0}
.help-q:hover{background:var(--a,var(--teal));color:var(--on-accent)}
.help-fab{position:fixed;right:18px;bottom:18px;z-index:900;font:inherit;font-size:11px;letter-spacing:2px;color:var(--on-accent);background:var(--teal);border:0;padding:10px 13px;cursor:pointer;
  box-shadow:0 8px 24px rgba(0,0,0,.6);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.help-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);z-index:950;background:linear-gradient(170deg,var(--panel-a),var(--panel-b)),var(--bg);color-scheme:var(--scheme);border-left:1px solid var(--line);
  box-shadow:-18px 0 50px var(--shadow);display:flex;flex-direction:column;color:var(--body)}
.help-drawer[hidden]{display:none}
.help-top{display:flex;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.help-top b{flex:1;letter-spacing:3px;font-size:12px;font-weight:400;color:var(--hi)}
.help-top a{font-size:10px;letter-spacing:2px}
.help-top button{background:none;border:1px solid var(--line);color:var(--dim);cursor:pointer;font:inherit;padding:3px 8px}
.help-body{overflow-y:auto;padding:6px 16px 40px;font-size:12.5px;line-height:1.7}
.help-intro{margin:8px 0 4px;color:var(--steel)}
.help-sec{padding:12px 0;border-bottom:1px dashed var(--line);scroll-margin-top:8px}
.help-sec h3{font-size:11px;letter-spacing:2px;font-weight:400;color:var(--teal);margin:0 0 6px}
.help-sec.hl{background:var(--sunk);margin:0 -16px;padding:12px 16px;border-left:2px solid var(--teal)}
.help-body .md p{margin:0 0 8px}.help-body .md ul,.help-body .md ol{margin:0 0 8px;padding-left:18px}
.help-index{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:18px}
.help-item{border-top:1px dashed var(--line);padding:8px 0}
.help-item summary{cursor:pointer;letter-spacing:1px;font-size:12px;color:var(--hi)}
.help-item .md{font-size:12.5px;line-height:1.7;margin-top:6px}
@media (max-width:760px){.help-index{grid-template-columns:1fr}}
.entry-scale{display:flex;flex-direction:column;gap:6px}
.entry-scale div{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:8px 10px;border:1px solid var(--line);font-size:12px;opacity:.55}
.entry-scale div b{letter-spacing:1px;font-weight:600}
.entry-scale div[data-band="0"] b,.entry-scale div[data-band="1"] b{color:var(--grn)}
.entry-scale div[data-band="2"] b,.entry-scale div[data-band="3"] b{color:var(--amber)}
.entry-scale div[data-band="4"] b{color:var(--red)}
.entry-scale div.on{opacity:1;border-color:var(--a,var(--teal));background:var(--sunk);box-shadow:inset 3px 0 0 var(--a,var(--teal))}
.inc-table td[data-d]{cursor:pointer}
.inc-table td.on{background:var(--well);outline:1px solid var(--amber);font-weight:700}
.inc-table th{white-space:nowrap;text-align:left}
.setup-pick{font-size:11px;padding:3px 6px;min-width:110px;max-width:150px}
.setup-pick.saved{outline:1px solid var(--grn)}
.setup-pick.err{outline:1px solid var(--red)}
.setup-tag{font:inherit;font-size:10px;letter-spacing:.12em;text-transform:uppercase;background:none;border:1px solid var(--line);color:var(--hi);padding:3px 8px;cursor:pointer;white-space:nowrap}
.setup-tag.none{color:var(--steel);border-style:dashed}
.setup-tag:hover{border-color:var(--teal)}
.setup-tag.saved{border-color:var(--grn)}.setup-tag.err{border-color:var(--red)}
.style-tag{font:inherit;font-size:10px;letter-spacing:.12em;background:none;border:1px solid var(--line);padding:3px 8px;cursor:pointer;white-space:nowrap;color:var(--teal)}
.style-tag.trend{color:var(--amber)}.style-tag.auto{border-style:dashed;opacity:.75}.style-tag:hover{border-color:var(--teal);opacity:1}
.style-tag.saved{border-color:var(--grn)}.style-tag.err{border-color:var(--red)}
.calc-style{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:-8px 0 14px;font-size:11px;letter-spacing:1px}
.calc-style a{padding:4px 12px;border:1px solid var(--line);color:var(--steel);text-decoration:none}.calc-style a.on{color:var(--hi);border-color:var(--teal)}
.calc-style a.on.trend{border-color:var(--amber);color:var(--amber)}
.rules-sub{grid-column:1/-1;margin-top:6px;padding-top:8px;border-top:1px solid var(--line);font-size:11px;letter-spacing:2px;color:var(--teal)}
/* Setups scanner */
.sig{display:inline-block;font-size:9px;letter-spacing:1px;padding:2px 6px;margin:0 4px 3px 0;border:1px solid currentColor;white-space:nowrap}
.sig.l{color:var(--grn)}.sig.s{color:var(--red)}.sig.ctr{opacity:.55;border-style:dashed}
.score{display:inline-block;min-width:34px;text-align:center;padding:2px 4px;color:var(--hi);background:linear-gradient(90deg,rgba(95,240,204,.28) calc(var(--s)*1%),transparent 0);border:1px solid var(--line)}
.sc-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:22px;padding:8px 2px;white-space:normal}
.sc-detail .k{margin-bottom:6px}
.sc-detail table.lv td{padding:3px 8px 3px 0;border:0}
.sc-detail .plan{border-left:2px solid var(--line);padding:6px 0 8px 12px;margin-bottom:10px;line-height:1.7}
.sc-detail .plan .btn{margin-top:6px}
#sc td{vertical-align:middle}
@media (max-width:900px){.sc-detail{grid-template-columns:1fr}}
.ts-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ts-list .ts{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border:1px solid var(--line);padding:10px 12px;background:var(--chip)}
.ts-list .btns{display:flex;gap:6px;flex-shrink:0}
@media (max-width:900px){.ts-list{grid-template-columns:1fr}.ts-list .ts{flex-direction:column}}
/* Playbook */
.pb-intro{margin:-4px 0 16px;max-width:1100px;line-height:1.7}
.pb-check{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px}
.pb-check .k{margin-bottom:6px;display:flex;align-items:center;gap:8px}
.pb-check label{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.5;margin:5px 0;cursor:pointer;letter-spacing:.5px;text-transform:none;color:var(--hi)}
.pb-check input{margin-top:2px;accent-color:var(--teal)}
.pb-check input:checked+*{opacity:.6}
.pb-check .pb-reset{padding:2px 6px;font-size:9px}
.pb-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.pb-sections .md{font-size:13px;line-height:1.75}
@media (max-width:900px){.pb-check,.pb-sections{grid-template-columns:1fr}}
@media print{
  header.top,nav,.hazard,.help-fab,.help-drawer,.no-print,footer,.panel .help-q,.pb-reset{display:none!important}
  body,main,.panel{background:#fff!important;color:#000!important}
  .panel{border:1px solid #999!important;box-shadow:none!important;break-inside:avoid}
  .panel *{color:#000!important}
  .bar h1,.bar h1 b{color:#000!important}
  .pb-sections,.grid.g11{grid-template-columns:1fr 1fr!important}
  .cell,.md code,.btn,input,select{background:#fff!important;border:1px solid #999!important;box-shadow:none!important}
  .panel::before,.panel::after,.bolt{display:none!important}
}
/* training video players: never taller than the window, so the controls stay on screen */
.pb-video{width:min(960px,100%,calc((100vh - 70px) * 16 / 9))}
.pb-video video{width:100%;display:block;background:#000;border:1px solid var(--line)}
@media print{.pb-video,.pb-video+p{display:none!important}}
/* Updates log */
a.upd-tag{text-decoration:none;color:inherit}
a.upd-tag:hover{color:var(--teal)}
.upd-new-tag{display:inline-block;margin-left:6px;padding:2px 6px;font-size:9px;letter-spacing:2px;color:var(--on-accent);background:var(--grn);vertical-align:middle;animation:updPulse 2s ease-in-out infinite}
@keyframes updPulse{50%{opacity:.55}}
.env-tag{display:inline-block;margin-left:10px;padding:2px 7px;font-size:10px;letter-spacing:2px;color:var(--on-accent);background:var(--amber);vertical-align:middle}
.upd-list{display:grid;gap:18px;max-width:1100px}
.upd .md{font-size:13px;line-height:1.75}
.upd .md .md-h3,.upd .md .md-h2{color:var(--teal);margin:14px 0 4px;letter-spacing:2px;font-size:12px;text-transform:uppercase}
.upd .md .md-h3:first-child{margin-top:0}
/* Surf TV: a section per show, latest episode up top, older ones under MORE */
.sd-latest{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:start;text-decoration:none;color:var(--body);padding:4px 0 10px}
.sd-latest:hover b{color:var(--teal)}
.sd-latest.on .sd-thumb{outline:2px solid var(--teal)}
.sd-thumb{position:relative;display:block;aspect-ratio:16/9;background:#05080a center/cover no-repeat;border:1px solid var(--line);overflow:hidden}
.sd-thumb.k-daily{background-image:linear-gradient(160deg,#3a2a08,#120d04)}
.sd-thumb.k-evening{background-image:linear-gradient(160deg,#0b2a2a,#05080a)}
.sd-thumb.k-special{background-image:linear-gradient(160deg,#3a0d14,#0d0507)}
.sd-thumb i{position:absolute;left:10px;top:4px;font-style:normal;font-size:34px;color:var(--amber)}
.sd-thumb.k-evening i{color:var(--teal)}.sd-thumb.k-special i{color:var(--red)}
.sd-thumb em{position:absolute;right:8px;top:8px;font-style:normal;font-size:9px;letter-spacing:2px;color:var(--hi)}
.sd-play{position:absolute;left:0;right:0;bottom:0;padding:4px 8px;font-size:9px;letter-spacing:2px;color:var(--hi);background:linear-gradient(0deg,rgba(0,0,0,.85),transparent)}
.sd-latest.live .sd-play,.sd-latest.on .sd-play{color:var(--red)}
.sd-lt{display:grid;gap:6px;min-width:0}
.sd-lt small{font-size:9px;letter-spacing:2px;color:var(--dim)}
.sd-lt b{font-weight:400;font-size:14px;line-height:1.4;color:var(--hi)}
.sd-lt .st{justify-self:start}
.sd-sum2{font-size:11px;line-height:1.55;color:var(--steel);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sd-more{margin-top:4px;border-top:1px dashed var(--rule)}
.sd-more summary{cursor:pointer;list-style:none;font-size:10px;letter-spacing:2px;color:var(--teal);padding:9px 0}
.sd-more summary::-webkit-details-marker{display:none}
.sd-more summary::after{content:' ▾'}
.sd-more[open] summary::after{content:' ▴'}
.sd-more .sd-eps{max-height:360px}
.sd-ch{margin-bottom:12px}
.sd-ch .sub{margin-bottom:6px}
@media (max-width:900px){.sd-latest{grid-template-columns:120px 1fr}}
.sd-channels{display:grid;gap:18px}
.sd-chlink{margin:6px 0 0;font-size:9px;letter-spacing:2px;text-align:right}
.sd-chlink a{color:var(--dim);text-decoration:none}.sd-chlink a:hover{color:var(--teal)}
.sd-show.sd-live .hd{color:var(--red)}
/* News: social feed cards */
.soc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
@media (max-width:1300px){.soc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.soc-grid{grid-template-columns:1fr}}
.soc-edit{margin:-6px 0 16px}
.soc-edit>summary{cursor:pointer;font-size:11px;letter-spacing:.18em;color:var(--teal);list-style:none;padding:6px 0}
.soc-edit>summary::-webkit-details-marker{display:none}
.soc-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 22px;padding:14px 0 4px}
.soc-form textarea{width:100%;min-height:170px;font-family:inherit;font-size:13px;box-sizing:border-box}
.soc-help{font-size:12px;line-height:1.6}.soc-help p{margin:0 0 6px}.soc-help ul{margin:0 0 6px;padding-left:18px}
.soc-actions{grid-column:1/-1;display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px}
@media (max-width:900px){.soc-form{grid-template-columns:1fr}}
.soc-post{display:grid;gap:5px;padding:8px 0;border-bottom:1px dashed var(--rule);text-decoration:none;color:var(--body);font-size:12px;line-height:1.5}
.soc-post:hover .soc-txt{color:var(--teal)}
.soc-post.big{border-bottom:0;padding-top:2px}
.soc-post.big .soc-txt{font-size:14px;color:var(--hi);line-height:1.5}
.soc-post small{font-size:9px;letter-spacing:1px;color:var(--dim)}
.soc-sum{font-size:11px;color:var(--steel);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.soc-list{max-height:380px;overflow-y:auto;padding-right:6px}
.soc-note{font-size:10px;line-height:1.6;margin-top:8px}
.soc-x{min-height:120px}
/* Trade Winds: all-in alert panel */
.ai-top{display:grid;grid-template-columns:minmax(220px,auto) 1fr;gap:26px;align-items:center}
.ai-level{font-size:40px;letter-spacing:6px;font-weight:700;white-space:nowrap}
.ai-pre{display:block;font-size:11px;letter-spacing:4px;color:var(--amber);font-weight:400;margin-bottom:2px}
.ai-meter small{display:block;margin-top:30px;font-size:10px;letter-spacing:2px;color:var(--dim)}
.ai-track{position:relative;height:10px;background:linear-gradient(90deg,var(--red) 0%,rgba(255,77,94,.25) 30%,var(--line) 50%,rgba(111,255,200,.25) 70%,var(--grn) 100%);border:1px solid var(--line)}
.ai-track i{position:absolute;top:-6px;width:4px;height:22px;margin-left:-2px;box-shadow:0 0 10px currentColor}
.ai-track span{position:absolute;top:16px;transform:translateX(-50%);font-size:9px;letter-spacing:2px;color:var(--dim);white-space:nowrap}
.ai-advice{margin:16px 0 10px;font-size:13px;line-height:1.7;color:var(--hi)}
.ai-sig td{padding:7px 12px 7px 0;font-size:12px}
.ai-sig td:first-child{letter-spacing:2px;font-size:11px;white-space:nowrap}
.ai-log{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:11px;letter-spacing:1px}
.ai-log em{font-style:normal;color:var(--dim)}
@media (max-width:900px){.ai-top{grid-template-columns:1fr;gap:10px}.ai-level{font-size:30px}}
/* Hang Ten calculator */
.ht-form{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.ht-lform{grid-template-columns:repeat(auto-fill,minmax(200px,260px));margin-bottom:12px}
.ht-goal{font-size:13px;letter-spacing:1px;margin:4px 0 12px;color:var(--hi)}
.ht-ladder td{vertical-align:middle}
.ht-ladder tr.ht-on td{background:rgba(255,176,0,.07)}
.ht-ladder tr.ht-on td:first-child{box-shadow:inset 3px 0 0 var(--amber)}
.ht-ladder .ht-in{width:100%;min-width:90px;padding:5px 7px;font:inherit;font-size:12px;box-sizing:border-box}
.ht-ladder .ht-in.num{text-align:right;min-width:80px}
/* Data source page */
.ds-src{display:flex;flex-direction:column;gap:8px}
.ds-opt{display:flex;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);cursor:pointer}
.ds-opt.on{border-color:var(--teal)}
.ds-opt input{margin-top:3px}
.ds-opt span{display:flex;flex-direction:column;gap:3px;font-size:12px;letter-spacing:1px}
.ds-opt span .st{align-self:flex-start}
.ds-opt small{color:var(--dim);letter-spacing:0;font-size:11px;line-height:1.5}
.ds-opt input:disabled+span{opacity:.55}
.ds-steps{margin:10px 0 0;padding-left:18px;font-size:12px;line-height:1.7}
.ds-steps code{word-break:break-all}
.rot-group{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;margin:0 0 10px;font-size:12px;letter-spacing:1px}
.rot-group b{font-size:15px;letter-spacing:3px}
.tw-rot em{font-style:normal;letter-spacing:2px}
/* Sector Basket */
.bk-form{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
.bk-add{display:flex;gap:6px}.bk-add input{flex:1}
.bk-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;min-height:28px}
.bk-chips .sym button{background:none;border:0;color:var(--steel);cursor:pointer;font:inherit;margin-left:6px;padding:0}
.bk-chips .sym button:hover{color:var(--red)}
button.sym.bk-pick{cursor:pointer;font:inherit;border:1px solid var(--line)}
button.sym.bk-pick.on{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}
.bk-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;letter-spacing:1px;margin-top:12px}
.bk-head b{font-size:16px;letter-spacing:3px}
.bk-check{flex-direction:row!important;align-items:center;gap:8px!important;align-self:end;padding-bottom:8px}
.bk-tot td{border-top:1px solid var(--line);font-weight:600}
.bk-sum{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.bk-sum{grid-template-columns:1fr 1fr}}

/* ---- Workspace: watchlists + charts ---- */
.wsbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.wsbar h1 b{color:var(--teal)}.wsbar h1 .muted{font-size:10px;letter-spacing:2px;margin-left:8px}
.wsbar .ranges button.on{color:var(--on-accent);background:var(--teal);border-color:var(--teal)}
.ws{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}
.wsside{padding:14px 14px 12px;max-height:calc(100vh - 150px);overflow:auto;position:sticky;top:10px}
.wslists,.wsadd{display:flex;gap:6px;margin-bottom:8px}.wslists select,.wsadd input{flex:1;min-width:0}
.wsadd input.bad{border-color:var(--red)}
.wsmini{font:inherit;font-size:13px;background:var(--chip);border:1px solid var(--line);color:var(--steel);padding:2px 10px;cursor:pointer}.wsmini:hover{color:var(--hi);border-color:var(--teal)}
.wsmenu{display:flex;flex-direction:column;gap:4px;margin:-2px 0 10px}.wsmenu button{font:inherit;font-size:11px;letter-spacing:1px;text-align:left;background:var(--chip);border:1px solid var(--line);color:var(--hi);padding:6px 10px;cursor:pointer}
.wsmenu button:hover{border-color:var(--teal)}.wsmenu .neg{color:var(--red)}
.wswl{width:100%;border-collapse:collapse;font-size:12px}.wswl th{font-size:9px;letter-spacing:1px;color:var(--dim);text-align:left;padding:4px 4px;border-bottom:1px solid var(--line);font-weight:400}
.wswl td{padding:6px 4px;border-bottom:1px solid var(--line);white-space:nowrap}.wswl .n{text-align:right;font-variant-numeric:tabular-nums}
.wswl tbody tr{cursor:pointer}.wswl tbody tr:hover,.wswl tbody tr:focus{background:var(--chip);outline:none}.wswl tr.cur td{background:color-mix(in srgb,var(--teal) 14%,transparent)}
.wswl td.sym{color:var(--hi);letter-spacing:1px;max-width:96px;overflow:hidden;text-overflow:ellipsis}.wswl .wsbk{color:var(--amber)}
.wswl .tr{text-align:center}.wsx{background:none;border:0;color:var(--dim);cursor:pointer;font:inherit;padding:0 2px}.wsx:hover{color:var(--red)}
.wsnote{font-size:11px;line-height:1.5;margin:10px 0 0}
.wscharts{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}
.wscharts.l2,.wscharts.l4{grid-template-columns:repeat(2,minmax(0,1fr))}
.wspane{padding:10px 12px 8px;display:flex;flex-direction:column;height:calc(100vh - 160px);min-height:560px}
.wscharts.l4 .wspane{height:calc((100vh - 172px)/2);min-height:460px}
.wspane.focus{border-color:var(--teal)}.wsmenu[hidden]{display:none}
.wsph{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wssym input{width:150px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:5px 8px}
.wstf{display:flex;gap:2px}.wstf button{font:inherit;font-size:10px;letter-spacing:1px;background:var(--chip);border:1px solid var(--line);color:var(--steel);padding:4px 7px;cursor:pointer}
.wstf button.on{background:var(--teal);color:var(--on-accent);border-color:var(--teal)}
.wsq{font-size:13px;letter-spacing:1px}.wsq b{color:var(--hi);margin-right:4px}
.wsstat{font-size:9px;letter-spacing:1px;margin-left:auto;text-align:right}
.wsohlc{font-size:10px;letter-spacing:.5px;margin:6px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wsohlc b{color:var(--hi)}
.wschips{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:6px;min-height:20px}
.wschip{font-size:10px;font-weight:700;letter-spacing:.3px;padding:3px 6px;color:#06110c;background:#3fe36b;line-height:1.2;white-space:nowrap}
.wschip.bad{background:#ff3b3b;color:#fff}.wschip.warn{background:#ffd60a;color:#1a1400}.wschip.info{background:#28e0ff;color:#03181d}
.wschip.man{background:#c9d1d9;color:#111}.wschip.plain{background:#fff;color:#111}
.wsc{flex:1;min-height:0;position:relative}
.wschip i{font-style:normal}.wscharts.l4 .wschip i,.wscharts.l4 .wschip.sm{display:none}.wscharts.l4 .wschip{font-size:9px;padding:2px 5px}
.wscharts.l4 .wsohlc{margin:4px 0 3px}
.wsstudies{position:fixed;right:24px;top:120px;width:min(560px,calc(100vw - 32px));z-index:40;max-height:calc(100vh - 150px);overflow:auto;background:linear-gradient(170deg,var(--panel-a),var(--panel-b)),var(--bg)}
.wsstudies .hd{display:flex;justify-content:space-between;align-items:center}
.wsst-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:10px 0}
.wsst-grid fieldset{border:1px solid var(--line);padding:8px 10px;display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}
.wsst-grid legend{font-size:10px;letter-spacing:2px;color:var(--amber);padding:0 4px}
.wsst-grid label{font-size:10px;letter-spacing:1px;color:var(--steel);display:flex;flex-direction:column;gap:3px}.wsst-grid label.ck{flex-direction:row;align-items:center;gap:6px}
.wsst-grid input[type=number]{width:100%}
.wschip.cdl{background:#1b2228;color:#e6edf3;border:1px solid #5b6570;padding:2px 6px;text-decoration:none;cursor:pointer}a.wschip.cdl:hover{border-color:var(--teal)}
.wschip.cdl.bull{border-color:#3fe36b;color:#7dffa3}.wschip.cdl.bear{border-color:#ff3b3b;color:#ff8b8b}
.wstip{position:absolute;z-index:6;max-width:260px;pointer-events:none;background:var(--well);border:1px solid var(--line);box-shadow:0 6px 18px var(--shadow);padding:8px 10px;font-size:11px;line-height:1.5;color:var(--hi)}
.wstip b{display:block;letter-spacing:1px;margin-bottom:3px}.wstip b.bull{color:var(--grn)}.wstip b.bear{color:var(--red)}.wstip small{display:block;margin-top:5px;font-size:9px;letter-spacing:1px;color:var(--steel)}
.wstip .form{color:var(--amber)}.wsc.cdl-hot{cursor:pointer}
@media (max-width:1100px){.ws{grid-template-columns:1fr}.wsside{position:static;max-height:none}.wscharts.l2,.wscharts.l4{grid-template-columns:1fr}.wscharts.l4 .wspane{height:calc(100vh - 160px)}}
@media (max-width:600px){.wspane{min-height:460px;padding:8px}.wssym input{width:110px}}
/* ---- TOS Kit ---- */
.toskit .tos-wide{grid-column:1/-1}
.tossteps{margin:0;padding-left:20px;line-height:1.65;font-size:13px}.tossteps li{margin-bottom:8px}.tossteps code,.toskit p code{color:var(--amber)}
.tosbtns{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.tospre{background:var(--well);box-shadow:var(--well-shadow);padding:12px 14px;font-size:11px;line-height:1.5;overflow:auto;max-height:340px;white-space:pre;color:var(--hi);margin:0}
@media (max-width:900px){.toskit.g11{grid-template-columns:1fr}}
/* ---- Ask Surf Daddy ---- */
.ask-wrap{max-width:900px;margin:0 auto}
.ask-log{display:flex;flex-direction:column;gap:12px;max-height:calc(100vh - 380px);min-height:260px;overflow:auto;padding:4px 2px 8px}
.ask-msg{padding:10px 14px;border:1px solid var(--line);background:var(--chip);max-width:88%;line-height:1.55;font-size:13px}
.ask-msg>b{display:block;font-size:10px;letter-spacing:2px;color:var(--teal);margin-bottom:4px;font-weight:400}
.ask-msg.you{align-self:flex-end;border-color:color-mix(in srgb,var(--amber) 50%,var(--line))}.ask-msg.you>b{color:var(--amber)}
.ask-msg.bot{align-self:flex-start}.ask-msg.wait{opacity:.7}.ask-msg.err{border-color:var(--red)}.ask-msg .md p{margin:0 0 6px}.ask-msg .md p:last-child{margin:0}
.ask-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ask-link{font-size:11px;letter-spacing:.5px;padding:4px 8px;border:1px solid var(--line);color:var(--teal);text-decoration:none}.ask-link:hover{border-color:var(--teal)}
.ask-link.video{color:var(--amber)}.ask-link.video:hover{border-color:var(--amber)}
.ask-starters{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.ask-starters[hidden]{display:none}
.ask-starters button{font:inherit;font-size:11px;background:none;border:1px dashed var(--line);color:var(--steel);padding:6px 10px;cursor:pointer}.ask-starters button:hover{color:var(--hi);border-color:var(--teal)}
.ask-form{display:flex;gap:8px;margin-top:10px;align-items:stretch}.ask-form textarea{flex:1;resize:vertical;min-height:46px}
.ask-foot{font-size:11px;line-height:1.5;margin:12px 0 0}.ask-left{font-size:10px;letter-spacing:1px;margin-right:6px}
@media (max-width:600px){.ask-msg{max-width:100%}.ask-form{flex-direction:column}}

/* calculator: too-large warning */
.calc-warn{border:1px solid var(--red);background:color-mix(in srgb,var(--red) 10%,transparent);padding:10px 14px;margin:0 0 12px;font-size:12px;line-height:1.55}
.calc-warn[hidden]{display:none}.calc-warn b{color:var(--red);letter-spacing:2px;font-size:11px}.calc-warn ul{margin:6px 0 10px;padding-left:18px}
.calc-warn .btn{border-color:var(--red)}
/* API key boxes: masked like a password, but a plain text box so the browser doesn't fill in a saved login */
.keybox{-webkit-text-security:disc;font-family:monospace}
/* Admin → Groups: tick lists */
.gchecks{border:1px solid var(--line);padding:8px 12px 10px;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px 14px}
.gchecks legend{font-size:11px;letter-spacing:2px;color:var(--muted);padding:0 6px}
.form .gchecks label.gcheck{display:flex;flex-direction:row;justify-content:flex-start;text-align:left;gap:8px;align-items:center;font-size:12px;letter-spacing:.5px;text-transform:none;color:var(--text)}
.form .gchecks label.gcheck small{margin-left:auto}
.form .gchecks label.gcheck input{width:auto;margin:0;flex:none}
.ai-allow{font-size:10.5px;letter-spacing:1.5px;margin:-6px 0 12px}
/* My Login: two-factor setup */
.tfa-setup{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:start}
.tfa-qr{width:220px;height:220px;background:#fff;padding:6px;border-radius:6px}
.tfa-qr svg{width:100%;height:100%;display:block}
.tfa-steps{margin:0 0 14px 18px;padding:0;line-height:1.8;font-size:13px}
.tfa-key{font-size:13px;letter-spacing:1px;word-break:break-all}
.tfa-codes{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px;max-width:680px}
.tfa-codes code{font-size:14px;letter-spacing:2px;padding:6px 8px;border:1px solid var(--line);text-align:center}
@media (max-width:700px){.tfa-setup{grid-template-columns:1fr}}

/* ---- the picture menu at the top right (core/lib/layout.php user_menu) ---- */
.av{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;object-fit:cover;flex:none;background:var(--sunk);
  border:1px solid var(--line);box-shadow:0 0 0 2px var(--bg);vertical-align:middle}
.av-init{font-family:var(--mono);font-weight:700;letter-spacing:1px;color:#fff;background:hsl(var(--av-h,190) 45% 34%);text-shadow:0 1px 2px rgba(0,0,0,.4)}
header.top{align-items:center;z-index:30}
.usermenu{position:relative;margin-left:4px}
.usermenu>summary{list-style:none;cursor:pointer;border-radius:50%;padding:2px;display:block;line-height:0}
.usermenu>summary::-webkit-details-marker{display:none}
.usermenu>summary:hover .av,.usermenu[open]>summary .av{border-color:var(--teal);box-shadow:0 0 0 2px var(--bg),0 0 12px rgba(95,240,204,.35)}
.usermenu>summary:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.um-pop{position:absolute;right:0;top:calc(100% + 10px);z-index:50;min-width:260px;max-width:calc(100vw - 32px);background:var(--bg);
  border:1px solid var(--line);box-shadow:0 14px 40px var(--shadow);padding:8px}
.um-head{display:flex;gap:14px;align-items:center;padding:10px 10px 14px;border-bottom:1px solid var(--rule);margin-bottom:6px}
.um-who b{display:block;color:var(--hi);font-size:14px;letter-spacing:1px}
.um-who span{display:block;color:var(--steel);font-size:12px;margin-top:3px;overflow-wrap:anywhere}
.um-who small{display:block;color:var(--dim);font-size:10px;letter-spacing:2px;margin-top:5px}
.um-pop a{display:flex;align-items:center;gap:10px;padding:10px 12px;color:var(--steel);text-decoration:none;font-size:12px;letter-spacing:2px;text-transform:uppercase;border:1px solid transparent}
.um-pop a:hover,.um-pop a:focus-visible{color:var(--hi);border-color:var(--line);background:var(--sunk);outline:none}
.um-pop a.on{color:var(--teal)}
.um-ic{width:18px;text-align:center;color:var(--dim)}
.av-edit{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.av-edit .form{flex:1;min-width:220px}
@media (max-width:640px){.um-pop{position:fixed;right:16px;left:16px;top:70px;min-width:0}}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.av-icon{border:none}
.av-or{display:flex;align-items:center;gap:12px;margin:18px 0 12px;color:var(--dim);font-size:10px;letter-spacing:3px}
.av-or::before,.av-or::after{content:"";flex:1;height:1px;background:var(--rule)}
.av-gallery fieldset{border:0;padding:0;margin:0 0 12px}
.av-gallery legend{font-size:10px;letter-spacing:2px;color:var(--dim);margin-bottom:6px;padding:0}
.av-icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px}
.av-icons label,.av-colours label{position:relative;cursor:pointer;display:flex;justify-content:center}
.av-icons input,.av-colours input{position:absolute;opacity:0;pointer-events:none}
.av-icons .av{width:52px;height:52px;transition:transform .12s;box-shadow:none}
.av-icons label:hover .av{transform:scale(1.07)}
.av-icons input:checked+.av{outline:3px solid var(--teal);outline-offset:3px}
.av-icons input:focus-visible+.av,.av-colours input:focus-visible+span{outline:2px dashed var(--hi);outline-offset:3px}
.av-colours{display:flex;flex-wrap:wrap;gap:8px}
.av-colours span{display:block;width:26px;height:26px;border-radius:50%;border:2px solid var(--line)}
.av-colours input:checked+span{outline:3px solid var(--teal);outline-offset:2px}
.um-pop a.um-alert{color:var(--amber)}
.um-pop a.um-alert .um-ic{color:var(--amber)}
/* ---- Support (core/pages/support.php, Admin → Support) ---- */
.sup-contact{margin:-6px 0 14px;font-size:12px}
.sup-grid{align-items:start}
.sup-chat .ask-log{max-height:calc(100vh - 420px)}
.sup-chat-foot{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.sup-chat-foot form{margin:0}
.ask-link.sup-ticket{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 50%,var(--line))}
.tk-log{max-height:none;min-height:0}
.tk-body{white-space:normal;overflow-wrap:anywhere}
.tk-event{align-self:center;font-size:11px;letter-spacing:1px}
.tk-status{display:inline-block;font-size:10px;letter-spacing:1.5px;padding:2px 7px;border:1px solid var(--line);white-space:nowrap}
.tk-open{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 55%,var(--line))}
.tk-answered{color:var(--teal);border-color:color-mix(in srgb,var(--teal) 55%,var(--line))}
.tk-closed{color:var(--dim)}
.tk-subj{min-width:14em}
.rules-sum{font-size:11px;letter-spacing:.5px;color:var(--steel)}
/* ---- Tools (plugins/tools) ---- */
.tools{align-items:start}
.tools-col{display:flex;flex-direction:column;gap:18px;min-width:0}
.tl-calc{max-width:420px}
.tl-display{background:var(--well);box-shadow:var(--well-shadow);border:1px solid var(--line);padding:10px 12px;margin-bottom:10px}
.tl-display input{width:100%;box-sizing:border-box;background:none;border:0;color:var(--hi);font:inherit;font-size:26px;text-align:right;letter-spacing:1px;outline:none;padding:0}
.tl-res{min-height:18px;text-align:right;color:var(--teal);font-size:13px;margin-top:4px;overflow-wrap:anywhere}
.tl-res.done{color:var(--dim)}.tl-res.err{color:var(--red)}
.tl-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.tl-keys button{font:inherit;font-size:18px;padding:12px 0;background:var(--chip);color:var(--hi);border:1px solid var(--line);cursor:pointer}
.tl-keys button:hover,.tl-keys button:focus-visible{border-color:var(--teal);outline:none}
.tl-keys button:active{transform:translateY(1px)}
.tl-keys .op{color:var(--amber)}.tl-keys .fn{color:var(--steel);font-size:15px}
.tl-keys .eq{background:var(--teal);color:var(--on-accent);border-color:var(--teal)}
.tl-session{padding:12px 14px;border:1px solid var(--line);margin-bottom:12px}
.tl-session b{display:block;font-size:18px;letter-spacing:3px}
.tl-session span{display:block;color:var(--steel);font-size:12px;margin-top:4px}
.tl-session.open{border-color:var(--grn)}.tl-session.open b{color:var(--grn)}
.tl-session.pre{border-color:var(--amber)}.tl-session.pre b{color:var(--amber)}
.tl-session.shut b{color:var(--dim)}
.tl-times{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}
.tl-times small,.tl-off small{display:block;font-size:10px;letter-spacing:2px;color:var(--dim)}
.tl-times b{font-size:20px;font-weight:400;color:var(--hi);font-variant-numeric:tabular-nums}
.tl-day{font-size:12px;min-height:16px;color:var(--amber)}
.tl-hours{font-size:11px;margin:6px 0 12px}
.tl-off div{display:grid;grid-template-columns:110px 1fr auto;gap:10px;font-size:12px;padding:5px 0;border-bottom:1px solid var(--rule)}
.tl-off b{font-weight:400;font-size:10px;letter-spacing:1.5px;color:var(--amber)}
.tl-pad textarea,.tl-desk textarea{width:100%;box-sizing:border-box;resize:vertical;line-height:1.6;font-size:13px}
.tl-acts{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}
.tl-acts .muted{font-size:11px;margin-left:auto}
header.top .top-r{display:flex;align-items:center;gap:10px;flex:1 1 auto;justify-content:flex-end;min-width:0}
header.top .top-r nav{justify-content:flex-end;min-width:0}
@media (max-width:900px){header.top .top-r{justify-content:space-between;align-items:flex-start;width:100%}header.top .top-r nav{justify-content:flex-start}}
