html,body{margin:0}

/* Kill vs. Life, isolated HP Strategy module. Does not change existing layouts or model values. */
#v-strategy #life-decision-lab{scroll-margin-top:96px;--life-good:#8BF0A0;--life-warn:#FFB347;--life-blue:#A9D4FF;--life-bad:#FF8A7A}
#v-strategy #life-decision-lab h2{margin:8px 0 12px}
#v-strategy #life-decision-lab h3{font:800 17px var(--hero);margin:0 0 9px}
#v-strategy #life-decision-lab .life-subhead{font:600 17px var(--body);color:var(--dim);vertical-align:middle;white-space:nowrap}
#v-strategy #life-decision-lab .life-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:18px 0 14px}
#v-strategy #life-decision-lab .life-kpis>div{padding:12px 14px;background:var(--panel);border:1px solid var(--line2);min-width:0}
#v-strategy #life-decision-lab .life-kpis b{display:block;font:900 27px var(--hero);color:var(--fg);font-variant-numeric:tabular-nums}
#v-strategy #life-decision-lab .life-kpis span{display:block;color:var(--muted);font-size:12px}
#v-strategy #life-decision-lab .life-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:18px 0 12px}
#v-strategy #life-decision-lab .life-toolbar>label{display:grid;gap:5px;font-size:12px;color:var(--muted)}
#v-strategy #life-decision-lab .life-toolbar select{min-width:130px;padding:8px 10px;border:1px solid var(--line2);background:var(--panel2);color:var(--fg);font:600 14px var(--body)}
#v-strategy #life-decision-lab .life-window-picker{display:grid;gap:5px;font-size:12px;color:var(--muted)}
#v-strategy #life-decision-lab #life-time{display:flex;gap:4px}
#v-strategy #life-decision-lab #life-time button{cursor:pointer;padding:8px 12px;background:var(--panel2);color:var(--muted);border:1px solid var(--line2);font:600 13px var(--body)}
#v-strategy #life-decision-lab #life-time button[aria-pressed=true]{background:var(--enemy);border-color:var(--enemy);color:#0B0F11}
#v-strategy #life-decision-lab .life-layout{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(280px,1fr);gap:14px;align-items:start}
#v-strategy #life-decision-lab .life-map-panel,#v-strategy #life-decision-lab .life-picks{background:var(--panel);border:1px solid var(--line2);padding:12px;min-width:0}
#v-strategy #life-decision-lab .life-map{position:relative;aspect-ratio:810/430;background:rgba(9,10,11,.45);overflow:hidden;border:1px solid var(--line)}
#v-strategy #life-decision-lab .life-map img{width:100%;height:100%;display:block;object-fit:fill}
#v-strategy #life-decision-lab .life-map .life-dot{position:absolute;transform:translate(-50%,-50%);width:25px;height:25px;border-radius:50%;border:2px solid #0C0E10;background:var(--enemy);color:#0D1012;font:800 12px var(--body);display:grid;place-items:center;box-shadow:0 0 0 1px rgba(139,240,160,.2)}
#v-strategy #life-decision-lab .life-map .life-dot.break{background:var(--life-blue)}
#v-strategy #life-decision-lab .life-map .life-dot.active{background:var(--life-warn);z-index:2;width:31px;height:31px;border-color:#fff}
#v-strategy #life-decision-lab .life-map-key{margin:8px 0 0;font-size:12px;color:var(--dim)}
#v-strategy #life-decision-lab .life-map-key i{display:inline-block;width:9px;height:9px;background:var(--enemy);margin-right:5px}
#v-strategy #life-decision-lab #life-position-list{display:grid;gap:6px}
#v-strategy #life-decision-lab .life-choice{width:100%;cursor:pointer;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--panel2);border:1px solid var(--line2);padding:8px 10px;color:var(--fg);font:600 13px var(--body)}
#v-strategy #life-decision-lab .life-choice[aria-pressed=true]{border-color:var(--enemy);background:#22292D}
#v-strategy #life-decision-lab .life-status,#v-strategy .life-plan-inline .life-status{font:700 11px var(--body);padding:2px 7px;border:1px solid currentColor;white-space:nowrap}
#v-strategy .life-status.protect{color:var(--enemy)}
#v-strategy .life-status.delay{color:var(--life-warn,#FFB347)}
#v-strategy #life-decision-lab #life-primary-call{border-left:3px solid var(--enemy);background:var(--panel2);padding:10px 12px;margin-top:12px;color:var(--muted);font-size:13px}
#v-strategy #life-decision-lab #life-primary-call strong{color:var(--fg)}
#v-strategy #life-decision-lab .life-panel-bottom{margin-top:14px;padding:14px;background:var(--panel);border:1px solid var(--line2)}
#v-strategy #life-decision-lab .life-panel-head{display:flex;gap:15px;align-items:center;justify-content:space-between;flex-wrap:wrap}
#v-strategy #life-decision-lab .life-outcome-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
#v-strategy #life-decision-lab .life-outcome{background:var(--panel2);border:1px solid var(--line2);padding:12px;min-width:0}
#v-strategy #life-decision-lab .life-outcome h4{font:600 13px var(--body);color:var(--muted);margin:0 0 7px;min-height:34px}
#v-strategy #life-decision-lab .life-outcome b{font:900 27px var(--hero);font-variant-numeric:tabular-nums}
#v-strategy #life-decision-lab .life-outcome b.positive{color:var(--enemy)}
#v-strategy #life-decision-lab .life-outcome b.negative{color:var(--bad)}
#v-strategy #life-decision-lab .life-outcome b.zero{color:var(--muted)}
#v-strategy #life-decision-lab .life-outcome small{display:block;font:500 11px var(--body);color:var(--dim);margin-top:4px}
#v-strategy #life-decision-lab .life-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
#v-strategy #life-decision-lab .life-metric{padding:12px;border:1px solid var(--line);background:var(--panel2)}
#v-strategy #life-decision-lab .life-metric b{font:900 22px var(--hero)}
#v-strategy #life-decision-lab .life-metric span{display:block;font-size:12px;color:var(--muted);margin-top:2px}
#v-strategy .life-plan-inline{background:rgba(139,240,160,.025);border:1px solid var(--line);padding:10px 12px;margin-top:9px}
#v-strategy .life-plan-inline .life-inline-title{color:var(--dim);font:600 12px var(--body);margin-bottom:9px}
#v-strategy .life-plan-inline .life-inline-rows{display:grid;gap:6px}
#v-strategy .life-plan-inline .life-inline-row{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12.5px}
#v-strategy .life-plan-inline .life-inline-row span:first-child{color:var(--fg)}
#v-strategy .life-plan-inline .life-inline-link{font:600 12px var(--body);border:0;background:none;color:var(--enemy);text-decoration:underline;cursor:pointer;margin-top:9px;padding:0}
#v-strategy .life-plan-inline .life-footnote{font-size:11px;color:var(--dim);margin-top:7px}
@media(max-width:860px){#v-strategy #life-decision-lab .life-layout{grid-template-columns:minmax(0,1fr)}#v-strategy #life-decision-lab .life-outcome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){#v-strategy #life-decision-lab .life-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}#v-strategy #life-decision-lab .life-outcome b{font-size:23px}#v-strategy #life-decision-lab .life-metrics{grid-template-columns:minmax(0,1fr)}#v-strategy #life-decision-lab .life-toolbar select{min-width:100px}#v-strategy #life-decision-lab .life-toolbar>label{flex:1 1 110px}#v-strategy #life-decision-lab .life-window-picker{width:100%}}



/* THE LAB / ADS transition timing research — isolated from general settings cards */
#ads-transition-lab{--ads-green:#8bf0a0;--ads-blue:#a9d4ff;--ads-gold:#ffd36e;overflow:hidden}
#ads-transition-lab .ads-head{display:flex;gap:16px;align-items:start;justify-content:space-between;margin-bottom:15px}
#ads-transition-lab .ads-overline{font:750 10px var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--enemy)}
#ads-transition-lab .ads-head h3{font:800 clamp(21px,2.7vw,32px)/1.16 var(--display);color:var(--fg);margin:6px 0 10px;letter-spacing:-.025em}
#ads-transition-lab .ads-head p{font:400 14px/1.7 var(--body);color:var(--muted);max-width:71ch;margin:0}
#ads-transition-lab .ads-pick{border:1px solid rgba(139,240,160,.4);background:linear-gradient(132deg,#283135,rgba(25,30,33,.45));padding:11px 14px;min-width:132px;max-width:195px}
#ads-transition-lab .ads-pick small{display:block;color:#B7C2BD;text-transform:uppercase;letter-spacing:.1em;font:700 10px var(--display);margin-bottom:3px}
#ads-transition-lab .ads-pick b{display:block!important;color:var(--enemy);font:800 21px var(--display)}
#ads-transition-lab .ads-pick span{display:block;color:#BDC3C0;font:500 11px/1.5 var(--body);margin-top:5px}
#ads-transition-lab .ads-option-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 17px}
#ads-transition-lab .ads-mode{border:1px solid var(--line2);background:var(--panel2);color:var(--fg);padding:15px;min-width:0;text-align:left;cursor:pointer;min-height:200px;display:flex;flex-direction:column;align-items:stretch;gap:7px;transition:border-color .15s,background .15s}
#ads-transition-lab .ads-mode:hover{border-color:rgba(139,240,160,.65)}
#ads-transition-lab .ads-mode[aria-pressed="true"]{border-color:var(--enemy);background:linear-gradient(155deg,#20262A,rgba(22,26,27,.45));box-shadow:inset 0 3px 0 var(--enemy)}
#ads-transition-lab .ads-mode .ads-mode-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
#ads-transition-lab .ads-mode strong{display:inline!important;font:800 17px var(--display);letter-spacing:.01em}
#ads-transition-lab .ads-mode .ads-label{color:#97b8a1;font:700 10px var(--display);text-transform:uppercase;letter-spacing:.05em}
#ads-transition-lab .ads-mode .ads-blurb{display:block;font:400 12px/1.56 var(--body);color:var(--muted)}
#ads-transition-lab .ads-mode .ads-trait{display:block;margin-top:auto;padding-top:9px;border-top:1px solid rgba(139,240,160,.15);color:var(--fg);font:700 11px/1.4 var(--body)}
#ads-transition-lab .ads-simulator{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.8fr);gap:16px;align-items:start;background:linear-gradient(140deg,rgba(24,29,31,.45),rgba(17,20,22,.45));border:1px solid var(--line2);padding:15px}
#ads-transition-lab .ads-plot{min-width:0}
#ads-transition-lab .ads-plot svg{display:block;width:100%;height:auto;max-height:320px;background:rgba(16,19,21,.45);border:1px solid #333B40}
#ads-transition-lab .ads-legend{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:10px}
#ads-transition-lab .ads-legend span{display:flex;align-items:center;gap:6px;color:var(--muted);font:600 11px var(--body)}
#ads-transition-lab .ads-legend i{display:inline-block;width:16px;height:3px;flex:none}
#ads-transition-lab .ads-control{display:grid;gap:16px}
#ads-transition-lab .ads-control label{font:700 12px var(--body);color:var(--fg);display:flex;justify-content:space-between;gap:12px}
#ads-transition-lab .ads-control output{color:var(--enemy);font:800 13px var(--mono)}
#ads-transition-lab .ads-control input[type="range"]{width:100%;accent-color:var(--enemy);margin:12px 0 4px}
#ads-transition-lab .ads-caption{color:var(--dim);font:400 11px/1.55 var(--body);margin:7px 0 0}
#ads-transition-lab .ads-now{display:grid;gap:7px;margin-top:5px}
#ads-transition-lab .ads-now>div{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(139,240,160,.14);padding:5px 0;font:600 12px var(--body)}
#ads-transition-lab .ads-now>div span{color:var(--muted)}
#ads-transition-lab .ads-now>div b{display:inline!important;color:var(--fg);font:800 13px var(--mono)}
#ads-transition-lab .ads-now>div[data-active="true"] b{color:var(--enemy)}
#ads-transition-lab .ads-takeaway{border-left:3px solid var(--enemy);padding:13px 15px;background:rgba(139,240,160,.065);color:var(--fg);font:400 13px/1.72 var(--body)}
#ads-transition-lab .ads-takeaway strong,#ads-transition-lab .ads-foot strong,#ads-transition-lab .ads-detail strong{display:inline!important;font:inherit;font-weight:800;color:var(--fg)}
#ads-transition-lab .ads-detail{display:grid;gap:6px}
#ads-transition-lab .ads-detail strong{font:800 14px var(--display)!important}
#ads-transition-lab .ads-detail p{margin:0;color:var(--muted);font:400 13px/1.63 var(--body)}
#ads-transition-lab .ads-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:15px}
#ads-transition-lab .ads-bottom>div{background:var(--panel2);border:1px solid var(--line2);padding:13px;min-width:0}
#ads-transition-lab .ads-bottom h4{font:800 14px var(--display);color:var(--fg);margin:0 0 7px}
#ads-transition-lab .ads-bottom p{font:400 12px/1.65 var(--body);color:var(--muted);margin:0}
#ads-transition-lab .ads-foot{font:400 11px/1.7 var(--body);color:var(--dim);margin:12px 0 0}
#ads-transition-lab .ads-foot a{color:var(--enemy)}
@media(max-width:800px){#ads-transition-lab .ads-simulator{grid-template-columns:1fr}#ads-transition-lab .ads-mode{min-height:190px}}
@media(max-width:640px){#ads-transition-lab .ads-option-grid{grid-template-columns:1fr;gap:8px}#ads-transition-lab .ads-mode{min-height:0;padding:12px}#ads-transition-lab .ads-head{flex-direction:column}#ads-transition-lab .ads-pick{max-width:none;min-width:0;box-sizing:border-box;width:100%}#ads-transition-lab .ads-bottom{grid-template-columns:1fr}#ads-transition-lab .ads-simulator{padding:10px}}

/* THE LAB: global setting-name finder, across all Settings categories */
#v-settings .search{flex:0 1 300px;min-width:230px;z-index:35}
#v-settings .search input{border-radius:5px;padding-right:32px;min-height:40px;transition:border-color .15s,box-shadow .15s}
#v-settings .search input:focus{outline:none;border-color:var(--enemy);box-shadow:0 0 0 3px rgba(139,240,160,.10)}
#v-settings .settings-finder{position:absolute;top:calc(100% + 9px);right:0;width:min(455px,calc(100vw - 24px));max-height:min(470px,65vh);overflow:auto;overscroll-behavior:contain;background:rgba(19,22,24,.45);border:1px solid #4E5558;border-radius:7px;box-shadow:0 22px 52px rgba(0,0,0,.5);z-index:40;padding:6px}
#v-settings .settings-finder[hidden]{display:none!important}
#v-settings .settings-finder-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 9px;color:#B4BDB9;font:750 11px var(--display);letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid rgba(139,240,160,.18);margin-bottom:4px}
#v-settings .settings-finder-head small{font:500 11px var(--body);letter-spacing:normal;color:var(--dim);text-transform:none}
#v-settings .settings-finder-item{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;width:100%;padding:12px 10px;background:transparent;color:var(--fg);border:1px solid transparent;border-radius:4px;cursor:pointer}
#v-settings .settings-finder-item:hover,#v-settings .settings-finder-item[aria-selected="true"]{background:#252B2E;border-color:rgba(139,240,160,.28)}
#v-settings .settings-finder-item:focus-visible{outline:2px solid var(--enemy);outline-offset:-2px}
#v-settings .settings-finder-copy{display:grid;gap:5px;min-width:0}
#v-settings .settings-finder-name{font:700 13px/1.35 var(--body);overflow-wrap:anywhere}
#v-settings .settings-finder-name mark{background:rgba(139,240,160,.23);color:#d4ffe0;border-radius:2px;padding:0 1px}
#v-settings .settings-finder-location{font:500 11px var(--body);color:#93b89d}
#v-settings .settings-finder-chevron{flex:none;color:var(--enemy);font:700 20px var(--display)}
#v-settings .settings-finder-empty{color:var(--muted);font:500 13px var(--body);padding:16px 12px;line-height:1.5}
#v-settings .row.settings-located{background:linear-gradient(100deg,rgba(139,240,160,.14),rgba(139,240,160,.045));outline:2px solid var(--enemy);outline-offset:-2px;scroll-margin-top:180px}
#v-settings .settings-search-status.settings-found{display:block;color:#b7ecc3;border-left:3px solid var(--enemy);padding:9px 12px;background:rgba(29,34,37,.45);margin:10px 0 16px}
@media(max-width:750px){
 #v-settings .search{flex:1 1 100%;min-width:0;width:100%}
 #v-settings .settings-finder{width:100%;max-height:min(420px,55vh);box-sizing:border-box;right:0;left:0}
}

/* ─────────────────── THE LAB / SETTINGS EXPERIENCE ─────────────────── */
:root{--thelab-glow:rgba(139,240,160,.14)}
.top{border-bottom-color:rgba(139,240,160,.20)}
.brand{display:flex;align-items:center;gap:8px;letter-spacing:.02em;text-transform:none;font-size:19px;font-weight:800}
.brand .brand-name{white-space:nowrap;line-height:1.1}
.brand .brand-name b{color:var(--enemy)}
.brand .by{font-size:11px;font-weight:500;letter-spacing:.02em;white-space:nowrap}
#v-settings .hero{position:relative}
#v-settings .hero>div:first-child{position:relative;z-index:1}
#v-settings .hero .eyebrow{margin-bottom:10px;letter-spacing:.16em}
#v-settings .hero h1{font-size:clamp(38px,5.8vw,68px);line-height:.98;letter-spacing:-.018em}
#v-settings .hero .lede{max-width:65ch;line-height:1.58}
#v-settings .hero .ctas{margin-top:19px}
#v-settings .hero .legend.slim{border-color:rgba(139,240,160,.16);background:linear-gradient(130deg,rgba(139,240,160,.055),var(--panel) 70%)}
#v-settings .sbar{border-top:1px solid rgba(139,240,160,.21);box-shadow:0 12px 34px rgba(0,0,0,.13)}
#v-settings .tab{border-radius:2px;transition:background .15s,color .15s,border-color .15s}
#v-settings .tab[aria-selected="true"]{background:var(--enemy);border-color:var(--enemy);color:#0D1012}
#v-settings .tab[aria-selected="true"] small{color:#333B3F}
#v-settings .smain{padding-top:19px}
#v-settings .settings-panel-heading{display:flex;justify-content:space-between;align-items:end;gap:14px;flex-wrap:wrap;padding:5px 0 15px;border-bottom:1px solid var(--line)}
#v-settings .settings-panel-heading .kicker{margin:0 0 4px;font-size:10px;letter-spacing:.19em}
#v-settings .settings-panel-heading h2{font:700 clamp(23px,3.1vw,34px)/1.1 var(--display);letter-spacing:-.02em;margin:0;text-transform:none;color:var(--fg)}
#v-settings .settings-panel-heading p{margin:5px 0 0;color:var(--muted);font-size:13px;max-width:60ch}
#v-settings .settings-panel-heading .section-total{border:1px solid var(--line2);background:var(--panel);color:var(--enemy);font:700 12px var(--mono);padding:8px 11px;white-space:nowrap}
#v-settings .settings-section-label{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:17px 0 10px;color:var(--dim);font:700 11px var(--display);letter-spacing:.16em;text-transform:uppercase}
#v-settings .settings-section-label::after{content:"";height:1px;background:var(--line2);flex:1}
#v-settings .subnav{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:9px;margin:0 0 16px}
#v-settings .subnav .subtab{display:flex;gap:9px;min-width:0;align-items:center;justify-content:space-between;position:relative;text-align:left;border:1px solid var(--line2);background:linear-gradient(130deg,rgba(255,255,255,.018),var(--panel) 80%);color:var(--fg);padding:12px 12px 13px;cursor:pointer;transition:background .16s,border-color .16s,transform .16s;min-height:64px;font:700 13px var(--display)}
#v-settings .subnav .subtab:hover{border-color:rgba(139,240,160,.55);background:rgba(32,37,39,.45);transform:translateY(-1px)}
#v-settings .subnav .subtab[aria-selected="true"]{border-color:var(--enemy);background:linear-gradient(132deg,#262F33,rgba(25,29,31,.45) 90%);box-shadow:inset 0 1px 0 rgba(139,240,160,.21),0 6px 22px rgba(0,0,0,.17)}
#v-settings .subnav .subtab.is-no-match{opacity:.44}
#v-settings .sub-count{color:var(--dim);font:600 12px var(--mono);text-transform:none;letter-spacing:0;white-space:nowrap}
#v-settings .subnav .subtab[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--enemy)}
#v-settings .subnav .subtab:focus-visible{outline:2px solid #FFD36E;outline-offset:3px}
#v-settings .subtab .subtab-index{font:700 10px var(--mono);color:var(--enemy);letter-spacing:0}
#v-settings .subtab .subtab-main{display:grid;gap:6px;min-width:0}
#v-settings .subtab .subtab-main strong{font-size:15px;line-height:1.15;overflow-wrap:anywhere}
#v-settings .subtab .subtab-count{font:600 11px var(--mono);color:var(--muted);white-space:nowrap}
#v-settings .subtab .subtab-arrow{color:var(--enemy);font:800 21px var(--display)}
#v-settings .sub[hidden]{display:none!important}
#v-settings .sub{margin-bottom:20px;animation:thelab-enter .17s ease-out}
@keyframes thelab-enter{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:none}}
#v-settings .sub>h2{font-size:clamp(23px,3vw,30px);text-transform:none;letter-spacing:-.02em;margin:12px 0 8px}
#v-settings .sub .secblk{margin-bottom:19px}
#v-settings .sub .secblk .sec{color:var(--enemy)}
#v-settings .row{border-bottom-color:rgba(169,178,174,.15);padding:15px 10px;border-radius:3px;transition:background .14s}
#v-settings .row:hover{background:linear-gradient(90deg,rgba(139,240,160,.045),rgba(139,240,160,.011))}
#v-settings .row:focus-within{background:rgba(139,240,160,.06)}
#v-settings .settings-search-status{color:var(--muted);font-size:12px;margin:2px 0 12px;min-height:16px}
#v-settings #empty{margin:22px 0;padding:16px;border:1px dashed var(--line2);background:var(--panel);color:var(--muted)}
#v-settings .card{background:linear-gradient(135deg,rgba(139,240,160,.028),var(--panel) 72%);border-color:rgba(139,240,160,.18)}
@media(max-width:720px){
 #v-settings .hero .eyebrow{font-size:9px;gap:6px}
 #v-settings .hero .eyebrow span+span::before{margin-right:6px}
 #v-settings .hero .ctas{margin-top:14px}
 #v-settings .settings-panel-heading{align-items:start}
 #v-settings .subnav{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 #v-settings .subnav .subtab{padding:11px 9px;min-height:70px}
 #v-settings .subtab .subtab-main strong{font-size:13px}
 #v-settings .settings-panel-heading .section-total{font-size:10px;padding:7px 9px}
 #v-settings .row{padding:13px 5px}
}
@media(max-width:365px){#v-settings .subnav{grid-template-columns:1fr 1fr}#v-settings .subnav .subtab{min-height:64px}}
@media(prefers-reduced-motion:reduce){#v-settings .sub{animation:none}#v-settings .subnav .subtab{transition:none}}


/* THE LAB: publication-quality research panels and proper heading typography */
#v-settings #aa-factors.aa-lab{background:linear-gradient(150deg,rgba(23,27,28,.45) 0%,rgba(15,17,18,.45) 54%,rgba(13,15,15,.45) 100%);border:1px solid #3F484C;box-shadow:0 14px 35px rgba(0,0,0,.16);padding:clamp(17px,2.7vw,28px);overflow:hidden;position:relative}
#aa-factors .aa-kicker-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:14px}
#aa-factors .aa-kicker-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#8BF0A0;box-shadow:0 0 0 4px rgba(139,240,160,.09)}
#aa-factors .aa-overline{font:750 11px var(--display);text-transform:uppercase;letter-spacing:.15em;color:#B4C0BA}
#aa-factors .aa-research-tag{margin-left:auto;border:1px solid #51585A;background:#23292C;color:#bbf6c7;padding:5px 8px;font:650 10px var(--mono);letter-spacing:.025em}
#aa-factors .aa-lead{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(245px,1fr);align-items:stretch;gap:17px;margin-bottom:17px}
#aa-factors .aa-lead h3{font:800 clamp(23px,2.75vw,34px)/1.14 var(--display);letter-spacing:-.025em;margin:2px 0 12px;max-width:23ch;text-transform:none!important}
#aa-factors .aa-lead p{margin:0;color:#B7BCBA;max-width:66ch;font-size:14px;line-height:1.65}
#aa-factors .aa-lead p strong{color:#f1fff4;font-weight:750}
#aa-factors .aa-control-status{background:radial-gradient(circle at 100% 0%,rgba(139,240,160,.12),transparent 70%),#202629;border:1px solid #51595C;border-left:3px solid #8BF0A0;padding:16px;display:flex;flex-direction:column;align-items:start;gap:8px}
#aa-factors .aa-status-label{color:#BDC6C2;letter-spacing:.13em;font:750 10px var(--display);text-transform:uppercase}
#aa-factors .aa-control-status>b{color:#f2fff4;font:850 22px var(--display)}
#aa-factors .aa-status-value{background:#8BF0A0;color:#0D1214;border:1px solid #c0ffca;font:850 12px var(--mono);letter-spacing:.05em;padding:5px 12px}
#aa-factors .aa-control-status small{font:500 12px/1.5 var(--body);color:#CCD2CF}
#aa-factors .aa-pathway{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr);gap:9px;align-items:stretch;margin:0 0 23px}
#aa-factors .aa-pathway>div{background:rgba(20,23,24,.45);border:1px solid #3B4245;padding:13px 11px;min-width:0;display:flex;flex-direction:column;gap:6px}
#aa-factors .aa-stage{font:700 10px var(--mono);color:#84b894;letter-spacing:.04em}
#aa-factors .aa-pathway b{color:#f3fff5;font:750 14px var(--display)}
#aa-factors .aa-pathway small{color:#93aa9a;line-height:1.38;font-size:11.5px}
#aa-factors .aa-path-arrow{display:grid;place-items:center;font:800 21px var(--display);color:#8BF0A0}
#aa-factors .aa-block-head{display:flex;justify-content:space-between;gap:16px;align-items:end;flex-wrap:wrap;margin-bottom:14px}
#aa-factors .aa-block-head h4{font:750 clamp(17px,2vw,23px) var(--display);letter-spacing:-.01em;margin:0 0 4px!important;text-transform:none!important;color:#e9faeb}
#aa-factors .aa-block-head p{margin:0;color:#a3b6a8;font-size:13px}
#aa-factors .aa-verified-guide{font:700 10px var(--mono);color:#ACB7B2;border:1px solid #434C51;background:rgba(27,32,34,.45);padding:6px 9px}
#aa-factors .aa-switch{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 15px}
#aa-factors .aa-switch button{background:rgba(18,21,23,.45);border:1px solid #444C51;color:#B8BFBC;font:700 12px var(--display);letter-spacing:.015em;cursor:pointer;padding:11px 14px;min-height:42px;white-space:normal;text-align:center}
#aa-factors .aa-switch button:hover{border-color:#7fca92;color:#fff}
#aa-factors .aa-switch button[aria-pressed="true"]{background:#8BF0A0;color:#0E1113;border-color:#8BF0A0;box-shadow:0 2px 17px rgba(139,240,160,.13)}
#aa-factors .factor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
#aa-factors .aa-factor{min-width:0;display:flex;flex-direction:column;gap:10px;background:linear-gradient(140deg,rgba(28,32,35,.45),rgba(20,23,24,.45));border:1px solid #3A4144;border-top:2px solid #505658;padding:16px;min-height:209px;transition:border-color .16s,background .16s}
#aa-factors .aa-factor:hover{border-color:#83cc95;background:rgba(31,37,39,.45)}
#aa-factors .aa-factor-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
#aa-factors .aa-factor-no{font:800 12px var(--mono);color:#AEBEB6}
#aa-factors .aa-factor-stage{font:700 10px var(--mono);border:1px solid #485054;color:#B9C1BD;background:#23292C;padding:4px 8px}
#aa-factors .aa-factor h5{margin:0;font:800 18px/1.18 var(--display);color:#f6fff6;letter-spacing:-.005em}
#aa-factors .aa-mechanism{color:#8fcba0;font:700 11px var(--display);letter-spacing:.06em;text-transform:uppercase}
#aa-factors .aa-factor p{margin:0;color:#BBC0BE;font-size:13px;line-height:1.5;flex:1}
#aa-factors .aa-factor-tip{border-top:1px solid #394043;padding-top:10px;display:grid;gap:5px;font:500 12.5px/1.5 var(--body);color:#DBE0DE}
#aa-factors .aa-tip-label{color:#B1BEB8;font:750 10px var(--display);text-transform:uppercase;letter-spacing:.09em}
#aa-factors .aa-bottom-panel{background:#232A2E;border:1px solid #586063;border-left:3px solid #8BF0A0;padding:15px 17px;display:flex;align-items:start;gap:14px;margin:17px 0 0}
#aa-factors .aa-foot-icon{background:#8BF0A0;color:#101618;border-radius:50%;flex:0 0 26px;width:26px;height:26px;display:grid;place-items:center;font-weight:900;font-size:14px}
#aa-factors .aa-bottom-panel b{display:block;font:800 15px var(--display);color:#f4fff5;margin-bottom:5px}
#aa-factors .aa-bottom-panel p{font:500 13px/1.6 var(--body);color:#D0D6D3;margin:0}
#aa-factors .aa-takeaways{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
#aa-factors .aa-takeaway{min-width:0;background:rgba(19,22,24,.45);border:1px solid #41494D;padding:17px}
#aa-factors .aa-takeaway-tag{font:750 10px var(--display);letter-spacing:.13em;text-transform:uppercase;color:#ABB8B2}
#aa-factors .aa-takeaway h4{font:800 18px/1.22 var(--display);text-transform:none!important;margin:8px 0 10px;color:#f2fff4}
#aa-factors .aa-takeaway p{font:500 13px/1.65 var(--body);margin:0;color:#C2C7C4}
#aa-factors .aa-takeaway strong{color:#f1fff4;font-weight:800}
#aa-factors .aa-source-line{border-top:1px solid #3B4347;margin:19px 0 0!important;padding-top:12px;color:#89a795!important;font:500 11px/1.65 var(--body)!important}
/* Headings use title case, not shouting all caps. Preserve all functional section labels. */
#v-settings h1,#v-weapons h1,#v-lab h1,#v-meta h1,#v-hp h1,#v-strategy h1,
.view h2,.view h3,.view h4,.view .h2,footer h2{ text-transform:none!important; }
.view h1{letter-spacing:-.03em;text-wrap:balance}
.view h2,.view h3,.view h4,.view .h2{letter-spacing:-.012em}
@media(max-width:900px){#aa-factors .aa-lead{grid-template-columns:minmax(0,1fr)}#aa-factors .factor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 #aa-factors .aa-pathway{grid-template-columns:1fr;gap:4px}#aa-factors .aa-pathway>div{padding:11px 13px}
 #aa-factors .aa-path-arrow{line-height:1;font-size:16px;transform:rotate(90deg);height:17px}
 #aa-factors .factor-grid,#aa-factors .aa-takeaways{grid-template-columns:1fr}
 #aa-factors .aa-factor{min-height:0}#aa-factors .aa-research-tag{margin-left:0}
 #aa-factors .aa-block-head{align-items:start}#aa-factors .aa-switch button{flex:1 1 140px}
 #aa-factors .aa-bottom-panel{padding:13px}
}


/* Build Lab / META sync: visible attachment ranks before selection */
#v-lab .lab-rank-guide{display:grid;grid-template-columns:minmax(150px,.32fr) minmax(0,1fr);gap:12px 18px;align-items:center;background:linear-gradient(105deg,rgba(139,240,160,.10),rgba(17,21,23,.30) 80%);border:1px solid var(--line2);border-left:3px solid var(--enemy);padding:13px 17px;margin:16px 0 2px;font-size:13px;line-height:1.55;color:var(--muted)}
#v-lab .lab-rank-guide b{color:var(--fg);display:inline;font-weight:750}
#v-lab .lab-rank-head{font:800 13px var(--hero);letter-spacing:.045em;text-transform:uppercase;color:var(--enemy)}
#v-lab .slot select{min-width:0;width:100%;font-size:13px;text-overflow:ellipsis}
#v-lab .slot select:focus-visible{outline:2px solid var(--enemy);outline-offset:2px}
#v-lab [data-meta]:disabled{opacity:.48;cursor:not-allowed}
@media(max-width:620px){#v-lab .lab-rank-guide{grid-template-columns:1fr;gap:4px;padding:12px 13px}#v-lab .slot{grid-template-columns:82px minmax(0,1fr);gap:6px}#v-lab .slot>.badge{grid-column:2;justify-self:start}}


/* The Lab / 1 m ballistic comparison — native to the existing weapon engine */
.m1-panel{margin-top:17px;padding:18px;background:linear-gradient(125deg,rgba(24,29,31,.45),rgba(15,18,19,.45));border:1px solid #424C51;min-width:0}
.m1-head{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;justify-content:space-between}
.m1-head h4{font:800 21px var(--hero);margin:2px 0 5px;color:var(--fg)}
.m1-head p{font-size:13px;color:var(--muted);line-height:1.5;margin:4px 0 0;max-width:800px}
.m1-control{margin-top:17px;padding:14px 15px;border:1px solid var(--line2);background:var(--panel)}
.m1-control>label{display:flex;justify-content:space-between;align-items:center;gap:12px;font:700 12px var(--body);color:var(--muted);letter-spacing:.05em;text-transform:uppercase}
.m1-control output{font:800 25px var(--hero);color:var(--enemy);letter-spacing:0;text-transform:none}
.m1-control input[type=range]{display:block;width:100%;accent-color:var(--enemy);margin:15px 0 7px;cursor:pointer}
.m1-marks{display:flex;justify-content:space-between;gap:5px;font:500 11px var(--mono);color:var(--dim)}
.m1-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:15px 0}
.m1-kpi{min-width:0;padding:12px;background:rgba(13,16,17,.45);border:1px solid var(--line2)}
.m1-kpi .label{display:block;font:650 11px var(--body);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:7px}
.m1-kpi b{font:800 22px var(--hero);color:var(--fg);font-variant-numeric:tabular-nums;white-space:nowrap}
.m1-kpi small{display:block;margin-top:6px;font-size:11px;line-height:1.45;color:var(--muted)}
.m1-kpi.A b{color:var(--enemy)}.m1-kpi.B b{color:var(--team)}
.m1-subtitle{font:800 13px var(--hero);text-transform:uppercase;letter-spacing:.075em;margin:17px 0 9px;color:var(--fg)}
.m1-zones{display:flex;gap:7px;flex-wrap:wrap}
.m1-zone{font-size:12px;line-height:1.4;padding:7px 10px;border:1px solid var(--line2);background:rgba(14,18,20,.45);color:var(--muted)}
.m1-zone.a{border-color:rgba(139,240,160,.5);color:#A1EDB3}.m1-zone.b{border-color:rgba(255,211,110,.5);color:#FFD36E}.m1-zone.e{border-color:#4E5355}
.m1-zones-note{font-size:12px;color:var(--muted);margin:9px 0 0;line-height:1.55}
.m1-statline{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.m1-statline>div{padding:12px;background:rgba(16,20,22,.45);border:1px solid var(--line2)}
.m1-statline strong{display:block;color:var(--fg);font-size:13px;margin-bottom:7px}
.m1-statline p{color:var(--muted);font-size:12px;line-height:1.55;margin:0}
.m1-table-wrap{max-height:312px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line2);margin-top:10px}
.m1-table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}
.m1-table th,.m1-table td{padding:8px 10px;border-bottom:1px solid var(--line);font:600 12px var(--body);text-align:right;white-space:nowrap}
.m1-table th{position:sticky;top:0;z-index:2;background:rgba(11,7,8,.45)!important;color:var(--muted);background:rgba(29,33,35,.45);font-size:11px;letter-spacing:.045em;text-transform:uppercase}
.m1-table td:first-child,.m1-table th:first-child{text-align:left}
.m1-table tr.current td{background:#2F373A;color:#fff}
.m1-table tr.a td:last-child{color:var(--enemy)}.m1-table tr.b td:last-child{color:var(--team)}
.m1-foot{font-size:11.5px;color:var(--dim);line-height:1.6;margin:12px 0 0}
.m1-heat-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px}
.m1-heat-head label{font-size:12px;color:var(--muted)}
.m1-heat-head output{font:800 15px var(--hero);color:var(--fg)}
.m1-heat-head input{accent-color:var(--enemy);width:min(440px,100%);flex:1 1 240px}
.heat table.m1-heat-table{min-width:690px}
.heat table.m1-heat-table td{font-size:11px;padding:8px 8px;min-width:42px}
.heat table.m1-heat-table th{padding:9px 8px;letter-spacing:0}
@media(max-width:680px){.m1-panel{padding:12px}.m1-metrics{grid-template-columns:1fr}.m1-statline{grid-template-columns:1fr}.m1-kpi b{font-size:20px}.m1-head h4{font-size:20px}.m1-table{min-width:480px}.m1-table-wrap{overflow-x:auto}.m1-heat-head{align-items:stretch}.m1-heat-head label{width:100%}}


/* Possible Classes scenario and TTK feel explainer */
#v-lab .possible-option{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:13px 0 8px}
#v-lab .possible-button{display:flex;align-items:center;gap:12px;padding:12px 14px;text-align:left;background:var(--panel2);border:1px solid var(--line2);color:var(--fg);min-width:0;cursor:pointer;border-radius:7px;max-width:100%}
#v-lab .possible-button[aria-pressed="true"]{border-color:var(--enemy);background:rgba(27,33,36,.45);box-shadow:0 0 0 1px rgba(139,240,160,.12)}
#v-lab .possible-button strong{display:block;font-size:13px;font-weight:800}
#v-lab .possible-button small{display:block;color:var(--muted);line-height:1.4;margin-top:4px;font-size:11px}
#v-lab .possible-switch{position:relative;width:36px;height:20px;flex:none;border-radius:999px;background:#444A4E;border:1px solid #5F6465;transition:background .2s}
#v-lab .possible-switch:after{content:"";position:absolute;left:2px;top:2px;height:14px;width:14px;border-radius:50%;background:#e6fbe9;transition:transform .2s}
#v-lab .possible-button[aria-pressed="true"] .possible-switch{background:#617279}
#v-lab .possible-button[aria-pressed="true"] .possible-switch:after{transform:translateX(16px)}
#v-lab .possible-state{font:800 10px var(--body);letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
#v-lab .possible-state.active{color:var(--enemy)}
#v-lab .possible-notice{margin:8px 0 12px;padding:11px 13px;border:1px solid rgba(255,193,89,.38);background:rgba(255,193,89,.06);border-radius:6px;color:var(--fg);font-size:13px;line-height:1.5}
#v-lab .m1-gain{margin:18px 0 22px}
#v-lab .m1-gain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
#v-lab .m1-gain-card{background:linear-gradient(140deg,rgba(28,35,39,.45),rgba(15,18,20,.45));padding:14px;border:1px solid var(--line2);border-radius:8px;min-width:0}
#v-lab .m1-gain-card .over{display:block;color:var(--muted);font-size:11px;letter-spacing:.4px;text-transform:uppercase;font-weight:700}
#v-lab .m1-gain-card b{display:block;font:900 clamp(19px,2.3vw,30px) var(--hero);color:var(--fg);margin:7px 0;font-variant-numeric:tabular-nums}
#v-lab .m1-gain-card b.a{color:#8bf0a0}#v-lab .m1-gain-card b.b{color:#ffd36e}
#v-lab .m1-gain-card small{display:block;color:var(--muted);line-height:1.55;font-size:12px}
#v-lab .m1-explain{background:var(--panel2);border:1px solid var(--line2);border-radius:7px;padding:0 16px 13px}
#v-lab .m1-explain>summary{font:800 14px var(--body);padding:16px 22px 16px 0;cursor:pointer;color:var(--fg)}
#v-lab .m1-explain p{font-size:13px;line-height:1.65;color:var(--muted)}
#v-lab .m1-explain b{display:inline;font-weight:800;color:var(--fg)}
#v-lab .m1-network-control{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:14px 0}
#v-lab .m1-network-control label{font-size:12px;font-weight:700;color:var(--fg)}
#v-lab .m1-network-control select{min-height:35px;background:var(--panel);color:var(--fg);border:1px solid var(--line2);padding:6px 10px;border-radius:5px}
#v-lab .m1-feel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
#v-lab .m1-feel-note{background:rgba(139,240,160,.04);border:1px solid var(--line2);border-radius:6px;padding:11px 12px;color:var(--muted);font-size:12px;line-height:1.65}
#v-lab .m1-feel-note strong{display:block;color:var(--fg);font-size:12px;margin-bottom:5px}
#v-lab .m1-caveat{font-size:11px!important}
@media(max-width:740px){#v-lab .m1-gain-grid{grid-template-columns:1fr}#v-lab .m1-feel-grid{grid-template-columns:1fr}#v-lab .possible-option{align-items:stretch}#v-lab .possible-button{width:100%}}


/* ========== SIMULATION RECONSTRUCTION AUDIT ========== */
#v-meta .rec-lab{margin:30px 0 40px;--rc:#9af5af;--rb:#a9d4ff;color:var(--fg)}
#v-meta .rec-lab .rec-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}
#v-meta .rec-lab .rec-head h2{font:800 clamp(25px,3vw,34px) var(--hero);margin:4px 0 8px;letter-spacing:.01em;text-transform:none}
#v-meta .rec-lab .rec-head p{max-width:770px;margin:0;color:var(--muted);line-height:1.65;font-size:14px}
#v-meta .rec-lab .rec-ribbon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
#v-meta .rec-lab .rec-kpi{padding:15px 14px;border:1px solid var(--line2);background:linear-gradient(135deg,rgba(25,29,31,.45),rgba(15,18,19,.45));min-width:0}
#v-meta .rec-lab .rec-kpi b{display:block;color:var(--rc);font:900 clamp(22px,2.2vw,29px) var(--hero);font-variant-numeric:tabular-nums;line-height:1.2}
#v-meta .rec-lab .rec-kpi span{display:block;font-size:11px;color:var(--muted);margin-top:5px;line-height:1.4}
#v-meta .rec-lab .rec-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:14px;border:1px solid var(--line2);background:var(--panel2);margin:14px 0}
#v-meta .rec-lab .rec-controls label{display:grid;gap:7px;color:var(--muted);font-size:12px;font-weight:600;min-width:0;flex:1 1 180px}
#v-meta .rec-lab .rec-controls select{width:100%;min-width:0;background:var(--panel);border:1px solid var(--line2);border-radius:3px;padding:10px 11px;color:var(--fg);font:600 13px var(--body)}
#v-meta .rec-lab .rec-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(230px,1fr);gap:14px;align-items:start}
#v-meta .rec-lab .rec-chart-box,#v-meta .rec-lab .rec-readout{border:1px solid var(--line2);background:var(--panel);padding:14px;min-width:0}
#v-meta .rec-lab .rec-readout{display:grid;gap:12px}
#v-meta .rec-lab .rec-readout .v{font:900 29px var(--hero);color:var(--rc);font-variant-numeric:tabular-nums}
#v-meta .rec-lab .rec-readout .lbl{font:600 11px var(--body);color:var(--muted);letter-spacing:.02em}
#v-meta .rec-lab .rec-readout p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
#v-meta .rec-lab #rec-plot{display:block;width:100%;height:auto;aspect-ratio:720/345;max-height:380px}
#v-meta .rec-lab .rec-legend{display:flex;gap:16px;flex-wrap:wrap;color:var(--muted);font-size:11px;line-height:1.4}
#v-meta .rec-lab .rec-legend i{display:inline-block;width:11px;height:11px;border-radius:50%;margin-right:5px;vertical-align:middle}
#v-meta .rec-lab .rec-distance{display:grid;gap:5px;margin-top:12px;color:var(--muted);font-size:12px}
#v-meta .rec-lab .rec-distance input{width:100%;accent-color:var(--rc)}
#v-meta .rec-lab .rec-note{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
#v-meta .rec-lab .rec-note .rec-explain{padding:13px 14px;border-left:2px solid var(--line2);background:var(--panel2)}
#v-meta .rec-lab .rec-note h3{font:800 15px var(--hero);margin:0 0 8px}
#v-meta .rec-lab .rec-note p{font:400 12px/1.6 var(--body);color:var(--muted);margin:0}
#v-meta .rec-lab .rec-footnote{margin:12px 0 0;font-size:11px;line-height:1.6;color:var(--dim)}
#v-meta .rec-lab details{border:1px solid var(--line2);padding:10px 14px;margin-top:12px;background:var(--panel2);color:var(--muted)}
#v-meta .rec-lab details summary{cursor:pointer;color:var(--fg);font:700 13px var(--body)}
#v-meta .rec-lab details p{font-size:12px;line-height:1.65;margin:10px 0 0}
@media(max-width:850px){#v-meta .rec-lab .rec-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}#v-meta .rec-lab .rec-layout,#v-meta .rec-lab .rec-note{grid-template-columns:1fr}}
@media(max-width:500px){#v-meta .rec-lab{margin:16px 0 30px}#v-meta .rec-lab .rec-head h2{font-size:25px}#v-meta .rec-lab .rec-kpi{padding:12px 10px}#v-meta .rec-lab .rec-ribbon{gap:7px}#v-meta .rec-lab .rec-kpi b{font-size:21px}#v-meta .rec-lab .rec-chart-box{padding:9px}}

/* Unified model v1 · visuals */
.ue-modes{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;margin-bottom:14px}
.ue-modes button{cursor:pointer;background:rgba(19,22,24,.45);border:1px solid #3D464B;color:#B5BBB8;padding:12px 16px;min-height:44px;min-width:125px;font:700 13px var(--body);letter-spacing:.025em;transition:background .15s,border-color .15s}
.ue-modes button[aria-pressed="true"]{background:#273034;border-color:#8bf0a0;color:#ddffe7;box-shadow:inset 0 0 0 1px #5C696E}
.ue-modes button:hover{border-color:#8bf0a0}
.ue-meta-header,.ue-lab-scenario{margin-bottom:22px;padding:22px;border:1px solid #464F53;background:linear-gradient(135deg,rgba(31,37,40,.45) 0%,rgba(15,19,20,.45) 60%,rgba(26,32,34,.45) 100%);box-shadow:0 16px 46px rgba(0,0,0,.17)}
.ue-meta-header h2{font:800 clamp(22px,2.6vw,34px) var(--hero);margin:6px 0 8px}
.ue-meta-header .cap{max-width:850px;line-height:1.6}
.ue-distance-grid{display:grid;grid-template-columns:2fr 1fr;gap:22px;border-top:1px solid #383F42;padding-top:19px;margin-top:16px}
.ue-distance-grid label{font-weight:700;color:#e5ffec;display:block;margin-bottom:12px}
.ue-distance-grid input[type="range"]{width:100%;accent-color:#8bf0a0}
.ue-distance-grid select,.ue-tune-form select{width:100%;background:rgba(18,22,24,.45);border:1px solid #495156;color:#ddf8e5;padding:11px}
.ue-ticks{display:flex;justify-content:space-between;color:#80a78d;font-size:11px;margin-top:5px}
.ue-caps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}
.ue-cap{min-width:0;padding:13px;background:rgba(19,24,27,.45);border:1px solid #3D474D;display:flex;flex-direction:column;gap:7px}
.ue-cap>span:first-child{color:#C7D1CC;font-size:12px;font-weight:700}
.ue-cap>b{font:900 clamp(24px,2.8vw,35px) var(--hero);color:#8bf0a0;font-variant-numeric:tabular-nums}
.ue-cap>b small{font-size:.5em;color:#B5BDB9}
.ue-cap>span:last-child{color:#AAB3AF;font-size:11px;line-height:1.5}
.ue-meta-header details{margin-top:16px;color:#ADB3B0}.ue-meta-header details>summary{color:#def7e4;cursor:pointer}
.ue-meta-header details p{line-height:1.7;font-size:13px}
.ue-score-row,.ue-result-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ue-score-row>div{padding:12px 14px;background:rgba(17,21,24,.45);border:1px solid #3C464B;min-width:0}
.ue-score{font:900 clamp(26px,2.7vw,35px) var(--hero);color:#8bf0a0;font-variant-numeric:tabular-nums;line-height:1.2}
.ue-score-sm{color:#ffd68b}
.ue-score small{font:600 12px var(--body);color:#ACB4B0}
.ue-score-label{color:#9bbdab;font-size:12px;line-height:1.6}
.ue-rate .kicker{margin-bottom:12px}
.ue-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.ue-result{min-width:0;background:rgba(20,25,27,.45);border:1px solid #3E484D;padding:15px}
.ue-result-metrics>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:9px;border:1px solid #353D41}
.ue-result-metrics>div span:first-child{font-size:12px;color:#B5BBB8;flex-basis:100%}
.ue-result-metrics>div>b{font:800 27px var(--hero);color:#a5efb3}
.ue-result p{font-size:12px;color:#9cbaaa;line-height:1.6}
.ue-field-list{max-height:320px;overflow:auto;margin-top:12px}.ue-field-row{display:grid;grid-template-columns:45px 1fr 70px;gap:6px;padding:9px;border-bottom:1px solid #363B3E;color:#C4CCC8}.ue-field-row b{text-align:right;color:#d9ffe1}
.ue-class-line{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;padding:11px 0;color:#B5BBB8;font-size:12px}.ue-class-line>b{color:#e2ffe9}
.ue-meta-stats{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.ue-meta-stats span{font-size:12px;padding:8px 10px;background:rgba(24,29,32,.45);color:#96bca0;border:1px solid #384145}.ue-meta-stats b{color:#e5fff0}
.ue-alt-list{display:grid;gap:7px;margin:10px 0}.ue-alt{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;border:1px solid #3A4348;background:rgba(19,23,25,.45);font-size:13px}.ue-alt>span:first-child{display:grid;gap:4px}.ue-alt small{font-size:11px;color:#8eab96}
.ue-tune-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.ue-tune-form label{display:grid;gap:7px;color:#AAB1AE;font-size:12px}
.ue-tune-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ue-tune-cards article{padding:15px;background:rgba(19,23,25,.45);border:1px solid #3B4347;min-width:0}.ue-tune-cards article>b{color:#edfff2}.ue-tune-cards article p{font-size:12px;line-height:1.6;color:#B2B9B6}
@media(max-width:720px){.ue-distance-grid,.ue-caps,.ue-result-grid,.ue-tune-form,.ue-tune-cards{grid-template-columns:1fr}.ue-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ue-modes button{min-width:0;padding:11px 6px;font-size:11px}.ue-meta-header,.ue-lab-scenario{padding:13px}.ue-score-row{gap:6px}.ue-score-row>div{padding:9px}.ue-score{font-size:25px}}
.ue-variant{background:#1F2529;border:1px solid #4A5255;padding:13px;margin:16px 0}
.ue-variant>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:7px;align-items:baseline}.ue-variant>div>span{font-weight:800;color:#c8f9d4}
.ue-variant>div>b{color:#e9ffe7;font-size:13px}.ue-variant>p{font-size:12px;color:#B4BCB8;line-height:1.6}
.ue-archive-fold{border:1px solid #485054;padding:14px;margin:36px 0;background:rgba(18,22,24,.45)}.ue-archive-fold>summary{cursor:pointer;font-weight:800;letter-spacing:.02em;color:#CCD1CF}.ue-archive-fold .rec-lab{margin-top:18px}
@media(max-width:720px){.ue-variant>div{display:grid;gap:6px}}


/* META indicators: honest simulation totals and ruleset-dependent search space */
#v-meta .ue-metrics{gap:12px;margin:12px 0 9px}
#v-meta .ue-metrics .kpi{position:relative;overflow:hidden;padding:18px 18px 17px;background:linear-gradient(147deg,#202629 0%,rgba(19,22,24,.45) 65%,rgba(14,17,18,.45) 100%);border:1px solid #434B4F;border-radius:3px;box-shadow:0 13px 28px rgba(0,0,0,.11);min-height:144px;display:flex;flex-direction:column;justify-content:space-between;gap:11px}
#v-meta .ue-metrics .kpi::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,#83efa0,transparent 86%);opacity:.8}
#v-meta .ue-metrics .kpi .ue-metric-top{display:flex;gap:8px;justify-content:space-between;align-items:start}
#v-meta .ue-metrics .kpi .ue-metric-label{font:800 11px/1.4 var(--display);letter-spacing:.07em;color:#B0B8B4;text-transform:none;max-width:100%}
#v-meta .ue-metrics .kpi .ue-metric-ordinal{font:700 10px/1.4 var(--display);color:#737A7D;white-space:nowrap}
#v-meta .ue-metrics .kpi .ue-metric-value{font:900 clamp(26px,2.45vw,37px)/1 var(--hero);letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap;display:block;color:#f2fff4}
#v-meta .ue-metrics .kpi .ue-metric-value small{font:800 .48em var(--display);letter-spacing:0;color:#B6C4BD}
#v-meta .ue-metrics .kpi .ue-metric-note{font:500 11.5px/1.45 var(--body);color:#93ac9a;letter-spacing:0;text-transform:none;display:block}
#v-meta .ue-metrics .kpi .ue-metric-note strong{color:#DCE2DF}
#v-meta .ue-metric-details{margin:0 0 20px;padding:0;border:0}
#v-meta .ue-metric-details summary{cursor:pointer;color:#AEB7B3;font:700 12px/1.4 var(--display);padding:5px 0}
#v-meta .ue-metric-details summary:hover,#v-meta .ue-metric-details summary:focus-visible{color:#defce8}
#v-meta .ue-metric-details p{margin:9px 0 0;font:500 12px/1.65 var(--body);color:#B1B6B3;max-width:980px}
#v-meta .ue-metric-details b{color:#e3f9e9}
@media(max-width:830px){#v-meta .ue-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){#v-meta .ue-metrics{gap:8px}#v-meta .ue-metrics .kpi{min-height:142px;padding:13px 12px;gap:7px}#v-meta .ue-metrics .kpi .ue-metric-label{font-size:10px}#v-meta .ue-metrics .kpi .ue-metric-value{font-size:clamp(22px,6.5vw,30px)}#v-meta .ue-metrics .kpi .ue-metric-note{font-size:10.5px}}


/* Competitive paired-duel panel: important distinction from reference-field grades. */
.ue-direct-duel{margin:16px 0 24px;padding:20px 22px}
.ue-direct-duel h3{margin:5px 0 8px;font:800 24px var(--hero)}
.ue-h2h-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}
.ue-h2h-grid>div{border:1px solid #363D41;background:rgba(20,24,27,.45);padding:14px;min-width:0}
.ue-h2h-grid span{color:#9ebca7;display:block;font-size:12px}
.ue-h2h-grid b{font-size:28px;color:#c2ffd4;display:block;margin-top:7px;font-variant-numeric:tabular-nums}
.ue-h2h-grid small{color:#91af9b;display:block;margin-top:3px;line-height:1.45}
.ue-h2h-track{height:13px;border-radius:2px;background:#e4b869;overflow:hidden}
.ue-h2h-track i{display:block;height:100%;background:#79efa2;transition:width .2s}
.ue-h2h-label{display:flex;justify-content:space-between;margin-top:5px;font-size:12px;color:#C6CBC9}
@media(max-width:700px){.ue-h2h-grid{grid-template-columns:1fr}.ue-direct-duel{padding:14px}.ue-direct-duel h3{font-size:20px}}


/* Live range-adjusted class rating, unified Build Lab. */
.ue-rating-focus-panel{margin:20px 0 17px;border:1px solid #566266;background:linear-gradient(140deg,rgba(25,31,34,.45) 0%,rgba(16,19,21,.45) 80%);padding:21px 22px 17px;box-shadow:inset 0 1px 0 rgba(176,255,200,.06)}
.ue-rating-focus-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.ue-rating-focus-title .kicker{color:#8bf0a0}
.ue-rating-focus-title h3{font:800 clamp(20px,2vw,26px) var(--hero);color:#f0fff2;margin:7px 0 7px;letter-spacing:.005em}
.ue-rating-focus-title p{font-size:13px;line-height:1.65;color:#B6BDBA;max-width:630px;margin:0}
.ue-rating-live{flex:none;font:750 11px var(--body);text-transform:uppercase;letter-spacing:.06em;color:#b4f4c3;border:1px solid #4C5558;padding:7px 10px;white-space:nowrap;background:#20282C}
.ue-rating-focus-controls{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,1fr);gap:32px;align-items:end;margin:17px 0 12px}
.ue-rating-focus-controls label,.ue-rating-group-label{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px;color:#E3E8E6;font-weight:700;font-size:13px}
.ue-rating-focus-controls label output{font:900 21px var(--hero);color:#8bf0a0;font-variant-numeric:tabular-nums}
.ue-rating-focus-controls input[type=range]{width:100%;accent-color:#8bf0a0;cursor:pointer;margin:0 0 8px}
.ue-rating-ticks{display:flex;justify-content:space-between;gap:3px;font-size:10px;color:#7da48a;font-variant-numeric:tabular-nums}
.ue-rating-focus-buttons{display:flex;gap:7px}
.ue-rating-focus-buttons button{min-height:41px;flex:1;border:1px solid #444D51;background:rgba(18,23,25,.45);color:#BCC2BF;font:750 12px var(--body);padding:10px 12px;cursor:pointer;transition:background .14s ease,border-color .14s ease}
.ue-rating-focus-buttons button[aria-pressed=true]{background:#8bf0a0;border-color:#8bf0a0;color:#111619}
.ue-rating-focus-buttons button:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ue-rating-focus-note{margin:8px 0 0;font-size:12px;line-height:1.6;color:#ABB1AE;border-top:1px solid #353D41;padding-top:11px}
.ue-rate .ue-score-row>div.ue-score-primary{border-color:#76cd91;background:linear-gradient(160deg,#21292E,rgba(17,21,24,.45));box-shadow:inset 0 2px 0 #70d68d}
.ue-rate .ue-score-row>div.ue-score-context{opacity:.84}
.ue-rating-primary-tag{color:#8bf0a0;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;display:block;margin-bottom:5px}
@media(max-width:760px){.ue-rating-focus-panel{padding:16px 13px}.ue-rating-focus-title{flex-direction:column;gap:12px}.ue-rating-focus-controls{grid-template-columns:1fr;gap:15px}.ue-rating-live{font-size:10px}.ue-rating-focus-buttons button{font-size:11px;padding:10px 7px}.ue-rating-focus-title p{font-size:12px}}


/* ---------- one answer first, then sub-tabs: shared by Build Lab, Meta, HP Spawns and HP Strategy ---------- */
.subtabs{margin-top:22px}
.subtabs .in{gap:10px}
.subtabs .tab[aria-pressed="true"]{color:var(--fg);border-color:var(--line2);background:var(--panel2)}
.subtabs .tab small{font:600 11px var(--mono);color:var(--dim);letter-spacing:0;text-transform:none}
[data-sub-panel]{margin-top:4px}
[data-sub-panel]>.card:first-child,[data-sub-panel]>section.card:first-child{margin-top:12px}
.answer{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:16px;border:1px solid var(--line2);background:var(--panel);padding:14px 16px}
.answer>div{min-width:0}
.answer span{display:block;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:4px}
.answer b{display:block;font-family:var(--display);font-size:26px;line-height:1.05;color:var(--fg)}
.answer small{display:block;color:var(--muted);font-size:12px;margin-top:4px;line-height:1.35}
.answer .vsum{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px;margin-top:2px;color:var(--fg);font-size:15px;line-height:1.5}
.answer .vsum b{display:inline;font:inherit;font-weight:700}
.answer.empty{display:block;color:var(--muted)}
.labbar{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:flex-end;margin-top:14px;border:1px solid var(--line2);background:var(--panel);padding:12px 16px}
.labbar-g{min-width:0}.labbar-g.grow{flex:1 1 300px}
.labbar-l{display:block;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim);margin-bottom:6px}
.labbar .ue-modes{margin:0}
.labbar .ue-modes button{padding:7px 10px;min-width:0;font-size:12px}
.labbar .dist{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.labbar .dist input[type=range]{flex:1 1 160px;min-width:120px;margin:0}
.labbar .dist output{font:700 14px var(--mono);color:var(--enemy);min-width:3.2em}
.labbar .ue-rating-focus-buttons{flex:0 0 auto}
.labbar .ue-rating-focus-buttons button{min-height:34px;padding:7px 10px;flex:0 0 auto}
.labbar .hint{margin:6px 0 0;font-size:12px}
.sharerow{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:12px;color:var(--muted);font-size:13px}
.sharerow input{width:9em;padding:6px 8px;background:var(--panel2);border:1px solid var(--line2);color:inherit;font:inherit}
.sharerow .lab-share{margin:0;display:flex;gap:8px;align-items:center}
.sharerow .lab-share .cap{display:none}
.sharerow .btn{padding:6px 10px;font-size:12px}
.rate.compact{padding:10px 12px}
.rate.compact .rgrid{gap:10px;margin-top:4px}
.rate.compact .rbig b{font-size:30px}
.rate.compact .kicker{font-size:10px}
.tcols{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.tcol{border:1px solid var(--line2);background:var(--panel2);padding:10px 12px;min-width:0}
.tcol ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.tcol li{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:baseline;font-size:13px;line-height:1.35}
.tcol li b{white-space:nowrap}.tcol li span{color:var(--muted)}
.tcol.gain li b{color:var(--good)}.tcol.lose li b{color:var(--bad)}
.tcol .kicker{margin:0}
.tstory .sx{margin:8px 0 0}
.tres .bactions{margin-top:14px}
.tres .xplain{margin-top:10px}
@media(max-width:720px){.answer{grid-template-columns:1fr 1fr}.answer b{font-size:22px}.labbar{gap:12px 18px;padding:10px 12px}.tcols{grid-template-columns:1fr}}
footer .srcs summary{display:flex;gap:12px;align-items:baseline;cursor:pointer;list-style:none;padding:8px 0}
footer .srcs summary::-webkit-details-marker{display:none}
footer .srcs summary h2{margin:0;display:inline}
footer .srcs summary::before{content:"▸";color:var(--dim);font-size:13px}
footer .srcs[open] summary::before{content:"▾"}
.ccard .cmore{margin-top:10px;border-top:1px solid var(--line)}
.ccard .cmore>summary{cursor:pointer;padding:10px 0 4px;font-weight:700;list-style:none;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.ccard .cmore>summary::-webkit-details-marker{display:none}
.ccard .cmore>summary::before{content:"▸";color:var(--dim)}
.ccard .cmore[open]>summary::before{content:"▾"}
.ccard .cmore>summary .cap{font-weight:400}
#v-meta .qnav{position:static;top:auto;margin-top:12px}
/* the sub-tab row is one scrollable line everywhere, whatever a page does with its other .tabs */
.view .subtabs .tabs{display:flex;flex-wrap:nowrap;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0;flex:1 1 auto;min-width:0;-webkit-overflow-scrolling:touch}
.view .subtabs .tabs::-webkit-scrollbar{display:none}
.view .subtabs .tab{flex:0 0 auto}
@media(max-width:720px){.view .subtabs .tab small{display:none}.view .subtabs .tab{padding:9px 12px}.view .subtabs .in{padding-block:6px}}
#v-hp .subtabs .tabs,#v-strategy .subtabs .tabs{flex-wrap:nowrap;margin:0}
#v-hp .subtabs .tab,#v-strategy .subtabs .tab{font:600 15px var(--body);padding:7px 12px;background:transparent;border-color:transparent;color:var(--muted)}
#v-hp .subtabs .tab[aria-pressed="true"],#v-strategy .subtabs .tab[aria-pressed="true"]{background:var(--acc);color:#0B0F11;border-color:var(--acc)}

/* fixes: keep every number inside its card */
.kpi,.ue-cap,.team-stat,.life-outcome,.life-metric,.ue-h2h-grid>div,.m1-metrics>*,.m1-gain-grid>*{min-width:0;overflow-wrap:anywhere}
.ue-metric-value{white-space:normal;overflow-wrap:anywhere;font-size:clamp(20px,2.2vw,34px)}
@media (max-width:700px){.ue-metric-value{font-size:clamp(18px,6vw,26px)}}
#kpi-dist{font:inherit;color:inherit;letter-spacing:inherit}
.rankc{color:var(--acc);font-weight:800}
.xpts{white-space:nowrap;padding-right:6px}
.rate .rline .vd{display:inline-block;margin-top:2px}
.ue-cap b,.team-stat b,.life-outcome b,.life-metric b{overflow-wrap:anywhere}
.cb.gear{border-left:3px solid var(--team)}
.gearchip{border-color:var(--team)}
.strat-svg{width:100%;height:auto;display:block}
/* KPI cards: never let a value run past the card edge */
.ue-metrics .kpi{min-width:0;overflow:hidden}
.ue-metric-value{display:block;max-width:100%;line-height:1.1}
.ue-metric-value small{font-size:.55em;font-weight:600;letter-spacing:0}

/* tuner presets */
.tpresets{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;margin:6px 0 8px}
.tpresets .tpl{flex-basis:100%;font-size:12px;letter-spacing:.06em;color:var(--muted,#8a9aa0)}
.tpre{flex:1 1 150px;min-width:0;text-align:left;display:flex;flex-direction:column;gap:2px;padding:9px 11px;background:var(--panel2,rgba(18,26,30,.45));border:1px solid var(--line2,#2B3B43);color:inherit;cursor:pointer;font:inherit}
.tpre b{font-size:14px}.tpre small{font-size:11.5px;line-height:1.35;color:var(--muted,#8a9aa0)}
.tpre:hover{border-color:var(--amber,#FFB21A)}.tpre.on{border-color:var(--amber,#FFB21A);box-shadow:inset 3px 0 0 var(--amber,#FFB21A)}
.tpre:focus-visible{outline:2px solid var(--amber,#FFB21A);outline-offset:2px}
.rreason{margin:4px 0 0;max-width:62ch;color:var(--muted)}.orline{margin:6px 0 0}.orline b{color:var(--text,inherit)}
/* Off-Meta label on a Meta card: the explanation shows on hover, keyboard focus or tap */
.offmeta{position:relative;display:inline-block;margin-left:6px;padding:0 6px;border:1px solid var(--enemy);color:var(--enemy);font-weight:700;font-size:.85em;letter-spacing:.04em;cursor:help;vertical-align:baseline}
.offmeta:focus-visible{outline:2px solid var(--enemy);outline-offset:2px}
.offtip{position:absolute;left:0;top:calc(100% + 6px);z-index:30;width:min(320px,78vw);padding:10px 12px;background:rgba(15,16,17,.45);border:1px solid var(--enemy);color:var(--fg,#EBEDEC);font-weight:400;font-size:13.5px;line-height:1.45;letter-spacing:0;text-transform:none;box-shadow:0 8px 24px rgba(0,0,0,.5);visibility:hidden;opacity:0;transition:opacity .12s}
.offmeta:hover .offtip,.offmeta:focus .offtip,.offmeta:focus-within .offtip{visibility:visible;opacity:1}
@media (prefers-reduced-motion:reduce){.offtip{transition:none}}
@media (max-width:600px){.offtip{position:fixed;left:16px;right:16px;top:auto;bottom:16px;width:auto}}
/* footer credit card: the attribution line runs under both columns, so it can't widen the logo column and squeeze the bio */
.credit>.copy-line:last-child{grid-column:1/-1;margin-top:8px}
/* Ronin Operator emblem */
img.logo{display:block;flex:none;object-fit:contain}
.brand img.logo{width:40px;height:40px;margin:-6px 0}
.credit .sig img.logo{width:64px;height:64px}
@media (max-width:600px){.brand img.logo{width:34px;height:34px}.credit .sig img.logo{width:56px;height:56px}}
.logo-wrap{display:flex;flex:none}

/* PRO Meta / OFF Meta labels (Meta cards, Armory): explanation on hover, keyboard focus or tap */
.mtag{position:relative;display:inline-block;margin-left:2px;padding:0 6px;border:1px solid;font-weight:700;font-size:.85em;letter-spacing:.04em;cursor:help;vertical-align:baseline;text-transform:none}
.mtag.pro{border-color:var(--team,#7CF29A);color:var(--team,#7CF29A);background:rgba(124,242,154,.08)}
.mtag.off{border-color:var(--enemy,#FF4A3D);color:var(--enemy,#FF4A3D)}
.mtag.pro .offtip{border-color:var(--team,#7CF29A)}
.mtag:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.mtag:hover .offtip,.mtag:focus .offtip,.mtag:focus-within .offtip{visibility:visible;opacity:1}
.mtag.pro{border-color:#7CF29A!important;color:#7CF29A!important;background:rgba(124,242,154,.10)!important}
.mtag.off{border-color:#FF6A5E!important;color:#FF6A5E!important;background:rgba(255,74,61,.08)!important}
.mtag.pro .offtip{border-color:#7CF29A!important}.mtag.off .offtip{border-color:#FF6A5E!important}

/* PRO Meta class box on a Meta card */
.proclass{border-color:rgba(124,242,154,.45)!important}
.pclist{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.pclist li{display:grid;grid-template-columns:96px 1fr;gap:2px 10px;align-items:baseline;font-size:14px}
.pclist li span{color:var(--dim);font-size:12px;letter-spacing:.04em}
.pclist li i{grid-column:2;font-style:normal;font-size:12px}
.pc-same{color:#7CF29A}.pc-diff{color:#FFB21A}

.ads-bug,.ads-pick .ads-bug{display:block;margin-top:6px;color:#FFB86B!important;font-weight:700;font-size:12px;line-height:1.4}

/* Layout: a tactical terminal with four top-level sections (Settings, Weapons, Build Lab, Meta). Each section is a stack of panels with HUD corner brackets; the in-game menu order drives Settings. */
:root{
  color-scheme: dark;
  --bg:#060708; --panel:#0C0E10; --panel2:#14181A; --line:#232A2E; --line2:#343D41;
  --fg:#E6FBE9; --muted:#94B89A; --dim:#6B7072;
  --enemy:#8BF0A0; --team:#FFD36E; --good:#8BF0A0; --bad:#FF6B5A; --warn:#FFB347;
  --c-h:#8BF0A0; --c-m:#A9D4FF; --c-c:#CDB2FF; --c-l:#FFB347;
  --display:"Chakra Petch", "Bahnschrift", system-ui, sans-serif;
  --body:"Chakra Petch", "Segoe UI", system-ui, sans-serif;
  --mono:"Chakra Petch", "Segoe UI", system-ui, sans-serif;
  --hero:"Archivo", "Arial Black", system-ui, sans-serif;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.5;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);background-size:100% 3px}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:40;background:var(--bg)}
a{color:var(--team)}
.wrap{max-width:1180px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
:focus-visible{outline:2px solid var(--enemy);outline-offset:2px}
button{font-family:inherit}
select{background:var(--panel2);color:var(--fg);border:1px solid var(--line2);font:500 14px var(--body);padding:7px 8px;max-width:100%;min-width:0}

/* ---------- top nav ---------- */
.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:rgba(16,17,17,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:18px;padding-block:10px;flex-wrap:wrap}
.brand{font-family:var(--display);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:15px;white-space:nowrap}
.brand b{color:var(--enemy)}
.views{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1 1 auto;min-width:0}
.views::-webkit-scrollbar{display:none}
.vbtn{font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:none;border:1px solid transparent;padding:8px 14px;cursor:pointer;white-space:nowrap}
.vbtn:hover{color:var(--fg);border-color:var(--line2)}
.vbtn[aria-current="page"]{background:var(--enemy);color:#111}

/* ---------- hero ---------- */
.hero{padding-block:34px 22px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:end}
.eyebrow{font-family:var(--display);font-weight:600;letter-spacing:.22em;font-size:12px;color:var(--enemy);text-transform:uppercase;display:flex;gap:10px;flex-wrap:wrap}
.eyebrow span+span::before{content:"/";color:var(--dim);margin-right:10px}
h1{font-family:var(--display);font-weight:700;font-size:clamp(38px,6.5vw,70px);line-height:.92;margin:12px 0 14px;text-transform:uppercase;text-wrap:balance}
h1 em{font-style:normal;color:var(--enemy)}
.lede{color:var(--muted);max-width:62ch;margin:0;font-size:17px}
.panelbox{border:1px solid var(--line);background:var(--panel);padding:16px 18px;position:relative}
.panelbox h2{font-family:var(--display);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-weight:600}
.legend ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.legend li{display:flex;gap:10px;align-items:baseline;font-size:14px;color:var(--muted)}
.legend b{color:var(--fg);font-weight:600}
.br::before,.br::after{content:"";position:absolute;width:12px;height:12px;border-color:var(--enemy);border-style:solid;pointer-events:none}
.br::before{top:-1px;left:-1px;border-width:2px 0 0 2px}.br::after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}
.tag{font-family:var(--display);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;padding:2px 7px;border:1px solid currentColor;white-space:nowrap;line-height:1.4}
.k-H{color:var(--c-h)}.k-M{color:var(--c-m)}.k-C{color:var(--c-c)}.k-L{color:var(--c-l)}
.chk{color:var(--muted);border-style:dashed}
.pc{color:var(--enemy)}
.view[hidden]{display:none}

/* ---------- your-PC selector ---------- */
.mypc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:6px}
.mypc label{font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:6px}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button{font:600 13px var(--mono);background:var(--panel2);color:var(--muted);border:1px solid var(--line2);padding:7px 10px;cursor:pointer}
.seg button[aria-pressed="true"]{background:var(--enemy);color:#111;border-color:var(--enemy)}
.hint{font-size:13px;color:var(--dim);margin:8px 0 0}



/* ---------- aim assist / response curve graphics ---------- */
#curvelab .curve-wrap{align-items:start}
#curvelab .curve-readout .readout{margin-top:0}
#curvelab .curve-points{margin:12px 0 0;padding-left:18px;color:var(--muted);font-size:13px}
#curvelab .curve-points li+li{margin-top:6px}
#curvelab .curve-note{margin-top:12px}
#curvelab .seg{margin-bottom:10px}
#curvelab .seg button,#aa-factors .seg button{padding-inline:14px}
#curvelab .curve-blurbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}
#curvelab .curve-blurbs .step{min-height:140px}
#aa-factors .factor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
#aa-factors .factor{background:var(--panel2);border:1px solid var(--line2);padding:12px;min-width:0}
#aa-factors .factor h4{margin:0 0 8px;font:800 15px var(--hero)}
#aa-factors .factor p{margin:8px 0 0;color:var(--muted);font-size:12.5px;line-height:1.45}
#aa-factors .meter{display:grid;gap:5px;margin-top:8px}
#aa-factors .meter .top{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}
#aa-factors .meter .bar{height:8px;background:rgba(20,24,26,.45);border:1px solid var(--line);position:relative;overflow:hidden}
#aa-factors .meter .fill{position:absolute;left:0;top:0;bottom:0;background:var(--enemy)}
#aa-factors .meter .fill.feel{background:var(--team)}
#aa-factors .factor-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
#aa-factors .factor-tags .tag{font-size:10px;padding:2px 6px}
#aa-factors .factor-summary{margin-top:16px}
#aa-factors .factor-summary b{color:var(--fg)}
#aa-factors .source-note{margin-top:10px}
@media (max-width:900px){
  #curvelab .curve-blurbs,#aa-factors .factor-grid{grid-template-columns:1fr}
}


/* Mobile settings access: expose the real menu above the fold instead of only the hero art. */
@media(max-width:620px){
  #v-settings .hero{padding-block:17px 12px;gap:8px}
  #v-settings .hero h1{font-size:31px;line-height:1.05;margin:5px 0 10px}
  #v-settings .hero .lede{font-size:14px;line-height:1.45}
  #v-settings .heroart{display:none}
  #v-settings #curvelab,#v-settings #aa-factors{scroll-margin-top:148px}
  #v-settings .sbar{scroll-margin-top:114px}
}

/* ---------- settings tabs ---------- */
.sbar{position:sticky;top:calc(env(safe-area-inset-top,0px) + 57px);z-index:20;background:rgba(16,17,17,.94);backdrop-filter:blur(8px);border-block:1px solid var(--line);margin-top:20px}
.sbar .in{display:flex;gap:16px;align-items:center;padding-block:8px;flex-wrap:wrap}
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1 1 auto;min-width:0}
.tabs::-webkit-scrollbar{display:none}
.tab{font-family:var(--display);font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:transparent;border:1px solid transparent;padding:7px 10px;cursor:pointer;white-space:nowrap;display:flex;gap:8px;align-items:center}
.tab small{font-family:var(--mono);font-size:11px;color:var(--dim)}
.tab:hover{color:var(--fg);border-color:var(--line2)}
.tab[aria-selected="true"]{background:var(--fg);color:var(--bg)}
.tab[aria-selected="true"] small{color:#3c4540}
.search{position:relative;flex:0 1 220px;min-width:170px}
.search input{width:100%;background:var(--panel);border:1px solid var(--line2);color:var(--fg);font:500 15px var(--body);padding:8px 12px 8px 34px}
.search input::placeholder{color:var(--dim)}
.search svg{position:absolute;left:10px;top:50%;translate:0 -50%;width:16px;height:16px;stroke:var(--muted)}
.smain{padding-block:24px 30px}
.panel[hidden]{display:none}
#smain > .panel{padding-left:14px;padding-right:14px}/* headings line up with the rows inside */
.subnav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.subnav a{font-family:var(--display);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;border-bottom:2px solid var(--line2);padding:4px 2px;margin-right:10px}
.subnav a:hover{color:var(--enemy);border-color:var(--enemy)}
.sub{margin-bottom:40px;scroll-margin-top:150px}
.sub>h2,.h2{font-family:var(--display);font-weight:700;font-size:28px;text-transform:uppercase;letter-spacing:.02em;margin:0 0 6px;display:flex;align-items:center;gap:14px}
.sub>h2::after,.h2::after{content:"";flex:1;height:1px;background:var(--line2)}
.sec{font-family:var(--display);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--enemy);margin:24px 0 8px;font-weight:600}
.sec::after{content:" --";color:var(--dim)}
.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.6fr) 128px;gap:6px 22px;padding:14px 4px;border-bottom:1px solid var(--line);align-items:start}
.row:hover{background:var(--panel)}
.row.nest{position:relative}.row.nest .name{padding-left:26px}
.row.nest::before{content:"";position:absolute;left:14px;top:0;bottom:50%;width:9px;border-left:1px solid var(--line2);border-bottom:1px solid var(--line2)}
.name{font-weight:600;font-size:16px;min-width:0}
.mid{min-width:0;display:grid;gap:5px}
.val{font-family:var(--mono);font-weight:700;font-size:15px;color:var(--enemy);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.val.plain{color:var(--fg)}
.why{color:var(--muted);font-size:14.5px;max-width:68ch}
.sw{width:22px;height:22px;border:1px solid rgba(255,255,255,.35);flex:none}
.copy{font:600 11px var(--mono);color:var(--muted);background:none;border:1px solid var(--line2);padding:2px 6px;cursor:pointer}
.copy:hover{color:var(--fg);border-color:var(--muted)}
.tags{display:flex;gap:6px;flex-direction:column;align-items:flex-end;min-width:0}
.note{border:1px dashed var(--line2);padding:14px 16px;color:var(--muted);font-size:15px;margin:0 0 18px}
.card{background:var(--panel);border:1px solid var(--line2);padding:22px;margin:18px 0 8px;position:relative}
.card h3{font-family:var(--display);font-size:20px;text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px}
.kicker{font-family:var(--display);font-size:11px;letter-spacing:.22em;color:var(--team);text-transform:uppercase;font-weight:600}
.card p{color:var(--muted);margin:6px 0 0;max-width:72ch}
.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:18px}
.ctrl{display:grid;gap:14px}
.ctrl label,.lab2{font-family:var(--display);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:flex;justify-content:space-between;gap:8px}
.ctrl output{font-family:var(--mono);color:var(--fg);letter-spacing:0}
input[type=range]{width:100%;accent-color:var(--enemy)}
.readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:4px}
.stat{border:1px solid var(--line);padding:10px 12px;background:var(--panel2);min-width:0}
.stat b{display:block;font-family:var(--mono);font-size:22px;color:var(--fg);font-variant-numeric:tabular-nums}
.stat span{font-size:12px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-family:var(--display)}
.stat.hi b{color:var(--enemy)}
.viz{display:grid;gap:12px;min-width:0}
.scope{background:rgba(12,13,13,.45);border:1px solid var(--line2);aspect-ratio:16/9;max-width:100%;width:100%}
.cap{font-size:13px;color:var(--dim)}
.lab{display:grid;grid-template-columns:110px repeat(6,minmax(0,1fr));gap:4px;margin-top:16px;overflow-x:auto}
.lab .h{font-family:var(--display);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);align-self:end;padding:4px}
.lab .rl{font-family:var(--mono);font-size:13px;align-self:center;color:var(--fg)}
.cell{height:62px;display:grid;place-items:center}
.plate{font:700 12px var(--display);letter-spacing:.12em;display:flex;align-items:center;gap:5px}
.plate i{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:9px solid currentColor;display:block}
.bars{display:grid;gap:7px;margin-top:6px}
.b{display:grid;grid-template-columns:120px minmax(0,1fr) 52px;gap:10px;align-items:center;font-size:13px}
tr.a,tr.b,tr.e{display:table-row;font-size:inherit}/* table rows tagged by who's faster are rows, not stat bars */
.b .t{height:12px;background:var(--panel2);position:relative}
.b .t div{position:absolute;inset:0 auto 0 0}
.b .n{font-family:var(--mono);color:var(--fg);text-align:right;font-variant-numeric:tabular-nums}
.flow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:16px}
.step{border:1px solid var(--line2);padding:14px;background:var(--panel2)}
.step.start{grid-column:1/-1;border-color:var(--team)}
.step > b{font-family:var(--display);text-transform:none;letter-spacing:.02em;display:block;margin-bottom:7px;font-size:15px}
.step b:not(:first-child){display:inline!important;font-family:inherit!important;text-transform:none!important;letter-spacing:normal!important;margin:0!important}
.step .res{font-family:var(--mono);color:var(--enemy);font-weight:700;margin-top:8px;display:block}
.types{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}
.type{border:1px solid var(--line2);padding:14px;background:var(--panel2)}
.type.pick{border-color:var(--enemy);box-shadow:inset 0 0 0 1px var(--enemy)}
.type b{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;font-size:16px}
.type p{font-size:14px}
.meter{display:flex;gap:3px;margin-top:8px}
.meter i{flex:1;height:6px;background:var(--line2)}
.meter i.on{background:var(--enemy)}
.mlab{font-family:var(--display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:8px}
.empty{color:var(--muted);padding:30px 0;font-size:16px}
mark{background:var(--enemy);color:#111;padding:0 2px}
.cfg{font-family:var(--mono);font-size:13px;background:rgba(12,13,13,.45);border:1px solid var(--line2);padding:2px 6px;color:var(--fg);word-break:break-all}

/* ---------- weapons ---------- */
.vmain{padding-block:26px 50px}
.wgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:14px}
.wcard{border:1px solid var(--line2);background:var(--panel);padding:16px;cursor:pointer;text-align:left;color:var(--fg);display:grid;gap:10px}
.wcard:hover,.wcard[aria-pressed="true"]{border-color:var(--enemy)}
.wcard h4{font-family:var(--display);font-size:19px;text-transform:uppercase;margin:0;letter-spacing:.03em}
.wcard .cls{font-family:var(--display);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.kv div{min-width:0}
.kv b{display:block;font-family:var(--mono);font-size:15px;font-variant-numeric:tabular-nums}
.kv span{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.08em;font-family:var(--display)}
.heat{overflow-x:auto;margin-top:16px;border:1px solid var(--line)}
.heat table{border-collapse:collapse;width:100%;min-width:720px;font-variant-numeric:tabular-nums}
.heat th,.heat td{padding:7px 9px;border-bottom:1px solid var(--line);text-align:right;font-family:var(--mono);font-size:13px;white-space:nowrap}
.heat th{font-family:var(--display);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600;background:var(--panel)}
.heat td:first-child,.heat th:first-child{text-align:left;font-family:var(--body);font-weight:600;position:sticky;left:0;background:var(--panel)}
.chart{width:100%;max-width:100%;background:rgba(12,13,13,.45);border:1px solid var(--line2)}

/* ---------- build lab ---------- */
.lab2col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px}
.bcard{border:1px solid var(--line2);background:var(--panel);padding:16px;position:relative;min-width:0}
.bcard.A{border-top:3px solid var(--enemy)}.bcard.B{border-top:3px solid var(--team)}
.bhead{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.bhead h3{font-family:var(--display);font-size:20px;margin:0;text-transform:uppercase}
.bhead select{flex:1 1 160px}
.slots{display:grid;gap:6px}
.slot{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:8px;align-items:center}
.slot span{font-family:var(--display);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.slot select{width:100%}
.badge{font:700 10px var(--display);letter-spacing:.1em;text-transform:uppercase;padding:2px 6px;border:1px solid currentColor;white-space:nowrap}
.b-ok{color:var(--good)}.b-bad{color:var(--bad)}.b-warn{color:var(--warn)}
.check{margin-top:12px;display:grid;gap:4px;font-size:14px}
.check div{display:flex;gap:8px;align-items:baseline}
.bactions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.btn{font:600 12px var(--display);letter-spacing:.1em;text-transform:uppercase;background:var(--panel2);color:var(--fg);border:1px solid var(--line2);padding:7px 10px;cursor:pointer}
.btn:hover{border-color:var(--enemy);color:var(--enemy)}
.btn.y{background:var(--enemy);color:#111;border-color:var(--enemy)}
.btn.y:hover{color:#111;filter:brightness(1.08)}
.stab{overflow-x:auto;margin-top:16px;border:1px solid var(--line)}
.stab table{border-collapse:collapse;width:100%;min-width:560px;font-variant-numeric:tabular-nums}
.stab th,.stab td{padding:7px 10px;border-bottom:1px solid var(--line);font-size:14px;text-align:right;white-space:nowrap}
.stab th{font-family:var(--display);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--panel)}
.stab td:first-child,.stab th:first-child{text-align:left}
.stab td.a{color:var(--enemy);font-family:var(--mono)}.stab td.bb{color:var(--team);font-family:var(--mono)}
.up{color:var(--good)}.dn{color:var(--bad)}
.legendrow{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin-top:8px;--enemy:#8BF0A0;--team:#FFD36E}/* the charts draw in these two, whatever the theme */
.legendrow i{display:inline-block;width:18px;height:3px;vertical-align:middle;margin-right:6px}

/* ---------- meta ---------- */
.mtable{overflow-x:auto;margin-top:12px;border:1px solid var(--line)}
.mtable table{border-collapse:collapse;width:100%;min-width:760px}
.mtable th,.mtable td{padding:9px 10px;border-bottom:1px solid var(--line);font-size:14px;text-align:left;vertical-align:middle}
.mtable th{font-family:var(--display);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);background:var(--panel)}
@media(max-width:640px){#pistols table,#rulestable table{min-width:0}#pistols .wr .t{display:none}#rulestable td,#rulestable th{font-size:13px;padding:8px 6px;white-space:normal}}/* phones: the numbers and the reasons fit without a sideways scroll */
@media(max-width:600px){#ttkchart text,#wchart text{font-size:22px}}/* the 720-wide charts shrink to ~300 px on a phone: keep the axis labels readable */
.chips{display:flex;gap:4px;flex-wrap:wrap}
.chip{font-size:12px;border:1px solid var(--line2);padding:2px 6px;background:var(--panel2);white-space:nowrap}
.wr{display:flex;align-items:center;gap:8px;min-width:150px}
.wr .t{flex:1;height:8px;background:var(--panel2);position:relative}
.wr .t div{position:absolute;inset:0 auto 0 0;background:var(--enemy)}
.wr b{font-family:var(--mono);font-size:13px;width:48px;text-align:right}
.star td{background:rgba(255,230,0,.07)}
.verdict{font:700 11px var(--display);letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border:1px solid currentColor;white-space:nowrap;display:inline-block}
.v-must{color:var(--enemy)}.v-strong{color:var(--good)}.v-filler{color:var(--muted)}.v-avoid{color:var(--bad)}
.vgrid{display:grid;gap:16px;margin-top:14px}
.vcard{border:1px solid var(--line2);background:var(--panel);padding:18px;position:relative}
.vtop{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}
.vtop h3{font-family:var(--display);font-size:20px;text-transform:uppercase;margin:0}
.edge{margin:14px 0 4px;display:grid;gap:6px}
.edge .lane{display:grid;grid-template-columns:minmax(0,1fr) 64px;gap:10px;align-items:center;font-size:13px}
.edge .t{height:14px;background:var(--panel2);position:relative}
.edge .t div{position:absolute;inset:0 auto 0 0}
.edge b{font-family:var(--mono);text-align:right}
.verdictline{font-family:var(--mono);font-size:13px;color:var(--muted);margin-top:6px}
.verdictline b{color:var(--fg)}
.vopts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:14px}
.vopt{border:1px solid var(--line2);background:var(--panel2);padding:14px;display:grid;gap:8px;align-content:start;min-width:0}
.vopt.A{border-top:3px solid var(--enemy)}.vopt.B{border-top:3px solid var(--team)}
.vopt h4{font-family:var(--display);font-size:17px;margin:0;text-transform:uppercase}
.vopt p{margin:0;color:var(--muted);font-size:14.5px}
.vstat{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;font-size:13px}
.vstat div{display:flex;justify-content:space-between;gap:6px;border-bottom:1px solid var(--line);padding:3px 0}
.vstat b{font-family:var(--mono);font-weight:500}
.vstat .win b{color:var(--good);font-weight:700}
@media (max-width:620px){.vopts{grid-template-columns:minmax(0,1fr)}.vstat{grid-template-columns:minmax(0,1fr)}}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:6px 0 18px}
.kpi{border:1px solid var(--line2);background:linear-gradient(180deg,rgba(255,230,0,.06),transparent 70%),var(--panel);padding:14px 16px;min-width:0}
.kpi b{display:block;font-family:var(--display);font-size:30px;line-height:1;color:var(--fg);font-variant-numeric:tabular-nums}
.kpi span{font-family:var(--display);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.qnav{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:14px;position:sticky;top:calc(env(safe-area-inset-top,0px) + 57px);z-index:15;background:rgba(16,17,17,.94);backdrop-filter:blur(8px);padding:10px 0;border-bottom:1px solid var(--line)}
.jump{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;flex:1 1 300px;min-width:0}.jump::-webkit-scrollbar{display:none}
.jump a{font:600 12px var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);text-decoration:none;border:1px solid var(--line2);padding:5px 9px;white-space:nowrap}
.jump a:hover{color:var(--fg);border-color:var(--muted)}.jump a.ar{border-left:3px solid var(--enemy)}.jump a.smg{border-left:3px solid var(--team)}
.ccard{scroll-margin-top:130px;overflow:hidden}
.ccard::after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--rc,var(--enemy))}
.ccard.smg{--rc:var(--team)}
.rankn{font-family:var(--display);font-weight:700;font-size:44px;line-height:.9;color:transparent;-webkit-text-stroke:1px var(--line2);position:absolute;right:16px;bottom:10px;pointer-events:none}
.wrbig{display:grid;justify-items:end;gap:6px}.wrbig b{font-family:var(--display);font-size:34px;line-height:1;color:var(--fg);font-variant-numeric:tabular-nums}
.wrbig b small{font-size:16px;color:var(--muted)}.wrbig .t{width:100%;height:6px;background:var(--panel2);position:relative;overflow:hidden}.wrbig .t div{position:absolute;inset:0 auto 0 0;background:var(--rc,var(--enemy))}
.wrbig span{font:600 10px var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.chip.opt{color:var(--muted);border-style:dashed}
.swp .act{display:flex;gap:8px;align-items:center}
.swp .slotnote{color:var(--warn)}
.gapw{grid-column:1/-1;color:var(--warn);font-size:13px;border-left:2px solid var(--warn);padding-left:8px}
.btn.sm{padding:4px 8px;font-size:11px}
.verdict.v-must{background:var(--enemy);color:#111;border-color:var(--enemy)}.verdict.v-never{background:rgba(255,107,107,.15)}
.vsum{font-size:13px;color:var(--muted)}.vsum b{color:var(--fg)}
.method{display:grid;gap:8px;margin-top:12px}
.method details{border:1px solid var(--line2);background:var(--panel);padding:12px 16px}
.method summary{cursor:pointer;font-family:var(--display);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:14px}
.method ul{margin:10px 0 2px;padding-left:18px;display:grid;gap:6px;color:var(--muted);font-size:14.5px}.method b{color:var(--fg)}
.ccard[hidden]{display:none}
@media (max-width:620px){.rankn{display:none}}
@media (max-width:860px){.chead .wrbig{grid-column:1/-1;justify-items:start}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.qnav{top:calc(env(safe-area-inset-top,0px) + 100px)}}
.draftbar{background:var(--warn);color:#111;font:700 12px var(--display);letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:6px 0}
.howto{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px;color:var(--muted)}.howto li{display:list-item}
.ccards{display:grid;gap:14px;margin-top:14px}
.ccard{border:1px solid var(--line2);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 120px),var(--panel);padding:18px;display:grid;gap:12px;position:relative}
.chead{display:grid;grid-template-columns:110px minmax(0,1fr) minmax(0,220px);gap:16px;align-items:center}
.chead .gun{width:110px;color:var(--fg)}
.chead h3{font-family:var(--display);font-size:22px;text-transform:uppercase;margin:0;letter-spacing:.03em}
.chead .sub2{color:var(--dim);font-size:12px;font-family:var(--display);letter-spacing:.14em;text-transform:uppercase}
.cbuilds{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.cb{border:1px solid var(--line);background:var(--panel2);padding:12px;display:grid;gap:8px;align-content:start;min-width:0}
.cb.coach{border-top:3px solid var(--enemy)}.cb.rules{border-top:3px solid var(--c-m)}
.cb .kicker{display:flex;justify-content:space-between;gap:8px}
.why2{margin:0;padding-left:18px;font-size:13.5px;color:var(--muted);display:grid;gap:3px}
.swl{display:grid;gap:6px}
.swp{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center;border:1px dashed var(--line2);padding:8px 10px;font-size:14px}
.swp b{color:var(--fg)}.swp .tr{grid-column:1/-1;color:var(--muted);font-size:13px}
.swp .gain{font-family:var(--mono);color:var(--good);font-weight:700;white-space:nowrap}
.vlegend{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin-top:8px}
.v-play{color:var(--c-c)}.v-never{color:var(--bad)}.v-coach{color:var(--enemy)}.v-model{color:var(--muted);border-style:dashed}.v-modelpick{color:var(--c-m);border-color:var(--c-m)}
.vtab{margin-top:12px;border:1px solid var(--line)}
.vslot{display:grid;grid-template-columns:130px minmax(0,1fr);border-bottom:1px solid var(--line)}
.vslot>div:first-child{font-family:var(--display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:12px;background:var(--panel)}
.vrow{display:grid;grid-template-columns:minmax(0,1.2fr) 110px minmax(0,1fr) 90px;gap:8px 12px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line);font-size:14px}
.vrow:last-child{border-bottom:0}.vrow.inref{background:rgba(255,230,0,.06)}
.vrow .nt{color:var(--muted);font-size:13px}.vrow .num{font-family:var(--mono);font-size:12.5px;color:var(--dim);text-align:right}
.badge2{font:700 10px var(--display);letter-spacing:.08em;text-transform:uppercase;padding:1px 5px;border:1px solid currentColor;white-space:nowrap;margin-left:6px}
@media (max-width:860px){.chead{grid-template-columns:80px minmax(0,1fr)}.chead .gun{width:80px}.chead .wr{grid-column:1/-1}.cbuilds{grid-template-columns:minmax(0,1fr)}}
@media (max-width:620px){.vslot{grid-template-columns:minmax(0,1fr)}.vrow{grid-template-columns:minmax(0,1fr) auto}.vrow .nt{grid-column:1/-1}.vrow .num{display:none}}
footer{border-top:1px solid var(--line);padding-block:30px 50px;color:var(--muted);font-size:14px}
footer h2{font-family:var(--display);text-transform:uppercase;letter-spacing:.14em;font-size:14px;color:var(--fg)}
footer ol{padding-left:20px;display:grid;gap:4px;columns:2;column-gap:40px}
footer li{break-inside:avoid}

@media (max-width:860px){
  .hero,.grid2,.flow,.lab2col{grid-template-columns:minmax(0,1fr)}
  .types{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mypc{grid-template-columns:repeat(2,minmax(0,1fr))}
  footer ol{columns:1}
  .sbar{top:calc(env(safe-area-inset-top,0px) + 100px)}
}
@media (max-width:620px){
  .row,.row.nest{grid-template-columns:minmax(0,1fr) auto}
  .row .mid{grid-column:1/-1;grid-row:2}
  .tags{flex-direction:row}
  .readout{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lab{grid-template-columns:76px repeat(6,minmax(54px,1fr))}
  .b{grid-template-columns:90px minmax(0,1fr) 48px}
  .search{flex:1 1 100%}
  .mypc{grid-template-columns:minmax(0,1fr)}
  .slot{grid-template-columns:84px minmax(0,1fr)}
  .slot .badge{grid-column:2}
  .vbtn{padding:7px 8px;font-size:12px;letter-spacing:.06em}
  .views{gap:2px}
  .by{display:none}
}
@media (prefers-reduced-motion:no-preference){.row{transition:background .12s}}

/* ---------- credit + polish ---------- */
body{background-image:radial-gradient(1100px 420px at 85% -120px,rgba(77,155,255,.10),transparent 70%),radial-gradient(900px 380px at 0% -80px,rgba(255,230,0,.07),transparent 70%),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,auto,100% 3px;background-repeat:no-repeat,no-repeat,repeat}
.by{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.06em;text-transform:none;color:var(--dim);margin-left:8px}
.hero{position:relative;isolation:isolate}
.wm{position:absolute;right:16px;top:8px;z-index:-1;font-family:var(--display);font-weight:700;font-size:clamp(70px,13vw,170px);line-height:1;letter-spacing:.04em;color:transparent;-webkit-text-stroke:1px rgba(230,231,230,.055);pointer-events:none;user-select:none;white-space:nowrap;overflow:hidden;max-width:calc(100% - 32px)}
.credit{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 20px;align-items:center;border:1px solid var(--line2);background:var(--panel);padding:16px 18px;margin-bottom:24px}
.credit>p{grid-column:2}.credit>.legal-links{grid-column:1/-1;margin-top:8px}   /* text beside the signature; the long legal line runs full width, so it never squeezes the text column */
.credit .sig{grid-row:span 2;font-family:var(--display);font-weight:700;font-size:28px;letter-spacing:.06em;text-transform:uppercase}
.credit .sig b{color:var(--enemy)}
.credit p{margin:0}.credit p b{color:var(--fg)}
.copy-line{font-family:var(--mono);font-size:12px;color:var(--dim)}
h1 em,.brand b{text-shadow:0 0 24px rgba(255,230,0,.25)}
.card,.vcard,.bcard,.panelbox{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 120px),var(--panel)}
.wcard{transition:border-color .15s,transform .15s,box-shadow .15s}
.wcard:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.vbtn{transition:color .12s,border-color .12s,background .12s}
.vbtn[aria-current="page"]{box-shadow:0 0 18px rgba(255,230,0,.25)}
.h2{font-size:30px}
.mtable tbody tr,.heat tbody tr,.stab tbody tr{transition:background .12s}
.mtable tbody tr:hover,.heat tbody tr:hover,.stab tbody tr:hover{background:rgba(255,255,255,.025)}
.chip{border-radius:2px}
.edge .t,.wr .t,.b .t{border-radius:1px;overflow:hidden}
@media (max-width:620px){.credit{grid-template-columns:minmax(0,1fr)}.credit>p{grid-column:auto}.credit .sig{grid-row:auto}.wm{font-size:64px;top:4px}}
@media (prefers-reduced-motion:reduce){.wcard,.vbtn{transition:none}.wcard:hover{transform:none}}

.gun{display:block;width:100%;height:auto;color:var(--muted)}
.wcard .gun{height:64px;transition:color .15s}
.wcard:hover .gun,.wcard[aria-pressed="true"] .gun{color:var(--fg)}
.hs-wrap{overflow-x:auto;margin-top:10px}.hs-tab{width:100%;border-collapse:collapse;font-size:14px}.hs-tab th{text-align:left;font:400 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--amber,#E8B04A);padding:8px 10px;border-bottom:1px solid var(--line2)}.hs-tab td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.6}.hs-tab td:first-child,.hs-tab td:nth-child(2),.hs-tab td:nth-child(3){white-space:nowrap}
.wdhead{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:20px;align-items:center}
.wdhead .gun{color:var(--fg);max-height:110px}
.bgun{height:46px;margin:-4px 0 10px}.bgun .gun{height:46px;width:auto;max-width:100%}
.tgun{display:inline-block;width:64px;vertical-align:middle;margin-right:10px}.tgun .gun{height:24px;width:64px}
.logo{width:28px;height:28px;flex:none;color:var(--fg)}
.brand{display:flex;align-items:center;gap:10px}
.credit .sig{display:flex;align-items:center;gap:10px}.credit .logo{width:38px;height:38px}
@media (max-width:620px){.wdhead{grid-template-columns:minmax(0,1fr)}.tgun{display:none}}

.rate{margin-top:14px;border:1px solid var(--line2);background:var(--panel2);padding:12px 14px}
.rate.empty-r p{margin:4px 0 0;color:var(--muted);font-size:14px}
.rgrid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;margin-top:6px}
.rbig{font-family:var(--display);line-height:1}.rbig b{font-size:44px;color:var(--fg)}.rbig span{color:var(--dim);font-size:14px;margin-left:2px}
.bcard.A .rbig b{color:var(--enemy)}.bcard.B .rbig b{color:var(--team)}
.rline{font-size:14px;color:var(--muted)}.rline b{color:var(--fg)}
.rbar{height:6px;background:var(--line);margin-top:10px;overflow:hidden}.rbar div{height:100%;background:linear-gradient(90deg,var(--bad),var(--warn),var(--good))}
.share{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:16px}
.share input{background:var(--panel);border:1px solid var(--line2);color:var(--fg);font:500 14px var(--mono);padding:8px 10px;flex:1 1 200px;min-width:0}
.code{font:700 13px var(--mono);color:var(--enemy);letter-spacing:.06em}


/* field standings + comparison */
.wtag{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;font:800 12px var(--body);color:#0B0F11;vertical-align:1px}
.wtag.A{background:var(--enemy)}.wtag.B{background:var(--team)}
.rline.fieldl{margin-top:4px}
.fheads{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 16px}
.fhead{display:flex;gap:12px;align-items:flex-start;background:var(--panel2);border:1px solid var(--line2);padding:12px 14px}
.fhead.A{border-left:3px solid var(--enemy)}.fhead.B{border-left:3px solid var(--team)}
.fhead p{margin:4px 0 0;font-size:14px;color:var(--muted)}.fhead p b{color:var(--fg)}
.fbig{font:900 40px/1 var(--hero);font-stretch:118%}.fbig small{font:600 15px var(--body);color:var(--dim)}
.fhead.A .fbig{color:var(--enemy)}.fhead.B .fbig{color:var(--team)}
.flist{list-style:none;margin:0;padding:0;display:grid;gap:3px}
.fr{display:grid;grid-template-columns:38px minmax(0,1.1fr) minmax(0,1.4fr) 58px;gap:12px;align-items:center;padding:6px 10px;font-size:14px;background:rgba(139,240,160,.025)}
.fr .pos{color:var(--dim);font-weight:700}.fr b{text-align:right;font-variant-numeric:tabular-nums}
.fr .fn{display:flex;gap:8px;align-items:center;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fr .fn small{color:var(--dim)}
.fbar{display:block;height:6px;background:var(--line)}.fbar i{display:block;height:100%;background:var(--line2)}
.fr.you{background:var(--panel2);font-weight:600}.fr.you.A{box-shadow:inset 3px 0 var(--enemy)}.fr.you.B{box-shadow:inset 3px 0 var(--team)}
.fr.you.A .fbar i,.fr.mine.A .fbar i{background:var(--enemy)}.fr.you.B .fbar i,.fr.mine.B .fbar i{background:var(--team)}.fr.mine.AB .fbar i{background:linear-gradient(90deg,var(--enemy),var(--team))}
.fr.you .pos,.fr.you.A b{color:var(--enemy)}.fr.you.B .pos,.fr.you.B b{color:var(--team)}
.fr.mine{background:var(--panel2)}.fr.mine.A .pos,.fr.you.A .pos{color:var(--enemy)}.fr.mine.B .pos,.fr.you.B .pos{color:var(--team)}.fr.repl{opacity:.45}
.cmpsum{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--panel)}
.cmpsum b{font-size:16px}
.stab table.cmp td.diff{text-align:left;color:var(--fg)}
.stab table.cmp td.diff small{color:var(--dim);margin-left:2px}
.stab table.cmp td.diff .hd{font-size:12px;color:var(--muted);margin-top:2px}
.stab table.cmp td.a,.stab table.cmp td.bb{color:var(--muted)}
.stab table.cmp td.a.win,.stab table.cmp td.a .win{color:var(--enemy);font-weight:700}.stab table.cmp td.bb.win,.stab table.cmp td.bb .win{color:var(--team);font-weight:700}.stab table.cmp th:last-child{text-align:left}
.stab table.cmp tr.grp td{background:var(--panel2);color:var(--enemy);font-weight:600;font-size:13px;text-align:left;padding-top:10px}
.stab table.cmp .u{color:var(--dim);font-size:12px}.stab table.cmp .sl{color:var(--dim)}
.even{color:var(--dim)}
@media (max-width:860px){.fheads{grid-template-columns:1fr}}
@media (max-width:620px){.fr{grid-template-columns:30px minmax(0,1fr) 52px}.fr .fbar{display:none}.fr .fn small{display:none}
 .stab table.cmp{min-width:0}.stab table.cmp thead{display:none}
 .stab table.cmp tr{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:2px 14px;padding:8px 10px;border-bottom:1px solid var(--line)}
 .stab table.cmp td{border:0;padding:0;white-space:normal}.stab table.cmp td.diff{grid-column:1/-1;font-size:13px}
 .stab table.cmp tr.grp{display:block;background:var(--panel2)}.stab table.cmp tr.grp td{display:block;background:none;padding:2px 0}
 .stab table.cmp td.a::before{content:"A ";color:var(--dim);font-weight:400}.stab table.cmp td.bb::before{content:"B ";color:var(--dim);font-weight:400}}

.bcard.A{--acc:var(--enemy)}.bcard.B{--acc:var(--team)}
.gl{font:900 15px var(--hero);font-stretch:115%;text-align:center}
.g-sp{color:#C9FFD6}.g-s{color:#8BF0A0}.g-a{color:#A9D4FF}.g-b{color:#FFD36E}.g-c{color:#FFB347}.g-d{color:#FF6B5A}
.fhead{align-items:stretch}
.gbig{font:900 64px/1 var(--hero);font-stretch:125%;min-width:86px;display:grid;place-items:center;background:rgba(10,12,13,.45);border:1px solid var(--line2);text-shadow:0 0 24px currentColor}
.fbody{min-width:0}.ftop{display:flex;gap:8px;align-items:center;font-size:16px}
.vline{display:flex;gap:10px;align-items:baseline;margin-top:8px;font-size:13.5px;color:var(--muted)}
.vd{font:700 12.5px var(--body);padding:2px 8px;border:1.5px solid currentColor;white-space:nowrap;transform:rotate(-2deg);display:inline-block}
.vd-meta{color:var(--enemy)}.vd-up{color:#8BF0A0;background:rgba(139,240,160,.12)}.vd-paper{color:var(--warn)}.vd-even{color:var(--muted)}.vd-dn{color:#FF8A7A}.vd-dn2{color:var(--bad)}.vd-na{color:var(--dim)}
.h3s{font:700 15px var(--body);color:var(--fg);margin:16px 0 8px}
.gscale{display:grid;gap:3px}
.gband{display:grid;grid-template-columns:44px 84px minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:6px 10px;background:rgba(139,240,160,.025);font-size:13.5px}
.gband b{font:900 18px var(--hero);font-stretch:118%}.gband .gr{color:var(--dim)}.gband .gm{color:var(--muted)}.gband .gm i{color:var(--dim)}
.gband.g-sp b{color:#C9FFD6}.gband.g-s b{color:#8BF0A0}.gband.g-a b{color:#A9D4FF}.gband.g-b b{color:#FFD36E}.gband.g-c b{color:#FFB347}.gband.g-d b{color:#FF6B5A}
.fr{grid-template-columns:38px minmax(0,1.1fr) minmax(0,1.4fr) 44px 58px}
@media (max-width:620px){.fr{grid-template-columns:30px minmax(0,1fr) 42px 52px}.gbig{font-size:38px;width:76px;min-width:76px;min-height:70px}.gbig.g-sp{font-size:30px}.vline{flex-direction:column;gap:4px}.gband{grid-template-columns:36px minmax(0,1fr) auto auto}.gband .gr{display:none}}
/* grades as stamps, same family as the Verified / Strong tags */
.gl{display:inline-block;font:900 14px/1.25 var(--hero);font-stretch:115%;padding:1px 7px;border:1.5px solid currentColor;transform:rotate(-4deg);background:rgba(0,0,0,.25);min-width:34px;text-align:center}
.fr .gl{justify-self:center}
.gbig{border:3px solid currentColor;transform:rotate(-5deg);background:rgba(0,0,0,.3);box-shadow:inset 0 0 0 3px rgba(6,7,8,.9),inset 0 0 0 4px currentColor;align-self:center;padding:6px 4px;min-height:96px;width:112px;min-width:112px;margin:4px 6px 4px 2px;font-size:54px}
.gbig.g-sp{font-size:44px}
@media (max-width:620px){.gbig{font-size:36px;width:70px;min-width:70px;min-height:64px;border-width:2px}.gbig.g-sp{font-size:28px}}
.gband b{display:inline-block;padding:0 7px;border:1.5px solid currentColor;transform:rotate(-4deg);text-align:center;justify-self:start;min-width:38px;line-height:1.3}
.xplain{margin-top:10px;border:1px solid var(--line2);background:var(--panel2);padding:10px 14px}
.xplain summary{cursor:pointer;font:700 14px var(--body);color:var(--enemy)}.xplain summary span{font-weight:500;color:var(--dim);margin-left:6px}
.xlist{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.xrow{border-top:1px solid var(--line);padding-top:8px}
.xh{display:grid;grid-template-columns:72px minmax(0,1fr);gap:10px;align-items:center}
.xw{font-weight:600;font-size:14px}.xw .arr{color:var(--dim)}.xslot{font-size:12px;color:var(--dim)}
.xpts{font:900 18px var(--hero);font-stretch:112%;padding:1px 6px;border:1.5px solid currentColor;transform:rotate(-4deg);display:inline-block;text-align:center}
.xpts small{font:600 9px/1.1 var(--body);display:block;margin:1px 0 1px;letter-spacing:.02em;white-space:nowrap}.xpts.up{color:var(--good)}.xpts.dn{color:var(--bad)}.xpts.ev{color:var(--muted)}.xpts.na{color:var(--dim);font-size:14px}
.xfx{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 0 82px}
.xchip{font-size:12px;padding:1px 7px;border:1px solid var(--line2)}.xchip.good{color:var(--good)}.xchip.bad{color:var(--bad)}
.xread{margin:6px 0 0 82px;font-size:13.5px;color:var(--muted)}.xread b{color:var(--fg);font-weight:600}
.sx{margin:0 0 6px}.sx b{color:var(--fg)}.sx.lose>b:first-child{color:#FF8A7A}.sx.gain>b:first-child{color:var(--good)}.sx.ctx>b:first-child{color:var(--team)}.sx.net{color:var(--dim);font-size:12.5px}
.xflag{margin:4px 0 0 82px;font-size:13px;color:var(--warn)}.xflag b{color:var(--warn)}
@media (max-width:620px){.xfx,.xread,.xflag{margin-left:0}.xh{grid-template-columns:64px minmax(0,1fr)}}
#stretchlab .chart{width:100%;height:auto;margin-top:6px}
#strtab td:first-child{text-align:left}#strtab .sw2{display:inline-block;width:10px;height:10px;margin-right:8px;vertical-align:-1px}
#strtab tr.match td{background:var(--panel2);color:var(--fg)}
@media (max-width:620px){.stab #strtab{min-width:0}#strtab td,#strtab th{font-size:12px;padding:6px}#strtab td:nth-child(5),#strtab th:nth-child(5){display:none}#strtab td:first-child{white-space:normal}}
#fovgraph .chart{width:100%;height:auto;margin-top:6px}
#fovtab td:first-child{text-align:left}#fovtab tr.pick td{background:var(--panel2);color:var(--enemy);font-weight:700}
@media (max-width:620px){.stab #fovtab{min-width:0}#fovtab td,#fovtab th{font-size:12px;padding:6px}#fovtab td:nth-child(3),#fovtab th:nth-child(3),#fovtab td:nth-child(4),#fovtab th:nth-child(4){display:none}}
/* ===== Scope theme ===== */
body *:not(svg):not(svg *){text-transform:none!important;letter-spacing:normal!important}
body{background-color:var(--bg);background-image:repeating-linear-gradient(0deg,rgba(120,255,150,.022) 0 1px,transparent 1px 3px);font-size:15.5px}
.top{background:rgba(6,7,8,.92);border-bottom:1px solid var(--line)}
.brand{font:800 17px var(--hero);font-stretch:125%;color:#fff;display:flex;align-items:center;gap:10px}
.brand .by{font:500 12px var(--body);color:var(--dim)}
#logo1 svg{width:22px;height:22px}
.vbtn{font:600 15px var(--body);padding:7px 14px;border-radius:0}
.vbtn[aria-current="page"]{background:var(--enemy);color:#0B0F11}
.hero{grid-template-columns:minmax(0,1fr) 440px;align-items:center;gap:36px;padding-block:28px 26px}
.hero h1{font-family:var(--hero);font-weight:900;font-stretch:125%;letter-spacing:-.035em!important;line-height:.9;font-size:clamp(40px,6.2vw,80px);margin:0 0 18px;color:#F0FFF2;text-shadow:0 0 30px rgba(139,240,160,.25)}
.lede{color:var(--muted);font-size:16.5px;max-width:56ch}
.heroart{display:flex;justify-content:center}
.art{width:100%;max-width:440px;aspect-ratio:1;filter:drop-shadow(0 0 40px rgba(139,240,160,.14))}
.art text{font-family:var(--body)}
.artbox{position:relative;width:100%;max-width:440px}
.artgun{position:absolute;left:12%;right:12%;top:30%;color:#D7F5DC;--bg:#151B1E;filter:drop-shadow(0 0 16px rgba(139,240,160,.35))}.artgun svg{width:100%;display:block}
.hero .panelbox{margin-top:20px}
.ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.btn{font:600 14px var(--body);border-radius:0;padding:9px 16px}
.btn.y{background:var(--enemy);color:#0B0F11;border-color:var(--enemy)}
.legend.slim{margin-top:22px}
.legend.slim h2{font:600 13px var(--body);color:var(--dim);margin:0 0 8px}
.legend.slim ul{display:flex;flex-wrap:wrap;gap:6px 16px}
.legend.slim li{font-size:13px;gap:6px;align-items:center}
.legend.slim li span:last-child b{font-weight:600}
.tag{font:700 13px var(--body);padding:1px 8px;border-width:1.5px;transform:rotate(-3deg);display:inline-block}
.panelbox{background:var(--panel);border-color:var(--line)}
.panelbox h2,.kicker{font:600 14px var(--body);color:var(--enemy)}
.br::before,.br::after{border-color:var(--enemy)}
.seg button{font:600 13px var(--body);border-radius:0}
.seg button[aria-pressed="true"]{background:var(--enemy);color:#0B0F11;border-color:var(--enemy)}
.sbar{background:rgba(6,7,8,.95)}
.tab{font:600 14.5px var(--body)}
.tab[aria-selected="true"]{color:var(--enemy);box-shadow:inset 0 -2px var(--enemy)}
.h2,.sub>h2{font-family:var(--hero);font-weight:900;font-stretch:118%;letter-spacing:-.02em!important;font-size:30px;color:#F0FFF2}
.sec{font:600 14px var(--body);color:var(--enemy)}.sec::after{content:none}
.row .name{font-weight:600}
.val span{color:var(--enemy)}
.card{background:var(--panel);border-color:var(--line)}
.card h3,.bcard h3,.ccard h3{font-family:var(--hero);font-weight:800;font-stretch:115%}
.chip{border-radius:0;background:var(--panel2);border-color:var(--line2);font-size:13px}
.kpis .kpi b{font-family:var(--hero);font-weight:900;font-stretch:118%;color:#F0FFF2}
footer .credit{border-color:var(--line)}
.sig span:last-child{font-family:var(--hero);font-weight:900;font-stretch:125%}.sig b{color:var(--enemy)}
table th{font:600 13px var(--body);color:var(--dim)}
td,th{font-variant-numeric:tabular-nums}
/* build lab VS art */
.vsart{position:relative;width:100%;max-width:440px;aspect-ratio:1.15;display:grid;grid-template-rows:1fr auto 1fr;align-items:center;
 background:radial-gradient(circle at 50% 50%,rgba(139,240,160,.10),transparent 62%);border:1px solid var(--line)}
.vsart::before,.vsart::after{content:"";position:absolute;width:18px;height:18px;border:solid var(--enemy)}.vsart::before{top:-1px;left:-1px;border-width:2px 0 0 2px}.vsart::after{bottom:-1px;right:-1px;border-width:0 2px 2px 0;border-color:var(--team)}
.vsart .side{display:grid;grid-template-columns:1fr;padding:0 22px}
.vsart .side svg{width:78%;display:block}
.vsart .sa{color:#D7F5DC;--enemy:var(--enemy);--bg:var(--bg)}.vsart .sa svg{filter:drop-shadow(0 0 14px rgba(139,240,160,.35))}
.vsart .sb{color:#FFE9B8;justify-items:end}.vsart .sb svg{transform:scaleX(-1);filter:drop-shadow(0 0 14px rgba(255,211,110,.3))}
.vsart .nm{font:800 18px var(--hero);font-stretch:115%}.vsart .sa .nm{color:var(--enemy)}.vsart .sb .nm{color:var(--team);text-align:right}
.vsart .vs{text-align:center;font:900 26px var(--hero);font-stretch:125%;color:var(--dim)}

.tag.pc{color:var(--team)}
@media (max-width:860px){.hero{grid-template-columns:minmax(0,1fr)}.heroart{order:2}.art,.artbox,.vsart{max-width:340px}}
@media (max-width:620px){.hero h1{font-size:40px}.art,.artbox{max-width:240px}#v-lab .heroart{display:none}.h2,.sub>h2{font-size:24px;line-height:1.1}}
.key{margin:8px 0;border-left:3px solid var(--acc,#8BF0A0);background:var(--panel2);padding:6px 10px}.key summary{cursor:pointer;font:600 13px var(--body);color:var(--acc,#8BF0A0)}.key p{font-size:13.5px;color:var(--muted);margin:6px 0 2px;max-width:80ch}.key p b{color:var(--fg)}

/* ===== class tuner ===== */
.tune h3{margin-top:2px}
.tform{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;margin:14px 0 4px}
.tf{display:grid;gap:5px;min-width:0}.tf>span{font:600 12px var(--body);color:var(--muted)}
.tf select{width:100%}
#tout{margin-top:14px}
.tmsg{border:1px dashed var(--line2);padding:12px 14px;color:var(--muted)}
.tres{border-top:1px solid var(--line2);padding-top:14px}
.tgrid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}
.tchg{list-style:none;padding:0;margin:6px 0 10px;display:grid;gap:4px;font-size:15px}
.tchg li{border-left:3px solid var(--enemy);padding:3px 0 3px 10px;background:var(--panel2)}
.tline{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;font-size:14px;color:var(--muted);margin-top:6px}.tline b{color:var(--fg)}
.tscore{display:grid;grid-template-columns:auto auto auto;gap:8px 12px;align-items:center;justify-items:center;border:1px solid var(--line2);background:var(--panel2);padding:12px 16px}
.tsc{display:grid;justify-items:center;gap:4px}.tsc .gl{font-size:22px;min-width:46px}.tsc>span:last-child{font-size:12.5px;color:var(--muted)}
.tdp{grid-column:1/-1;font:800 15px var(--hero);font-stretch:112%}.tdp.up{color:var(--good)}.tdp.dn{color:var(--bad)}.tdp.ev{color:var(--muted)}
.tstory{margin-top:12px}
.tft{border-collapse:collapse;width:100%;min-width:0;font-variant-numeric:tabular-nums}.tft th,.tft td{padding:5px 8px;border-bottom:1px solid var(--line);text-align:right;font-size:13.5px}.tft th:first-child,.tft td:first-child{text-align:left}
@media (max-width:480px){.tft th,.tft td{padding:5px 5px;font-size:12.5px}}.tft th{color:var(--dim);font-weight:600}.tft td.up{color:var(--good)}.tft td.dn{color:var(--bad)}
.talts{margin-top:12px}.talts ul{list-style:none;padding:0;margin:6px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
.talts li{border:1px solid var(--line2);background:var(--panel2);padding:10px 12px;display:grid;gap:6px;font-size:14px;align-content:start}.talts li .btn{justify-self:start}
.feel{margin-top:14px;border:1px solid var(--line2);background:var(--panel2);padding:10px 14px;display:grid;gap:8px}
.fx1{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) 56px;gap:12px;align-items:center}
.fxl{display:grid;font-size:13.5px}.fxl span{color:var(--dim);font-size:12.5px}
.fx1.goal .fxl b{color:var(--enemy)}.fx1.goal .fxl b::after{content:" · your goal";font-weight:500;color:var(--dim)}
.fxbar{position:relative;height:10px;background:var(--panel);border:1px solid var(--line)}.fxbar::before{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:1px;background:var(--line2)}
.fxbar i{position:absolute;top:1px;bottom:1px}.fxbar i.up{background:var(--good)}.fxbar i.dn{background:var(--bad)}
.fxv{font:700 14px var(--body);text-align:right;color:var(--muted)}.fxv.up{color:var(--good)}.fxv.dn{color:var(--bad)}
@media (max-width:620px){.tform,.tgrid{grid-template-columns:minmax(0,1fr)}.tscore{justify-self:stretch}.fx1{grid-template-columns:minmax(0,1fr) 52px}.fxbar{grid-column:1/-1;grid-row:2}}

/* ===== HP spawns ===== */
#v-hp{--hold:#8BF0A0;--att:#FFB347;--a:#36D3E8;--b:#FF8A4C;--good:#8BF0A0;--bad:#FF6B5A;--warn:#FFB347;--acc:#8BF0A0}
#v-hp h1{font:900 clamp(38px,6vw,74px)/.92 var(--hero);font-stretch:125%;letter-spacing:-.035em;margin:30px 0 14px;color:#F0FFF2;text-shadow:0 0 30px rgba(139,240,160,.22);text-wrap:balance}
#v-hp h2{font:900 30px/1.05 var(--hero);font-stretch:118%;letter-spacing:-.02em;margin:40px 0 10px;color:#F0FFF2;text-wrap:balance}
#v-hp h3{font:800 19px var(--hero);font-stretch:112%;margin:0 0 6px}
#v-hp p{margin:0 0 10px}
#v-hp .lede{color:var(--muted);font-size:17px;max-width:66ch}
#v-hp .cap{color:var(--dim);font-size:13px;max-width:80ch}
#v-hp b,#v-hp strong{color:var(--fg)}
#v-hp .find{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:22px}
#v-hp .find.proto .f h3{font-size:19px;margin-bottom:6px}
#v-hp .find.proto .f p,#v-hp .find.proto .f li{font-size:14px;color:var(--muted)}
#v-hp .find.proto .f li b,#v-hp .find.proto .f p b{color:var(--fg)}
#v-hp .find.proto ol{padding-left:18px;margin:6px 0 0;display:grid;gap:6px}
#v-hp .f{background:var(--panel);border:1px solid var(--line);padding:14px 16px;position:relative}
#v-hp .f::before{content:"";position:absolute;left:-1px;top:-1px;width:12px;height:12px;border:solid var(--acc);border-width:2px 0 0 2px}
#v-hp .f .n{font:900 34px/1 var(--hero);font-stretch:118%;color:var(--acc)}
#v-hp .f .n small{font:600 14px var(--body);color:var(--dim)}
#v-hp .f p{font-size:14px;color:var(--muted);margin:6px 0 0}
#v-hp .tag{display:inline-block;font:700 12px var(--body);padding:1px 8px;border:1.5px solid currentColor;transform:rotate(-3deg)}
#v-hp .t-claim{color:var(--warn)}
#v-hp .t-meas{color:var(--good)}
#v-hp .t-src{color:var(--dim)}
#v-hp .cmp{width:100%;border-collapse:collapse;min-width:720px}
#v-hp .cmp th,#v-hp .cmp td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line);font-size:14px}
#v-hp .cmp th{font:600 13px var(--body);color:var(--dim)}
#v-hp .cmp td:first-child{font-weight:700;white-space:nowrap}
#v-hp .scroll{overflow-x:auto;border:1px solid var(--line);background:var(--panel)}
#v-hp .tabs{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0 0}
#v-hp .tabs button{font:700 16px var(--body);background:var(--panel2);color:var(--muted);border:1px solid var(--line2);padding:8px 16px;cursor:pointer}
#v-hp .tabs button[aria-pressed="true"]{background:var(--acc);color:#0B0F11;border-color:var(--acc)}
#v-hp .mapgrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;margin-top:14px;align-items:start}
#v-hp .panel{background:var(--panel);border:1px solid var(--line);padding:14px}
#v-hp .ctrls{display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:10px}
#v-hp .ctrl label{display:block;font-size:12px;color:var(--dim);margin-bottom:3px}
#v-hp .seg{display:flex;gap:3px;flex-wrap:wrap}
#v-hp .seg button{font:600 13px var(--body);background:var(--panel2);color:var(--muted);border:1px solid var(--line2);padding:4px 10px;cursor:pointer}
#v-hp .seg button[aria-pressed="true"]{background:var(--fg);color:#0B0F11;border-color:var(--fg)}
#v-hp .seg button.ta[aria-pressed="true"]{background:var(--a);border-color:var(--a)}
#v-hp .seg button.tb[aria-pressed="true"]{background:var(--b);border-color:var(--b)}
#v-hp select{background:var(--panel2);color:var(--fg);border:1px solid var(--line2);font:500 14px var(--body);padding:5px 8px;max-width:100%}
#v-hp canvas{width:100%;height:auto;display:block;background:rgba(3,4,4,.45)}
#v-hp .legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--muted);margin-top:8px}
#v-hp .legend i{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px}
#v-hp .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#v-hp .st{background:var(--panel2);border:1px solid var(--line);padding:8px 10px}
#v-hp .st b{display:block;font:900 22px var(--hero);font-stretch:115%}
#v-hp .st span{font-size:12.5px;color:var(--muted)}
#v-hp .score{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
#v-hp .score .s{font:900 30px var(--hero);font-stretch:118%}
#v-hp .sa{color:var(--a)}
#v-hp .sb{color:var(--b)}
#v-hp .roster{font-size:12.5px;color:var(--dim)}
#v-hp .hills{width:100%;border-collapse:collapse;min-width:760px;font-variant-numeric:tabular-nums}
#v-hp .hills th,#v-hp .hills td{padding:7px 9px;border-bottom:1px solid var(--line);font-size:13.5px;text-align:right;white-space:nowrap}
#v-hp .hills th{font:600 12px var(--body);color:var(--dim)}
#v-hp .hills td:first-child,#v-hp .hills th:first-child,#v-hp .hills td.note,#v-hp .hills th.note{text-align:left}
#v-hp .hills td.note{white-space:normal;min-width:260px;color:var(--muted)}
#v-hp .hills tr{cursor:pointer}
#v-hp .hills tbody tr:hover td{background:rgba(139,240,160,.04)}
#v-hp .hills tr.sel td{background:var(--panel2)}
#v-hp .bar{display:flex;height:8px;width:110px;background:rgba(15,17,18,.45);margin-left:auto}
#v-hp .bar i{display:block;height:100%}
#v-hp .pill{font:700 12px var(--body);padding:0 6px;border:1.5px solid currentColor;display:inline-block;transform:rotate(-3deg)}
#v-hp .logic{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
#v-hp .lg{background:var(--panel2);border:1px solid var(--line);padding:12px}
#v-hp .lg .big{font:900 26px var(--hero);font-stretch:115%;color:var(--acc)}
#v-hp .lg p{font-size:13.5px;color:var(--muted);margin:4px 0 0}
#v-hp details{margin-top:10px}
#v-hp summary{cursor:pointer;font-weight:700;color:var(--acc)}
#v-hp ul{margin:6px 0 0;padding-left:20px}
#v-hp li{margin:4px 0;color:var(--muted)}
#v-hp footer{border-top:1px solid var(--line);margin-top:50px;padding-block:20px;color:var(--dim);font-size:13px}
#v-hp a{color:var(--a)}
#v-hp :focus-visible{outline:2px solid var(--acc);outline-offset:2px}
#v-hp .pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:10px}
#v-hp .pc{background:var(--panel);border:1px solid var(--line);padding:14px;min-width:0}
#v-hp .hbadge{display:inline-block;font:900 13px/1.2 var(--hero);font-stretch:112%;padding:2px 9px;border:2px solid currentColor;transform:rotate(-3deg);background:rgba(0,0,0,.25);text-transform:none;white-space:nowrap}
#v-hp .hb-money{color:#FFD36E}
#v-hp .hb-control{color:#8BF0A0}
#v-hp .hb-contest{color:#FF8A4C}
#v-hp .hb-standoff{color:#A9D4FF}
#v-hp .ph{flex-wrap:wrap}
.hill-range{border:1px solid var(--line2);background:var(--panel2);padding:10px 12px;margin:0 0 10px}.hill-range p{margin:4px 0 0;color:var(--muted)}.hill-range p b{color:var(--fg)}.hill-range .nx-hillfit:empty{display:none}
#v-hp .goal{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;border:1px solid var(--line2);background:var(--panel2);padding:10px 12px;margin:0 0 10px}
#v-hp .goal .gt{display:grid;justify-items:start;min-width:120px}
#v-hp .goal .gt b{font:900 30px/1.05 var(--hero);font-stretch:112%;color:var(--fg)}
#v-hp .goal p{font-size:13.5px;color:var(--muted);margin:0 0 6px}
#v-hp .goal p b{color:var(--fg)}
#v-hp .htypes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
#v-hp .htypes .f p{font-size:13.5px;color:var(--muted);margin:8px 0 0}
#v-hp .htypes .f p b{color:var(--fg)}
#v-hp .htypes .tgt{color:var(--fg)!important}
@media (max-width:1000px){#v-hp .htypes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){#v-hp .htypes{grid-template-columns:minmax(0,1fr)}
#v-hp .goal{grid-template-columns:minmax(0,1fr)}}
#v-hp .guide{display:grid;gap:8px;margin-top:12px}
#v-hp .gd{border:1px solid var(--line2);background:var(--panel);padding:10px 14px}
#v-hp .gd summary{cursor:pointer;font:800 16px var(--hero);font-stretch:112%;color:var(--fg)}
#v-hp .gd p{color:var(--muted);font-size:14.5px;max-width:80ch;margin:8px 0 0}
#v-hp .gd p b{color:var(--fg)}
#v-hp .gd p i{color:var(--fg);font-style:normal;font-weight:600}
#v-hp .key{margin:8px 0;border-left:3px solid var(--acc);background:var(--panel2);padding:6px 10px}
#v-hp .key summary{cursor:pointer;font:600 13px var(--body);color:var(--acc)}
#v-hp .key p{font-size:13.5px;color:var(--muted);margin:6px 0 2px;max-width:80ch}
#v-hp .key p b{color:var(--fg)}
#v-hp .setup{margin-top:12px;border:1px solid var(--line2);background:var(--panel2);padding:10px 12px}
#v-hp .setup .sh{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-bottom:8px}
#v-hp .setup .sh>b{color:var(--acc);font-size:14.5px}
#v-hp .setup canvas{width:100%;height:auto;display:block;margin-bottom:6px}
#v-hp .sval{font-size:15px;margin:0 0 8px}
#v-hp .sval b{font:900 22px var(--hero);font-stretch:112%;color:var(--fg)}
#v-hp .setup .up{color:var(--good)}
#v-hp .setup .dn{color:var(--bad)}
#v-hp .tt{border-collapse:collapse;width:100%;min-width:720px;font-variant-numeric:tabular-nums}
#v-hp .tt.sm{min-width:420px}
#v-hp .tt th,#v-hp .tt td{padding:7px 9px;border-bottom:1px solid var(--line);text-align:right;font-size:13.5px;white-space:nowrap}
#v-hp .tt th:first-child,#v-hp .tt td:first-child{text-align:left}
#v-hp .tt thead th{color:var(--dim);font-weight:600;font-size:12.5px;white-space:normal;vertical-align:bottom}
#v-hp .tt td.up{color:var(--good)}
#v-hp .tt td.dn{color:var(--bad)}
#v-hp .tgrid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
#v-hp .tgrid2>.f:first-child{grid-column:1/-1}
#v-hp .tgrid2 h3{font-size:17px;margin-bottom:6px}
#v-hp .tgrid2 p{font-size:14px;color:var(--muted)}
@media (max-width:1000px){#v-hp .tgrid2{grid-template-columns:minmax(0,1fr)}
#v-hp .tgrid2>.f:first-child{grid-column:auto}}
#v-hp .ph{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}
#v-hp .pbig{font:900 30px var(--hero);font-stretch:118%;color:var(--fg)}
#v-hp .pname,#v-strategy .pname{font:700 16px var(--body);color:var(--fg);margin-right:4px}/* the hill's name next to its number */
#v-hp .facts{margin:10px 0 0;padding-left:18px}
#v-hp .facts li{font-size:13.5px}
#v-hp .infer{margin-top:10px;background:var(--panel2);border:1px solid var(--line2);border-left:3px solid var(--acc);padding:10px 12px}
#v-hp .infer b{color:var(--acc)}
#v-hp .infer li{color:var(--fg);font-size:13.5px}
#v-hp .log{width:100%;border-collapse:collapse;min-width:640px;font-variant-numeric:tabular-nums}
#v-hp .log th,#v-hp .log td{padding:5px 8px;border-bottom:1px solid var(--line);font-size:12.5px;text-align:right;white-space:nowrap}
#v-hp .log th{color:var(--dim);font-weight:600}
#v-hp .log td.note,#v-hp .log th.note{text-align:left;white-space:normal;min-width:220px;color:var(--muted)}
#v-hp .r-hold{color:var(--hold)}
#v-hp .r-attack{color:var(--att)}
#v-hp .r-neutral{color:var(--dim)}
@media (max-width:900px){#v-hp .mapgrid{grid-template-columns:minmax(0,1fr)}
#v-hp .pgrid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){#v-hp .stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#v-hp h2{font-size:24px}
#v-hp .f .n{font-size:28px}}
#v-hp .hero h1{margin:0 0 18px}
#v-hp main.vmain>h2:first-child{margin-top:8px}

/* HP strategy inherits the HP visual system without modifying original HP styles */
/* ===== HP spawns ===== */
#v-strategy{--hold:#8BF0A0;--att:#FFB347;--a:#36D3E8;--b:#FF8A4C;--good:#8BF0A0;--bad:#FF6B5A;--warn:#FFB347;--acc:#8BF0A0}
#v-strategy h1{font:900 clamp(38px,6vw,74px)/.92 var(--hero);font-stretch:125%;letter-spacing:-.035em;margin:30px 0 14px;color:#F0FFF2;text-shadow:0 0 30px rgba(139,240,160,.22);text-wrap:balance}
#v-strategy h2{font:900 30px/1.05 var(--hero);font-stretch:118%;letter-spacing:-.02em;margin:40px 0 10px;color:#F0FFF2;text-wrap:balance}
#v-strategy h3{font:800 19px var(--hero);font-stretch:112%;margin:0 0 6px}
#v-strategy p{margin:0 0 10px}
#v-strategy .lede{color:var(--muted);font-size:17px;max-width:66ch}
#v-strategy .cap{color:var(--dim);font-size:13px;max-width:80ch}
#v-strategy b,#v-strategy strong{color:var(--fg)}
#v-strategy .find{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:22px}
#v-strategy .find.proto .f h3{font-size:19px;margin-bottom:6px}
#v-strategy .find.proto .f p,#v-strategy .find.proto .f li{font-size:14px;color:var(--muted)}
#v-strategy .find.proto .f li b,#v-strategy .find.proto .f p b{color:var(--fg)}
#v-strategy .find.proto ol{padding-left:18px;margin:6px 0 0;display:grid;gap:6px}
#v-strategy .f{background:var(--panel);border:1px solid var(--line);padding:14px 16px;position:relative}
#v-strategy .f::before{content:"";position:absolute;left:-1px;top:-1px;width:12px;height:12px;border:solid var(--acc);border-width:2px 0 0 2px}
#v-strategy .f .n{font:900 34px/1 var(--hero);font-stretch:118%;color:var(--acc)}
#v-strategy .f .n small{font:600 14px var(--body);color:var(--dim)}
#v-strategy .f p{font-size:14px;color:var(--muted);margin:6px 0 0}
#v-strategy .tag{display:inline-block;font:700 12px var(--body);padding:1px 8px;border:1.5px solid currentColor;transform:rotate(-3deg)}
#v-strategy .t-claim{color:var(--warn)}
#v-strategy .t-meas{color:var(--good)}
#v-strategy .t-src{color:var(--dim)}
#v-strategy .cmp{width:100%;border-collapse:collapse;min-width:720px}
#v-strategy .cmp th,#v-strategy .cmp td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--line);font-size:14px}
#v-strategy .cmp th{font:600 13px var(--body);color:var(--dim)}
#v-strategy .cmp td:first-child{font-weight:700;white-space:nowrap}
#v-strategy .scroll{overflow-x:auto;border:1px solid var(--line);background:var(--panel)}
#v-strategy .tabs{display:flex;gap:6px;flex-wrap:wrap;margin:16px 0 0}
#v-strategy .tabs button{font:700 16px var(--body);background:var(--panel2);color:var(--muted);border:1px solid var(--line2);padding:8px 16px;cursor:pointer}
#v-strategy .tabs button[aria-pressed="true"]{background:var(--acc);color:#0B0F11;border-color:var(--acc)}
#v-strategy .mapgrid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;margin-top:14px;align-items:start}
#v-strategy .panel{background:var(--panel);border:1px solid var(--line);padding:14px}
#v-strategy .ctrls{display:flex;flex-wrap:wrap;gap:10px 16px;margin-bottom:10px}
#v-strategy .ctrl label{display:block;font-size:12px;color:var(--dim);margin-bottom:3px}
#v-strategy .seg{display:flex;gap:3px;flex-wrap:wrap}
#v-strategy .seg button{font:600 13px var(--body);background:var(--panel2);color:var(--muted);border:1px solid var(--line2);padding:4px 10px;cursor:pointer}
#v-strategy .seg button[aria-pressed="true"]{background:var(--fg);color:#0B0F11;border-color:var(--fg)}
#v-strategy .seg button.ta[aria-pressed="true"]{background:var(--a);border-color:var(--a)}
#v-strategy .seg button.tb[aria-pressed="true"]{background:var(--b);border-color:var(--b)}
#v-strategy select{background:var(--panel2);color:var(--fg);border:1px solid var(--line2);font:500 14px var(--body);padding:5px 8px;max-width:100%}
#v-strategy canvas{width:100%;height:auto;display:block;background:rgba(3,4,4,.45)}
#v-strategy .legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--muted);margin-top:8px}
#v-strategy .legend i{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px}
#v-strategy .stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#v-strategy .st{background:var(--panel2);border:1px solid var(--line);padding:8px 10px}
#v-strategy .st b{display:block;font:900 22px var(--hero);font-stretch:115%}
#v-strategy .st span{font-size:12.5px;color:var(--muted)}
#v-strategy .score{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
#v-strategy .score .s{font:900 30px var(--hero);font-stretch:118%}
#v-strategy .sa{color:var(--a)}
#v-strategy .sb{color:var(--b)}
#v-strategy .roster{font-size:12.5px;color:var(--dim)}
#v-strategy .hills{width:100%;border-collapse:collapse;min-width:760px;font-variant-numeric:tabular-nums}
#v-strategy .hills th,#v-strategy .hills td{padding:7px 9px;border-bottom:1px solid var(--line);font-size:13.5px;text-align:right;white-space:nowrap}
#v-strategy .hills th{font:600 12px var(--body);color:var(--dim)}
#v-strategy .hills td:first-child,#v-strategy .hills th:first-child,#v-strategy .hills td.note,#v-strategy .hills th.note{text-align:left}
#v-strategy .hills td.note{white-space:normal;min-width:260px;color:var(--muted)}
#v-strategy .hills tr{cursor:pointer}
#v-strategy .hills tbody tr:hover td{background:rgba(139,240,160,.04)}
#v-strategy .hills tr.sel td{background:var(--panel2)}
#v-strategy .bar{display:flex;height:8px;width:110px;background:rgba(15,17,18,.45);margin-left:auto}
#v-strategy .bar i{display:block;height:100%}
#v-strategy .pill{font:700 12px var(--body);padding:0 6px;border:1.5px solid currentColor;display:inline-block;transform:rotate(-3deg)}
#v-strategy .logic{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}
#v-strategy .lg{background:var(--panel2);border:1px solid var(--line);padding:12px}
#v-strategy .lg .big{font:900 26px var(--hero);font-stretch:115%;color:var(--acc)}
#v-strategy .lg p{font-size:13.5px;color:var(--muted);margin:4px 0 0}
#v-strategy details{margin-top:10px}
#v-strategy summary{cursor:pointer;font-weight:700;color:var(--acc)}
#v-strategy ul{margin:6px 0 0;padding-left:20px}
#v-strategy li{margin:4px 0;color:var(--muted)}
#v-strategy footer{border-top:1px solid var(--line);margin-top:50px;padding-block:20px;color:var(--dim);font-size:13px}
#v-strategy a{color:var(--a)}
#v-strategy :focus-visible{outline:2px solid var(--acc);outline-offset:2px}
#v-strategy .pgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:10px}
#v-strategy .pc{background:var(--panel);border:1px solid var(--line);padding:14px;min-width:0}
#v-strategy .hbadge{display:inline-block;font:900 13px/1.2 var(--hero);font-stretch:112%;padding:2px 9px;border:2px solid currentColor;transform:rotate(-3deg);background:rgba(0,0,0,.25);text-transform:none;white-space:nowrap}
#v-strategy .hb-money{color:#FFD36E}
#v-strategy .hb-control{color:#8BF0A0}
#v-strategy .hb-contest{color:#FF8A4C}
#v-strategy .hb-standoff{color:#A9D4FF}
#v-strategy .ph{flex-wrap:wrap}
#v-strategy .goal{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:start;border:1px solid var(--line2);background:var(--panel2);padding:10px 12px;margin:0 0 10px}
#v-strategy .goal .gt{display:grid;justify-items:start;min-width:120px}
#v-strategy .goal .gt b{font:900 30px/1.05 var(--hero);font-stretch:112%;color:var(--fg)}
#v-strategy .goal p{font-size:13.5px;color:var(--muted);margin:0 0 6px}
#v-strategy .goal p b{color:var(--fg)}
#v-strategy .htypes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:12px}
#v-strategy .htypes .f p{font-size:13.5px;color:var(--muted);margin:8px 0 0}
#v-strategy .htypes .f p b{color:var(--fg)}
#v-strategy .htypes .tgt{color:var(--fg)!important}
@media (max-width:1000px){#v-strategy .htypes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){#v-strategy .htypes{grid-template-columns:minmax(0,1fr)}
#v-strategy .goal{grid-template-columns:minmax(0,1fr)}}
#v-strategy .guide{display:grid;gap:8px;margin-top:12px}
#v-strategy .gd{border:1px solid var(--line2);background:var(--panel);padding:10px 14px}
#v-strategy .gd summary{cursor:pointer;font:800 16px var(--hero);font-stretch:112%;color:var(--fg)}
#v-strategy .gd p{color:var(--muted);font-size:14.5px;max-width:80ch;margin:8px 0 0}
#v-strategy .gd p b{color:var(--fg)}
#v-strategy .gd p i{color:var(--fg);font-style:normal;font-weight:600}
#v-strategy .key{margin:8px 0;border-left:3px solid var(--acc);background:var(--panel2);padding:6px 10px}
#v-strategy .key summary{cursor:pointer;font:600 13px var(--body);color:var(--acc)}
#v-strategy .key p{font-size:13.5px;color:var(--muted);margin:6px 0 2px;max-width:80ch}
#v-strategy .key p b{color:var(--fg)}
#v-strategy .setup{margin-top:12px;border:1px solid var(--line2);background:var(--panel2);padding:10px 12px}
#v-strategy .setup .sh{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-bottom:8px}
#v-strategy .setup .sh>b{color:var(--acc);font-size:14.5px}
#v-strategy .setup canvas{width:100%;height:auto;display:block;margin-bottom:6px}
#v-strategy .sval{font-size:15px;margin:0 0 8px}
#v-strategy .sval b{font:900 22px var(--hero);font-stretch:112%;color:var(--fg)}
#v-strategy .setup .up{color:var(--good)}
#v-strategy .setup .dn{color:var(--bad)}
#v-strategy .tt{border-collapse:collapse;width:100%;min-width:720px;font-variant-numeric:tabular-nums}
#v-strategy .tt.sm{min-width:420px}
#v-strategy .tt th,#v-strategy .tt td{padding:7px 9px;border-bottom:1px solid var(--line);text-align:right;font-size:13.5px;white-space:nowrap}
#v-strategy .tt th:first-child,#v-strategy .tt td:first-child{text-align:left}
#v-strategy .tt thead th{color:var(--dim);font-weight:600;font-size:12.5px;white-space:normal;vertical-align:bottom}
#v-strategy .tt td.up{color:var(--good)}
#v-strategy .tt td.dn{color:var(--bad)}
#v-strategy .tgrid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
#v-strategy .tgrid2>.f:first-child{grid-column:1/-1}
#v-strategy .tgrid2 h3{font-size:17px;margin-bottom:6px}
#v-strategy .tgrid2 p{font-size:14px;color:var(--muted)}
@media (max-width:1000px){#v-strategy .tgrid2{grid-template-columns:minmax(0,1fr)}
#v-strategy .tgrid2>.f:first-child{grid-column:auto}}
#v-strategy .ph{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}
#v-strategy .pbig{font:900 30px var(--hero);font-stretch:118%;color:var(--fg)}
#v-strategy .facts{margin:10px 0 0;padding-left:18px}
#v-strategy .facts li{font-size:13.5px}
#v-strategy .infer{margin-top:10px;background:var(--panel2);border:1px solid var(--line2);border-left:3px solid var(--acc);padding:10px 12px}
#v-strategy .infer b{color:var(--acc)}
#v-strategy .infer li{color:var(--fg);font-size:13.5px}
#v-strategy .log{width:100%;border-collapse:collapse;min-width:640px;font-variant-numeric:tabular-nums}
#v-strategy .log th,#v-strategy .log td{padding:5px 8px;border-bottom:1px solid var(--line);font-size:12.5px;text-align:right;white-space:nowrap}
#v-strategy .log th{color:var(--dim);font-weight:600}
#v-strategy .log td.note,#v-strategy .log th.note{text-align:left;white-space:normal;min-width:220px;color:var(--muted)}
#v-strategy .r-hold{color:var(--hold)}
#v-strategy .r-attack{color:var(--att)}
#v-strategy .r-neutral{color:var(--dim)}
@media (max-width:900px){#v-strategy .mapgrid{grid-template-columns:minmax(0,1fr)}
#v-strategy .pgrid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){#v-strategy .stats{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#v-strategy h2{font-size:24px}
#v-strategy .f .n{font-size:28px}}
#v-strategy .hero .eyebrow{margin-bottom:16px}
#v-strategy .hero h1{margin:0 0 18px;padding-top:.06em}
#v-strategy main.vmain>h2:first-child{margin-top:8px}

/* Re-break Route Lab. Uses the existing HP palette, fonts, and tactical panels. */
#v-strategy .route-lab{margin-top:42px;border-top:1px solid var(--line2);padding-top:6px;scroll-margin-top:90px}
#v-strategy .route-lab .rbadge{border:1px solid var(--att);color:var(--att);font:700 12px var(--body);padding:2px 7px}
#v-strategy .rcontrols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 10px}
#v-strategy .rcontrols label{display:grid;gap:6px;font:600 13px var(--body);color:var(--muted)}
#v-strategy .rcontrols select{width:100%;min-width:0;padding:10px 9px;font-size:14px}
#v-strategy .rchoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:20px 0 15px}
#v-strategy .roption{text-align:left;min-width:0;border:1px solid var(--line2);background:var(--panel);padding:12px;color:var(--fg);font:500 13px var(--body);cursor:pointer}
#v-strategy .roption:hover{border-color:var(--muted)}
#v-strategy .roption[aria-pressed="true"]{border:2px solid var(--enemy);padding:11px;background:linear-gradient(180deg,rgba(139,240,160,.07),transparent 120px),var(--panel)}
#v-strategy .rchoice-top{display:flex;justify-content:space-between;align-items:baseline;gap:7px;flex-wrap:wrap}
#v-strategy .rchoice-top b{font:800 16px var(--hero);color:var(--fg)}
#v-strategy .rnum{font:800 12px var(--body);color:var(--enemy);margin-right:3px}
#v-strategy .rtime{font:800 18px var(--hero);color:var(--enemy);white-space:nowrap}
#v-strategy .rmini{margin:12px 0;display:grid;gap:3px;color:var(--muted);font-size:13px}
#v-strategy .rmini span{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}
#v-strategy .rmini b{font-variant-numeric:tabular-nums}
#v-strategy .rmini-foot{border-top:1px solid var(--line);padding-top:7px;font-size:12px;color:var(--dim)}
#v-strategy .rplus{color:var(--good)!important}#v-strategy .rminus{color:var(--bad)!important}
#v-strategy .rlayout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px;align-items:start}
#v-strategy .rroute-map,#v-strategy .rroute-stage{min-width:0}
#v-strategy .rmaphead{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:var(--fg);font:700 14px var(--body);padding-bottom:9px}
#v-strategy .rmaphead span{color:var(--att)}
#v-strategy .rmap{display:block;width:100%;height:auto;border:1px solid var(--line2);background:rgba(3,4,4,.45);max-width:100%}
#v-strategy .rmaptxt{font:900 11px var(--body);paint-order:stroke;stroke:#030404;stroke-width:3px;stroke-linejoin:round}
#v-strategy .rlegend{display:flex;flex-wrap:wrap;gap:6px 12px;margin:9px 0 8px;color:var(--muted);font-size:11px}
#v-strategy .rlegend i{display:inline-block;width:10px;height:10px;vertical-align:-1px;margin-right:4px}
#v-strategy .rstagetitle{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px;margin-bottom:13px}
#v-strategy .rstagetitle .kicker{font:700 12px var(--body);color:var(--enemy)}
#v-strategy .rstagetitle b{font:800 20px var(--hero);color:var(--fg)}
#v-strategy .rstepnav{display:flex;gap:5px;margin-bottom:14px}
#v-strategy .rstepnav button{flex:1;min-width:0;background:var(--panel2);border:1px solid var(--line2);color:var(--muted);font:700 15px var(--body);padding:8px;cursor:pointer}
#v-strategy .rstepnav button[aria-pressed="true"]{background:var(--enemy);border-color:var(--enemy);color:#0C0E10}
#v-strategy .rstagescore{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:13px}
#v-strategy .rstagescore>div{padding:10px;border:1px solid var(--line2);background:var(--panel2);min-width:0}
#v-strategy .rstagescore span{display:block;font-size:12px;color:var(--muted);line-height:1.25;min-height:30px}
#v-strategy .rstagescore b{font:900 24px var(--hero);color:var(--fg);display:block;margin-top:7px}
#v-strategy .rspawn{border-left:3px solid var(--att);background:var(--panel2);padding:11px;margin-bottom:12px}
#v-strategy .rspawn>span{font-size:12px;color:var(--muted);display:block}
#v-strategy .rspawn>b{font:800 18px var(--hero);color:var(--att)}
#v-strategy .rprob{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}
#v-strategy .rprob span{font-size:12px;border:1px solid var(--line2);padding:2px 5px;color:var(--muted)}
#v-strategy .rinterpret{background:rgba(139,240,160,.03);padding:9px 10px;border:1px solid var(--line);font-size:13.5px;color:var(--muted)}
#v-strategy .rdivider{height:1px;background:var(--line2);margin:15px 0}
#v-strategy .rroute-stage>p{font-size:13.5px;color:var(--muted)}
#v-strategy .rtablewrap{overflow-x:auto;margin-top:13px;border:1px solid var(--line2);background:var(--panel)}
#v-strategy .rtable{border-collapse:collapse;width:100%;min-width:670px;font-size:13px}
#v-strategy .rtable td,#v-strategy .rtable th{padding:9px 12px;border-bottom:1px solid var(--line);text-align:left;font-variant-numeric:tabular-nums}
#v-strategy .rtable th{color:var(--dim);font-weight:600;font-size:12px}
#v-strategy .rtable tbody tr{cursor:pointer}
#v-strategy .rtable tbody tr.sel{background:rgba(139,240,160,.08)}
#v-strategy .rtable tbody tr:hover{background:var(--panel2)}
#v-strategy .rsummary{border-left:3px solid var(--enemy);padding:12px 15px;margin-top:12px;background:var(--panel);border-block:1px solid var(--line);border-right:1px solid var(--line)}
#v-strategy .rsummary>b{font:800 16px var(--hero);color:var(--enemy)}
#v-strategy .rsummary p{font-size:13.5px;color:var(--muted);margin:7px 0 0}
@media(max-width:900px){#v-strategy .rlayout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:680px){#v-strategy .rcontrols{grid-template-columns:minmax(0,1fr)}#v-strategy .rchoices{grid-template-columns:minmax(0,1fr)}#v-strategy .rmini{margin:7px 0}#v-strategy .rstepnav button{padding:10px}#v-strategy .rstagescore b{font-size:21px}}

/* HP Strategy: uses the same tactical terminal look as the existing Hardpoint page. */
#v-strategy #strategy-original,#v-strategy #team-break-lab{scroll-margin-top:96px}
#v-strategy #team-break-lab{padding-top:22px}
#v-strategy .strategy-hero{padding-top:28px;padding-bottom:4px}
#v-strategy .team-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}
#v-strategy .team-choice{display:grid;gap:7px;align-content:start;text-align:left;padding:15px 16px;color:var(--fg);background:var(--panel);border:1px solid var(--line2);cursor:pointer;min-width:0;font-family:var(--body)}
#v-strategy .team-choice b{font:800 17px var(--hero)}
#v-strategy .team-choice:hover{border-color:var(--muted)}
#v-strategy .team-choice[aria-pressed="true"]{border-color:#8BF0A0;box-shadow:inset 0 2px #8BF0A0;background:linear-gradient(180deg,rgba(139,240,160,.07),transparent 120px),var(--panel)}
#v-strategy .team-metrics{color:var(--muted);font-size:13px}
#v-strategy .team-small{font-size:13px;color:var(--dim)}
#v-strategy .team-small i{display:inline-block;width:12px;height:3px;vertical-align:middle;margin-right:4px}
#v-strategy .lane-main{background:#8BF0A0}#v-strategy .lane-wide{background:#A9D4FF}
#v-strategy .team-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;margin-top:16px;align-items:start}
#v-strategy .team-map{width:100%;height:auto;display:block;background:rgba(3,4,4,.45);border:1px solid var(--line2)}
#v-strategy .team-maplabel{font:800 11px var(--body);paint-order:stroke;stroke:#030404;stroke-width:3px;stroke-linejoin:round}
#v-strategy .team-legend{display:flex;gap:8px 14px;flex-wrap:wrap;margin:10px 0;font-size:12px;color:var(--muted)}
#v-strategy .team-legend i{display:inline-block;width:11px;height:9px;vertical-align:-1px;margin-right:4px}
#v-strategy .team-topline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}
#v-strategy .team-stat{background:var(--panel2);border:1px solid var(--line2);padding:12px;min-width:0}
#v-strategy .team-stat span{color:var(--muted);font-size:12px;display:block;min-height:20px}
#v-strategy .team-stat b{font:900 24px var(--hero);color:var(--fg);display:block;margin-top:5px}
#v-strategy .team-step{min-width:0}
#v-strategy .team-step h3{font-size:20px;margin:0 0 12px}
#v-strategy .team-orders{display:grid;gap:10px;margin-bottom:16px}
#v-strategy .team-orders>div{background:var(--panel2);border:1px solid var(--line2);border-left:3px solid currentColor;padding:10px 12px}
#v-strategy .team-orders p{font-size:13px;color:var(--muted);margin:4px 0 0}
#v-strategy .color-main{color:#8BF0A0;font-weight:700}#v-strategy .color-wide{color:#A9D4FF;font-weight:700}
#v-strategy .team-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px;align-items:start}
#v-strategy .team-two h3{margin:4px 0 14px}
#v-strategy .team-order{border-left:2px solid var(--line2);padding:3px 0 5px 13px;margin-bottom:12px}
#v-strategy .team-order b{color:var(--fg)}#v-strategy .team-order p{font-size:13.5px;color:var(--muted);margin-top:5px}
#v-strategy .contact-row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;border-bottom:1px solid var(--line);padding:11px 0;font-size:14px}
#v-strategy .contact-row small{font-size:12px;color:var(--muted)}
#v-strategy .team-stage-table{display:grid;gap:5px}
#v-strategy .team-stage-table button{display:grid;grid-template-columns:85px 1fr auto;gap:8px;text-align:left;align-items:center;background:var(--panel2);border:1px solid var(--line);padding:9px 11px;color:var(--muted);font:500 13px var(--body);cursor:pointer}
#v-strategy .team-stage-table button[aria-pressed="true"]{border-color:#8BF0A0;background:rgba(139,240,160,.09)}
#v-strategy .team-stage-table b{color:var(--fg)}
#v-strategy .strategy-divider{margin:42px 0 0;border-top:1px solid var(--line2)}
#v-strategy .strategy-map-switch{margin-top:18px}
#v-strategy .strategy-old-head{margin:24px 0 6px}
@media(max-width:1000px){#v-strategy .team-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){#v-strategy .team-choices,#v-strategy .team-two{grid-template-columns:minmax(0,1fr)}#v-strategy .team-topline{grid-template-columns:repeat(2,minmax(0,1fr))}#v-strategy .team-stage-table button{grid-template-columns:70px 1fr;font-size:12px}#v-strategy .team-stage-table button span:last-child{grid-column:1/-1}#v-strategy .contact-row{grid-template-columns:78px minmax(0,1fr)}}

#v-strategy .team-pick{border:1px solid #8BF0A0;color:#8BF0A0;font-size:10px;padding:1px 5px;margin-left:6px}
#v-strategy .team-reco{margin:-4px 0 16px!important}


#v-strategy .team-hero-art{display:grid;align-content:center;justify-items:center;gap:16px;position:absolute;inset:0;text-align:center}
#v-strategy .team-hero-art strong{font:900 clamp(70px,9vw,120px)/.8 var(--hero);color:#8BF0A0;text-shadow:0 0 24px #8BF0A055}
#v-strategy .team-hero-art span{font:700 14px var(--body);color:#FFD36E;letter-spacing:.18em!important}
#v-strategy .team-hero-lines{display:flex;gap:13px;align-items:center;justify-content:center;margin-top:12px}
#v-strategy .team-hero-lines i{display:block;width:40px;height:2px;background:#8BF0A0;transform:rotate(-22deg)}
#v-strategy .team-hero-lines i:last-child{transform:rotate(25deg);background:#A9D4FF}
@media(max-width:870px){#v-strategy .hero{grid-template-columns:1fr}#v-strategy .heroart{display:none}}

/* The Lab · accounts: dialogs, team admin and the loading bar. Uses the site's own tokens. */
#ck{cursor:inherit}
.lab-dlg{position:fixed;inset:0;z-index:1000;background:rgba(3,10,6,.78);display:grid;place-items:center;padding:16px;overflow:auto}
.lab-dlg-box{width:min(400px,100%);margin:0;display:grid;gap:10px;box-sizing:border-box}
.lab-dlg-box.wide{width:min(640px,100%)}
.lab-dlg-box h3{margin:0}
.lab-form{display:grid;gap:10px}
.lab-f{display:grid;gap:4px;min-width:0}
.lab-f input,.lab-f select{width:100%;box-sizing:border-box;font-size:16px;padding:9px 10px}
.lab-err{min-height:1.2em;margin:0;color:var(--life-bad,#FF8A7A)}
.lab-err:empty{min-height:0}
.lab-link{background:none;border:0;padding:0;color:inherit;text-decoration:underline;font:inherit;cursor:pointer}
.lab-inline{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:10px 0}
.lab-inline .lab-f{flex:1 1 180px}
.lab-inline .btn{flex:0 0 auto}
.lab-table{overflow-x:auto;margin-top:12px}
.lab-table select,.lab-table input{font-size:14px;padding:6px 8px;max-width:100%;box-sizing:border-box}
.lab-copy{display:flex;gap:8px;margin-top:8px}
.lab-copy input{flex:1;min-width:0;font-size:14px;padding:8px}
.lab-audit{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:6px}
details.card summary{cursor:pointer}
#lab-load{position:fixed;left:0;right:0;top:0;z-index:999;height:3px;background:transparent}
#lab-load i{display:block;height:100%;width:4%;background:var(--y,#E8FF57);transition:width .25s ease}
#lab-load span{position:fixed;top:10px;left:50%;transform:translateX(-50%);font:600 13px var(--body,system-ui);color:var(--dim,#9cb5a2)}
#lab-load.err{height:auto}
#lab-load.err span{position:static;transform:none;display:block;padding:14px 16px;background:var(--panel,#0e1c13);color:var(--fg,#e6fbe9);text-align:center}
@media (prefers-reduced-motion:reduce){#lab-load i{transition:none}}
#lab-release{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:998;display:flex;gap:12px;align-items:center;padding:10px 12px 10px 16px;background:var(--panel,#0e1c13);border:1px solid var(--line2,#22482c);font:600 14px var(--body,system-ui);color:var(--fg,#e6fbe9);max-width:calc(100% - 32px);box-sizing:border-box}

/* ---- UI kit (ui.js) ---- */
.ui-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
html.ui-noscroll{overflow:hidden}
.lab-dlg-box:focus{outline:none}
.lab-dlg :focus-visible,.ui-async :focus-visible,#c-team :focus-visible{outline:2px solid var(--y,#E8FF57);outline-offset:2px}
.btn{min-height:40px}
.btn.sm{min-height:32px}
.btn[aria-busy=true]{cursor:progress;opacity:.85}
.ui-quiet{background:none;border:0;padding:0;min-height:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
.ui-err{color:var(--life-bad,#FF8A7A);min-height:0}
.ui-err:empty{display:none}
.ui-hint{opacity:.85}
.lab-f input[aria-invalid=true]{border-color:var(--life-bad,#FF8A7A);box-shadow:0 0 0 1px var(--life-bad,#FF8A7A)}
.ui-loading{animation:ui-pulse 1.4s ease-in-out infinite}
@keyframes ui-pulse{50%{opacity:.45}}
.ui-error{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ui-error p{margin:0}
.ui-end{text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:600px){
  .ui-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .ui-table,.ui-table tbody,.ui-table tr,.ui-table td{display:block;width:100%}
  .ui-table tr{border:1px solid var(--line2,#22482c);padding:8px 10px;margin:0 0 8px;box-sizing:border-box}
  .ui-table td{display:grid;grid-template-columns:minmax(96px,38%) 1fr;gap:8px;align-items:center;padding:4px 0;border:0;text-align:left}
  .ui-table td::before{content:attr(data-label);font-size:12px;color:var(--dim,#9cb5a2)}
  .ui-table td:empty{display:none}
  .lab-inline{flex-direction:column;align-items:stretch}
}
@media (prefers-reduced-motion:reduce){.ui-loading{animation:none}}
.kit{padding:24px 16px 80px;display:grid;gap:18px;max-width:900px}
.kit h1{margin:0}
.kit-ex h2{font-size:18px;margin:0 0 10px}
.kit-code{overflow-x:auto;background:rgba(0,0,0,.35);padding:12px;font-size:13px;line-height:1.45;margin:0 0 14px;white-space:pre}
.kit-demo{display:grid;gap:10px}
.kit>*,.kit-ex,.kit-demo>*{min-width:0}

/* coaching: paste a YouTube link */
.c-yt{display:grid;gap:6px;margin:4px 0 10px}
.c-yt label{font-weight:600}
.c-ytrow{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
.c-ytrow input{flex:1 1 220px;min-width:0;padding:10px 12px;background:var(--panel2,#121A1E);border:1px solid var(--line2,#2B3B43);color:inherit;font:inherit}
.c-ytrow input:focus-visible{outline:2px solid var(--amber,#FFB21A);outline-offset:1px}
.c-ytrow .btn{white-space:nowrap}
.cvod{font:500 12px var(--mono,monospace);color:var(--amber,#FFB21A);text-decoration:none;white-space:nowrap}
a.cvod:hover,a.cvod:focus-visible{text-decoration:underline}

/* signed-in / signed-out chip in the header */
.lab-chip{display:inline-flex;gap:8px;align-items:center;margin-left:auto;padding-left:12px}
.lab-chip .cap{white-space:nowrap;max-width:16em;overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){.lab-chip .cap{display:none}}

/* signed-out preview: the locked part of each page */
.lab-lock{position:relative;margin-top:8px;margin-bottom:48px;min-height:420px;overflow:hidden}
.lab-lock-shot{display:block;width:100%;height:auto;max-height:720px;object-fit:cover;object-position:top;opacity:.55;filter:saturate(.6);
  -webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent);user-select:none;pointer-events:none}
.lab-lock-card{position:absolute;left:50%;top:72px;transform:translateX(-50%);width:min(560px,calc(100% - 32px));background:var(--panel,#0D1215);
  box-shadow:0 18px 60px rgba(0,0,0,.6);padding:24px}
.lab-lock-card h2{margin:4px 0 8px}
@media (max-width:640px){.lab-lock-card{top:24px;padding:18px}}
@media (max-width:640px){.lab-preview section.view .heroart{display:none}}
/* My Team: owner's sharing switch */
.lab-check{display:flex;gap:10px;align-items:flex-start;font-weight:600;margin:6px 0 4px;cursor:pointer}
.lab-check input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--enemy)}
.c-tname{margin:0 0 2px}
.lab-badge{display:inline-block;min-width:1.4em;margin-left:6px;padding:0 5px;font:700 11px/1.5 var(--body,system-ui);text-align:center;background:#ffe600;color:#111;border-radius:2px;letter-spacing:0;vertical-align:middle}

/* data-sharing tooltip: hover or keyboard focus on PC, tap the ? on a phone */
.lab-tipwrap{position:relative;display:flex;align-items:flex-start;gap:8px}
.lab-tipbtn{flex:none;width:22px;height:22px;margin-top:4px;border:1px solid var(--line3,#3a4a52);background:var(--panel2,#121A1E);color:var(--fg,#E9EFEA);font:700 12px var(--body,system-ui);border-radius:50%;cursor:help;padding:0;line-height:20px}
.lab-tipbtn:focus-visible{outline:2px solid var(--enemy,#ff8a3d);outline-offset:2px}
.lab-tip{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:20;max-width:360px;box-sizing:border-box;padding:10px 12px;background:var(--panel3,#18232A);border:1px solid var(--line3,#3a4a52);color:var(--fg,#E9EFEA);font:500 13px/1.45 var(--body,system-ui);box-shadow:0 8px 24px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(-3px);transition:opacity .12s,transform .12s,visibility .12s;pointer-events:none}
.lab-tipwrap:hover .lab-tip,.lab-tipwrap:focus-within .lab-tip,.lab-tipwrap.open .lab-tip{opacity:1;visibility:visible;transform:none}
@media (prefers-reduced-motion:reduce){.lab-tip{transition:none}}
/* Run a VOD: the video quality each reader needs */
.c-qual{margin:14px 0 10px;border:1px solid var(--line2,#2B3B43);background:var(--panel2,#121A1E);padding:12px 14px}
.c-qual h4{margin:0 0 8px;font-size:15px}
.c-qgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 18px}
.c-qgrid ul{margin:6px 0 0;padding-left:18px}
.c-qgrid li{margin:3px 0;display:list-item}
/* Run a VOD: the three ways to run it, side by side */
.c-ways{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:14px}
.c-way{border:1px solid var(--line2,#2B3B43);background:var(--panel2,#121A1E);padding:14px 14px 12px;min-width:0;display:flex;flex-direction:column;gap:10px}
.c-way-h{display:flex;flex-direction:column;gap:2px}.c-way-h b{font-size:16px}
.c-way .cap{margin:0}
.c-way .btn,.c-way .c-filebtn{align-self:flex-start}
.oros-us{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:8px 0 12px}
.oros-us select{padding:6px 8px;background:var(--panel2,#121A1E);border:1px solid var(--line2,#2B3B43);color:inherit;font:inherit}
@media(max-width:900px){.c-ways{grid-template-columns:1fr}}

/* ==========================================================================================
   THE LAB · "Night Ops" theme
   A tactical-terminal look built from in-game interface language: HUD readouts, loadout slots,
   range-card ticks, compass headings, topographic intel maps, field-stamped dossiers and dog tags.
   All imagery is original and drawn in code (theme.js); no game assets or logos.
   Layering: site CSS (colors already remapped to this palette by the build) → this file → theme.js.
   ========================================================================================== */

/* ---------- type (self-hosted, OFL) ---------- */
@font-face{font-family:"Lab Stencil";src:url(/assets/fonts/stencil.2ff95494e1.woff) format("woff");font-weight:100 900;font-display:swap}
@font-face{font-family:"Lab HUD";src:url(/assets/fonts/oxanium.799c8a5b1c.woff) format("woff");font-weight:200 800;font-display:swap}
@font-face{font-family:"Lab Telemetry";src:url(/assets/fonts/sharetech.b18c35e3ee.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Lab Body";src:url(/assets/fonts/barlow-Regular.e96c1b45e6.woff) format("woff");font-weight:400;font-display:swap}
@font-face{font-family:"Lab Body";src:url(/assets/fonts/barlow-Medium.1d99d79761.woff) format("woff");font-weight:500;font-display:swap}
@font-face{font-family:"Lab Body";src:url(/assets/fonts/barlow-SemiBold.a608132b87.woff) format("woff");font-weight:600;font-display:swap}
@font-face{font-family:"Lab Body";src:url(/assets/fonts/barlow-Bold.8ae885844d.woff) format("woff");font-weight:700 900;font-display:swap}
@font-face{font-family:"Lab Punch";src:url(/assets/fonts/barlowc-blackitalic.17489488ea.woff) format("woff");font-weight:800 900;font-style:italic;font-display:swap}
@font-face{font-family:"Lab Punch";src:url(/assets/fonts/barlowc-semibold.b7bf54f589.woff) format("woff");font-weight:400 700;font-display:swap}
@font-face{font-family:"Lab Bit";src:url(/assets/fonts/labbit.2e43a62779.woff) format("woff");font-weight:400 900;font-display:swap}
@font-face{font-family:"Lab Field";src:url(/assets/fonts/courier-bold.b18511fe8b.woff) format("woff");font-weight:700;font-display:swap}
/* the site's own canvases and SVG labels ask for "Chakra Petch" (its Google Fonts link is stripped by the build):
   serve that name from the bundled HUD face so the map labels never fall back to a system font */
@font-face{font-family:"Chakra Petch";src:url(/assets/fonts/oxanium.799c8a5b1c.woff) format("woff");font-weight:200 800;font-display:swap}

/* ---------- tokens ---------- */
:root{
  --bg:#06080A; --bg2:#0A0E11;
  --panel:#0D1215; --panel2:#121A1E; --panel3:#18232A;
  --line:#1C272D; --line2:#2B3B43; --line3:#3E535C;
  --fg:#E9EFEA; --muted:#A3B2AC; --dim:#6E8084;
  --amber:#FFB21A; --amber-2:#FFCD5C; --amber-ink:#1A1204;
  --nvg:#7CF29A; --threat:#FF4A3D; --intel:#56D6FF; --hot:#FF8C42;
  --enemy:var(--amber); --good:var(--nvg); --bad:var(--threat); --warn:var(--hot); --team:#FFD36E;
  --c-h:var(--nvg); --c-m:var(--intel); --c-c:#C9B5FF; --c-l:var(--hot);
  --life-good:var(--nvg); --life-warn:var(--hot); --life-blue:var(--intel); --life-bad:#FF7A6E;
  --thelab-glow:rgba(255,178,26,.12);
  --hero:"Lab Stencil","Arial Narrow",Impact,sans-serif;
  --display:"Lab HUD","Bahnschrift",system-ui,sans-serif;
  --body:"Lab Body","Segoe UI",system-ui,sans-serif;
  --mono:"Lab Telemetry",ui-monospace,"Cascadia Mono",monospace;
  --punch:"Lab Punch","Arial Narrow",sans-serif;
  --field:"Lab Field","Courier New",monospace;
  --y:var(--amber);
  --notch:14px;
  --focus:0 0 0 2px var(--bg),0 0 0 4px var(--amber);
  color-scheme:dark;
}

/* ---------- canvas: topo intel map (theme.js), grain, vignette ---------- */
html{background:var(--bg)}
body{background:transparent!important;font-family:var(--body);color:var(--fg);-webkit-font-smoothing:antialiased}
#nx-topo{position:fixed;inset:0;z-index:-2;width:100vw;height:100vh;pointer-events:none;opacity:.55}
body::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(120% 90% at 50% 0%,transparent 55%,rgba(0,0,0,.55) 100%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .06 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}
::selection{background:var(--amber);color:var(--amber-ink)}

/* ---------- skip link + focus ---------- */
.nx-skip{position:absolute;left:12px;top:-60px;z-index:2000;background:var(--amber);color:var(--amber-ink);font:700 14px var(--display);padding:10px 14px;text-decoration:none}
.nx-skip:focus{top:10px}
#nx-main{scroll-margin-top:calc(env(safe-area-inset-top,0px) + var(--nx-top,78px))}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:none!important;box-shadow:var(--focus)!important}

/* ---------- header: command bar ---------- */
.top{background:linear-gradient(180deg,rgba(6,8,10,.97),rgba(10,14,17,.93))!important;border-bottom:1px solid var(--line2)!important;backdrop-filter:blur(10px) saturate(1.2)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:6px;pointer-events:none;
  background:repeating-linear-gradient(90deg,var(--line3) 0 1px,transparent 1px 10px),repeating-linear-gradient(90deg,var(--amber) 0 1px,transparent 1px 100px);
  background-size:auto 3px,auto 6px;background-repeat:repeat-x;opacity:.55}
.brand-name{font-family:var(--hero)!important;font-weight:800!important;font-size:25px!important;letter-spacing:.04em;text-transform:uppercase}
.brand-name b{color:var(--amber)!important}
.brand .by{font-family:var(--mono)!important;letter-spacing:.06em}
.brand svg{color:var(--amber)}

/* nav: loadout slots */
.views{gap:4px!important}
.vbtn{position:relative;font:600 13px/1 var(--display)!important;letter-spacing:.12em!important;text-transform:uppercase;color:var(--muted)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.02),transparent)!important;border:1px solid var(--line)!important;padding:10px 14px 9px 30px!important;
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));transition:color .15s,border-color .15s,background .15s}
.vbtn .nx-slot{position:absolute;left:8px;top:50%;transform:translateY(-50%);font:400 11px var(--mono);color:var(--dim);border:1px solid var(--line2);padding:1px 4px 0;line-height:1.2}
.vbtn:hover{color:var(--fg)!important;border-color:var(--line3)!important}
.vbtn[aria-current="page"]{color:var(--amber-ink)!important;background:linear-gradient(180deg,var(--amber-2),var(--amber))!important;border-color:var(--amber)!important;
  box-shadow:0 0 22px rgba(255,178,26,.28)}
.vbtn[aria-current="page"] .nx-slot{color:var(--amber-ink);border-color:rgba(26,18,4,.45)}
.vbtn .nx-new{position:absolute;right:6px;top:4px;width:6px;height:6px;background:var(--threat);box-shadow:0 0 8px var(--threat);border-radius:50%}

/* compass strip under the header */
#nx-compass{position:relative;height:20px;overflow:hidden;pointer-events:none;border-top:1px solid var(--line);
  mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
#nx-compass .t{position:absolute;top:0;height:20px;white-space:nowrap;font:400 10px/20px var(--mono);color:var(--dim);letter-spacing:.05em;will-change:transform}
#nx-compass .t b{color:var(--amber);font-weight:400}
#nx-compass::after{content:"";position:absolute;left:50%;top:0;width:0;height:0;border:5px solid transparent;border-top-color:var(--amber);transform:translateX(-50%)}

/* ---------- hero: mission header ---------- */
.hero{position:relative}
.view h1,.hero h1{font-family:var(--hero)!important;font-weight:850!important;text-transform:uppercase;letter-spacing:.01em!important;line-height:.86!important;
  font-size:clamp(52px,8.4vw,118px)!important;text-shadow:0 2px 0 rgba(0,0,0,.6);margin-bottom:16px}
.hero h1 em{font-style:normal;color:transparent!important;-webkit-text-stroke:1.6px var(--amber);text-shadow:none}
.eyebrow{display:flex;flex-wrap:wrap;gap:6px 10px;font:400 12px var(--mono)!important;letter-spacing:.08em!important;color:var(--amber)!important;text-transform:uppercase}
.eyebrow span{border:1px solid rgba(255,178,26,.35);padding:3px 7px 2px;background:rgba(255,178,26,.06)}
.eyebrow span+span::before{content:none!important}
.eyebrow::after{content:"▮";color:var(--amber);animation:nx-blink 1.05s steps(1) infinite;align-self:center}
@keyframes nx-blink{50%{opacity:0}}
.lede{color:var(--muted)!important;font-size:18px!important}

/* hero art in a targeting display */
.heroart{position:relative;padding:22px 18px 14px;display:flex!important;flex-direction:column;align-items:center;gap:10px}
.heroart>svg{width:min(100%,430px)!important;height:auto!important}
.heroart::before,.heroart::after{content:"";position:absolute;width:34px;height:34px;pointer-events:none;border:2px solid var(--amber)}
.heroart::before{left:0;top:0;border-right:0;border-bottom:0}
.heroart::after{right:0;bottom:0;border-left:0;border-top:0}
.heroart>svg,.heroart>div{position:relative;filter:drop-shadow(0 18px 40px rgba(0,0,0,.55))}
/* boxed hero art (Build Lab, Strategy): one frame, with the corner marks sitting on the box itself */
.heroart:has(>.vsart)::before,.heroart:has(>.vsart)::after{content:none}
.heroart>.vsart::before,.heroart>.vsart::after{width:34px;height:34px;border-color:var(--amber)!important;pointer-events:none}
.heroart>.vsart::before{top:-2px;left:-2px;border-width:2px 0 0 2px}
.heroart>.vsart::after{bottom:-2px;right:-2px;border-width:0 2px 2px 0}
.nx-readout{font:400 10px/1.4 var(--mono);color:var(--dim);letter-spacing:.08em;text-align:center;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px}
.nx-readout b{color:var(--amber)!important;font-weight:400}

/* ---------- section headings ---------- */
.h2,.sub>h2{font-family:var(--hero)!important;font-weight:800!important;letter-spacing:.02em!important;font-size:clamp(28px,3.4vw,40px)!important;text-transform:uppercase!important}
.h2::before{content:"";width:10px;height:10px;background:var(--amber);clip-path:polygon(0 0,100% 50%,0 100%);flex:none}
.view h3{font-family:var(--display);letter-spacing:.02em}
.kicker{font:400 12px var(--mono)!important;letter-spacing:.1em!important;color:var(--amber)!important;text-transform:uppercase}

/* ---------- panels: intel cards (corner brackets come from the site's .br, now amber) ---------- */
.card{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 40%),var(--panel)!important;border:1px solid var(--line2)!important}
.card:hover{border-color:var(--line3)!important}
.card:focus-within{border-color:rgba(255,178,26,.55)!important}
.br::before,.br::after{width:16px!important;height:16px!important}

/* ---------- buttons: angled, fire-mode selectors ---------- */
.btn{font:600 13px var(--display)!important;letter-spacing:.1em!important;text-transform:uppercase;border-radius:0!important;
  background:var(--panel2)!important;color:var(--fg)!important;border:1px solid var(--line3)!important;padding:10px 18px!important;position:relative;overflow:hidden;
  clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);transition:border-color .15s,color .15s,transform .1s}
.btn::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.14) 50%,transparent 70%);transform:translateX(-120%);transition:transform .45s}
.btn:hover::before{transform:translateX(120%)}
.btn:hover{border-color:var(--amber)!important}
.btn:active{transform:translateY(1px)}
.btn:focus-visible,.vbtn:focus-visible{box-shadow:inset 0 0 0 2px var(--amber),inset 0 0 0 4px var(--bg)!important}
.btn.y:focus-visible,.vbtn[aria-current="page"]:focus-visible{box-shadow:inset 0 0 0 2px var(--amber-ink),inset 0 0 0 4px var(--amber)!important}
.btn.y{background:linear-gradient(180deg,var(--amber-2),var(--amber))!important;color:var(--amber-ink)!important;border-color:var(--amber)!important;font-weight:700!important}
.btn.sm{padding:6px 12px!important;font-size:11px!important}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.seg{gap:0!important}
.seg button{font:600 12px var(--display)!important;letter-spacing:.08em;text-transform:uppercase;background:var(--panel2)!important;color:var(--muted)!important;
  border:1px solid var(--line2)!important;margin-left:-1px;padding:8px 13px!important}
.seg button:hover{color:var(--fg)!important}
.seg button[aria-pressed="true"]{background:var(--fg)!important;color:var(--bg)!important;border-color:var(--fg)!important;box-shadow:inset 0 -3px 0 var(--amber)}

/* ---------- forms ---------- */
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{background:#080C0E!important;color:var(--fg)!important;border:1px solid var(--line3)!important;border-radius:0!important;font-family:var(--body)}
input[type=range]{accent-color:var(--amber)}
input[type=checkbox],input[type=radio]{accent-color:var(--amber)}

/* ---------- tables: scoreboard ---------- */
table{border-collapse:collapse}
th{font:400 11px var(--mono)!important;letter-spacing:.1em!important;text-transform:uppercase;color:var(--dim)!important;background:rgba(255,255,255,.02)}
tbody tr:nth-child(even) td{background:rgba(255,255,255,.018)}
tbody tr:hover td{background:rgba(255,178,26,.05)}
td{font-variant-numeric:tabular-nums}

/* ---------- certainty tags: field stamps ---------- */
.tag{font:700 12px var(--field)!important;letter-spacing:.06em!important;text-transform:uppercase;border:2px solid currentColor!important;padding:1px 8px!important;
  transform:rotate(-3deg);mix-blend-mode:screen;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='20'%3E%3Cfilter id='r'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='1'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.2 1.7'/%3E%3C/filter%3E%3Crect width='60' height='20' filter='url(%23r)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='20'%3E%3Cfilter id='r'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='1'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -2.2 1.7'/%3E%3C/filter%3E%3Crect width='60' height='20' filter='url(%23r)'/%3E%3C/svg%3E")}

/* ---------- big numbers: KPI readouts ---------- */
.kpi b,.ue-metric-value,.life-kpis b{font-family:var(--punch)!important;font-style:italic;font-weight:900!important;letter-spacing:.005em}
#v-meta .ue-metrics .kpi{background:linear-gradient(160deg,var(--panel3),var(--panel) 70%)!important;border:1px solid var(--line2)!important;border-radius:0!important;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 16px),calc(100% - 16px) 100%,0 100%);box-shadow:inset 3px 0 0 var(--amber)}
.kpi::after{content:"";position:absolute;left:14px;right:14px;bottom:8px;height:5px;background:repeating-linear-gradient(90deg,var(--line3) 0 1px,transparent 1px 8px);opacity:.7}

/* ---------- kill feed ticker (Meta) ---------- */
.nx-feed{position:relative;overflow:hidden;border-block:1px solid var(--line2);background:rgba(6,8,10,.6);margin:6px auto 4px;height:38px;box-sizing:border-box;width:calc(100% - 32px);max-width:1148px;padding:0;
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.nx-feed ul{display:flex;gap:34px;list-style:none;margin:0;padding:0 20px;height:38px;align-items:center;white-space:nowrap;width:max-content;animation:nx-feed 60s linear infinite}
.nx-feed:hover ul,.nx-feed:focus-within ul,.nx-feed.nx-paused ul{animation-play-state:paused}
.nx-feed-bar{display:flex;justify-content:flex-end;margin-top:6px;box-sizing:border-box;width:calc(100% - 32px);max-width:1148px;padding:0}
.nx-feed li{display:flex;gap:9px;align-items:center;font:600 14px var(--body)}
.nx-feed .w{font-family:var(--punch);font-style:italic;font-weight:900;font-size:17px;letter-spacing:.01em}
.nx-feed .x{color:var(--threat);font-family:var(--mono)}
.nx-feed .pct{font-family:var(--mono);color:var(--amber)}
.nx-feed svg{height:15px;width:auto;color:var(--muted)}
@keyframes nx-feed{to{transform:translateX(-50%)}}

/* ---------- footer: dog tags ---------- */
footer{position:relative;border-top:1px solid var(--line2)!important}
.nx-tag{display:inline-grid;gap:2px;padding:12px 18px 12px 34px;margin:0 0 14px;position:relative;color:#C9D2CF;font:700 13px/1.35 var(--field);letter-spacing:.06em;
  background:linear-gradient(145deg,#B9C2C4,#6F7A7E 45%,#9AA4A7 70%,#5C666A);-webkit-background-clip:padding-box;border-radius:14px 30px 30px 14px;
  text-shadow:0 1px 0 rgba(255,255,255,.35),0 -1px 0 rgba(0,0,0,.45);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 8px 20px rgba(0,0,0,.5)}
.nx-tag span{color:#2B3236}
.nx-tag::before{content:"";position:absolute;left:12px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--bg);box-shadow:inset 0 1px 2px rgba(0,0,0,.8)}
.nx-chain{position:absolute;left:-60px;top:50%;width:66px;height:4px;background:radial-gradient(circle,#8E979A 1.6px,transparent 2px) 0 0/7px 4px repeat-x}
.nx-fx{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font:400 12px var(--mono);color:var(--dim)}
.nx-fx button{font:400 12px var(--mono)!important;letter-spacing:.06em}

/* ---------- boot sequence ---------- */
#nx-boot{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#0D1418,#05070A 70%);transition:opacity .35s}
#nx-boot.done{opacity:0;pointer-events:none}
#nx-boot .box{width:min(460px,calc(100% - 32px));display:grid;gap:14px}
#nx-boot svg{width:120px;height:120px;justify-self:center;color:var(--amber)}
#nx-boot .ring{transform-origin:60px 60px;animation:nx-spin 2.4s linear infinite}
@keyframes nx-spin{to{transform:rotate(360deg)}}
#nx-boot pre{margin:0;font:400 12px/1.6 var(--mono);color:var(--muted);min-height:96px;white-space:pre-wrap}
#nx-boot pre b{color:var(--nvg);font-weight:400}
#nx-boot .ammo{display:grid;grid-template-columns:repeat(30,1fr);gap:3px;height:16px}
#nx-boot .ammo i{background:var(--line2);clip-path:polygon(0 30%,50% 0,100% 30%,100% 100%,0 100%)}
#nx-boot .ammo i.on{background:var(--amber);box-shadow:0 0 6px rgba(255,178,26,.6)}
#nx-boot .brand-b{font:800 30px var(--hero);letter-spacing:.06em;text-align:center;text-transform:uppercase}
#nx-boot .brand-b b{color:var(--amber)}
#lab-load{display:none!important}

/* ---------- toasts, dialogs (account UI) in theme ---------- */
.lab-dlg{background:rgba(3,5,7,.82)!important;backdrop-filter:blur(3px)}
.lab-dlg-box{border-color:var(--line3)!important}
.lab-dlg-box h3{font-family:var(--hero);font-size:30px;text-transform:uppercase;letter-spacing:.03em}
#lab-release{background:var(--panel2)!important;border-color:var(--amber)!important}
.possible-notice{border-left:3px solid var(--amber)!important;background:rgba(255,178,26,.06)!important}

/* ---------- shortcuts help ---------- */
.nx-keys{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0}
.nx-keys kbd{font:400 13px var(--mono);border:1px solid var(--line3);border-bottom-width:3px;padding:2px 7px;background:var(--panel2);color:var(--fg);justify-self:start}

/* sticky sub-bars sit under the (taller) header */
.sbar,.qnav,#v-coach .cgtabs{top:calc(env(safe-area-inset-top,0px) + var(--nx-top,78px))!important}

/* ---------- coaching specifics ---------- */
#v-coach .cgtabs{background:rgba(6,8,10,.95)!important}

/* ---------- reduced effects: user toggle or OS setting ---------- */
html.fx-off #nx-topo,html.fx-off body::after{display:none}
html.fx-off .eyebrow::after,html.fx-off .nx-feed ul,html.fx-off #nx-boot .ring,html.fx-off .nx-sweep,html.fx-off .nx-pulse,html.fx-off .nx-dash{animation:none!important}
html.fx-off .btn::before{display:none}
html.fx-off .nx-feed ul{flex-wrap:wrap;height:auto;width:auto;gap:8px 24px}
html.fx-off .nx-feed{height:auto;mask-image:none;padding:8px 0}
@media (prefers-reduced-motion:reduce){   /* the device asks for less motion, unless Effects: Full was picked in the footer */
  html:not(.fx-full) .eyebrow::after,html:not(.fx-full) :is(.nx-feed ul,#nx-boot .ring,.nx-sweep,.nx-pulse,.nx-dash){animation:none!important}
  html:not(.fx-full) .btn::before{display:none}
  html:not(.fx-full) .nx-feed ul{flex-wrap:wrap;height:auto;width:auto;gap:8px 24px}
  html:not(.fx-full) .nx-feed{height:auto;mask-image:none;padding:8px 0}
}
@media (prefers-contrast:more){
  #nx-topo,body::after{display:none}
  .vbtn,.btn{clip-path:none!important}
  :root{--muted:#C8D3CE;--dim:#9FB0B2;--line:#33444C;--line2:#4A616B;--line3:#6A848F}
}

/* ---------- small screens ---------- */
@media (max-width:760px){
  .vbtn{padding:9px 11px 8px 26px!important;font-size:12px!important}
  .vbtn .nx-slot{left:6px;font-size:10px}
  .heroart::before,.heroart::after,.heroart>.vsart::before,.heroart>.vsart::after{width:22px;height:22px}
    #nx-compass{display:none}
}
@media print{#nx-topo,body::after,#nx-compass,.nx-feed,#nx-boot{display:none!important}}

/* ==========================================================================================
   Game-style screens (gameui.js): gunsmith loadouts, armory, after-action report, medals
   ========================================================================================== */
.nx-armory{padding-block:30px 10px}
.nx-arm-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:10px 30px;margin-bottom:16px}
.nx-arm-head .cap{max-width:62ch;margin:0}
.nx-arm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px}
.nx-load{position:relative;display:grid;gap:12px;padding:16px 16px 14px;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 30%),var(--panel);border:1px solid var(--line2);
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.nx-load:hover,.nx-load:focus-within{border-color:rgba(255,178,26,.55)}
.nx-load header{display:flex;align-items:flex-start;gap:12px}
.nx-load-id{flex:1;min-width:0}
.nx-load h3{margin:0;font:italic 900 28px/1 var(--punch);letter-spacing:.01em;text-transform:uppercase}
.nx-rank{font:400 12px var(--mono);color:var(--amber);letter-spacing:.1em}
.nx-role{display:inline-block;margin-top:6px;font:400 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);border:1px solid var(--line2);padding:2px 6px}
.nx-wr{text-align:right}.nx-wr b{display:block;font:italic 900 34px/1 var(--punch);color:var(--fg)}.nx-wr b small{font-size:.5em;color:var(--muted)}
.nx-wr span{font:400 10px var(--mono);color:var(--dim);letter-spacing:.08em;text-transform:uppercase}
.nx-medal{width:34px;height:auto;flex:none;filter:drop-shadow(0 4px 6px rgba(0,0,0,.5))}
.nx-load-art{position:relative;background:radial-gradient(70% 90% at 50% 60%,rgba(86,214,255,.08),transparent 70%),repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 16px),repeating-linear-gradient(90deg,rgba(255,255,255,.025) 0 1px,transparent 1px 16px);border:1px solid var(--line);padding:6px}
.nx-load-art svg{width:100%;height:auto;display:block}
.nx-weapon .nxp{transition:opacity .15s}
.nx-weapon:has(.nx-hot) .nxp:not(.nx-hot){opacity:.28}
.nx-weapon .nxp.nx-hot{filter:drop-shadow(0 0 6px rgba(255,178,26,.9))}
.nx-slots{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.nx-slots li{display:grid;gap:1px;padding:5px 8px;border:1px solid var(--line);background:rgba(0,0,0,.25);cursor:default;min-width:0}
.nx-slots li span{font:400 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.nx-slots li b{font:600 13px var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nx-slots li:not(.empty){border-left:2px solid var(--amber)}
.nx-slots li.empty b{color:var(--dim);font-weight:400}
.nx-slots li:hover,.nx-slots li:focus-visible{background:rgba(255,178,26,.08)}
.nx-bars{display:grid;grid-template-columns:auto 1fr;gap:5px 10px;margin:0;align-items:center}
.nx-bars dt{font:400 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.nx-bars dd{margin:0;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.nx-bars small{font:400 11px var(--mono);color:var(--dim);min-width:74px;text-align:right}
.nx-bar{position:relative;height:8px;background:repeating-linear-gradient(90deg,#1C272D 0 calc(10% - 2px),transparent calc(10% - 2px) 10%)}
.nx-bar i{position:absolute;top:0;bottom:0;left:0}
.nx-bar .b{background:var(--fg)}
.nx-bar .g{background:var(--nvg)}
.nx-bar .l{background:var(--threat)}
.nx-load .btn{justify-self:start}
.nx-lab-load{padding-block:8px 18px}
.nx-ab{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center}
.nx-vs{font:italic 900 46px var(--punch);color:var(--amber);text-shadow:0 0 22px rgba(255,178,26,.35)}
#vsart .side svg{width:min(260px,100%);height:auto}

/* after-action report */
.nx-aar{margin:22px 0 10px;border:1px solid var(--line2);background:linear-gradient(120deg,rgba(255,178,26,.07),transparent 40%),var(--panel);padding:18px;display:grid;gap:14px}
.nx-aar-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px}
.nx-aar-head h3{margin:0;font:800 34px var(--hero);text-transform:uppercase;letter-spacing:.03em}
.nx-aar-score{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.nx-aar-score>div{display:grid;justify-items:start;padding:10px 16px;border:1px solid var(--line2);min-width:180px;background:rgba(0,0,0,.25)}
.nx-aar-score .t0{border-left:4px solid #36D3E8}.nx-aar-score .t1{border-left:4px solid #FF8A4C}
.nx-aar-score span{font:600 14px var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.nx-aar-score b{font:italic 900 52px/1 var(--punch)}
.nx-aar-score em{font:700 12px var(--field);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.nx-aar-score .win em{color:var(--nvg)}
.nx-aar-score .win b{color:var(--amber)}
.nx-aar-score>i{font:italic 900 30px var(--punch);color:var(--dim);font-style:normal}
.nx-aar-body{display:grid;grid-template-columns:minmax(180px,240px) 1fr;gap:18px;align-items:center}
.nx-mvp{margin:0}.nx-mvp svg{width:100%;height:auto;display:block;border:1px solid var(--line2)}
.nx-mvp figcaption{font:400 11px var(--mono);color:var(--muted);margin-top:6px;letter-spacing:.04em}
.nx-awards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.nx-awards li{display:flex;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);background:rgba(0,0,0,.22)}
.nx-awards b{display:block;font:700 14px var(--display);letter-spacing:.06em;text-transform:uppercase}
.nx-awards span{color:var(--muted)}
.nx-coach-art{max-width:520px}
.nx-coach-art svg{width:100%;height:auto}
#v-coach .hero{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
@media (max-width:760px){
  .nx-ab{grid-template-columns:1fr}.nx-vs{text-align:center;font-size:34px}
  .nx-aar-body{grid-template-columns:1fr}.nx-mvp{max-width:260px}
  .nx-arm-grid{grid-template-columns:1fr}
  .nx-slots{grid-template-columns:1fr 1fr}
}
/* best maps for a class */
.nx-maps{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:10px 0 2px;padding:8px 10px;border:1px solid var(--line2,#2B3B43);background:rgba(86,214,255,.04);font-size:13px}
.nx-maps>.cap:first-child{color:var(--intel,#56D6FF);letter-spacing:.06em}
.nx-maps b{color:var(--ink,#E9EFEA)}.nx-maps i{font-style:normal;color:var(--muted,#8a9aa0)}
.nx-maps small{color:var(--muted,#8a9aa0)}.nx-maps .nx-avoid{flex-basis:100%;color:#ff8a6e}
/* "How to Use This Tab": the last section on every tab */
.view>.howto{display:block;box-sizing:border-box;max-width:1180px;margin:48px auto 0;padding:24px 16px 40px;border-top:2px solid var(--line2)}
.howto>h2{margin:0 0 12px}
.howto-toggle{all:unset;cursor:pointer;display:inline-flex;gap:10px;align-items:center;font:inherit}
.howto-toggle::before{content:"▾";font-size:16px;color:var(--dim)}
.howto.howto-closed>h2{margin:0}
.howto.howto-closed .howto-toggle::before{content:"▸"}
.howto.howto-closed>:not(h2){display:none}
.howto.howto-closed{padding-bottom:20px}
.howto-steps{list-style:decimal;margin:0 0 20px;padding-left:22px;max-width:72ch;line-height:1.55}.howto-steps li{margin:6px 0}
.howto-items{display:grid;gap:14px}.howto-item{border:1px solid var(--line2);padding:12px 14px;background:rgba(255,255,255,.015);min-width:0}
.howto-item>aside{margin:0;max-width:none}.howto-for{margin:0 0 6px;font-size:15px}
.howto-gloss{margin-top:20px}.howto-gloss dl{display:grid;grid-template-columns:minmax(140px,max-content) 1fr;gap:6px 16px;margin:0}.howto-gloss dt{font-weight:700}.howto-gloss dd{margin:0;color:var(--muted)}
@media (max-width:600px){.howto-gloss dl{grid-template-columns:1fr}.howto-gloss dd{margin-bottom:8px}}
.howto-jump{margin-top:12px}
.howto-entry+.howto-entry{margin-top:6px}

/* generated by tools/scope_css.py from totalcod.src.css: do not edit */
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching){--bg:#06080A; --bg2:#0A0E11; --panel:#0D1215; --panel2:#121A1E; --panel3:#18232A;
  --line:#1C272D; --line2:#2B3B43; --line3:#3E535C;
  --fg:#E9EFEA; --muted:#A3B2AC; --dim:#6E8084;
  --gold:#FFB21A; --gold2:#FFCD5C; --ink:#1A1204;
  --nvg:#7CF29A; --oni:#FF4A3D; --intel:#56D6FF; --hot:#FF8C42; --violet:#C9B5FF;
  --hero:"Lab Stencil","Arial Narrow",Impact,sans-serif;
  --hud:"Lab HUD","Bahnschrift",system-ui,sans-serif;
  --body:"Lab Body","Segoe UI",system-ui,sans-serif;
  --punch:"Lab Punch","Arial Narrow",sans-serif;
  --mono:"Lab Telemetry","Lab Mono",ui-monospace,monospace;
  --notch:12px; --rail:84px; --safe-b:env(safe-area-inset-bottom,0px); --safe-t:env(safe-area-inset-top,0px);
  color-scheme:dark;}
@media (prefers-color-scheme: light){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching):not([data-theme="light"]){color-scheme:dark}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching)[data-theme="dark"]{color-scheme:dark}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching),:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) *{box-sizing:border-box}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching),:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching){margin:0;background:var(--bg);color:var(--fg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching){font:400 16px/1.55 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) a{color:inherit}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) :where(a,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) button,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) input,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) select,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) summary,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) [tabindex]):focus-visible{outline:2px solid var(--gold);outline-offset:2px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) h1,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) h2,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) h3,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) h4{margin:0;font-weight:700;line-height:1.1}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) p{margin:0 0 .8em}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .app{min-height:100vh;padding-bottom:calc(76px + var(--safe-b))}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .top{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:12px;padding:calc(10px + var(--safe-t)) 16px 10px;
  background:linear-gradient(180deg,rgba(6,8,10,.96),rgba(6,8,10,.86));backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .brand img{width:38px;height:38px;flex:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .brand b{font:800 22px/1 var(--hero);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .brand b i{font-style:normal;color:var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .top .sp{flex:1}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .role{display:flex;border:1px solid var(--line2);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .role button{font:600 12px var(--hud);letter-spacing:.08em;text-transform:uppercase;padding:7px 10px;color:var(--muted)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .role button[aria-pressed="true"]{background:var(--gold);color:var(--ink)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .icon-btn{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--line2);color:var(--muted)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .icon-btn[aria-pressed="true"]{border-color:var(--intel);color:var(--intel);background:rgba(86,214,255,.08)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .icon-btn svg{width:18px;height:18px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .nav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(6,1fr);
  padding:6px 4px calc(6px + var(--safe-b));background:rgba(8,11,13,.97);border-top:1px solid var(--line2);backdrop-filter:blur(10px)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .nav a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;text-decoration:none;color:var(--dim);font:600 10.5px var(--hud);letter-spacing:.06em;text-transform:uppercase;position:relative}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .nav a svg{width:22px;height:22px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .nav a[aria-current="page"]{color:var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .nav a[aria-current="page"]::before{content:"";position:absolute;top:-6px;left:28%;right:28%;height:3px;background:var(--gold);box-shadow:0 0 12px var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) main{max-width:1120px;margin:0 auto;padding:18px 16px 40px}
@media (min-width:900px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .app{padding-bottom:0;padding-left:var(--rail)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .nav{top:0;bottom:0;right:auto;width:var(--rail);grid-template-columns:1fr;grid-auto-rows:min-content;align-content:start;gap:4px;padding:84px 6px 20px;border-top:0;border-right:1px solid var(--line2)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .nav a{padding:12px 2px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .nav a[aria-current="page"]::before{top:18%;bottom:18%;left:-6px;right:auto;width:3px;height:auto}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .top{padding-left:24px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) main{padding:28px 32px 60px}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .notch{clip-path:polygon(var(--notch) 0,100% 0,100% calc(100% - var(--notch)),calc(100% - var(--notch)) 100%,0 100%,0 var(--notch))}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .card{position:relative;background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);padding:16px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .card.edge{border-left:3px solid var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .kicker{font:600 12px var(--hud);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .kicker.g{color:var(--nvg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .kicker.r{color:var(--oni)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .kicker.b{color:var(--intel)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .h-hero{font:900 clamp(44px,11vw,96px)/.88 var(--hero);letter-spacing:.01em;text-transform:uppercase}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .h-hero .o{color:transparent;-webkit-text-stroke:2px var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .h-page{font:900 clamp(34px,8vw,60px)/.92 var(--hero);text-transform:uppercase;letter-spacing:.01em}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .h-sec{font:800 22px/1.1 var(--hud);letter-spacing:.02em;margin:26px 0 12px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .h-card{font:700 19px/1.2 var(--hud)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .lead{font-size:18px;color:var(--fg);max-width:62ch}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .muted{color:var(--muted)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .dim{color:var(--dim)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .punch{font:900 italic 44px/.9 var(--punch);letter-spacing:-.01em}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mono{font:400 13px var(--mono);letter-spacing:.04em}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .grid{display:grid;gap:12px}
@media (min-width:700px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .g2{grid-template-columns:repeat(2,1fr)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .g3{grid-template-columns:repeat(3,1fr)}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .chip{display:inline-flex;align-items:center;gap:6px;font:600 12px var(--hud);letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border:1px solid var(--line2);color:var(--muted);background:var(--bg2)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .chip.gold{border-color:rgba(255,178,26,.5);color:var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .chip.nvg{border-color:rgba(124,242,154,.45);color:var(--nvg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .chip.oni{border-color:rgba(255,74,61,.5);color:var(--oni)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .chip.intel{border-color:rgba(86,214,255,.45);color:var(--intel)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 14px var(--hud);letter-spacing:.08em;text-transform:uppercase;padding:12px 18px;background:var(--gold);color:var(--ink);text-decoration:none;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .btn.ghost{background:transparent;color:var(--fg);box-shadow:inset 0 0 0 1px var(--line3)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .btn.nvg{background:var(--nvg);color:#062010}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .term{border-bottom:1px dashed var(--gold);color:var(--gold2);cursor:help}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .seg{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 16px;padding:0 16px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .seg::-webkit-scrollbar{display:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .seg button{flex:none;font:700 13px var(--hud);letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;border:1px solid var(--line2);color:var(--muted);background:var(--bg2)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .seg button[aria-selected="true"]{background:var(--gold);border-color:var(--gold);color:var(--ink)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .scroller{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:4px 16px 12px;scrollbar-width:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .scroller::-webkit-scrollbar{display:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .scroller>*{scroll-snap-align:start;flex:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bar{height:6px;background:var(--line);position:relative;overflow:hidden}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bar i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--gold),var(--gold2))}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bar.g i{background:var(--nvg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .view{display:none;animation:in .28s ease both}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .view.on{display:block}
@keyframes in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching),:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) *{animation:none!important;transition:none!important}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .back{display:flex;width:max-content;align-items:center;gap:6px;font:600 13px var(--hud);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none;margin-bottom:12px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching).bp [data-bp]{outline:1px dashed rgba(86,214,255,.75);outline-offset:3px;position:relative}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching).bp [data-bp]::after{content:attr(data-bp);position:absolute;top:-10px;right:6px;z-index:5;font:600 10px var(--mono);letter-spacing:.06em;
  background:var(--intel);color:#04161d;padding:2px 6px;text-transform:none;pointer-events:none;white-space:nowrap}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bp-note{display:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching).bp .bp-note{display:block;border:1px dashed var(--intel);color:var(--intel);background:rgba(86,214,255,.06);padding:10px 12px;margin:0 0 14px;font:500 14px var(--body)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hero{position:relative;overflow:hidden;padding:18px 0 6px;display:grid;gap:14px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hero .emb{position:absolute;right:-10px;max-width:55vw;top:-10px;width:210px;opacity:.16;pointer-events:none;filter:saturate(1.2)}
@media (min-width:700px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hero .emb{width:300px;right:0;opacity:.28}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .stat{display:flex;flex-direction:column;gap:2px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .stat b{font:900 italic 38px/1 var(--punch)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .stat span{font:600 11px var(--hud);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .ring{--p:40;width:64px;height:64px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:conic-gradient(var(--gold) calc(var(--p)*1%),var(--line) 0);position:relative}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .ring::before{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--panel)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .ring span{position:relative;font:700 15px var(--hud)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .streak{display:flex;gap:6px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .streak i{width:30px;height:38px;display:grid;place-items:center;font:700 11px var(--hud);border:1px solid var(--line2);color:var(--dim);font-style:normal}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .streak i.on{background:rgba(124,242,154,.12);border-color:var(--nvg);color:var(--nvg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .streak i.today{border-color:var(--gold);color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .cheat-card{width:min(300px,78vw);min-height:220px;display:flex;flex-direction:column;gap:8px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .cheat-card ol{margin:4px 0 0;padding-left:20px;font-size:15px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .cheat-card li{margin:3px 0}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .quote{font:900 italic clamp(26px,6vw,40px)/1 var(--punch);color:var(--fg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .quote em{color:var(--gold);font-style:inherit}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .act{margin-top:24px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .act-h{display:flex;align-items:baseline;gap:10px;border-bottom:1px solid var(--line2);padding-bottom:8px;margin-bottom:12px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .act-h .n{font:900 italic 46px/.8 var(--punch);color:var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .chap{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;text-decoration:none;padding:14px;transition:border-color .15s,transform .15s}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .chap:hover{border-color:var(--line3);transform:translateY(-1px)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tag{width:52px;height:64px;display:grid;place-items:center;background:linear-gradient(160deg,#2a3338,#11181c);border:1px solid var(--line3);
  border-radius:12px 12px 12px 12px/16px 16px 16px 16px;font:900 italic 28px var(--punch);color:var(--gold);position:relative}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tag::before{content:"";position:absolute;top:6px;width:8px;height:8px;border-radius:50%;background:var(--bg);box-shadow:0 0 0 1px var(--line3)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .chap .meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .chap.done .tag{color:var(--nvg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .chap.soon{opacity:.6}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tf{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tf svg{width:84px;height:84px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .reader{max-width:760px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .progress-top{position:sticky;top:59px;z-index:30;height:3px;background:var(--line);margin:0 -16px 14px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .progress-top i{display:block;height:100%;width:0;background:var(--gold);box-shadow:0 0 10px var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tldr{border:1px solid rgba(255,178,26,.4);background:rgba(255,178,26,.06);padding:14px 16px;margin:14px 0 6px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tldr .kicker{margin-bottom:6px;display:block}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .prose{font-size:17px;line-height:1.65;max-width:68ch}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .prose h3{font:800 24px/1.15 var(--hud);margin:30px 0 10px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .rule{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:14px 16px;border-left:3px solid var(--nvg);background:rgba(124,242,154,.05);margin:14px 0}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .rule .ico{font:900 italic 30px/1 var(--punch);color:var(--nvg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) details.sci{border:1px solid var(--line2);background:var(--panel);margin:14px 0}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) details.sci summary{list-style:none;cursor:pointer;padding:12px 14px;display:flex;align-items:center;gap:10px;font:700 14px var(--hud);letter-spacing:.06em;text-transform:uppercase;color:var(--intel)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) details.sci summary::-webkit-details-marker{display:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) details.sci summary::after{content:"+";margin-left:auto;font-size:20px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) details.sci[open] summary::after{content:"\2013"}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) details.sci .in{padding:0 14px 14px;font-size:15px;color:var(--muted)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .cite{font:400 12px var(--mono);color:var(--dim)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .qs{display:grid;gap:14px;padding:18px}
@media (min-width:700px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .qs{grid-template-columns:240px 1fr}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .pit{position:relative;height:250px;background:linear-gradient(180deg,#0b1013 0%,#0b1013 42%,#3a2a12 42%,#241806 100%);border:1px solid var(--line2);overflow:hidden}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .pit .surface{position:absolute;left:0;right:0;top:42%;height:10px;background:repeating-linear-gradient(90deg,#5a4318 0 8px,#4a3612 8px 16px);opacity:.9}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .pit svg.op{position:absolute;left:50%;bottom:58%;width:86px;transform:translate(-50%,var(--sink,0%));transition:transform .7s cubic-bezier(.3,1.4,.5,1)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .pit .bubbles{position:absolute;inset:auto 0 0 0;height:58%;background:radial-gradient(circle at 30% 40%,rgba(255,255,255,.05) 0 3px,transparent 4px),radial-gradient(circle at 70% 70%,rgba(255,255,255,.05) 0 2px,transparent 3px);background-size:40px 40px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .pit .depth{position:absolute;left:8px;top:8px;font:600 11px var(--mono);color:var(--muted)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .qs-steps{display:grid;gap:8px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .qs-step{padding:10px 12px;border:1px solid var(--line);background:var(--bg2);opacity:.35;transition:opacity .3s,border-color .3s}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .qs-step.on{opacity:1;border-color:rgba(255,74,61,.5)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .qs-step b{font:700 14px var(--hud);color:var(--oni)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .qs-step p{margin:4px 0 0;font-size:14px;color:var(--muted)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .breath{width:90px;height:90px;border-radius:50%;margin:6px auto;border:2px solid var(--nvg);display:grid;place-items:center;font:700 12px var(--hud);color:var(--nvg);letter-spacing:.08em;text-transform:uppercase}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .breath.go{animation:breathe 8s ease-in-out 1}
@keyframes breathe{0%{transform:scale(.7)}40%{transform:scale(1.15)}55%{transform:scale(1.15)}100%{transform:scale(.7)}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .quiz button.opt{display:block;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--line2);background:var(--bg2);margin:8px 0;font-size:15px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .quiz button.opt.right{border-color:var(--nvg);background:rgba(124,242,154,.08)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .quiz button.opt.wrong{border-color:var(--oni);background:rgba(255,74,61,.08)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tempo{display:grid;gap:16px;padding:18px}
@media (min-width:760px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tempo{grid-template-columns:1fr 1fr}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .squad{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .op-tog{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border:1px solid var(--nvg);background:rgba(124,242,154,.07);color:var(--nvg);font:700 12px var(--hud);letter-spacing:.06em;text-transform:uppercase}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .op-tog svg{width:34px;height:34px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .op-tog[data-s="out"]{border-color:var(--oni);background:rgba(255,74,61,.07);color:var(--oni)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .op-tog[data-s="neg"]{border-color:var(--violet);background:rgba(201,181,255,.08);color:var(--violet)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .stage-out{display:flex;align-items:center;gap:16px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .stage-out .big{font:900 italic 96px/.8 var(--punch);color:var(--gold);min-width:80px;text-align:center}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .stage-out .big small{display:block;font:600 12px var(--hud);font-style:normal;letter-spacing:.12em;color:var(--muted);margin-top:8px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .steps5{display:grid;gap:8px;counter-reset:s}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .steps5 button{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;text-align:left;padding:12px;border:1px solid var(--line);background:var(--bg2)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .steps5 button .n{font:900 italic 34px/1 var(--punch);color:var(--dim);width:34px;text-align:center}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .steps5 button .d{display:none;font-size:14px;color:var(--muted);grid-column:2;margin-top:4px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .steps5 button[aria-expanded="true"]{border-color:var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .steps5 button[aria-expanded="true"] .n{color:var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .steps5 button[aria-expanded="true"] .d{display:block}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mode-card{display:block;text-decoration:none;padding:0;overflow:hidden}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mode-card .art{height:120px;position:relative;background:var(--bg2);border-bottom:1px solid var(--line)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mode-card .art svg{position:absolute;inset:0;width:100%;height:100%}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mode-card .txt{padding:14px 16px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .dev{position:absolute;top:10px;right:10px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mapsel{display:flex;gap:6px;flex-wrap:wrap}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mapsel button{font:600 13px var(--hud);padding:8px 12px;border:1px solid var(--line2);color:var(--muted)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mapsel button[aria-pressed="true"]{border-color:var(--gold);color:var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .board{position:relative;background:#0a0f12;border:1px solid var(--line2);aspect-ratio:16/10}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .board svg{width:100%;height:100%;display:block}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .legend{display:flex;gap:14px;flex-wrap:wrap;font:600 12px var(--hud);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-top:8px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .legend i{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .spectrum{position:relative;height:12px;background:linear-gradient(90deg,var(--oni),var(--hot),var(--gold),var(--intel),var(--violet));margin:18px 0 8px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .spectrum input{position:absolute;inset:-10px 0;width:100%;opacity:0;cursor:pointer}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .spectrum .knob{position:absolute;top:50%;width:22px;height:22px;transform:translate(-50%,-50%) rotate(45deg);background:var(--fg);border:3px solid var(--bg);box-shadow:0 0 0 1px var(--fg);pointer-events:none;transition:left .15s}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bstep{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bstep .n{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font:700 14px var(--hud)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .field{display:block;width:100%;margin-top:6px;padding:10px 12px;background:var(--bg);border:1px dashed var(--line3);color:var(--fg);font:400 15px var(--body)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .wpn{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .wpn .rk{font:900 italic 44px/.8 var(--punch);color:var(--gold);width:44px;text-align:center}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .wpn .bars{display:grid;gap:4px;margin-top:8px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .wpn .bars div{display:grid;grid-template-columns:70px 1fr;gap:8px;align-items:center;font:600 11px var(--hud);color:var(--dim);letter-spacing:.06em;text-transform:uppercase}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .grade{font:900 italic 34px/1 var(--punch);width:56px;height:56px;display:grid;place-items:center;border:2px solid currentColor}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .grade.a{color:var(--nvg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .grade.b{color:var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .grade.c{color:var(--hot)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tbl{width:100%;border-collapse:collapse;font-size:14px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tbl th{font:600 11px var(--hud);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);text-align:left;padding:8px 6px;border-bottom:1px solid var(--line2)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tbl td{padding:10px 6px;border-bottom:1px solid var(--line)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tbl td.n{font:700 15px var(--hud);text-align:right}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .spark{width:100%;height:110px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .check{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line);cursor:pointer}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .check input{accent-color:var(--nvg);width:18px;height:18px;margin-top:2px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .drawer{position:fixed;inset:auto 0 0 0;z-index:80;max-height:70vh;overflow:auto;background:var(--panel2);border-top:2px solid var(--gold);padding:18px 16px calc(24px + var(--safe-b));transform:translateY(105%);transition:transform .25s ease}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .drawer{visibility:hidden}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .drawer.on{transform:none;visibility:visible}
@media (min-width:900px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .drawer{left:auto;right:24px;bottom:24px;width:380px;border:1px solid var(--line3);border-top:2px solid var(--gold)}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .scrim{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.5);display:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .scrim.on{display:block}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .gl-list dt{font:700 16px var(--hud);color:var(--gold);margin-top:14px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .gl-list dd{margin:4px 0 0;color:var(--muted);font-size:15px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .toast{position:fixed;left:50%;bottom:calc(90px + var(--safe-b));transform:translateX(-50%) translateY(20px);opacity:0;z-index:90;background:var(--nvg);color:#062010;font:700 13px var(--hud);letter-spacing:.06em;text-transform:uppercase;padding:10px 14px;transition:all .25s;pointer-events:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .toast.on{opacity:1;transform:translateX(-50%)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bp-table{width:100%;border-collapse:collapse;font-size:14px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bp-table td,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bp-table th{border-bottom:1px solid var(--line);padding:10px 8px;vertical-align:top;text-align:left}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bp-table th{font:600 11px var(--hud);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bp-table code{font:400 13px var(--mono);color:var(--intel)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tree{font:400 14px/1.7 var(--mono);color:var(--muted);white-space:pre;overflow-x:auto;background:var(--bg2);border:1px solid var(--line);padding:14px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .topnav-extra{display:flex;gap:8px;align-items:center}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .avatar{width:38px;height:38px;border:1px solid var(--gold);overflow:hidden;display:block;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bell{position:relative}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bell i{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--oni);border-radius:50%}
@media (max-width:520px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .role{display:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .brand b{font-size:19px}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .subnav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 16px;padding:0 16px 2px;border-bottom:1px solid var(--line)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .subnav::-webkit-scrollbar{display:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .subnav button{flex:none;font:700 13px var(--hud);letter-spacing:.08em;text-transform:uppercase;padding:12px 12px 10px;color:var(--muted);border-bottom:2px solid transparent}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .subnav button[aria-selected="true"]{color:var(--gold);border-bottom-color:var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .pill{display:inline-flex;gap:4px;flex-wrap:wrap}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .pill button{font:600 12px var(--hud);letter-spacing:.06em;text-transform:uppercase;padding:7px 10px;border:1px solid var(--line2);color:var(--muted);background:var(--bg2)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .pill button[aria-pressed="true"]{border-color:var(--gold);color:var(--ink);background:var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .k{display:inline-block;font:700 10px var(--hud);letter-spacing:.08em;padding:3px 6px;border:1px solid}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .k.H{color:var(--nvg);border-color:rgba(124,242,154,.5)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .k.M{color:var(--gold);border-color:rgba(255,178,26,.5)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .k.L{color:var(--hot);border-color:rgba(255,140,66,.5)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .k.P{color:var(--intel);border-color:rgba(86,214,255,.5)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .srow{display:grid;grid-template-columns:1fr;gap:6px;padding:14px 0;border-bottom:1px solid var(--line)}
@media (min-width:760px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .srow{grid-template-columns:minmax(0,1.1fr) minmax(0,.8fr) minmax(0,1.6fr)}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .srow .nm{font:600 15px var(--body)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .srow .val{font:700 15px var(--hud);color:var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .srow .why{color:var(--muted);font-size:14.5px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .slots{display:grid;gap:6px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .slot{display:grid;grid-template-columns:96px 1fr auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid var(--line);background:var(--bg2);font-size:14px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .slot .sn{font:600 11px var(--hud);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .slot .sv{font-weight:600}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .slot.empty .sv{color:var(--dim);font-style:italic;font-weight:400}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .why-list{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:14.5px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .why-list li{margin:5px 0}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mcard{padding:0;overflow:hidden}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mcard>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mcard>summary::-webkit-details-marker{display:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mcard .body{padding:0 14px 16px;border-top:1px solid var(--line)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mcard[open]>summary .chev{transform:rotate(90deg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .chev{transition:transform .2s;color:var(--dim);font:700 18px var(--hud)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .wpgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .wpbtn{padding:12px;border:1px solid var(--line2);background:var(--bg2);text-align:left}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .wpbtn[aria-pressed="true"]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .wpbtn b{display:block;font:700 15px var(--hud)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .wpbtn span{font:600 11px var(--hud);color:var(--dim);letter-spacing:.08em}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .gunart{height:90px;margin:8px 0}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .pcset{display:grid;gap:10px}
@media (min-width:760px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .pcset{grid-template-columns:repeat(4,1fr)}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .pcset label{font:600 11px var(--hud);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);display:block;margin-bottom:6px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .code{font:400 13px/1.6 var(--mono);background:#030506;border:1px solid var(--line2);padding:14px;white-space:pre;overflow-x:auto;color:var(--nvg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .explain{display:grid;gap:12px}
@media (min-width:760px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .explain{grid-template-columns:repeat(2,1fr)}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .swatch{display:flex;gap:6px;margin-top:8px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .swatch i{flex:1;height:34px;border:1px solid var(--line)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) input[type=range].rng{width:100%;accent-color:var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .sel{background:var(--bg);border:1px solid var(--line2);color:var(--fg);padding:9px 10px;font:600 14px var(--hud);width:100%}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mhead{display:grid;gap:14px;padding:18px;background:linear-gradient(120deg,rgba(124,242,154,.10),transparent 50%),var(--panel);border:1px solid var(--line2)}
@media (min-width:760px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mhead{grid-template-columns:auto 1fr auto;align-items:center}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .wl{font:900 italic 64px/.8 var(--punch)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .wl.w{color:var(--nvg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .wl.l{color:var(--oni)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .score{font:900 italic 46px/.9 var(--punch)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .score span{color:var(--dim);font-size:28px;margin:0 6px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hills{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:3px;margin-top:6px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hills div{height:34px;position:relative;background:var(--line);display:flex;align-items:flex-end;font:700 10px var(--hud);padding:3px 4px;color:var(--bg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hills div i{position:absolute;inset:auto 0 0 0;background:var(--nvg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hills div em{position:relative;font-style:normal;color:var(--fg);mix-blend-mode:difference}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tcard{border-top:3px solid var(--nvg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tcard.them{border-top-color:var(--oni)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tstats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tstats div span{display:block;font:600 10.5px var(--hud);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tstats div b{font:900 italic 30px/1 var(--punch)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .ev{border:1px solid var(--line2);background:var(--panel);margin:8px 0}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .ev>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 14px;font-size:14.5px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .ev>summary::-webkit-details-marker{display:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .ev .evb{display:grid;gap:14px;padding:0 14px 14px}
@media (min-width:760px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .ev .evb{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tagv{font:700 10.5px var(--hud);letter-spacing:.1em;text-transform:uppercase;padding:4px 7px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tagv.bad{background:rgba(255,74,61,.15);color:var(--oni)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tagv.warn{background:rgba(255,140,66,.15);color:var(--hot)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tagv.good{background:rgba(124,242,154,.15);color:var(--nvg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tagv.info{background:rgba(86,214,255,.12);color:var(--intel)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .fix{border-left:3px solid var(--nvg);padding:8px 10px;background:rgba(124,242,154,.05);font-size:14.5px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .vodlink{font:600 12px var(--mono);color:var(--intel);text-decoration:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .minimap{width:100%;display:block;background:#080c0e;border:1px solid var(--line2)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .pair figcaption{font:600 11px var(--hud);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-bottom:4px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .pair figure{margin:0}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .lifekey{display:flex;gap:10px;flex-wrap:wrap;font:600 11px var(--hud);color:var(--muted);margin-top:6px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .lifekey i{display:inline-block;width:14px;height:3px;vertical-align:middle;margin-right:4px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .upload{border:2px dashed var(--line3);padding:24px;text-align:center;background:rgba(255,178,26,.03)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .warnbox{border:1px solid rgba(255,140,66,.5);background:rgba(255,140,66,.07);padding:10px 12px;font-size:14px;color:var(--hot)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .pcards{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mini-card{padding:0;overflow:hidden}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mini-card .art{height:150px;background:repeating-linear-gradient(45deg,rgba(255,255,255,.025) 0 2px,transparent 2px 10px),#070a0c;border-bottom:1px dashed var(--line3);display:grid;place-items:center;font:400 10px var(--mono);color:var(--dim);letter-spacing:.1em;position:relative}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mini-card .art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 12%}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mini-card .in{padding:12px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .s5{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;margin-top:8px;text-align:center}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .s5 b{display:block;font:900 italic 20px/1 var(--punch)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .s5 span{font:600 9px var(--hud);color:var(--dim);letter-spacing:.06em}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tx{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:15px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tx .t{font:400 12px var(--mono);color:var(--intel);padding-top:3px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tx .sp b{color:var(--gold);font:700 13px var(--hud);margin-right:6px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;overflow-x:auto}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .week div{min-width:80px;border:1px solid var(--line);background:var(--bg2);padding:8px;font-size:12.5px;min-height:110px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .week div b{display:block;font:700 11px var(--hud);letter-spacing:.1em;color:var(--dim);margin-bottom:6px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .week .blk{display:block;padding:4px 6px;margin:3px 0;font:600 11.5px var(--hud)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .blk.hp{background:rgba(255,178,26,.15);color:var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .blk.hj{background:rgba(201,181,255,.14);color:var(--violet)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .blk.sd{background:rgba(86,214,255,.12);color:var(--intel)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .blk.mx{background:rgba(185,174,164,.14);color:#D8CFC6}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .blk.nc{background:rgba(255,74,61,.14);color:var(--oni)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .blk.rest{background:rgba(124,242,154,.1);color:var(--nvg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .plans2{display:grid;gap:14px}
@media (min-width:760px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .plans2{grid-template-columns:1fr 1fr}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .notif{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .notif .dot{width:10px;height:10px;background:var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .formrow{display:grid;gap:6px;margin-bottom:12px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .formrow label{font:600 11px var(--hud);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .member{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .member .av{width:36px;height:36px;background:var(--panel3);display:grid;place-items:center;font:700 14px var(--hud);color:var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .toggle{position:relative;width:46px;height:26px;background:var(--line2);border:1px solid var(--line3);flex:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .toggle i{position:absolute;top:2px;left:2px;width:20px;height:20px;background:var(--muted);transition:left .2s}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .toggle[aria-pressed="true"]{background:rgba(124,242,154,.2);border-color:var(--nvg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .toggle[aria-pressed="true"] i{left:22px;background:var(--nvg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .heat{display:grid;grid-template-columns:auto repeat(6,1fr);gap:3px;font:600 11px var(--hud)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .heat span{padding:8px 4px;text-align:center}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .heat .h{color:var(--dim);letter-spacing:.06em}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .callpair{display:grid;gap:10px}
@media (min-width:760px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .callpair{grid-template-columns:1fr 1fr}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bubble{padding:12px 14px;font-size:15px;border-left:3px solid}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bubble.bad{border-color:var(--oni);background:rgba(255,74,61,.06)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bubble.good{border-color:var(--nvg);background:rgba(124,242,154,.06)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .sched{width:100%;border-collapse:collapse;font-size:13.5px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .sched td,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .sched th{border-bottom:1px solid var(--line);padding:7px 6px;text-align:left}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .sched th{font:600 10.5px var(--hud);letter-spacing:.1em;color:var(--dim);text-transform:uppercase}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .sched td:first-child{font:400 12px var(--mono);color:var(--intel);white-space:nowrap}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .sched .brk{color:var(--nvg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .chap-nav{display:flex;justify-content:space-between;gap:10px;margin-top:24px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .toc{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .toc a{font:600 12px var(--hud);letter-spacing:.06em;text-transform:uppercase;padding:6px 9px;border:1px solid var(--line2);color:var(--muted);text-decoration:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .lock{display:inline-flex;align-items:center;gap:6px;font:600 11px var(--hud);color:var(--dim);letter-spacing:.08em}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .founder-chip svg{flex:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bookopt{display:block;width:100%;text-align:left;cursor:pointer;color:inherit;font:inherit}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bookopt[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .daygrid{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:760px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .daygrid{grid-template-columns:repeat(4,minmax(0,1fr))}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .day{display:grid;gap:6px;text-align:left;padding:12px;border:1px solid var(--line2);background:var(--bg2);color:var(--fg);cursor:pointer}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .day b{font:700 15px var(--hud);letter-spacing:.04em}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .day span{font:400 12px var(--mono);color:var(--muted)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .day[aria-pressed="true"]{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hourgrid{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:560px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hourgrid{grid-template-columns:repeat(5,minmax(0,1fr))}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hour{display:grid;gap:2px;padding:12px 8px;border:1px solid var(--line2);background:#1A262C;color:var(--fg);cursor:pointer;text-align:center}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hour b{font:700 16px var(--hud)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hour span{font:400 11px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hour.on{background:var(--gold);border-color:var(--gold);color:#1a1100}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hour.on span{color:#1a1100}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hour.taken{background:repeating-linear-gradient(135deg,rgba(255,74,61,.12) 0 6px,transparent 6px 12px);border-color:rgba(255,74,61,.4);color:var(--dim);cursor:not-allowed}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hour.taken span{color:var(--oni)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hour:focus-visible,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .day:focus-visible,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .bookopt:focus-visible{outline:2px solid var(--intel);outline-offset:2px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .steps .rule{margin:0}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .nav a{font-size:11px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .k{font-size:11px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tagv{font-size:11.5px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hills div{font-size:11px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tstats div span,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .sched th{font-size:11.5px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .s5 span{font-size:11px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .mini-card .art{font-size:11px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .back{min-height:40px;padding:8px 0;margin-bottom:6px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .toc a{display:inline-flex;align-items:center;min-height:36px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .vodlink{display:inline-flex;align-items:center;min-height:34px;padding:0 4px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .h-sec a.mono{display:inline-flex;align-items:center;min-height:34px;margin-top:0!important}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .member button{min-width:40px;min-height:40px;font-size:20px;color:var(--muted)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .toggle::after{content:"";position:absolute;inset:-9px -4px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) td a{display:inline-flex;align-items:center;min-height:36px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching){--dim:#869AA0}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .subnav{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);scroll-behavior:smooth}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .card svg[role="img"]:not(.minimap){max-width:620px;display:block}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .minimap{max-width:560px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .btn.ghost{clip-path:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .why-list+.btn,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .why-list+button.btn{margin-top:16px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .nav a{white-space:nowrap;letter-spacing:.02em}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .notif>span:first-child{width:10px}
@media (min-width:900px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .scroller{margin:0;padding:4px 0 12px}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .chap.soon .chev,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .chap.soon>span:last-child{visibility:hidden}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .chap.soon{opacity:.75}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .view[data-view^="ch-"]{max-width:860px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .qs .row{align-items:stretch}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .qs-step{opacity:.6}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .qs-step b{color:#FF7A6E}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .stage-out .big{min-width:0;flex:none;padding-right:4px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .week{grid-template-columns:repeat(7,minmax(0,1fr))}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .week div{min-width:0}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .week .blk{white-space:normal;overflow-wrap:anywhere}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hour.taken{color:var(--muted)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hour.taken b{color:#c7d0d3;text-decoration:line-through;text-decoration-color:rgba(255,74,61,.7)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .hour.taken span{color:#FF7A6E;font-weight:700}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .pcards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .s5{gap:4px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching).bare .nav,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching).bare .top .icon-btn,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching).bare .top .avatar,:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching).bare .top .role{display:none}
@media (min-width:900px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching).bare .app{padding-left:0}}
@media (max-width:600px){:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tree{font-size:12px}}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tbl{min-width:100%}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .nav a{font-size:10.5px;letter-spacing:0;padding-left:0;padding-right:0}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tbl td:first-child{white-space:nowrap}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .card svg[role="img"]:not(.minimap){max-width:520px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .s5{gap:6px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .s5 span{letter-spacing:0}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching){display:block;background:transparent;font:400 16px/1.55 var(--body);color:var(--fg)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tc-wrap{max-width:1000px;margin:0 auto;padding:18px 16px 60px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .progress-top{top:var(--nx-top,60px)}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) #tc-scrim{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:opacity .2s}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) #tc-scrim.on{opacity:1;visibility:visible}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) #tc-drawer{position:fixed;top:0;right:0;bottom:0;z-index:81;width:min(420px,92vw);background:var(--panel);border-left:1px solid var(--line2);padding:18px;overflow:auto;transform:translateX(100%);visibility:hidden;transition:transform .25s,visibility .25s}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) #tc-drawer.on{transform:none;visibility:visible}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tc-dh{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tc-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);opacity:0;z-index:90;background:var(--nvg);color:#062010;font:700 13px var(--hud);padding:10px 14px;transition:.2s;pointer-events:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tc-toast.on{opacity:1;transform:translateX(-50%)}
/* the glossary drawer: solid, above the site header, and the tapped term highlighted */
html #tc-drawer{background:#0B0708!important;z-index:130!important;-webkit-backdrop-filter:none;backdrop-filter:none}
html #tc-scrim{z-index:129!important}
html #tc-drawer dt.hit{color:var(--gold,#E8B04A);outline:1px solid var(--gold,#E8B04A);outline-offset:4px}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .breath[hidden]{display:none}
:is(#v-totalcod,#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching) .tc-toast{bottom:120px}/* above the menu disc */

/* THE LAB · app skin (the redesign's look, applied over the site and theme layers).
   Everything is scoped to html.lx (set by shell.js), so the old look returns if the shell doesn't run.
   Chrome: a slim top bar, a bottom tab bar on phones (a left rail on desktop), and a page head with underline tabs.
   Components: notched cards and buttons, gold HUD kickers, calmer page titles, no HUD clutter. */

/* ---------- background: the redesign's soft glow instead of the topo map and grain ---------- */
html.lx #nx-topo,html.lx #nx-compass,html.lx .nx-readout,html.lx .vbtn .nx-slot,html.lx .eyebrow::after{display:none!important}
html.lx body::after{content:none!important}
html.lx body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(90% 60% at 85% -10%,rgba(255,178,26,.10),transparent 60%),radial-gradient(70% 50% at -10% 110%,rgba(124,242,154,.06),transparent 60%),
  repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px),var(--bg)}
html.lx body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}

/* ---------- top bar ---------- */
html.lx header.top{position:sticky!important;top:0;z-index:40;padding:calc(8px + env(safe-area-inset-top,0px)) 0 8px!important;
  background:linear-gradient(180deg,rgba(6,8,10,.96),rgba(6,8,10,.86))!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important}
html.lx header.top::before,html.lx header.top::after{content:none!important}
html.lx header.top>.wrap{display:flex;align-items:center;gap:12px;min-height:40px}
html.lx header.top .brand{flex:1;min-width:0;gap:10px!important}
html.lx header.top .brand img.logo{width:38px!important;height:38px!important;margin:0!important}
html.lx header.top .brand .brand-name{font:800 22px/1 var(--hero)!important;letter-spacing:.04em!important;text-transform:uppercase}
html.lx header.top .brand .by{display:none}
html.lx #lab-chip{margin-left:auto;display:flex;align-items:center;gap:10px}
html.lx #lab-chip .cap{font:600 12px var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
@media (max-width:520px){html.lx #lab-chip .cap{display:none}}

/* ---------- bottom tab bar (phones) / left rail (desktop) ---------- */
nav.lab-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:repeat(var(--n,5),1fr);
  padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));background:rgba(8,11,13,.97);border-top:1px solid var(--line2);backdrop-filter:blur(10px)}
nav.lab-nav button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;background:none;border:0;cursor:pointer;position:relative;
  color:var(--dim);font:600 10.5px var(--display);letter-spacing:.06em;text-transform:uppercase}
nav.lab-nav svg{width:22px;height:22px}
nav.lab-nav button:hover{color:var(--fg)}
nav.lab-nav button[aria-current="page"]{color:var(--amber)}
nav.lab-nav button[aria-current="page"]::before{content:"";position:absolute;top:-6px;left:28%;right:28%;height:3px;background:var(--amber);box-shadow:0 0 12px var(--amber)}
nav.lab-nav button:focus-visible{outline:2px solid var(--amber);outline-offset:-2px}
@media (min-width:900px){
  html.lx body{padding-bottom:0;padding-left:84px}
  nav.lab-nav{top:0;bottom:0;right:auto;width:84px;grid-template-columns:1fr;grid-auto-rows:min-content;align-content:start;gap:4px;padding:80px 6px 20px;border-top:0;border-right:1px solid var(--line2)}
  nav.lab-nav button{padding:12px 2px}
  nav.lab-nav button[aria-current="page"]::before{top:18%;bottom:18%;left:-6px;right:auto;width:3px;height:auto}
}

/* ---------- page head: section title + its pages as underline tabs ---------- */
.lab-head{padding-top:22px!important}
.lab-head[hidden]{display:none!important}
.lab-head .kicker{display:block;margin-bottom:6px}
.lab-head .h-page{font:900 clamp(34px,8vw,60px)/.92 var(--hero)!important;text-transform:uppercase;letter-spacing:.01em!important;margin:0 0 14px!important;text-shadow:none!important}
html.lx nav.views.lab-sub{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;overflow-x:auto;scrollbar-width:none;margin:0 0 6px!important;padding:0 0 2px!important;
  border-bottom:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
html.lx nav.views.lab-sub::-webkit-scrollbar{display:none}
html.lx nav.views.lab-sub .vbtn{flex:none;clip-path:none!important;background:none!important;border:0!important;border-bottom:2px solid transparent!important;box-shadow:none!important;
  font:700 13px var(--display)!important;letter-spacing:.08em!important;padding:12px 12px 10px!important;color:var(--muted)!important}
html.lx nav.views.lab-sub .vbtn:hover{color:var(--fg)!important}
html.lx nav.views.lab-sub .vbtn[aria-current="page"]{color:var(--amber)!important;border-bottom-color:var(--amber)!important;background:none!important}
html.lx nav.views.lab-sub .vbtn[hidden]{display:none!important}
html.lx nav.views.lab-sub.lab-sub-off{display:none!important}
html.lx section.lab-own[hidden]{display:none!important}

/* ---------- each page's own intro: calmer, under the page head ---------- */
html.lx section.view:not(.lab-own) .hero{padding-top:18px!important}
html.lx section.view:not(.lab-own) h1{font:800 clamp(26px,5.4vw,40px)/1.05 var(--display)!important;text-transform:none!important;letter-spacing:.01em!important;text-shadow:none!important;margin:6px 0 10px!important}
html.lx section.view:not(.lab-own) .hero h1 em{color:var(--amber)!important;-webkit-text-stroke:0!important}
html.lx .eyebrow{display:block!important;font:600 12px var(--display)!important;letter-spacing:.12em!important}
html.lx .eyebrow span{border:0!important;background:none!important;padding:0!important}
html.lx .eyebrow span+span::before{content:" · "!important;color:var(--dim)}
html.lx .lede{font-size:17px!important;line-height:1.55}
html.lx .heroart::before,html.lx .heroart::after,html.lx .heroart>.vsart::before,html.lx .heroart>.vsart::after{content:none!important}

/* ---------- headings ---------- */
html.lx .h2,html.lx .sub>h2{font:800 clamp(22px,4.4vw,28px)/1.1 var(--display)!important;text-transform:none!important;letter-spacing:.02em!important}
html.lx .h2::before{content:none!important}
html.lx .kicker{font:600 12px var(--display)!important;letter-spacing:.12em!important;color:var(--amber)!important}

/* ---------- cards and panels: notched corners ---------- */
html.lx .card,html.lx .panel{background:linear-gradient(180deg,var(--panel2),var(--panel))!important;border:1px solid var(--line)!important;border-radius:0!important;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
html.lx .card:hover{border-color:var(--line2)!important}

/* ---------- buttons ---------- */
html.lx .btn{font:700 13px var(--display)!important;letter-spacing:.08em!important;padding:12px 18px!important;border:0!important;border-radius:0!important;
  background:transparent!important;color:var(--fg)!important;box-shadow:inset 0 0 0 1px var(--line3)!important;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)!important}
html.lx .btn::before{content:none!important}
html.lx .btn:hover{box-shadow:inset 0 0 0 1px var(--amber)!important}
html.lx .btn.y{background:var(--amber)!important;color:var(--amber-ink)!important;box-shadow:none!important}
html.lx .btn.y:hover{background:var(--amber-2)!important}
html.lx .btn.sm{padding:7px 12px!important;font-size:11px!important}
html.lx .btn:focus-visible{outline:2px solid var(--amber)!important;outline-offset:2px;box-shadow:inset 0 0 0 1px var(--amber)!important}

/* ---------- segmented pickers: the redesign's chips ---------- */
html.lx .seg{gap:4px!important}
html.lx .seg button{border:1px solid var(--line2)!important;background:var(--bg2)!important;color:var(--muted)!important;font:700 12px var(--display)!important;letter-spacing:.08em!important;box-shadow:none!important;clip-path:none!important}
html.lx .seg button[aria-pressed="true"]{background:var(--amber)!important;border-color:var(--amber)!important;color:var(--amber-ink)!important}

/* ---------- Home ---------- */
.lab-home{padding-top:28px!important;padding-bottom:48px!important}
.lab-home>.lk{font:600 12px var(--display);color:var(--amber);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}
.lab-home h1{font:900 clamp(40px,10vw,72px)/.92 var(--hero)!important;text-transform:uppercase;margin:0 0 12px;color:var(--fg)}
.lab-home h1 em{font-style:normal;color:var(--amber)}
.lab-home .lede{color:var(--muted);font-size:17px;max-width:52ch;margin:0 0 24px}
.lab-hgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.lab-hcard{display:flex;flex-direction:column;gap:6px;padding:18px;border:1px solid var(--line);background:linear-gradient(180deg,var(--panel2),var(--panel));color:var(--fg);text-decoration:none;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
.lab-hcard:hover{border-color:var(--amber)}
.lab-hcard:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.lab-hcard .lk{font:600 12px var(--display);color:var(--amber);letter-spacing:.12em;text-transform:uppercase}
.lab-hcard b{font:700 19px/1.2 var(--display)}
.lab-hcard span:last-child{color:var(--muted);font-size:15px;line-height:1.45}


/* the redesign's own pages (Home, Total CoD) keep their title sizes over the site's h1 rule */
html.lx section.lab-own h1.h-hero{font:900 clamp(44px,11vw,96px)/.88 var(--hero)!important;margin:0!important}
html.lx section.lab-own h1.h-page{font:900 clamp(34px,8vw,60px)/.92 var(--hero)!important}
html.lx header.top .brand .brand-name,html.lx header.top .brand .brand-name *{font-family:var(--hero)!important;font-weight:800!important;text-transform:uppercase!important}
html.lx .kicker,html.lx .eyebrow{text-transform:uppercase!important}
/* Home and Total CoD are their own pages: the site footer (sources, effects toggle) belongs to the tool pages */
:is(html.lx[data-section="home"],html.lx[data-section="totalcod"],html.lx[data-section="coaching"]) body>footer>:not(.credit){display:none!important}   /* keep the credit and legal links (Terms, Privacy, Refunds, What's New) on every page */
html.lx #tc-streak .stat{background:none!important;border:0!important;padding:0!important;clip-path:none!important}
/* the site's settings-list .row (grid, border, hover) must not leak into the redesign's flex rows */
section.lab-own .row{padding:0;border-bottom:0;grid-template-columns:none;border-radius:0}
section.lab-own .row:hover{background:none}
/* in the redesign's own pages a plain .btn is the gold action and .btn.ghost the outline, as in the mockup */
html.lx section.lab-own .btn:not(.ghost):not(.nvg){background:var(--amber)!important;color:var(--amber-ink)!important;box-shadow:none!important}
html.lx .btn.nvg{background:var(--nvg)!important;color:#062010!important;box-shadow:none!important}
html.lx .btn[disabled]{opacity:.55}
/* the site's two-column .hero grid must not apply to the redesign's hero */
section.lab-own .hero{grid-template-columns:minmax(0,1fr)!important;align-items:start;min-height:0}
section.lab-own .hero>*{grid-column:1}

/* ---------- My Team: the redesign's page head and underline tabs ---------- */
html.lx #v-coach .c-head{padding-top:22px!important;display:block!important}
html.lx #v-coach .c-head h1.h-page{font:900 clamp(34px,8vw,60px)/.92 var(--hero)!important;text-transform:uppercase!important;margin:4px 0 12px!important}
html.lx #v-coach .c-head .lede{max-width:62ch;font-size:16px!important;color:var(--muted)!important}
html.lx #v-coach .c-head .heroart{display:none!important}
.c-founder{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:6px 12px 6px 8px;border:1px solid rgba(255,178,26,.5);background:rgba(255,178,26,.07);
  font:700 12px var(--display);letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}
.c-founder svg{width:16px;height:18px}
html.lx #v-coach .seg.c-subnav{display:flex!important;flex-wrap:nowrap!important;gap:6px!important;overflow-x:auto;scrollbar-width:none;margin:0 0 16px!important;padding:0 0 2px!important;
  border-bottom:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
html.lx #v-coach .seg.c-subnav::-webkit-scrollbar{display:none}
html.lx #v-coach .seg.c-subnav button{flex:none;background:none!important;border:0!important;border-bottom:2px solid transparent!important;box-shadow:none!important;clip-path:none!important;
  font:700 13px var(--display)!important;letter-spacing:.08em!important;text-transform:uppercase;padding:12px 12px 10px!important;color:var(--muted)!important}
html.lx #v-coach .seg.c-subnav button[aria-pressed="true"]{color:var(--amber)!important;border-bottom-color:var(--amber)!important}
html.lx #v-coach section.card h3{font:800 20px/1.15 var(--display)!important}

/* ---------- tool pages: one heading family (the redesign's HUD face) instead of the old condensed stencil ---------- */
html.lx section.view:not(.lab-own) h2{font-family:var(--display)!important;font-weight:800!important;font-size:clamp(22px,4.6vw,28px)!important;line-height:1.12!important;text-transform:none!important;letter-spacing:.01em!important;font-stretch:normal!important}
html.lx section.view:not(.lab-own) h3{font-family:var(--display)!important;font-weight:700!important;font-stretch:normal!important;letter-spacing:.01em!important;text-transform:none!important}
html.lx section.view:not(.lab-own) h4{font-family:var(--display)!important;font-stretch:normal!important}

/* ---------- plans dialog ---------- */
.lab-plans{display:grid;gap:12px;margin:8px 0 12px}
@media (min-width:560px){.lab-plans{grid-template-columns:1fr 1fr}}
.lab-plan{border:1px solid var(--line2);background:linear-gradient(180deg,var(--panel2),var(--panel));padding:16px;display:flex;flex-direction:column;gap:8px;
  clip-path:polygon(12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%,0 12px)}
.lab-plan.best{border-color:var(--amber);box-shadow:inset 0 0 0 1px rgba(255,178,26,.35)}
.lab-plan-pr{font:900 italic 44px/1 var(--punch);margin:2px 0;color:var(--fg)}
.lab-plan-pr small{font:400 14px var(--mono);color:var(--dim);font-style:normal;margin-left:4px}
.lab-founding{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px;margin:2px 0 8px;padding:5px 12px;border:1px solid #E8B04B;color:#E8B04B;background:rgba(232,176,75,.08);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.lab-founding b{letter-spacing:.04em}.lab-founding .cap{color:var(--dim)}
.lab-plan ul{margin:0 0 6px;padding-left:18px;color:var(--muted);font-size:15px}
.lab-plan .kicker{color:var(--amber)}

/* ---------- loading screen: the front door's pixel emblem forming, with its log and percentage ---------- */
#nx-boot{display:block!important;background:var(--bg)!important;transition:opacity .6s,visibility .6s!important}
#nx-boot.done{opacity:0;visibility:hidden}
#nx-boot canvas{position:absolute;inset:0;width:100%;height:100%}
#nx-boot .box{position:absolute;left:0;right:0;bottom:0;width:auto!important;display:block!important;padding:24px 20px calc(28px + env(safe-area-inset-bottom,0px))}
#nx-boot pre{margin:0 0 14px!important;min-height:0!important;font:400 13px/1.7 var(--mono)!important;color:var(--dim)!important;white-space:pre-wrap}
#nx-boot pre b{color:var(--nvg)!important;font-weight:400}
#nx-boot .pct{font:900 italic clamp(72px,20vw,180px)/.8 var(--punch);color:var(--amber)}
#nx-boot .pbar{height:2px;background:var(--line);margin-top:14px}
#nx-boot .pbar i{display:block;height:100%;width:0;background:var(--amber);box-shadow:0 0 12px var(--amber);transition:width .2s}
@media (min-width:900px){#nx-boot .box{padding:32px 40px 36px}}

/* ---------- the section wheel on Home (same as the front door's) ---------- */
.lab-wheelsec{margin:26px 0 8px}
.lab-wheel-grid{display:grid;gap:22px;align-items:center}
@media (min-width:900px){.lab-wheel-grid{grid-template-columns:minmax(0,440px) 1fr;gap:48px}}
.lab-wheel{position:relative;width:min(100%,440px);aspect-ratio:1;margin:0 auto;touch-action:none;user-select:none;cursor:grab}
.lab-wheel:active{cursor:grabbing}
.lab-wheel svg{width:100%;height:100%;display:block;overflow:visible}
.lab-wheel .rot{transform-origin:260px 260px;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.lab-wheel .rot.drag{transition:none}
.lab-wheel .seg path{fill:rgba(13,18,21,.88);stroke:var(--line2);stroke-width:1.5;transition:fill .25s}
.lab-wheel .seg.on path{fill:rgba(255,178,26,.14);stroke:var(--amber)}
.lab-wheel .seg text{font:700 15px var(--display);letter-spacing:.14em;fill:var(--muted);text-transform:uppercase}
.lab-wheel .seg.on text{fill:var(--amber)}
.lab-wheel .seg .ico{fill:none;stroke:var(--dim);stroke-width:2}
.lab-wheel .seg.on .ico{stroke:var(--amber)}
.lab-wheel .hub{position:absolute;left:50%;top:50%;width:34%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#0d1215 60%,#050709);border:1px solid var(--line3);display:grid;place-items:center;overflow:hidden}
.lab-wheel .hub img{width:86%;height:86%;object-fit:contain}
.lab-wheel .pointer{position:absolute;left:50%;top:-6px;transform:translateX(-50%);width:0;height:0;border:12px solid transparent;border-top:18px solid var(--amber);filter:drop-shadow(0 0 8px var(--amber))}
.lab-wheel:focus-visible{outline:none}.lab-wheel:focus-visible .hub{box-shadow:0 0 0 3px var(--amber)}
.lab-wheel-hint{text-align:center;font:400 12px var(--mono);color:var(--dim);letter-spacing:.08em;margin-top:10px}
.lab-wpanel{min-height:260px}
.lab-wpanel .lbl{font:400 13px var(--mono);color:var(--amber);letter-spacing:.1em}
.lab-wpanel h3{margin:10px 0 12px;font:900 clamp(40px,7vw,84px)/.96 var(--hero)!important;text-transform:uppercase}
.lab-wpanel p{color:var(--muted);font-size:17px;max-width:44ch;margin:0 0 14px}
.lab-wpanel ul{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.lab-wpanel li{font:600 12px var(--display);letter-spacing:.1em;text-transform:uppercase;padding:6px 10px;border:1px solid var(--line2);color:var(--muted)}
.lab-wpanel .swap{animation:lab-swap .45s ease both}
@keyframes lab-swap{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.lab-wheel .rot,.lab-wpanel .swap{transition:none;animation:none}}

/* THE LAB · HUD look (html.hx, set by hud.js). Black and white like a game menu, one gold accent for what matters,
   the Lab Bit pixel face for titles and numbers, mono for labels, heavy caps for headings. Loaded last. */
html.hx{
  --bg:#000; --bg2:#050505; --panel:#090909; --panel2:#0F0F0F; --panel3:#161616;
  --line:#1C1C1C; --line2:#2C2C2C; --line3:#444;
  --fg:#F2F2F2; --muted:#A6A6A6; --dim:#6A6A6A;
  --bit:"Lab Bit","Lab Telemetry",monospace;
  --head:"Lab Body","Segoe UI",sans-serif;
  --hx-m:12px;
}
@media (max-width:700px){html.hx{--hx-m:6px}}
html.hx,html.hx body{background:#000!important}
html.hx #nx-topo{display:none!important}
html.hx body{padding:64px 0 96px!important}
@media (min-width:900px){html.hx body{padding-left:0!important}}
html.hx nav.lab-nav{display:none!important}
html.hx.hx body.hx-locked{overflow:hidden}

/* ---------- background boxes ---------- */
.hx-boxes{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}

/* ---------- frame ---------- */
.hx-frame{position:fixed;inset:0;z-index:70;pointer-events:none}
.hx-frame-svg{position:absolute;inset:0;width:100%;height:100%}
.hx-frame-svg path{fill:none;stroke:rgba(255,255,255,.22);stroke-width:1}
.hx-tab{position:fixed;top:var(--hx-m);left:50%;transform:translateX(-50%);z-index:71;pointer-events:none;height:30px;display:flex;align-items:center;justify-content:center;
  font:400 13px var(--bit);letter-spacing:.14em;text-transform:uppercase;color:#fff;white-space:nowrap}
@media (max-width:700px){.hx-tab{height:26px;font-size:11px}}
.hx-sound,.hx-xy{position:fixed;bottom:calc(var(--hx-m) + 12px);z-index:71;font:400 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.hx-sound{left:calc(var(--hx-m) + 14px);display:flex;align-items:center;gap:3px;background:none;border:0;cursor:pointer;padding:6px 4px;color:#fff}
.hx-sound i{width:2px;height:8px;background:var(--dim);display:block}
.hx-sound[aria-pressed="true"] i{background:var(--amber);animation:hx-eq .6s ease-in-out infinite alternate}
.hx-sound[aria-pressed="true"] i:nth-child(2){animation-delay:.2s}.hx-sound[aria-pressed="true"] i:nth-child(3){animation-delay:.4s}
.hx-sound span{margin-left:6px}
@keyframes hx-eq{from{height:3px}to{height:10px}}
.hx-xy{right:calc(var(--hx-m) + 14px);font-variant-numeric:tabular-nums}
@media (max-width:700px){.hx-xy{display:none}}
.hx-menu-btn{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:72;background:none;border:0;cursor:pointer;padding:0;display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff}
.hx-mark{font:400 11px var(--bit);letter-spacing:.16em}
.hx-disc{display:block;width:min(240px,52vw);height:46px;background:#f2f2f2;border-radius:240px 240px 0 0;position:relative;transition:height .2s,background .2s}
.hx-disc i{position:absolute;left:50%;width:22px;height:2px;background:#000;transform:translateX(-50%)}
.hx-disc i:first-child{top:22px}.hx-disc i:last-child{top:28px}
.hx-menu-btn:hover .hx-disc,.hx-menu-btn:focus-visible .hx-disc{height:54px;background:#fff}
.hx-menu-btn:focus-visible,.hx-menu-btn:focus{outline:none!important;box-shadow:none!important}.hx-menu-btn:focus-visible .hx-disc{box-shadow:0 0 0 2px var(--amber)}

/* ---------- top: brand and account ---------- */
html.hx header.top{position:fixed!important;top:var(--hx-m);left:var(--hx-m);right:var(--hx-m);z-index:69;background:none!important;border:0!important;padding:10px 14px!important;backdrop-filter:none!important;box-shadow:none!important;pointer-events:none}
html.hx header.top>.wrap{max-width:none!important;padding:0!important;display:flex;align-items:center;min-height:28px}
html.hx header.top .brand,html.hx header.top #lab-chip{pointer-events:auto}
html.hx header.top .brand img.logo{width:26px!important;height:26px!important}
html.hx header.top .brand .brand-name{font:400 13px var(--bit)!important;letter-spacing:.12em!important;color:#fff!important}
html.hx header.top .brand .brand-name *{font:inherit!important;color:inherit!important}
html.hx #lab-chip .cap{font:400 11px var(--mono)!important;letter-spacing:.08em;color:var(--dim)!important;text-transform:uppercase}
html.hx #lab-chip .btn{background:none!important;box-shadow:none!important;clip-path:none!important;border:1px solid rgba(255,255,255,.3)!important;color:#fff!important;font:400 11px var(--mono)!important;padding:5px 9px!important;letter-spacing:.08em!important}
html.hx #lab-chip .btn:hover{border-color:#fff!important}
@media (max-width:700px){html.hx header.top .brand .brand-name{display:none}}

/* ---------- the menu ---------- */
.hx-menu{position:fixed;inset:0;z-index:200;background:#000;opacity:0;transition:opacity .3s;outline:none;overflow:hidden}
.hx-menu.on{opacity:1}
.hx-tiles{position:absolute;inset:0;width:100%;height:100%}
.hx-rings{position:absolute;inset:0;pointer-events:none}
.hx-rings i{position:absolute;left:50%;top:50%;border:1px solid rgba(255,255,255,.12);border-radius:50%;transform:translate(-50%,-50%)}
.hx-rings i:nth-child(1){width:min(150vw,150vh);height:min(150vw,150vh)}
.hx-rings i:nth-child(2){width:min(118vw,118vh);height:min(118vw,118vh)}
.hx-rings i:nth-child(3){width:min(86vw,86vh);height:min(86vw,86vh);border-color:rgba(255,255,255,.18)}
.hx-x{position:absolute;top:18px;left:18px;background:none;border:0;color:#fff;cursor:pointer;padding:8px;z-index:2}
.hx-wheel{position:absolute;left:50%;top:48%;width:min(78vw,520px);aspect-ratio:1;transform:translate(-50%,-50%) scale(.92);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.hx-menu.on .hx-wheel{transform:translate(-50%,-50%) scale(1)}
.hx-wheel>svg{width:100%;height:100%;overflow:visible}
.hx-seg-in svg{width:20px;height:20px;flex:none}
.hx-seg{cursor:pointer;outline:none}
.hx-seg path{fill:rgba(40,40,40,.72);stroke:rgba(0,0,0,.9);stroke-width:2;transition:fill .15s}
.hx-seg.on path{fill:rgba(242,242,242,.92)}
.hx-seg-in{width:96px;height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#fff;font:600 10px/1.1 var(--body);text-align:center;transition:color .15s}
.hx-seg.on .hx-seg-in{color:#000}
.hx-stick{position:absolute;left:50%;top:50%;width:19%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:#000;border:2px solid var(--amber,#E8B04A);cursor:grab;touch-action:none;box-shadow:0 0 0 10px rgba(0,0,0,.55),0 10px 30px rgba(0,0,0,.6);transition:transform .2s}
.hx-stick.hold{cursor:grabbing;transition:none}
.hx-stick b{position:absolute;inset:6%;border-radius:50%;overflow:hidden;background:#000}.hx-stick b img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}   /* the emblem sits in the middle of the wheel */
.hx-stick span{position:absolute;font:700 10px var(--mono);color:#000;line-height:1}
.hx-stick .u{top:9%;left:50%;transform:translateX(-50%)}.hx-stick .d{bottom:9%;left:50%;transform:translateX(-50%)}
.hx-stick .l{left:10%;top:50%;transform:translateY(-50%)}.hx-stick .r{right:10%;top:50%;transform:translateY(-50%)}
.hx-menu-info{position:absolute;left:50%;bottom:86px;transform:translateX(-50%);text-align:center;display:flex;flex-direction:column;gap:4px;align-items:center}
.hx-menu-info .n{font:400 11px var(--mono);color:var(--dim);letter-spacing:.12em}
.hx-menu-info b{font:400 clamp(26px,5vw,40px)/1 var(--bit);color:#fff;letter-spacing:.04em;text-transform:uppercase}
.hx-menu-info span:last-child{font:400 12px var(--mono);color:var(--muted);letter-spacing:.1em;text-transform:uppercase}
.hx-menu-foot{position:absolute;left:24px;right:24px;bottom:18px;display:flex;justify-content:space-between;gap:12px;font:400 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
@media (max-width:700px){.hx-menu-foot span:last-child{display:none}.hx-menu-info{bottom:56px}}
/* rings share the wheel's center (48%), so they read as circles around it, not ovals off to one side */
.hx-rings i{top:48%;aspect-ratio:1}
/* phones: the wheel's labels live inside a 400-unit drawing that shrinks to the screen, so they need bigger units to stay readable */
@media (max-width:600px){.hx-wheel{width:min(90vw,520px)}.hx-seg-in{font-size:14px;gap:4px}.hx-seg-in svg{width:26px;height:26px}}

/* ---------- page heads: pixel titles, mono labels, bracket tabs ---------- */
html.hx .lab-head{padding-top:28px!important}
html.hx .lab-head .kicker,html.hx .kicker{font:400 12px var(--mono)!important;letter-spacing:.14em!important;color:var(--muted)!important;text-transform:uppercase!important}
html.hx .lab-head .kicker::before,html.hx section.lab-own .kicker::before{content:"";display:inline-block;width:7px;height:7px;background:#fff;margin-right:9px;vertical-align:1px;clip-path:polygon(0 0,100% 0,100% 100%,40% 100%,40% 60%,0 60%)}
html.hx .lab-head .h-page,html.hx section.lab-own h1.h-page,html.hx #v-coach .c-head h1.h-page{font:400 clamp(44px,10vw,112px)/.9 var(--bit)!important;letter-spacing:.01em!important;text-transform:uppercase!important;color:#fff!important;margin:10px 0 18px!important}
html.hx nav.views.lab-sub{border-bottom:0!important;gap:8px!important;-webkit-mask-image:none;mask-image:none;flex-wrap:wrap!important;overflow:visible}
html.hx nav.views.lab-sub .vbtn,html.hx #v-coach .seg.c-subnav button{border:1px solid rgba(255,255,255,.22)!important;padding:9px 14px!important;font:400 12px var(--mono)!important;letter-spacing:.12em!important;color:var(--muted)!important;background:rgba(0,0,0,.5)!important;
  clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)!important}
html.hx nav.views.lab-sub .vbtn:hover,html.hx #v-coach .seg.c-subnav button:hover{color:#fff!important;border-color:#fff!important}
html.hx nav.views.lab-sub .vbtn[aria-current="page"],html.hx #v-coach .seg.c-subnav button[aria-pressed="true"]{background:#f2f2f2!important;color:#000!important;border-color:#f2f2f2!important}
html.hx #v-coach .seg.c-subnav{border-bottom:0!important;flex-wrap:wrap!important;gap:8px!important;-webkit-mask-image:none;mask-image:none}

/* ---------- tool pages: black panels, white lines, heavy caps ---------- */
html.hx section.view:not(.lab-own) h1{font:900 clamp(30px,6vw,56px)/.95 var(--head)!important;text-transform:uppercase!important;letter-spacing:-.01em!important;color:#fff!important}
html.hx section.view:not(.lab-own) .hero h1 em{color:var(--amber)!important}
html.hx section.view:not(.lab-own) h2,html.hx .h2{font:900 clamp(24px,4.6vw,36px)/1 var(--head)!important;text-transform:uppercase!important;letter-spacing:-.005em!important;color:#fff!important}
html.hx section.view:not(.lab-own) h3{font-weight:800!important;text-transform:uppercase;letter-spacing:.01em!important}
html.hx .eyebrow{color:var(--muted)!important;font:400 12px var(--mono)!important;letter-spacing:.14em!important}
html.hx .eyebrow span+span::before{content:" / "!important;color:var(--dim)}
html.hx .card,html.hx .panel{background:rgba(6,6,6,.88)!important;border:1px solid var(--line2)!important;
  clip-path:polygon(14px 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%,0 14px)}
html.hx .card:hover{border-color:var(--line3)!important}
html.hx .btn{background:transparent!important;color:#fff!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)!important;font:400 12px var(--mono)!important;letter-spacing:.12em!important;text-transform:uppercase!important}
html.hx .btn:hover{box-shadow:inset 0 0 0 1px #fff!important}
html.hx .btn.y,html.hx section.lab-own .btn:not(.ghost):not(.nvg){background:#f2f2f2!important;color:#000!important;box-shadow:none!important}
html.hx .btn.y:hover,html.hx section.lab-own .btn:not(.ghost):not(.nvg):hover{background:#fff!important}
html.hx .seg button{background:#000!important;border-color:var(--line2)!important;font:400 12px var(--mono)!important;letter-spacing:.1em!important}
html.hx .seg button[aria-pressed="true"]{background:#f2f2f2!important;color:#000!important;border-color:#f2f2f2!important}
html.hx .lede,html.hx section.lab-own .lead{color:var(--muted)!important}
html.hx .kpi b,html.hx .stat b,html.hx .nx-wr b,html.hx .punch,html.hx .lab-plan-pr{font-family:var(--bit)!important;font-style:normal!important;font-weight:400!important;letter-spacing:.02em!important}
html.hx footer.wrap{opacity:.8}

/* ---------- loading screen: the pixel counter ---------- */
html #nx-boot .pct{font:400 clamp(72px,20vw,200px)/.85 var(--bit,"Lab Bit")!important;font-style:normal!important;color:#fff!important}
html #nx-boot .pbar i{background:#fff!important;box-shadow:0 0 12px rgba(255,255,255,.6)!important}
html #nx-boot{background:#000!important}

@media (prefers-reduced-motion:reduce){.hx-menu,.hx-wheel,.hx-disc{transition:none}.hx-sound i{animation:none!important}}

/* ---------- Home ---------- */
.hx-home{max-width:1180px!important}
.hx-hello{display:grid;gap:28px;align-items:center;min-height:calc(100vh - 220px);padding:24px 0 30px;position:relative}
@media (min-width:900px){.hx-hello{grid-template-columns:1.1fr 1fr;gap:48px}}
.hx-hello::before{content:"";position:absolute;left:-40vw;right:-40vw;top:50%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transform:rotate(-24deg);pointer-events:none}
.hx-mono{font:400 14px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:0 0 10px}
.hx-big{font:900 clamp(34px,6.4vw,76px)/.92 var(--head)!important;text-transform:uppercase;letter-spacing:-.015em;color:#fff;margin:0 0 18px}
.hx-big.c,.hx-label.c{text-align:center}
.hx-lead{color:var(--muted);font-size:18px;max-width:44ch;margin:0 0 22px}
.hx-frame-box{position:relative;aspect-ratio:1;width:100%;max-width:520px;justify-self:center;border:1px solid rgba(255,255,255,.28);background:radial-gradient(circle at 50% 55%,rgba(255,255,255,.05),transparent 60%),#000;
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%);overflow:hidden}
.hx-frame-box::before{content:"";position:absolute;inset:0;background:linear-gradient(to top right,transparent calc(50% - .5px),rgba(255,255,255,.12) 50%,transparent calc(50% + .5px)),linear-gradient(to top left,transparent calc(50% - .5px),rgba(255,255,255,.12) 50%,transparent calc(50% + .5px));pointer-events:none}
.hx-emblem{position:absolute;inset:0;width:100%;height:100%}
.hx-code{position:absolute;top:12px;left:14px;margin:0;font:400 11px/1.5 var(--mono);color:rgba(255,255,255,.7);letter-spacing:.06em;z-index:1}
.hx-corner{position:absolute;right:12px;bottom:10px;font:400 10px var(--mono);color:var(--dim);letter-spacing:.1em}
.hx-label{font:400 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:34px 0 14px;display:flex;align-items:center;gap:10px}
.hx-label::before{content:"";width:8px;height:8px;background:#fff;clip-path:polygon(0 0,100% 0,100% 100%,40% 100%,40% 60%,0 60%)}
.hx-label.c{justify-content:center}
.hx-label a{margin-left:auto;color:var(--amber);text-decoration:none}
.hx-stats{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);overflow-x:auto;border:1px solid rgba(255,255,255,.18);scrollbar-width:none}
.hx-stats::-webkit-scrollbar{display:none}
.hx-stat{display:flex;flex-direction:column;justify-content:space-between;min-height:250px;padding:18px;border-right:1px solid rgba(255,255,255,.18);text-decoration:none;color:#fff;transition:background .2s,color .2s}
.hx-stat:last-child{border-right:0}
.hx-stat .t{font-size:15px;max-width:20ch;color:var(--muted)}
.hx-stat{container-type:inline-size;min-width:0;overflow:hidden}
.hx-stat b{font:400 clamp(56px,7vw,96px)/.85 var(--bit);letter-spacing:.01em;white-space:nowrap;max-width:100%;overflow:hidden}
/* the number fits its own card: about 5 characters wide at most (0/10, 12/12) */
@supports (container-type:inline-size){.hx-stat b{font-size:clamp(36px,min(7vw,26cqw),96px)}}
.hx-stat b small{font:400 13px var(--mono);letter-spacing:.1em;text-transform:uppercase;margin-left:8px;color:var(--muted)}
.hx-stat:hover{background:#f2f2f2;color:#000}.hx-stat:hover .t,.hx-stat:hover b small{color:#333}
.hx-title{font:400 clamp(40px,12.5vw,180px)/.96 var(--bit)!important;overflow-wrap:anywhere;text-transform:uppercase;letter-spacing:.005em;color:#fff;margin:64px 0 26px!important}
.hx-split{margin:70px 0 10px;padding:40px 0}
.hx-pillars{position:relative;max-width:640px;margin:20px auto 0;aspect-ratio:1.25;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.55)}
.hx-pillars::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom left,transparent calc(50% - .5px),rgba(255,255,255,.28) 50%,transparent calc(50% + .5px));pointer-events:none}
.hx-pillar{position:absolute;display:flex;flex-direction:column;gap:6px;text-decoration:none;color:#fff;padding:22px;max-width:62%}
.hx-pillar.a{left:0;top:0}.hx-pillar.b{right:0;bottom:0;text-align:right;align-items:flex-end}
.hx-pillar .n{font:400 clamp(44px,7vw,72px)/.9 var(--bit)}
.hx-pillar .r{font:400 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.hx-pillar .w{font:900 clamp(24px,4vw,40px)/1 var(--head);text-transform:uppercase}
.hx-pillar .p{font:400 13px var(--mono);letter-spacing:.06em;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.hx-pillar:hover .w{color:var(--amber)}
.hx-tag{font:400 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:3px 7px;border:1px solid currentColor}
.hx-tag.pro{color:#E8B04B}.hx-tag.off{color:#FF7A3D}
.hx-tiles-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-top:1px solid rgba(255,255,255,.18);border-left:1px solid rgba(255,255,255,.18)}
.hx-tile{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-right:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);text-decoration:none;color:#fff;font:400 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;transition:background .15s,color .15s}
.hx-tile:hover,.hx-tile:focus-visible{background:#f2f2f2;color:#000;outline:none}
.hx-quote{margin:70px 0 30px;padding:0;font:900 clamp(26px,4.6vw,52px)/1.02 var(--head);text-transform:uppercase;color:#fff;max-width:22ch}
.hx-quote cite{display:block;margin-top:16px;font:400 12px var(--mono);letter-spacing:.14em;color:var(--muted);font-style:normal}
section.lab-own .hx-home .hero{display:none}
html.hx section.lab-own h1.hx-big,html.hx section.lab-own .hx-big{font-family:var(--head)!important;font-weight:900!important;font-size:clamp(34px,6.4vw,76px)!important;line-height:.92!important;text-transform:uppercase!important;letter-spacing:-.015em!important;text-shadow:none!important}

/* ---------- Meta cards (3D carousel) ---------- */
.m3{padding-top:8px!important;padding-bottom:8px!important}
.m3-stage{position:relative;height:clamp(460px,62vh,600px);perspective:1400px;outline:none;overflow:hidden;touch-action:pan-y;user-select:none}
.m3-stage:focus-visible{box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.m3-track{position:absolute;inset:0;transform-style:preserve-3d}
.m3-card{position:absolute;left:50%;top:50%;width:min(320px,74vw);aspect-ratio:.66;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .4s;cursor:pointer}
.m3-in{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.m3-card.flip .m3-in{transform:rotateY(180deg)}
.m3-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:linear-gradient(180deg,#141414,#050505 70%);border:0;padding:18px 18px 16px;display:flex;flex-direction:column;
  clip-path:polygon(14px 0,32% 0,37% 14px,63% 14px,68% 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px)}
.m3-face::before{content:"";position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(#000,#000) padding-box,linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.15)) border-box;border:1px solid transparent;
  clip-path:inherit;-webkit-mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);padding:1px}
.m3-face::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px)}
.m3-back{transform:rotateY(180deg);overflow:hidden;padding:0}
.m3-scroll{position:absolute;inset:0;overflow:auto;padding:18px 18px 16px;display:flex;flex-direction:column;z-index:3;scrollbar-width:thin;scrollbar-color:rgba(232,176,75,.5) transparent}
.m3-card:not(.center) .m3-face{filter:brightness(.55) grayscale(.6)}
.m3-top{display:flex;justify-content:space-between;align-items:center;font:400 11px var(--mono);letter-spacing:.12em;color:var(--muted);text-transform:uppercase;position:relative;z-index:1;margin-top:6px}
.m3-art{flex:1;display:grid;place-items:center;min-height:0;position:relative;z-index:1}
.m3-art svg{width:100%!important;height:auto!important;max-height:100%;filter:drop-shadow(0 18px 30px rgba(0,0,0,.6)) grayscale(.35) contrast(1.1)}
.m3-card.center .m3-art svg{filter:drop-shadow(0 18px 30px rgba(0,0,0,.6))}
.m3-name{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}
.m3-name i{width:30px;height:2px;background:#fff;margin-bottom:8px}
.m3-name b{font:900 clamp(22px,4vw,30px)/1 var(--head);text-transform:uppercase;color:#fff}
.m3-name span{font:400 13px var(--body);color:var(--muted)}
.m3-wr{position:relative;z-index:1;display:flex;align-items:baseline;justify-content:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}
.m3-wr b{font:400 34px/1 var(--bit);color:#fff}.m3-wr b small{font-size:.5em}
.m3-wr span{font:400 11px var(--mono);letter-spacing:.1em;color:var(--dim);text-transform:uppercase}
.m3-card.center .m3-wr b{color:var(--amber)}
.m3-k{font:400 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:14px 0 6px;position:relative;z-index:1}
.m3-bname{font:900 26px/1 var(--head);text-transform:uppercase;color:#fff;position:relative;z-index:1}
.m3-slots,.m3-why{list-style:none;margin:6px 0 0;padding:0;position:relative;z-index:1}
.m3-slots li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px}
.m3-slots li span{font:400 11px var(--mono);letter-spacing:.08em;color:var(--dim);text-transform:uppercase}
.m3-slots li b{color:#fff;font-weight:600;text-align:right}
.m3-why li{font-size:12.5px;color:var(--muted);padding:4px 0;line-height:1.35}
.m3-load{margin-top:auto!important;position:relative;z-index:1;width:100%}
.m3-hint{text-align:center;font:400 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin:6px 0 14px}
.m3-hint::before{content:"^";display:block;color:var(--dim)}
.m3-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:18px}
.m3-keys{display:flex;gap:4px}.m3-keys span{min-width:20px;height:20px;border:1px solid rgba(255,255,255,.3);font:400 10px/18px var(--mono);text-align:center;color:var(--muted);padding:0 4px}
.m3-keys .w{margin-left:8px}
.m3-f{display:flex;gap:6px}
.m3-f button,.m3-nav button{background:#000;border:1px solid rgba(255,255,255,.3);color:#fff;font:400 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:9px 14px;cursor:pointer;
  clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}
.m3-f button[aria-pressed="true"]{background:#f2f2f2;color:#000}
.m3-f button:hover,.m3-nav button:hover{border-color:#fff}
.m3-nav{display:flex;align-items:center;gap:6px;justify-content:flex-end}
.m3-count{font:400 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:6px}
.m3-nav button{padding:6px 9px}
@media (max-width:700px){.m3-bar{grid-template-columns:1fr}.m3-keys{display:none}.m3-f,.m3-nav{justify-content:center}}
@media (prefers-reduced-motion:reduce){.m3-card,.m3-in{transition:none}}
html.hx .m3-stage:focus,html.hx .m3-stage:focus-visible{outline:none!important;box-shadow:none!important}
html.hx .m3-stage:focus-visible .m3-card.center .m3-face{box-shadow:inset 0 0 0 1px #fff}

/* ---------- the redesign's own pages take the HUD palette (transparent, so the box field shows through) ---------- */
html.hx :is(#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching){--bg:transparent;--bg2:#050505;--panel:#090909;--panel2:#0F0F0F;--panel3:#161616;--line:#1C1C1C;--line2:#2C2C2C;--line3:#444;
  --fg:#F2F2F2;--muted:#A6A6A6;--dim:#6A6A6A;--hud:"Lab Body",system-ui,sans-serif;--hero:"Lab Bit",monospace;--punch:"Lab Bit",monospace;background:transparent!important}

/* ---------- Total CoD: the same dark HUD palette as every other page ---------- */
html.hx #v-totalcod{--bg:transparent;--bg2:#050505;--panel:#090909;--panel2:#0F0F0F;--panel3:#161616;--line:#1C1C1C;--line2:#2C2C2C;--line3:#444;
  --fg:#F2F2F2;--muted:#A6A6A6;--dim:#6A6A6A;--hud:"Lab Body",system-ui,sans-serif;--hero:"Lab Bit",monospace;--punch:"Lab Bit",monospace;background:transparent!important}
html.hx #v-totalcod .h-sec,html.hx #v-totalcod h2,html.hx #v-totalcod h3{font-family:var(--head)!important;font-weight:900!important;text-transform:uppercase}

/* content scrolls under the top of the frame: fade it out behind the brand and the account buttons */
html.hx body::after{content:""!important;position:fixed;left:0;right:0;top:0;height:74px;z-index:68;pointer-events:none;background:linear-gradient(#000 45%,rgba(0,0,0,0))!important;display:block!important}
html.hx body::before{content:""!important;position:fixed;left:0;right:0;bottom:0;top:auto;height:84px;z-index:68;pointer-events:none;background:linear-gradient(rgba(0,0,0,0),#000 72%)!important;display:block!important}


/* =================== QA pass (Nov 1) =================== */
/* one display face: whatever the old pages drew in the stencil or the condensed italic now uses Lab Bit */
html.hx{--hero:"Lab Bit",monospace;--punch:"Lab Bit",monospace}
html.hx section.view:not(.lab-own) :is(.n,.kpi b,.big,.num,.bignum,.nx-wr b,.nx-load h3){font-family:var(--bit)!important;font-style:normal!important;font-weight:400!important;letter-spacing:.01em!important}
html.hx .nx-load h3{text-transform:uppercase}
/* pixel titles: a little air between lines */
html.hx .hx-title,html.hx .lab-head .h-page,html.hx section.lab-own h1.h-page,html.hx #v-coach .c-head h1.h-page{line-height:.98!important}
/* the old theme's corner brackets and dog tag don't belong in the HUD */
html.hx .br::before,html.hx .br::after,html.hx .heroart::before,html.hx .heroart::after{content:none!important}
html.hx footer .nx-tag{display:none!important}
/* the Meta page: the card deck replaces the Armory and the ticker */
html.hx #v-meta .nx-armory,html.hx .nx-feed{display:none!important}
/* form fields */
html.hx :is(input[type="text"],input[type="email"],input[type="password"],input[type="search"],input[type="url"],input:not([type]),select,textarea){background:#000!important;color:#fff!important;border:1px solid rgba(255,255,255,.28)!important;border-radius:0!important;padding:9px 11px!important;font:400 14px var(--body)!important}
html.hx :is(input,select,textarea):focus{outline:none!important;border-color:#fff!important;box-shadow:none!important}
html.hx ::placeholder{color:#666!important}
/* card backs: stat bars and map viability */
.m3-back .nx-bars,.m3-back dl{position:relative;z-index:1;margin:10px 0 0}
.m3-back .nx-maps{position:relative;z-index:1;font-size:12.5px;color:var(--muted);margin:10px 0 0;padding:8px 0 0;border-top:1px solid rgba(255,255,255,.1)}
.m3-back .nx-maps .cap{font:400 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);display:block;margin-bottom:3px}
.m3-back .m3-load{margin-top:14px!important}
/* the redesign's pages: white for "selected", grey for info; gold stays for prices and the key number */
html.hx section.lab-own{--intel:#D6D6D6}
html.hx section.lab-own .rule{border-left-color:#f2f2f2;background:rgba(255,255,255,.035)}
html.hx section.lab-own .rule .ico{color:#fff}
html.hx section.lab-own .pill button[aria-pressed="true"]{background:#f2f2f2;border-color:#f2f2f2;color:#000}
html.hx section.lab-own .bookopt[aria-pressed="true"],html.hx section.lab-own .day[aria-pressed="true"]{box-shadow:inset 0 0 0 2px #f2f2f2;border-color:#f2f2f2}
html.hx section.lab-own .hour{background:#0B0B0B;border-color:#2C2C2C}
html.hx section.lab-own .hour:hover{border-color:#fff}
html.hx section.lab-own .hour.on{background:#f2f2f2;border-color:#f2f2f2;color:#000}
html.hx section.lab-own .hour.on span{color:#333}
html.hx section.lab-own .day .bar i{background:#f2f2f2!important}
html.hx section.lab-own details.sci summary{color:#fff}

/* ---------- every class is a card that flips to reveal the build (Build Lab A / B, and anywhere else a class is shown) ---------- */
html.hx .nx-load.nx-flip{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;perspective:1400px;cursor:pointer;outline:none;clip-path:none!important}
.nx-flip-in{display:grid;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.8,.2,1)}
.nx-flip.flip .nx-flip-in{transform:rotateY(180deg)}
.nx-face{grid-area:1/1;backface-visibility:hidden;-webkit-backface-visibility:hidden;position:relative;display:flex;flex-direction:column;padding:18px 18px 16px;
  background:linear-gradient(180deg,#141414,#050505 70%);border:1px solid rgba(255,255,255,.35);
  clip-path:polygon(14px 0,32% 0,37% 14px,63% 14px,68% 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px)}
.nx-face::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px)}
.nx-back{transform:rotateY(180deg)}
.nx-front .nx-load-art{flex:1;display:grid;place-items:center;min-height:180px;margin:6px 0;border:0!important;background:none!important}
.nx-front .nx-load-art svg{width:100%!important;height:auto!important}
.nx-flip-hint{text-align:center;font:400 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:12px 0 0;position:relative;z-index:1}
.nx-flip-hint::before{content:"↻ "}
.nx-flip:focus-visible .nx-face{border-color:#fff}
.nx-flip:hover .nx-front{border-color:rgba(255,255,255,.6)}
.nx-back .nx-bars,.nx-back dl{position:relative;z-index:1;margin-top:10px}
.nx-back .nx-maps{position:relative;z-index:1;font-size:12.5px;color:var(--muted);margin:10px 0 0;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}
.nx-back .btn{margin-top:12px;position:relative;z-index:1}
.nx-back .m3-slots li{cursor:default}
@media (prefers-reduced-motion:reduce){.nx-flip-in{transition:none}}
/* only the side that faces you takes the mouse: Chrome can hand the scroll wheel to the hidden face of a 3D-flipped card */
.m3-card.flip .m3-face:not(.m3-back),.m3-card:not(.flip) .m3-back{pointer-events:none}
.m3-scroll{overscroll-behavior:contain;touch-action:pan-y}
.hx-vig{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 50%,rgba(3,1,2,0) 25%,rgba(3,1,2,.7) 100%)}
.hx-boxes{will-change:contents}
.m3-tough{font-size:11.5px;color:var(--dim);margin:6px 0 0;position:relative;z-index:1;line-height:1.35}
/* Ronin's Recommendations: the second deck on Meta */
.m3-ronin{margin-top:28px}
.m3-head{text-align:center;margin:0 auto 4px;max-width:640px}.m3-head .h-sec{margin:0 0 4px}.m3-head p{margin:0;font-size:15px}
.m3-wr.m3-ron b{font-size:20px;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
/* the deck switch: META classes or Ronin's picks, one deck on screen at a time */
.m3-switch{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;margin:0 auto 12px;max-width:900px}
.m3-switch button{font:600 13px var(--mono,monospace);letter-spacing:.06em;text-transform:uppercase;background:transparent;color:var(--muted);border:1px solid var(--line2);padding:8px 14px;cursor:pointer}
.m3-switch button[aria-pressed="true"]{color:#111;background:var(--enemy,#8BF0A0);border-color:var(--enemy,#8BF0A0)}
.m3-switch .cap{flex-basis:100%;text-align:center;margin:2px 0 0}
/* the "running slowly?" offer (hud.js slowNote) */
#hx-slow{position:fixed;left:0;right:0;margin:0 auto;width:fit-content;bottom:96px;z-index:998;display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 14px;max-width:min(620px,calc(100% - 32px));box-sizing:border-box;background:var(--panel2,#0b0f12);border:1px solid var(--amber,#E8B04B);color:var(--fg,#eee);font:600 14px/1.4 var(--body,system-ui);box-shadow:0 10px 30px rgba(0,0,0,.6)}
#hx-slow span{flex:1 1 260px}
/* Modes tabs waiting on the CODCaster fixes (shell.js SOON) and the note at the top of their pages (totalcod.js SOON) */
.lab-soon{display:inline-block;margin-left:7px;padding:2px 6px;font:700 10px/1.2 var(--mono,monospace);letter-spacing:.08em;text-transform:uppercase;color:#1A1204;background:var(--amber,#E8B04B);vertical-align:2px}
.soon-bar{display:flex;flex-direction:column;gap:4px;margin:0 0 18px;padding:14px 16px;border:1px solid var(--amber,#E8B04B);border-left-width:4px;background:rgba(232,176,75,.08)}
.soon-bar b{font:700 17px/1.3 var(--hud,system-ui);color:var(--amber,#E8B04B)}
.soon-bar span{color:var(--fg,#e8e8e8);font-size:15px;line-height:1.5}

/* THE LAB · Hologram layer. Loaded last, over the HUD look. Nothing on the page is a solid slab any more:
   every panel, card, table and field is a pane of smoked glass with a hairline edge, floating in front of the
   wireframe box field, and every picture is projected through a line raster. Cards lean toward the pointer and
   the gun art on a class card sits behind its name instead of inside a box. */
html.hx{
  --glass:rgba(10,10,10,.34);            /* the pane itself */
  --glass-2:rgba(16,16,16,.42);          /* a pane on a pane (list rows, fields, chips) */
  --glass-3:rgba(24,24,24,.5);
  --edge:rgba(255,255,255,.34);          /* the hairline around a pane */
  --edge-2:rgba(255,255,255,.18);
  --edge-hi:rgba(255,255,255,.7);        /* the edge lit from above */
  --raster:repeating-linear-gradient(0deg,rgba(0,0,0,.52) 0 1px,transparent 1px 3px);   /* the projection lines over pictures */
  --scan:repeating-linear-gradient(0deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px);
  /* the surfaces the old pages draw with, redefined so the box field shows through all of them */
  --panel:var(--glass);--panel2:var(--glass-2);--panel3:var(--glass-3);--bg2:rgba(8,8,8,.5);
  --line:rgba(255,255,255,.1);--line2:rgba(255,255,255,.2);--line3:rgba(255,255,255,.36);
}
html.hx :is(#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching,#v-totalcod){--panel:var(--glass);--panel2:var(--glass-2);--panel3:var(--glass-3);--bg2:rgba(8,8,8,.5);--line:rgba(255,255,255,.1);--line2:rgba(255,255,255,.2);--line3:rgba(255,255,255,.36)}

/* ---------- the room: the page itself is clear, so the box field shows behind everything ---------- */
html.hx{--bg:transparent}
html.hx body{background:transparent!important;background-image:none!important}
.hx-boxes{opacity:1}
html.hx body::after{background:linear-gradient(#000 50%,rgba(0,0,0,0))!important;height:84px}
html.hx body::before{background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.9) 80%)!important}
.hx-frame-svg path{stroke:rgba(255,255,255,.3)}

/* ---------- panes: every card and panel ---------- */
html.hx :is(.card,.panel,.nx-load:not(.nx-flip),.nx-aar,.howto-item,.lab-plan,.lab-hcard,.kpi,.stat,.hx-stat,.lab-dlg-box,#lab-release,.nx-awards li,.nx-aar-score>div,.lab-tip){
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,0) 26%),var(--glass)!important;
  border:1px solid var(--edge)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 24px 60px -30px rgba(0,0,0,.9)!important;
  position:relative}
html.hx :is(.card,.panel,.nx-aar,.howto-item,.lab-plan,.lab-hcard,.lab-dlg-box)::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--scan);clip-path:inherit}
html.hx :is(.card,.panel):hover{border-color:var(--edge-hi)!important}
html.hx :is(.card,.panel) :is(.card,.panel){background:var(--glass-2)!important;border-color:var(--edge-2)!important;box-shadow:none!important}
/* rows and chips inside a pane */
html.hx :is(.nx-slots li,.m3-slots li,.row,.c-row,.item,.opt,.hour,.bookopt,.day,.nx-maps,.kit-code,.possible-notice,.c-founder,.hx-tag){background:var(--glass-2)!important}
html.hx :is(.nx-slots li,.m3-slots li){border-color:var(--edge-2)!important}
html.hx .m3-slots li{padding:6px 8px;border:1px solid var(--edge-2);border-bottom:0}
html.hx .m3-slots li:last-child{border-bottom:1px solid var(--edge-2)}
html.hx section.lab-own .hour{background:var(--glass-2)!important;border-color:var(--edge-2)!important}
/* headers, tab bars and sticky sub-bars: glass too */
html.hx :is(.sbar,.qnav,#v-coach .cgtabs,#v-coach .seg.c-subnav){background:rgba(2,0,1,.94)!important;border-bottom:1px solid var(--edge-2)}
html.hx #v-coach .cgtabs{background:rgba(0,0,0,.86)!important}
html.hx nav.views.lab-sub .vbtn,html.hx #v-coach .seg.c-subnav button{background:var(--glass)!important;border-color:var(--edge)!important}
/* buttons: outlines, lit edge on hover; the primary stays white */
html.hx .btn{background:var(--glass)!important;box-shadow:inset 0 0 0 1px var(--edge)!important}
html.hx .btn:hover{box-shadow:inset 0 0 0 1px var(--edge-hi),0 0 18px rgba(255,255,255,.08)!important}
html.hx .seg button,html.hx .m3-f button,html.hx .m3-nav button{background:var(--glass)!important;border-color:var(--edge)!important}
/* fields */
html.hx :is(input[type="text"],input[type="email"],input[type="password"],input[type="search"],input[type="url"],input[type="number"],input:not([type]),select,textarea){background:var(--glass-2)!important;border-color:var(--edge)!important}
html.hx :is(input,select,textarea):focus{border-color:var(--edge-hi)!important;box-shadow:0 0 0 1px rgba(255,255,255,.2),0 0 20px rgba(255,255,255,.08)!important}
/* tables */
html.hx table{background:transparent}
html.hx th{background:rgba(255,255,255,.04)!important;border-bottom:1px solid var(--edge-2)}
html.hx tbody tr:nth-child(even) td{background:rgba(255,255,255,.025)}
html.hx tbody tr:hover td{background:rgba(255,255,255,.06)}
html.hx td{border-color:rgba(255,255,255,.08)!important}
/* the Home page's boxes, pillars and tiles */
html.hx .hx-frame-box{background:radial-gradient(circle at 50% 55%,rgba(255,255,255,.07),transparent 60%),var(--glass)!important;border-color:var(--edge)!important}
html.hx .hx-pillars{background:var(--glass)!important;border-color:var(--edge)!important}
html.hx .hx-stats{border-color:var(--edge)!important}
html.hx .hx-stat{border-right-color:var(--edge-2)!important;background:var(--glass)!important;border-top:0!important;border-left:0!important;border-bottom:0!important;box-shadow:none!important}
html.hx .hx-stat:hover{background:#f2f2f2!important}
html.hx .hx-tiles-grid,html.hx .hx-tile{border-color:var(--edge-2)!important}
html.hx .hx-tile{background:var(--glass)}
html.hx .hx-tile:hover,html.hx .hx-tile:focus-visible{background:#f2f2f2}
/* the loading screen and the menu stay solid black: they are the room's lights going off */
html.hx #nx-boot,html.hx .hx-menu{background:#000!important}

/* ---------- pictures: projected through a line raster, mono with the gold kept ---------- */
html.hx :is(.nx-load-art,.m3-art,.heroart>svg,.heroart>div,.nx-mvp,.nx-coach-art,.vsart,#vsart .side){position:relative}
html.hx :is(.nx-mvp,.nx-coach-art)::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--raster);mix-blend-mode:multiply;z-index:1}
html:not(.hx) .nx-raster{display:none}
html.hx :is(.nx-load-art,.m3-art) svg{filter:grayscale(.55) contrast(1.12) drop-shadow(0 18px 30px rgba(0,0,0,.6))}
html.hx .nx-load-art{background:none!important;border:0!important}
html.hx .vsart,html.hx .heroart>div{background:var(--glass)!important;border:1px solid var(--edge)!important;box-shadow:none!important}
html.hx :is(.hx-emblem,.hx-frame-box canvas){filter:none}
html.hx .hx-frame-box::after{content:"";position:absolute;inset:0;pointer-events:none;background:var(--raster);opacity:.6}
html.hx img.logo{filter:grayscale(.2)}

/* ---------- class cards and META cards: holographic faces ---------- */
html.hx .nx-face,html.hx .m3-face{
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0) 30%,rgba(0,0,0,0) 70%,rgba(0,0,0,.25)),var(--glass)!important;
  border:0!important;box-shadow:0 30px 80px -30px rgba(0,0,0,.95)}
html.hx .nx-face::before,html.hx .m3-face::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;
  background:linear-gradient(180deg,var(--edge-hi),var(--edge) 40%,var(--edge-2));
  clip-path:inherit;-webkit-mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);padding:1px}
html.hx .nx-face::after,html.hx .m3-face::after{background:var(--scan);z-index:2}
/* the gun stands behind the name instead of in a box: the front face is a portrait */
html.hx .nx-front{min-height:400px;justify-content:flex-end}
html.hx .nx-front .nx-load-art{position:absolute;left:0;right:0;top:36px;bottom:112px;margin:0!important;min-height:0;display:grid;place-items:center;padding:6px 4px;z-index:0}
html.hx .nx-front .nx-load-art svg{width:100%!important;max-height:100%;height:auto!important}
html.hx .nx-front .m3-top{position:absolute;left:18px;right:18px;top:16px;z-index:3}
html.hx .nx-front .m3-name,html.hx .nx-front .m3-wr,html.hx .nx-front .nx-flip-hint{position:relative;z-index:3}
html.hx .nx-front .m3-name{margin-top:auto;text-shadow:0 2px 12px rgba(0,0,0,.9)}
html.hx .nx-front .m3-wr{border-top-color:var(--edge-2)}
html.hx .m3-card .m3-face:not(.m3-back) .m3-art{position:absolute;left:0;right:0;top:40px;bottom:140px;padding:0 4px;z-index:0}
html.hx .m3-card .m3-face:not(.m3-back) :is(.m3-top,.m3-name,.m3-wr){position:relative;z-index:3}
html.hx .m3-card .m3-face:not(.m3-back) .m3-name{margin-top:auto;text-shadow:0 2px 12px rgba(0,0,0,.9)}
/* the back: the same gun, faint, behind the build (as the portrait shows through the bio on a profile card) */
.nx-ghost{position:absolute;inset:50px 10px 40px;display:grid;place-items:center;opacity:.14;pointer-events:none;z-index:0}
.nx-ghost svg{width:100%!important;height:auto!important;max-height:100%;filter:grayscale(1) contrast(1.2)}
html.hx .nx-back>*:not(.nx-ghost),html.hx .m3-back>*:not(.nx-ghost){position:relative;z-index:3}
html.hx .m3-back .m3-id{color:var(--dim)}
/* a class card leans toward the pointer (hud.js sets --rx / --ry / --lx / --ly); the sheen follows */
.nx-flip-in,.m3-in{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.nx-flip.flip .nx-flip-in{transform:rotateX(var(--rx,0deg)) rotateY(calc(180deg + var(--ry,0deg)))}
.m3-card.flip .m3-in{transform:rotateX(var(--rx,0deg)) rotateY(calc(180deg + var(--ry,0deg)))}
.nx-flip.tilt .nx-flip-in,.m3-card.tilt .m3-in{transition:transform .08s linear}
.nx-face>.nx-sheen,.m3-face>.nx-sheen{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;opacity:0;transition:opacity .25s;
  background:radial-gradient(60% 50% at var(--lx,50%) var(--ly,50%),rgba(255,255,255,.14),transparent 70%)}
.tilt .nx-sheen{opacity:1}
html.hx .nx-flip:hover .nx-front{border:0}
html.hx .nx-flip:focus-visible .nx-face::before{background:#fff}
/* a slow float, so the cards read as projected rather than placed */
@keyframes nx-float{0%,100%{translate:0 0}50%{translate:0 -5px}}
/* the idle float was removed: a 5 px bob on a 3D card meant repainting the whole card every frame (the heaviest single effect on the site) */
html.hx .nx-flip:nth-child(2n) .nx-flip-in{animation-delay:-3.5s}
html.hx .m3-card:not(.center) .m3-face{filter:brightness(.5) grayscale(.6)}

/* ---------- the page title block and nav: thinner, lighter ---------- */
html.hx nav.views.lab-sub .vbtn[aria-current="page"],html.hx #v-coach .seg.c-subnav button[aria-pressed="true"]{background:#f2f2f2!important}
html.hx .hx-label::before,html.hx .lab-head .kicker::before{background:#fff}

/* ---------- toasts and dialogs ---------- */
html.hx .lab-dlg{background:rgba(0,0,0,.78)!important}


/* ---------- less motion ---------- */
html.fx-off .nx-flip-in,html.fx-off .m3-in{animation:none!important}html.fx-off .nx-sheen{opacity:0!important}
html.fx-off .nx-flip-in,html.fx-off .m3-in{transform:none}
@media (prefers-reduced-motion:reduce){
  html:not(.fx-full) .nx-flip-in,html:not(.fx-full) .m3-in{animation:none!important}
  html:not(.fx-full) .nx-flip-in,html:not(.fx-full) .m3-in{--rx:0deg;--ry:0deg}
}
@media (prefers-contrast:more){html.hx{--glass:rgba(0,0,0,.85);--glass-2:rgba(0,0,0,.9);--glass-3:rgba(0,0,0,.9);--edge:rgba(255,255,255,.7)}}
@media (max-width:700px){html.hx .nx-front{min-height:380px}html.hx .nx-front .nx-load-art{top:38px;bottom:116px}}
/* copy that sits straight on the field, with no pane behind it, gets a dark halo so the lines never run through the letters */
html.hx :is(.lede,.hx-lead,.hero p,.lab-head p,.lead,.cap){text-shadow:0 0 6px rgba(0,0,0,.95),0 0 14px rgba(0,0,0,.8)}
html.hx :is(h1,h2,h3,.hx-big,.hx-title){text-shadow:0 0 10px rgba(0,0,0,.9)}

/* =========================================================================================
   EMBER BLUEPRINT · the colorway. A drafting room in lacquer red and gold on near-black, glass
   cut like the ID card (notched tab, bevelled corners) everywhere, nothing a plain rectangle.
   ========================================================================================= */
html.hx{
  --amber:#E8B04B;--amber-2:#F3C96B;--amber-ink:#1A1204;--y:#E8B04B;--team:#F3C96B;--thelab-glow:rgba(232,176,75,.12);
  --threat:#FF7A3D;--bad:#FF7A3D;--hot:#FF7A3D;--life-bad:#FF9A6E;--warn:#FF7A3D;     /* "bad" is orange now: red belongs to the room */
  --lacquer:#D6213A;--gold:#E8B04B;
  --glass:rgba(6,1,2,.58);--glass-2:rgba(10,2,4,.66);--glass-3:rgba(16,4,6,.72);
  --edge:rgba(214,33,58,.55);--edge-2:rgba(214,33,58,.24);--edge-hi:rgba(255,222,150,.95);
  --raster:repeating-linear-gradient(0deg,rgba(0,0,0,.45) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.45) 0 1px,transparent 1px 3px);
  --line:rgba(214,33,58,.14);--line2:rgba(214,33,58,.26);--line3:rgba(214,33,58,.45);
  --cut:polygon(14px 0,32% 0,37% 14px,63% 14px,68% 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px);
  --cut-s:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);
  --cut-xs:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px);
  --cut-btn:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);
}
html.hx :is(#v-home,#v-hplearn,#v-snd,#v-hijack,#v-coaching,#v-totalcod){--glass:rgba(6,1,2,.58);--glass-2:rgba(10,2,4,.66);--glass-3:rgba(16,4,6,.72);--line:rgba(214,33,58,.14);--line2:rgba(214,33,58,.26);--line3:rgba(214,33,58,.45)}
html{background:#030102!important}
html.hx body::after{background:linear-gradient(#030102 50%,rgba(3,1,2,0))!important}
html.hx body::before{background:linear-gradient(rgba(3,1,2,0),#030102 80%)!important}
.hx-frame-svg path{stroke:rgba(214,33,58,.5)}
.hx-tab{color:var(--gold)}
/* panes take the card cut; the edge is drawn by a masked layer so it follows the cut */
html.hx :is(.card,.panel,.nx-aar,.howto-item,.lab-plan,.lab-hcard,.lab-dlg-box,#lab-release,.hx-frame-box,.hx-pillars,.vsart,.heroart>div,.hx-stats){clip-path:var(--cut);border-color:transparent!important;box-shadow:none!important;overflow:visible}
html.hx :is(.card,.panel,.nx-aar,.howto-item,.lab-plan,.lab-hcard,.lab-dlg-box,#lab-release,.hx-frame-box,.hx-pillars,.vsart,.heroart>div,.hx-stats)::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;
  background:linear-gradient(180deg,var(--edge-hi),var(--edge) 35%,var(--edge-2));clip-path:inherit;
  -webkit-mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);padding:1px}
html.hx :is(.card,.panel):hover::before{background:linear-gradient(180deg,var(--edge-hi),var(--gold) 35%,var(--edge))}
html.hx :is(.kpi,.stat,.nx-awards li,.nx-aar-score>div,.lab-tip,.howto-item,.nx-slots li,.m3-slots li,.row,.item,.opt,.hour,.bookopt,.day,.nx-maps,.kit-code,.possible-notice,.c-founder,.hx-tile,.hx-stat){clip-path:var(--cut-s)}
html.hx :is(.hx-tag,.tag,.eyebrow span,.nx-role,.m3-keys span,.nx-rank){clip-path:var(--cut-xs)}
html.hx :is(.btn,.seg button,.m3-f button,.m3-nav button,nav.views.lab-sub .vbtn,#v-coach .seg.c-subnav button){clip-path:var(--cut-btn)!important;padding-inline:20px!important}
html.hx .btn.sm{padding-inline:16px!important}
html.hx :is(input[type="text"],input[type="email"],input[type="password"],input[type="search"],input[type="url"],input[type="number"],input:not([type]),select,textarea){clip-path:var(--cut-xs)}
html.hx .nx-slots li:not(.empty){border-left-color:var(--gold)!important}
html.hx :is(.hx-label,.lab-head .kicker,.kicker){color:var(--gold)!important}
html.hx .hx-label::before,html.hx .lab-head .kicker::before,html.hx section.lab-own .kicker::before{background:var(--gold)}
html.hx .m3-name i,html.hx .nx-front .m3-name i{background:var(--gold)}
html.hx .m3-card.center .m3-wr b,html.hx .nx-wr b,html.hx .kpi b{color:var(--gold)!important}
html.hx :is(.hx-stat:hover,.hx-tile:hover,.hx-tile:focus-visible,nav.views.lab-sub .vbtn[aria-current="page"],#v-coach .seg.c-subnav button[aria-pressed="true"],.btn.y,.seg button[aria-pressed="true"],.m3-f button[aria-pressed="true"]){background:var(--gold)!important;color:#1A1204!important;border-color:var(--gold)!important}
html.hx section.lab-own .btn:not(.ghost):not(.nvg){background:var(--gold)!important;color:#1A1204!important}
html.hx .hx-disc{background:var(--gold)}html.hx .hx-menu-btn:hover .hx-disc{background:var(--amber-2)}
html.hx .hx-seg.on path{fill:rgba(232,176,75,.95)}
html.hx .hx-sound[aria-pressed="true"] i{background:var(--gold)}
html.hx th{color:var(--gold)!important;background:rgba(214,33,58,.06)!important}
html.hx tbody tr:hover td{background:rgba(214,33,58,.08)}
html.hx ::selection{background:var(--gold);color:#1A1204}
html.hx .nx-bar{background:repeating-linear-gradient(90deg,rgba(214,33,58,.35) 0 calc(10% - 2px),transparent calc(10% - 2px) 10%)}
html.hx .nx-bar .g{background:var(--gold)}html.hx .nx-bar .l{background:var(--threat)}
/* the hero graphics are visible on phones now (they stack under the title) */
@media (max-width:870px){html.hx #v-strategy .heroart,html.hx #v-lab .heroart{display:flex!important}}
@media (max-width:620px){html.hx .art,html.hx .artbox,html.hx .vsart{max-width:340px}}
/* ---------- the page graphics: a live drawing on a pane of glass ---------- */
html.hx #v-settings .heroart{display:flex!important}
html.hx .heroart{padding:0}
.hx-hero{position:relative;width:min(100%,440px);aspect-ratio:1;background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 26%),var(--glass);clip-path:var(--cut);margin:0 auto}
.hx-hero::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(180deg,var(--edge-hi),var(--edge) 35%,var(--edge-2));clip-path:inherit;
  -webkit-mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);padding:1px}
.hx-hero::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;background:var(--raster);opacity:.5}
.hx-hero canvas{position:absolute;inset:0;width:100%;height:100%}
html.hx .heroart:has(.hx-hero)::before,html.hx .heroart:has(.hx-hero)::after{content:none!important}
html.hx .heroart:has(.hx-hero)>:not(.hx-hero){display:none!important}
/* Build Lab: the real A vs B guns stay; a gold measure line sweeps over them */
html.hx .vsart{position:relative;overflow:hidden}
html.hx .vsart::after{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);box-shadow:0 0 12px var(--gold);animation:hx-measure 5s linear infinite;z-index:4;pointer-events:none}
@keyframes hx-measure{0%{top:-2px}100%{top:100%}}
html.hx .vsart .nm{color:var(--gold)!important}
@media (prefers-reduced-motion:reduce){html:not(.fx-full) .vsart::after{animation:none;top:50%}}
html.fx-off .vsart::after{display:none}
html.hx .vsart svg{filter:grayscale(.55) contrast(1.1) drop-shadow(0 0 16px rgba(232,176,75,.22))!important}
html.hx .vsart .side{background:none!important}
/* attachment callouts on the gun drawings: gold, never rasterised */
.nx-call{opacity:0;animation:nx-call .5s ease-out forwards}
.nx-call:nth-child(n+2){animation-delay:.12s}.nx-call:nth-child(n+3){animation-delay:.24s}.nx-call:nth-child(n+4){animation-delay:.36s}.nx-call:nth-child(n+5){animation-delay:.48s}.nx-call:nth-child(n+6){animation-delay:.6s}
@keyframes nx-call{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.nx-call{animation:none;opacity:1}}
html.hx .nx-render image{filter:grayscale(.6) contrast(1.08) brightness(1.5)}
html.hx .nx-render .nx-raster{opacity:.55}

/* the menu: lacquer tiles, red rings, gold for the chosen section */
html.hx .hx-rings i{border-color:rgba(214,33,58,.3)}html.hx .hx-rings i:nth-child(3){border-color:rgba(214,33,58,.45)}
html.hx .hx-seg path{fill:rgba(26,6,9,.85);stroke:#030102}
html.hx .hx-stick{background:var(--gold)}
html.hx .hx-menu-info b{color:var(--gold)}
/* grade letters inside the big stat tiles (Players page): a small square badge, not a stretched box */
html.hx .osum b .gl,html.hx .ctab .gl{display:inline-flex!important;align-items:center;justify-content:center;width:1.5em;min-width:0;height:1.5em;padding:0!important;margin-right:6px;font-size:.62em;line-height:1;vertical-align:.18em;clip-path:none!important;background:none!important;transform:none!important}
/* the class side is for reading: a solid back so the cards behind don't show through, and a fainter gun drawing without its callout lines */
html.hx .m3-back,html.hx .nx-back{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0) 30%),rgba(8,2,3,.96)!important}
html.hx .m3-back .nx-ghost,html.hx .nx-back .nx-ghost{opacity:.07}
html.hx :is(.m3-back,.nx-back) .nx-ghost :is(line,polyline,text,.nx-callout,[class*=call]){display:none}
html.hx .m3-back>.m3-scroll{position:absolute}
/* no live blur: these bars are nearly opaque anyway, and blurring an animated background costs every frame */
html.hx :is(.top,.sbar,.qnav,nav.lab-nav,.lab-dlg,.lab-dlg-box){backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
/* cards: keep each one on its own layer so moving them doesn't repaint the art; side cards skip the gun's drop shadow */
.m3-card{will-change:transform,opacity;contain:layout style}
html.hx .m3-card:not(.center) .m3-art svg{filter:grayscale(.7) contrast(1.05)!important}
/* while the cards slide: no drop shadows, sheen or float, so the move stays smooth; the back of any card not in the middle isn't painted */
.m3-track.moving .m3-art svg{filter:none!important}
.m3-track.moving :is(.nx-sheen,.m3-face::after){display:none}
.m3-track.moving .m3-in{animation:none!important}
.m3-card:not(.center) .m3-back{visibility:hidden}
/* the light look a slower machine switches to on its own: everything stays, nothing floats or shimmers */
html.fx-lite :is(.nx-flip-in,.m3-in){animation:none!important}
html.fx-lite .nx-sheen{display:none!important}
html.fx-lite .m3-art svg,html.fx-lite .nx-load-art svg{filter:grayscale(.55) contrast(1.12)!important}
/* while the deck slides, the cards two or more out fade away (they're the costly ones to redraw) and fade back when it stops */
.m3-track.moving .m3-card.far{opacity:0!important;visibility:hidden;transition:opacity .12s,visibility 0s .12s}
.m3-track:not(.moving) .m3-card.far{transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .35s}
html.hx .lab-dlg>.lab-dlg-box:not(#_){background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0) 40%),rgba(8,2,3,.97)!important}
/* Find Anything (Ctrl+K) */
.lf-btn{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;margin:0 6px 0 0;padding:6px 10px;background:rgba(6,1,2,.7);border:1px solid var(--edge-2,#3a1a1e);color:var(--muted,#B5A9A4);font:500 13px var(--hud,inherit);letter-spacing:.06em;cursor:pointer;clip-path:var(--cut-btn,none)}
.lf-btn:hover,.lf-btn:focus-visible{color:#EDE7E2;border-color:#E8B04B}.lf-btn svg{width:16px;height:16px}
.lf-btn kbd,.lf-box kbd{font:500 10.5px var(--mono,monospace);border:1px solid rgba(255,255,255,.18);padding:1px 5px;color:var(--dim,#7F716D)}
@media (max-width:700px){.lf-btn span,.lf-btn kbd{display:none}.lf-btn{padding:6px}}
.lf-wrap{position:fixed;inset:0;z-index:1100;background:rgba(0,0,0,.72);display:flex;justify-content:center;align-items:flex-start;padding:min(12vh,90px) 14px 14px}
.lf-wrap .lf-box.card:not(#_){width:min(680px,100%);max-height:min(76vh,640px);display:flex;flex-direction:column;padding:0!important;background:rgba(8,2,3,.98)!important;border:1px solid #3a1a1e}
.lf-in{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #2a1216}.lf-in svg{width:20px;height:20px;color:#E8B04B;flex:none}
.lf-in input:not(#_){flex:1;min-width:0;background:none;border:0;box-shadow:none;padding:4px 0;color:#EDE7E2;font:500 18px var(--body,inherit);outline:none;clip-path:none}
.lf-list{list-style:none;margin:0;padding:6px;overflow:auto;flex:1}
.lf-list li{display:grid;grid-template-columns:82px 1fr;gap:2px 12px;padding:9px 10px;cursor:pointer;border-left:2px solid transparent}
.lf-list li[aria-selected="true"]{background:rgba(232,176,75,.09);border-left-color:#E8B04B}
.lf-list li b{color:#EDE7E2;font-weight:600}.lf-list li.info{cursor:default}
.lf-k{grid-row:span 2;font:500 10.5px var(--mono,monospace);letter-spacing:.1em;text-transform:uppercase;color:#D6213A;padding-top:3px}
.lf-d{grid-column:2;color:var(--muted,#B5A9A4);font-size:13.5px;line-height:1.4}
.lf-none{padding:18px 12px!important;color:var(--muted,#B5A9A4);display:block!important;cursor:default!important}
.lf-foot{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:9px 16px;border-top:1px solid #2a1216;color:var(--dim,#7F716D);font-size:12px}.lf-foot kbd{margin-right:3px}
@media (max-width:560px){.lf-list li{grid-template-columns:1fr}.lf-k{grid-row:auto}.lf-d{grid-column:1}.lf-foot{display:none}}
.lab-share{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:12px 0 4px}.lab-share .cap{color:var(--muted,#B5A9A4)}
/* What's New */
.ln-rel{border-top:1px solid #2a1216;padding-top:12px;margin-top:4px}.ln-rel:first-of-type{border-top:0;padding-top:0}
.ln-rel h4{margin:2px 0 6px;font:600 17px var(--hud,inherit);color:#EDE7E2}.ln-rel ul{margin:0;padding-left:18px}.ln-rel li{margin:6px 0;color:var(--muted,#B5A9A4);line-height:1.5}.ln-rel li b{color:#EDE7E2}
.ln-date{margin:0;font:500 11px var(--mono,monospace);letter-spacing:.12em;text-transform:uppercase;color:#E8B04B}
html.hx #lab-news .lab-dlg-box,#lab-news .lab-dlg-box{max-height:84vh;overflow:auto!important}   /* beats the holo overflow:visible rule, which let the list run off the top of the screen */
.lab-news-card{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:80;width:min(340px,calc(100vw - 32px));padding:14px 16px;background:rgba(8,2,3,.97);border:1px solid #E8B04B;clip-path:var(--cut-s,none);box-shadow:0 20px 50px -20px #000;display:grid;gap:6px}
.lab-news-card b{color:#EDE7E2;font:600 16px var(--hud,inherit)}.lab-news-card .bactions{margin-top:4px}
@media (max-width:700px){.lab-news-card{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
#v-coaching .hour .lt{display:block;margin-top:2px;font:500 11px var(--mono,monospace);letter-spacing:.04em;color:#E8B04B;opacity:.85}
/* Getting Started checklist (My Team › Team) */
.lab-steps{list-style:none;counter-reset:st;margin:6px 0 4px;padding:0;display:grid;gap:8px}
.lab-steps li{counter-increment:st;display:grid;grid-template-columns:30px 1fr;gap:2px 10px;align-items:start}
.lab-steps li::before{content:counter(st);grid-row:span 2;width:26px;height:26px;display:grid;place-items:center;border:1px solid #E8B04B;color:#E8B04B;font:600 13px var(--hud,inherit);clip-path:var(--cut-xs,none)}
.lab-steps li.done::before{content:"\2713";background:#E8B04B;color:#1a1204}
.lab-steps li.done b{color:var(--muted,#B5A9A4);text-decoration:line-through;text-decoration-color:rgba(232,176,75,.6)}
html.hx .lf-btn:not(#_) span{font:500 13px/1 var(--hud,inherit)!important;letter-spacing:.08em;text-transform:none;color:inherit}
html.hx .lf-btn:not(#_){font-size:13px;line-height:1}
#hx-team .hx-next b.nx-o{font:700 clamp(18px,2.4vw,26px)/1.15 var(--hud,inherit)!important;letter-spacing:.01em;text-transform:none;overflow-wrap:anywhere}
#hx-team .hx-next .nx-w{display:block;margin-top:6px;font:500 13px var(--mono,monospace);letter-spacing:.06em;color:#E8B04B}
#hx-team .hx-stats{grid-auto-flow:row;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);overflow:visible}#hx-team .hx-stat{min-height:150px}
@media (max-width:700px){#hx-team .hx-stats{grid-template-columns:1fr 1fr}#hx-team .hx-next{grid-column:1/-1;border-right:0!important;border-bottom:1px solid var(--edge-2,#3a1a1e)!important}#hx-team .hx-stat{min-height:120px}}
