
:root{--bg:#edf2f7;--w:#fff;--p2:#f4f7fa;--b1:#d0dded;--b2:#b8cde0;
  --blue:#0d4f8c;--bl2:#1a6cb5;--bl3:#2a85d8;--blt:#e8f1fa;--bmd:#cce0f4;
  --org:#e87820;--or2:#f09040;--olt:#fff3e8;--omd:#fddec0;
  --ruby:#c41e3a;--rb2:#e02040;--rlt:#fdeef1;--rmd:#f8d0d8;
  --grn:#1a7a40;--glt:#e8f5ee;--gmd:#b8dfc8;
  --vio:#6228c8;--vlt:#f0e8ff;--vmd:#d4b8f0;
  --tx:#1a2a3a;--tx2:#3a5068;--tx3:#6a8098;--tx4:#a0b8cc;
  --r:12px;--rs:8px;--fs:1;}
body.dk{--bg:#0d1520;--w:#152035;--p2:#1c2d45;--b1:#2a3f58;--b2:#3a5570;
  --blt:#1a2d45;--bmd:#2a4060;--olt:#2a1e0a;--omd:#4a3520;
  --rlt:#2a0f18;--rmd:#4a1f30;--glt:#0a1f10;--gmd:#1a3f28;
  --vlt:#1a0f2a;--vmd:#3a2060;
  --tx:#d0e0f0;--tx2:#a0b8d0;--tx3:#6a8098;--tx4:#3a5068;}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{font-size:calc(19px*var(--fs));}
body{background:var(--bg);color:var(--tx);font-family:'Montserrat',sans-serif;overflow-x:hidden;min-height:100vh;transition:background .25s,color .25s;}
.app{display:flex;flex-direction:column;min-height:100dvh;}
/* WELCOME */


.wlogob{background:rgba(255,255,255,.95);border-radius:12px;padding:8px 18px;margin-bottom:10px;}
.wlogob img{height:36px;display:block;}
.waddr{font-size:.55rem;color:rgba(255,255,255,.45);letter-spacing:.1em;text-transform:uppercase;font-style:italic;margin-bottom:11px;text-align:center;}
.wlr{display:flex;gap:8px;margin-bottom:11px;}
.wlb{padding:5px 13px;border-radius:16px;border:1.5px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);font-family:'Montserrat',sans-serif;font-size:.65rem;font-weight:700;color:rgba(255,255,255,.6);cursor:pointer;}
.wlb.on{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.55);color:#fff;}
.wtitle{font-size:1.4rem;font-weight:800;color:#fff;letter-spacing:.05em;text-transform:uppercase;text-align:center;margin-bottom:3px;}

.wdesc{max-width:340px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:9px 12px;margin-bottom:13px;font-size:.65rem;color:rgba(255,255,255,.75);line-height:1.75;text-align:center;}
.wdesc b{color:#f09040;}
.wmods{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-bottom:16px;max-width:360px;}
.wmod{padding:3px 7px;border-radius:14px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);font-size:.55rem;font-weight:700;color:rgba(255,255,255,.68);}
.wenter{padding:12px 38px;border-radius:36px;border:none;cursor:pointer;background:linear-gradient(135deg,#e87820,#f09040);font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:800;color:#fff;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 6px 28px rgba(232,120,32,.5);}
.wenter:active{transform:scale(.96);}
.wfoot{margin-top:11px;font-size:.55rem;color:rgba(255,255,255,.32);letter-spacing:.09em;text-transform:uppercase;}
.wfoot a{color:rgba(255,255,255,.42);text-decoration:none;}
/* HEADER */
.hdr{background:var(--w);border-bottom:3px solid var(--blue);position:sticky;top:0;z-index:200;box-shadow:0 3px 16px rgba(13,79,140,.15);transition:background .25s;}
.htop{background:linear-gradient(135deg,var(--blue),var(--bl2) 55%,var(--bl3));padding:8px 10px;display:flex;align-items:center;gap:7px;}
.hlogo{background:rgba(255,255,255,.93);border-radius:7px;padding:3px 7px;display:flex;align-items:center;flex-shrink:0;}
.hlogo img{height:24px;display:block;}
.htxt{flex:1;min-width:0;}
.htxt h1{font-size:.78rem;font-weight:800;color:#fff;letter-spacing:.05em;text-transform:uppercase;line-height:1;}
.htxt p{font-size:.55rem;color:rgba(255,255,255,.55);font-style:italic;margin-top:1px;}
.hbtn{background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.35);border-radius:16px;color:#fff;font-family:'Montserrat',sans-serif;font-size:.65rem;font-weight:800;padding:3px 8px;cursor:pointer;white-space:nowrap;flex-shrink:0;}
.hbtn:hover{background:rgba(255,255,255,.28);}
.hbadge{background:var(--org);color:#fff;font-size:.55rem;font-weight:700;padding:2px 6px;border-radius:16px;white-space:nowrap;flex-shrink:0;}
.fsbar{display:flex;align-items:center;gap:5px;padding:4px 10px;background:var(--p2);border-bottom:1px solid var(--b1);}
.fslbl{font-size:.55rem;font-weight:700;color:var(--tx3);flex:1;text-transform:uppercase;}
.fsbtn{width:24px;height:24px;border-radius:5px;border:1.5px solid var(--b2);background:var(--w);font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:800;color:var(--tx2);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.fsbtn:hover{border-color:var(--blue);color:var(--blue);}
.fsval{font-size:.65rem;font-weight:700;color:var(--blue);min-width:28px;text-align:center;}
/* MOBILE NAV */
.navm{display:grid;grid-template-columns:repeat(5,1fr);background:var(--w);border-bottom:2px solid var(--b1);}
.np{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 1px;font-family:'Montserrat',sans-serif;font-size:.55rem;font-weight:700;color:var(--tx3);background:none;border:none;border-bottom:2px solid transparent;border-right:1px solid var(--b1);cursor:pointer;line-height:1.1;}
.np .ic{font-size:.90rem;line-height:1;}
.np:nth-child(5n){border-right:none;}
.np:nth-child(n+6){border-top:1px solid var(--b1);}
.np.on{color:var(--blue);border-bottom-color:var(--blue);background:var(--blt);}
.np:hover:not(.on){color:var(--bl2);background:var(--blt);}
.navd{display:none;}
/* LAYOUT */
.main{flex:1;display:flex;}
.content{flex:1;min-width:0;overflow-y:auto;}
.screen{display:none;flex-direction:column;gap:10px;padding:10px;animation:fi .2s ease;width:100%;box-sizing:border-box;min-width:0;overflow-x:hidden;}
.screen.on{display:flex;}
@keyframes fi{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
/* CARDS */
.card{background:var(--w);border:1px solid var(--b1);border-radius:var(--r);padding:11px;box-shadow:0 2px 8px rgba(13,79,140,.07);position:relative;overflow:hidden;transition:background .25s;width:100%;box-sizing:border-box;}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;}
.cb::before{background:linear-gradient(90deg,var(--blue),var(--bl3));}
.co::before{background:linear-gradient(90deg,var(--org),var(--or2));}
.cr::before{background:linear-gradient(90deg,var(--ruby),var(--rb2));}
.cg::before{background:linear-gradient(90deg,var(--grn),#28a860);}
.cv::before{background:linear-gradient(90deg,var(--vio),#9048e8);}
.cbo::before{background:linear-gradient(90deg,var(--blue),var(--org));}
.clbl{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:7px;display:flex;align-items:center;gap:4px;flex-wrap:wrap;}
.clbl.v{color:var(--vio);}
.dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.db{background:var(--bl3);}.do{background:var(--org);}.dr{background:var(--rb2);}.dg{background:var(--grn);}.dv{background:var(--vio);}
/* EXPL */
.expl{border-radius:var(--r);padding:10px 12px;border:1.5px solid;width:100%;box-sizing:border-box;overflow-x:hidden;}
.expl-b{background:linear-gradient(135deg,var(--blt),#f0f5ff);border-color:var(--bmd);}
.expl-o{background:linear-gradient(135deg,var(--olt),#fff7f0);border-color:var(--omd);}
.expl-r{background:linear-gradient(135deg,var(--rlt),#fff0f3);border-color:var(--rmd);}
.expl-g{background:linear-gradient(135deg,var(--glt),#f0faf3);border-color:var(--gmd);}
.expl-v{background:linear-gradient(135deg,var(--vlt),#f5f0ff);border-color:var(--vmd);}
.etitle{font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;}
.ebody{font-size:.65rem;color:var(--tx2);line-height:1.75;overflow-x:hidden;word-break:break-word;overflow-wrap:break-word;}
/* REFS */
.refbar{background:var(--glt);border:1.5px solid var(--gmd);border-radius:var(--r);overflow:hidden;}
.rbtn{width:100%;display:flex;align-items:center;gap:7px;padding:7px 12px;background:none;border:none;cursor:pointer;font-family:'Montserrat',sans-serif;font-size:.65rem;font-weight:700;color:var(--grn);}
.rbnums{flex:1;font-size:.55rem;color:var(--tx3);}
.rbarr{font-size:.65rem;color:var(--tx3);transition:transform .2s;}
.rbtn.open .rbarr{transform:rotate(180deg);}
.rbcnt{display:none;padding:5px 10px 8px;border-top:1px solid var(--gmd);flex-direction:column;gap:3px;}
.rbcnt.show{display:flex;}
.rbi{display:flex;align-items:flex-start;gap:6px;text-decoration:none;padding:1px 0;}
.rbn{display:inline-flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:800;color:var(--grn);background:var(--w);border:1px solid var(--gmd);border-radius:4px;padding:1px 4px;flex-shrink:0;min-width:18px;}
.rbt{font-size:.55rem;color:var(--tx2);line-height:1.5;}
.rl{display:inline-flex;align-items:center;font-size:.55rem;font-weight:800;color:var(--grn);background:var(--glt);border:1px solid var(--gmd);border-radius:4px;padding:0 3px;margin:0 1px;text-decoration:none;vertical-align:super;}
.rl:hover{background:var(--grn);color:#fff;}
/* FORM */
.flbl{font-size:.65rem;font-weight:700;color:var(--tx2);margin-bottom:2px;text-transform:uppercase;}
.fw{position:relative;margin-bottom:6px;}
.fw input,.fw select{width:100%;background:var(--p2);border:1.5px solid var(--b2);border-radius:var(--rs);padding:8px 34px 8px 9px;color:var(--tx);font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:600;outline:none;transition:border-color .18s;-webkit-appearance:none;appearance:none;}
.fw input:focus,.fw select:focus{border-color:var(--blue);}
.fw .un{position:absolute;right:7px;top:50%;transform:translateY(-50%);font-size:.55rem;font-weight:700;color:var(--tx3);pointer-events:none;}
.i2{display:grid;grid-template-columns:1fr 1fr;gap:6px;}
.i3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;}
.irow{display:flex;gap:6px;}.irow .fw{flex:1;}
.chips{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:6px;}
.chip{padding:3px 7px;border-radius:14px;border:1.5px solid var(--b2);background:var(--p2);font-family:'Montserrat',sans-serif;font-size:.65rem;font-weight:700;color:var(--tx3);cursor:pointer;}
.chip.ab{background:var(--blt);border-color:var(--blue);color:var(--blue);}
.chip.ao{background:var(--olt);border-color:var(--org);color:var(--org);}
/* RESULTS */
.mres{display:flex;flex-direction:column;gap:4px;}
.mrow{display:flex;align-items:center;justify-content:space-between;background:var(--blt);border:1.5px solid var(--bmd);border-radius:var(--rs);padding:8px 10px;}
.mrow.ro{background:var(--olt);border-color:var(--omd);}
.mrow.rr{background:var(--rlt);border-color:var(--rmd);}
.mrow.rg{background:var(--glt);border-color:var(--gmd);}
.mrow.rv{background:var(--vlt);border-color:var(--vmd);}
.mn{font-size:.65rem;font-weight:600;color:var(--tx2);}
.mv{font-size:.90rem;font-weight:800;color:var(--tx);cursor:pointer;}
.mv:hover{color:var(--blue);}
.mu{font-size:.65rem;font-weight:700;margin-left:1px;}
.msub{font-size:.55rem;color:var(--tx3);margin-top:1px;}
/* TOGGLE */
.togrow{display:flex;align-items:center;gap:7px;margin-bottom:7px;}
.toglbl{font-size:.65rem;font-weight:600;color:var(--tx2);}
.tog{width:30px;height:17px;background:var(--b2);border-radius:8.5px;position:relative;cursor:pointer;transition:background .2s;flex-shrink:0;}
.tog.on{background:var(--blue);}
.tog::after{content:'';position:absolute;width:12px;height:12px;background:#fff;border-radius:50%;top:2.5px;left:2.5px;transition:all .2s;box-shadow:0 1px 3px rgba(0,0,0,.2);}
.tog.on::after{left:15.5px;}
/* TCSEL */
.tcsel{display:flex;border-radius:var(--rs);overflow:hidden;border:1.5px solid var(--b2);margin-bottom:7px;}
.tcbtn{flex:1;padding:6px 3px;font-family:'Montserrat',sans-serif;font-size:.55rem;font-weight:700;background:var(--p2);color:var(--tx3);border:none;cursor:pointer;text-align:center;line-height:1.35;}
.tcbtn:not(:last-child){border-right:1px solid var(--b2);}
.tcbtn.gs{background:var(--blue);color:#fff;}
.tcbtn.dt{background:var(--grn);color:#fff;}
.tcbtn.bo{background:var(--ruby);color:#fff;}
/* INF */
.inf{background:var(--blt);border:1px solid var(--bmd);border-radius:var(--rs);padding:7px 10px;font-size:.65rem;color:var(--tx2);line-height:1.65;}
.inf b{color:var(--blue);font-weight:700;}
.inf.io{background:var(--olt);border-color:var(--omd);}.inf.io b{color:var(--org);}
.inf.ir{background:var(--rlt);border-color:var(--rmd);}.inf.ir b{color:var(--ruby);}
.inf.ig{background:var(--glt);border-color:var(--gmd);}.inf.ig b{color:var(--grn);}
.inf.iv{background:var(--vlt);border-color:var(--vmd);}.inf.iv b{color:var(--vio);}
/* TABS */
.tabs{display:flex;border-radius:var(--rs);overflow:hidden;border:2px solid var(--b2);margin-bottom:9px;}
.tab{flex:1;padding:8px 4px;font-family:'Montserrat',sans-serif;font-size:.65rem;font-weight:700;background:var(--p2);color:var(--tx3);border:none;cursor:pointer;text-align:center;}
.tab:not(:last-child){border-right:1px solid var(--b2);}
.tab.on{background:var(--vio);color:#fff;}
.tabpanel{display:none;}.tabpanel.on{display:block;}
/* EOS */
.eosmat{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:7px;}
.eosm{padding:4px 8px;border-radius:14px;border:1.5px solid var(--vmd);background:var(--vlt);font-family:'Montserrat',sans-serif;font-size:.65rem;font-weight:700;color:var(--vio);cursor:pointer;}
.eosm.on{background:var(--vio);color:#fff;border-color:var(--vio);}
canvas{display:block;width:100%;border-radius:var(--rs);}
/* LEGEND */
.leg{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px;}
.li{display:flex;align-items:center;gap:3px;font-size:.65rem;font-weight:600;color:var(--tx2);}
.ld{width:14px;height:3px;border-radius:2px;}
/* UNIT ROWS */
.urow{display:flex;align-items:center;gap:6px;background:var(--p2);border:1.5px solid var(--b1);border-radius:var(--rs);padding:6px 9px;margin-bottom:4px;}
.ulbl{font-size:.65rem;font-weight:700;color:var(--tx3);width:38px;flex-shrink:0;text-transform:uppercase;}
.uinp{background:transparent;border:none;outline:none;font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;color:var(--tx);flex:1;min-width:0;}
.uunit{font-size:.65rem;font-weight:700;color:var(--blue);min-width:30px;text-align:right;}
.erow{display:flex;align-items:center;gap:6px;background:var(--p2);border:1.5px solid var(--b1);border-radius:var(--rs);padding:6px 9px;margin-bottom:4px;}
.elbl{font-size:.65rem;font-weight:700;color:var(--tx3);width:52px;flex-shrink:0;text-transform:uppercase;}
.einp{background:transparent;border:none;outline:none;font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;color:var(--tx);flex:1;min-width:0;}
.eunit{font-size:.65rem;font-weight:700;color:var(--blue);min-width:34px;text-align:right;}
.trow{display:flex;align-items:center;gap:6px;background:var(--p2);border:1.5px solid var(--b1);border-radius:var(--rs);padding:6px 9px;margin-bottom:4px;}
.tinp{background:transparent;border:none;outline:none;font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;color:var(--tx);flex:1;min-width:0;}
/* PCTX */
.prow{display:flex;align-items:stretch;border-bottom:1px solid var(--b1);}
.prow:last-child{border-bottom:none;}
.prow.hl{background:linear-gradient(90deg,var(--blt),var(--w));border-left:4px solid var(--blue);}
.pico{font-size:.90rem;padding:6px 8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;}
.pbody{flex:1;padding:5px 7px 5px 0;}
.plbl{font-size:.65rem;font-weight:700;color:var(--tx2);}
.pval{font-size:.65rem;font-weight:800;color:var(--blue);margin-top:2px;}
.pcat{font-size:.55rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:1px 5px;border-radius:6px;display:inline-block;margin-top:2px;}
.pcat-everyday{background:#fff3cd;color:#7d6008;}.pcat-geo{background:#d1e7dd;color:#0a3622;}
.pcat-dac{background:var(--rlt);color:var(--ruby);}.pcat-betsa{background:var(--olt);color:var(--org);}
.pcat-planet{background:#cfe2ff;color:#084298;}.pcat-universe{background:#e2d9f3;color:#432874;}
body.dk .pcat-everyday{background:#3d3010;color:#f0c040;}body.dk .pcat-geo{background:#0a2015;color:#60c890;}
body.dk .pcat-planet{background:#0a1530;color:#70b0ff;}body.dk .pcat-universe{background:#1a0a30;color:#c090ff;}
/* RCHIP */
.rchip{display:inline-flex;align-items:center;padding:3px 7px;border-radius:14px;background:var(--blt);border:1px solid var(--bmd);cursor:pointer;margin:2px;font-size:.65rem;font-weight:700;color:var(--blue);}
.rchip:hover{background:var(--blue);color:#fff;}
.rchip.o{background:var(--olt);border-color:var(--omd);color:var(--org);}
/* DSPAC */
.csbtn{padding:3px 7px;border-radius:14px;border:1.5px solid var(--b2);background:var(--p2);font-family:'Montserrat',sans-serif;font-size:.65rem;font-weight:700;color:var(--tx3);cursor:pointer;}
.csbtn.on{background:var(--blt);border-color:var(--blue);color:var(--blue);}
.dres{background:var(--blt);border:2px solid var(--bmd);border-radius:var(--rs);padding:9px;text-align:center;margin-top:5px;}
/* HARDNESS */
.sbar{width:100%;background:var(--p2);border:1.5px solid var(--b2);border-radius:var(--rs);padding:6px 9px;color:var(--tx);font-family:'Montserrat',sans-serif;font-size:.78rem;outline:none;margin-bottom:6px;}
.tscr{max-height:270px;overflow-y:auto;border-radius:var(--rs);border:1.5px solid var(--b1);}
.htbl{width:100%;border-collapse:collapse;font-size:.65rem;}
.htbl th{text-align:left;font-size:.55rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--blue);padding:5px 6px;border-bottom:2px solid var(--bmd);position:sticky;top:0;background:var(--w);}
.htbl td{padding:5px 6px;border-bottom:1px solid var(--b1);overflow:hidden;word-break:break-word;}
.htbl tr:hover td{background:var(--blt);}
.mn2{color:var(--tx);font-weight:600;}.cat2{font-size:.55rem;color:var(--tx4);}
.hhv{color:var(--blue);font-weight:700;}.hhrc{color:var(--ruby);font-weight:700;}
.hmpa{color:var(--grn);font-weight:700;}.hmo{color:#b07000;font-weight:700;}
.gdot,.rdot{width:5px;height:5px;border-radius:50%;display:inline-block;vertical-align:middle;margin-right:2px;}
.gdot{background:var(--org);}.rdot{background:var(--rb2);}
.sba{font-size:.55rem;font-weight:700;padding:1px 4px;border-radius:6px;background:var(--glt);color:var(--grn);display:inline-block;}
.sbe{font-size:.55rem;font-weight:700;padding:1px 4px;border-radius:6px;background:var(--blt);color:var(--blue);display:inline-block;}
.sbt{font-size:.55rem;font-weight:700;padding:1px 4px;border-radius:6px;background:var(--olt);color:var(--org);display:inline-block;}
.hcrow{display:flex;align-items:center;gap:6px;border-radius:var(--rs);padding:7px 9px;margin-bottom:5px;border:1.5px solid;}
.hcinp{background:transparent;border:none;outline:none;font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;color:var(--tx);flex:1;min-width:0;}
.hclbl{font-size:.65rem;font-weight:800;width:36px;flex-shrink:0;}
.hcunit{font-size:.65rem;font-weight:700;min-width:34px;text-align:right;}
/* CALC */
.cdisplay{background:var(--blue);border-radius:var(--rs);padding:11px 13px 8px;margin-bottom:6px;min-height:66px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;}
.cexprd{font-size:.65rem;color:rgba(255,255,255,.5);min-height:14px;word-break:break-all;text-align:right;}
.cvald{font-size:1.8rem;font-weight:800;color:#fff;word-break:break-all;text-align:right;line-height:1.1;}
.cinj{background:var(--org);color:#fff;border-radius:var(--rs);padding:6px 11px;margin-bottom:6px;font-size:.65rem;font-weight:700;display:none;align-items:center;gap:7px;}
.cinj span{flex:1;}
.cg4{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;}
.cg5{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;}
.cbtn{border:none;border-radius:var(--rs);font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;cursor:pointer;padding:11px 3px;min-height:44px;}
.cbtn:active{transform:scale(.93);}
.cn{background:var(--p2);color:var(--tx);border:1px solid var(--b1);}
.cop{background:var(--blt);color:var(--blue);border:1px solid var(--bmd);}
.ceq{background:var(--blue);color:#fff;}
.cac{background:var(--rlt);color:var(--ruby);border:1px solid var(--rmd);font-size:.65rem;}
.csc{background:var(--olt);color:var(--org);border:1px solid var(--omd);font-size:.65rem;}
.cmrow{display:flex;gap:5px;margin-bottom:6px;}
.cmode{flex:1;padding:6px;border-radius:var(--rs);border:1.5px solid var(--b2);background:var(--p2);font-family:'Montserrat',sans-serif;font-size:.65rem;font-weight:700;color:var(--tx3);cursor:pointer;text-align:center;}
.cmode.on{background:var(--blue);color:#fff;border-color:var(--blue);}
.clearbtn{width:100%;padding:7px;border-radius:var(--rs);border:1.5px solid var(--b2);background:var(--p2);font-family:'Montserrat',sans-serif;font-size:.65rem;font-weight:700;color:var(--tx3);cursor:pointer;margin-top:6px;}
/* BBAND */
.bband{background:linear-gradient(90deg,var(--blue),var(--bl2));padding:7px 11px;display:flex;align-items:center;justify-content:space-between;border-radius:var(--r);}
.bband span{font-size:.55rem;font-weight:700;color:rgba(255,255,255,.68);text-transform:uppercase;}
.bband a{font-size:.55rem;font-weight:700;color:var(--or2);text-decoration:none;}
/* TOAST */
.toast{position:fixed;bottom:68px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--blue);color:#fff;padding:9px 18px;border-radius:28px;font-size:.65rem;font-weight:700;opacity:0;transition:all .3s;z-index:500;pointer-events:none;white-space:nowrap;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
/* DAC MAP opt10 */
#dac-canvas{cursor:crosshair;touch-action:none;}
.brow{display:flex;align-items:center;gap:6px;background:var(--p2);border:1.5px solid var(--b1);border-radius:var(--rs);padding:6px 9px;margin-bottom:5px;}
.brow.sel{border-color:var(--blue);}
.bsw{width:11px;height:11px;border-radius:50%;flex-shrink:0;}
.blid{font-size:.65rem;font-weight:800;width:22px;flex-shrink:0;}
.blinp{background:transparent;border:none;outline:none;font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;color:var(--tx);flex:1;min-width:0;}
.blpv{font-size:.78rem;font-weight:800;min-width:60px;text-align:right;cursor:pointer;}
.blpv:hover{text-decoration:underline;}
.s3{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:7px;}
.sbox{background:var(--p2);border:1.5px solid var(--b1);border-radius:var(--rs);padding:7px;text-align:center;}
.sbox .sv{font-size:.90rem;font-weight:800;}
.sbox .sl{font-size:.55rem;color:var(--tx3);margin-top:2px;text-transform:uppercase;}
.gg{height:7px;border-radius:4px;background:linear-gradient(90deg,var(--grn),var(--org),var(--ruby));position:relative;margin:6px 0 3px;}
.gn{position:absolute;top:-4px;width:3px;height:15px;border-radius:2px;background:#fff;border:1.5px solid var(--tx3);transform:translateX(-50%);transition:left .4s;}
/* SM:YAG opt11 */
#sm-c{cursor:crosshair;}
.smtabs{display:flex;border-radius:var(--rs);overflow:hidden;border:1.5px solid var(--vmd);margin-bottom:8px;}
.smtab{flex:1;padding:7px 4px;font-family:'Montserrat',sans-serif;font-size:.55rem;font-weight:700;text-align:center;background:var(--vlt);color:var(--vio);border:none;cursor:pointer;line-height:1.4;}
.smtab:not(:last-child){border-right:1px solid var(--vmd);}
.smtab.on{background:var(--vio);color:#fff;}
/* QM opt18 */
.qm{position:fixed;inset:0;z-index:800;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:background .3s;}
.qm.gone{display:none;}
.qm-inp{font-size:1.8rem;font-weight:700;width:220px;text-align:center;background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.4);border-radius:14px;color:#fff;padding:10px 14px;outline:none;font-family:'Montserrat',sans-serif;}
.qm-inp::placeholder{color:rgba(255,255,255,.4);}
.qm-p{font-size:5rem;font-weight:800;color:#fff;line-height:1;}
.qm-close{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.15);border:1.5px solid rgba(255,255,255,.3);border-radius:22px;color:#fff;font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;padding:6px 14px;cursor:pointer;}
::-webkit-scrollbar{width:4px;}::-webkit-scrollbar-thumb{background:var(--bmd);border-radius:2px;}
@media(min-width:640px){.screen{padding:12px;gap:11px;}.card{padding:12px;}}
@media(min-width:1024px){
.navm{display:none;}
.navd{display:flex;flex-direction:column;width:195px;min-width:195px;flex-shrink:0;background:var(--w);border-right:2px solid var(--b1);position:sticky;top:0;height:100vh;overflow-y:auto;}
.ndlog{padding:10px 10px 8px;border-bottom:1px solid var(--b1);text-align:center;}
.ndlog img{width:112px;}
.ndlog p{font-size:.55rem;color:var(--tx3);margin-top:5px;font-style:italic;text-transform:uppercase;line-height:1.5;}
.ndsep{height:1px;background:var(--b1);margin:4px 10px;}
.nb{display:flex;align-items:center;gap:7px;padding:9px 11px;font-size:.78rem;font-weight:600;color:var(--tx2);cursor:pointer;border:none;background:none;width:100%;font-family:'Montserrat',sans-serif;border-left:3px solid transparent;}
.nb:hover{background:var(--blt);color:var(--blue);}
.nb.on{color:var(--blue);background:var(--blt);border-left-color:var(--blue);font-weight:700;}
.nb .ni{font-size:.78rem;flex-shrink:0;}
.screen{padding:13px;gap:11px;max-width:780px;}.card{padding:12px;}
}
@media(min-width:1400px){.navd{width:212px;}.screen{max-width:980px;}}

/* ── STATS OVERLAY ── */
.stats-ov{position:fixed;inset:0;z-index:900;background:rgba(5,15,35,.97);display:flex;flex-direction:column;overflow:hidden;}
.stats-ov.gone{display:none;}
.stats-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;border-bottom:1.5px solid rgba(255,255,255,.1);flex-shrink:0;}
.stats-title{font-size:.78rem;font-weight:800;color:#fff;letter-spacing:.04em;}
.stats-close{background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);border-radius:20px;padding:5px 12px;font-family:'Montserrat',sans-serif;font-size:.65rem;font-weight:700;color:#fff;cursor:pointer;transition:all .15s;}
.stats-close:hover{background:rgba(255,255,255,.2);}
.stats-body{flex:1;overflow-y:auto;padding:14px 16px 24px;}
.stats-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;}
.stats-kpi{background:rgba(255,255,255,.06);border:1.5px solid rgba(255,255,255,.1);border-radius:12px;padding:12px 10px;text-align:center;}
.stats-kpi-val{font-size:1.6rem;font-weight:800;color:#60b0ff;line-height:1;}
.stats-kpi-lbl{font-size:.55rem;font-weight:700;color:rgba(255,255,255,.5);letter-spacing:.07em;text-transform:uppercase;margin-top:4px;}
.stats-section{font-size:.55rem;font-weight:800;color:rgba(255,255,255,.4);letter-spacing:.1em;text-transform:uppercase;margin:12px 0 7px;padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.08);}
.stats-log-table{width:100%;max-width:100%;border-collapse:collapse;font-size:.65rem;table-layout:fixed;word-break:break-word;}
.stats-log-table th{padding:5px 8px;text-align:left;font-size:.55rem;font-weight:700;color:rgba(255,255,255,.4);letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.1);}
.stats-log-table td{padding:5px 8px;border-bottom:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.8);vertical-align:middle;}
.stats-log-table tr:hover td{background:rgba(255,255,255,.04);}
.stats-country-flag{font-size:.78rem;margin-right:4px;}
.stats-action-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.stats-btn{padding:8px 16px;border-radius:20px;border:1.5px solid;font-family:'Montserrat',sans-serif;font-size:.65rem;font-weight:700;cursor:pointer;transition:all .17s;}
.stats-btn-blue{background:rgba(13,79,140,.4);border-color:#2a85d8;color:#60b0ff;}
.stats-btn-blue:hover{background:#2a85d8;color:#fff;}
.stats-btn-red{background:rgba(196,30,58,.2);border-color:rgba(196,30,58,.5);color:#ff8090;}
.stats-btn-red:hover{background:rgba(196,30,58,.6);color:#fff;}
.stats-btn-grn{background:rgba(26,122,64,.3);border-color:rgba(26,122,64,.6);color:#60d890;}
.stats-btn-grn:hover{background:rgba(26,122,64,.7);color:#fff;}
.stats-geo-list{display:flex;flex-direction:column;gap:5px;}
.stats-geo-item{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.04);border-radius:8px;padding:6px 10px;}
.stats-geo-bar-wrap{flex:1;height:5px;background:rgba(255,255,255,.1);border-radius:3px;margin:0 10px;}
.stats-geo-bar{height:100%;background:#2a85d8;border-radius:3px;transition:width .5s ease;}
.stats-note{font-size:.55rem;color:rgba(255,255,255,.3);line-height:1.6;margin-top:10px;}


/* ── COLLAPSIBLE EXPL ─────────────────────────────────────── */
.etitle{cursor:pointer;user-select:none;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.expl-btn{display:inline-flex;align-items:center;gap:3px;flex-shrink:0;font-size:.52rem;font-weight:700;opacity:.65;border:1.5px solid currentColor;border-radius:20px;padding:3px 10px;white-space:nowrap;transition:opacity .15s;}
.etitle:hover .expl-btn{opacity:1;}
.expl-btn .arr{display:inline-block;transition:transform .28s;}
.expl.open .expl-btn .arr{transform:rotate(180deg);}
.expl-btn .lbl::before{content:" Read more";}
.expl.open .expl-btn .lbl::before{content:" Close";}
.ebody{max-height:0;overflow:hidden;transition:max-height .4s ease,opacity .3s,padding-top .3s;opacity:0;padding-top:0;font-size:.68rem;line-height:1.65;color:var(--tx2);}
.expl.open .ebody{max-height:1800px;opacity:1;padding-top:8px;}
/* ── TAB BODY ─────────────────────────────────────────────── */
.tab-body{margin:0;padding:0;background:var(--bg);color:var(--tx);font-family:"Montserrat",sans-serif;overflow-x:hidden;}
.tab-body .screen{display:flex;flex-direction:column;gap:10px;padding:10px;}

/* ── RESPONSIVE FIXES ───────────────────────────────────── */
/* Monospace blocks dans ebody — scrollable horizontalement */
.ebody span[style*="monospace"],
.ebody code,
.ebody pre {
  display:block;
  overflow-x:auto;
  max-width:100%;
  white-space:pre-wrap;
  word-break:break-word;
  box-sizing:border-box;
}

/* Inputs et selects : jamais plus larges que leur conteneur */
input, select, textarea {
  max-width:100%;
  box-sizing:border-box;
}

/* .i2 grid : passe en 1 colonne sous 360px */
@media(max-width:360px){
  .i2{grid-template-columns:1fr;}
  .chips{flex-direction:column;}
  .screen{padding:6px;}
  .card{padding:8px;}
  .expl{padding:8px 9px;}
}

/* Petits écrans : réduire les paddings */
@media(max-width:480px){
  .screen{padding:8px;gap:8px;}
  .card{padding:9px;}
  .expl{padding:9px 10px;}
  table{font-size:.58rem;}
  td,th{padding:3px 4px;}
}
