/* EFB P-Mentor — feuille de style. Mode nuit par défaut, mode jour via [data-theme="jour"]. */
:root{
  --bg:#070d18; --bg2:#0b1424; --panel:#0f1a2c; --panel2:#14223a; --line:#1d2c45; --line2:#273a5a;
  --tx:#e3ecf7; --tx2:#b3c2d6; --dim:#7488a4; --dim2:#566a86;
  --amber:#ffb627; --amber-bg:rgba(255,182,39,.12); --cyan:#3fd0ff; --cyan-bg:rgba(63,208,255,.12);
  --ok:#2bd47d; --ok-bg:rgba(43,212,125,.13); --warn:#ff9f1c; --warn-bg:rgba(255,159,28,.14); --bad:#ff5a4e; --bad-bg:rgba(255,90,78,.15);
  --pave:#3a4556; --pave-mark:#e9eef5; --grass:#2f5a35; --grass-mark:#d7e7d0;
  --shadow:0 1px 0 rgba(255,255,255,.03) inset, 0 8px 24px rgba(0,0,0,.25);
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;
  --disp:-apple-system,BlinkMacSystemFont,"SF Pro Display","Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;
  --sat:env(safe-area-inset-top,0px); --sab:env(safe-area-inset-bottom,0px); --sal:env(safe-area-inset-left,0px); --sar:env(safe-area-inset-right,0px);
  color-scheme:dark;
}
[data-theme="jour"]{
  --bg:#e8edf3; --bg2:#dfe6ee; --panel:#ffffff; --panel2:#f3f6fa; --line:#d3dce7; --line2:#c0ccda;
  --tx:#0d1a2b; --tx2:#2b3c52; --dim:#5b6d84; --dim2:#7d8ea4;
  --amber:#b87200; --amber-bg:rgba(184,114,0,.10); --cyan:#0077b6; --cyan-bg:rgba(0,119,182,.09);
  --ok:#11864a; --ok-bg:rgba(17,134,74,.10); --warn:#b35f00; --warn-bg:rgba(179,95,0,.10); --bad:#c62f24; --bad-bg:rgba(198,47,36,.09);
  --pave:#59626f; --pave-mark:#ffffff; --grass:#5c8f4f; --grass-mark:#f2f8ee;
  --shadow:0 1px 2px rgba(13,26,43,.06),0 6px 18px rgba(13,26,43,.06);
  color-scheme:light;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;height:100%;background:var(--bg);color:var(--tx);font-family:var(--sans);font-size:16px;-webkit-text-size-adjust:100%;touch-action:manipulation}
body{overflow:hidden;font-variant-numeric:tabular-nums}
button,input,select,textarea{font:inherit;color:inherit}
.num,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;border-radius:6px}

/* ---------- Structure ---------- */
#app{display:grid;grid-template-rows:auto 1fr auto auto;height:100vh;height:100dvh}
header.top{display:flex;align-items:center;gap:10px;padding:calc(var(--sat) + 8px) calc(var(--sar) + 14px) 8px calc(var(--sal) + 14px);
  background:linear-gradient(180deg,var(--bg2),var(--bg));border-bottom:1px solid var(--line);min-height:56px;overflow-x:auto;scrollbar-width:none}
header.top::-webkit-scrollbar{display:none}
.brand{display:flex;flex-direction:column;line-height:1;margin-right:6px;flex:none}
.brand b{font-family:var(--disp);font-weight:800;letter-spacing:.08em;font-size:16px}
.brand b span{color:var(--amber)}
.brand small{font-size:10px;color:var(--dim);letter-spacing:.12em;text-transform:uppercase;margin-top:3px}
.legchip{display:flex;align-items:center;gap:8px;min-height:44px;padding:4px 12px 4px 10px;border-radius:10px;border:1px solid var(--line2);background:var(--panel);cursor:pointer;flex:none}
.legchip .lbl{font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.1em;font-weight:700}
.legchip .ic{font-family:var(--mono);font-weight:700;font-size:18px;color:var(--cyan)}
.legchip.arr .ic{color:var(--amber)}
.legchip .nm{font-size:12px;color:var(--tx2);max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.legarrow{color:var(--dim);flex:none}
.topstat{margin-left:auto;display:flex;align-items:center;gap:10px;flex:none}
.netdot{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--tx2);white-space:nowrap}
.netdot i{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}
.netdot.off i{background:var(--bad);box-shadow:0 0 8px var(--bad)}
.iconbtn{width:44px;height:44px;border-radius:10px;border:1px solid var(--line2);background:var(--panel);display:grid;place-items:center;cursor:pointer;flex:none}
.iconbtn svg{width:20px;height:20px;stroke:var(--tx2);fill:none;stroke-width:2}

main{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px calc(var(--sar) + 14px) 22px calc(var(--sal) + 14px);overscroll-behavior:contain}
.disclaimer{font-size:11.5px;color:var(--dim);text-align:center;padding:5px 14px;border-top:1px solid var(--line);background:var(--bg2);line-height:1.3}
.disclaimer b{color:var(--amber);font-weight:700}
nav.tabs{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg2);border-top:1px solid var(--line);padding:0 calc(var(--sar) + 4px) var(--sab) calc(var(--sal) + 4px)}
nav.tabs button{background:none;border:0;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--dim);font-size:11.5px;font-weight:600;cursor:pointer;letter-spacing:.02em;position:relative}
nav.tabs button svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
nav.tabs button[aria-selected="true"]{color:var(--cyan)}
nav.tabs button[aria-selected="true"]::before{content:"";position:absolute;top:0;left:22%;right:22%;height:3px;border-radius:0 0 3px 3px;background:var(--cyan)}
nav.tabs button .badge{position:absolute;top:7px;right:calc(50% - 22px);width:9px;height:9px;border-radius:50%;background:var(--warn)}

/* ---------- Panneaux ---------- */
.grid{display:grid;gap:14px}
.cols2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.cols-perf{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
@media (max-width:900px){.cols2,.cols-perf{grid-template-columns:1fr}}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);min-width:0}
.ph{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.ph h2{margin:0;font-family:var(--disp);font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:750;color:var(--tx2)}
.ph .tag{font-family:var(--mono);font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--cyan-bg);color:var(--cyan)}
.ph .tag.arr{background:var(--amber-bg);color:var(--amber)}
.ph .right{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pb{padding:14px}
.sub{font-size:12px;color:var(--dim)}
.lbl{font-size:11px;color:var(--dim);text-transform:uppercase;letter-spacing:.09em;font-weight:700}
hr.sep{border:0;border-top:1px dashed var(--line2);margin:14px 0}
h3.sec{font-size:11.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.1em;margin:16px 0 8px;font-weight:750}
h3.sec:first-child{margin-top:0}

/* ---------- Champs ---------- */
.fields{display:grid;gap:10px 12px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.field.wide{grid-column:1/-1}
.field>label,.field>.lbl{display:block;margin-bottom:5px}
.inp{display:flex;align-items:stretch;border:1px solid var(--line2);border-radius:10px;background:var(--panel2);overflow:hidden;min-height:46px}
.inp:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-bg)}
.inp input,.inp select{border:0;outline:0;background:transparent;width:100%;min-width:0;padding:8px 10px;font-family:var(--mono);font-size:17px;font-weight:600}
.inp select{font-family:var(--sans);font-size:16px;-webkit-appearance:none;appearance:none}
.inp .u{display:flex;align-items:center;padding:0 10px;font-size:12px;color:var(--dim);border-left:1px solid var(--line);background:var(--panel);white-space:nowrap}
input[type=text].plain,textarea.plain,input[type=search].plain{width:100%;border:1px solid var(--line2);border-radius:10px;background:var(--panel2);padding:11px 12px;font-size:16px;min-height:46px;outline:0}
textarea.plain{font-family:var(--mono);font-size:15px;min-height:80px;resize:vertical}
input.plain:focus,textarea.plain:focus{border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-bg)}
.chk{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;font-size:15px;color:var(--tx2)}
.chk input{width:22px;height:22px;accent-color:var(--cyan)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:10px;border:1px solid var(--line2);background:var(--panel2);font-weight:650;font-size:15px;cursor:pointer;color:var(--tx)}
.btn.pri{background:var(--cyan);border-color:var(--cyan);color:#04121c}
[data-theme="jour"] .btn.pri{color:#fff}
.btn.amb{background:var(--amber-bg);border-color:var(--amber);color:var(--amber)}
.btn.danger{color:var(--bad);border-color:var(--bad)}
.btn.sm{min-height:36px;padding:0 12px;font-size:13.5px}
.btn:disabled{opacity:.45}
.btn svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.seg{display:inline-flex;border:1px solid var(--line2);border-radius:11px;padding:3px;background:var(--panel2);gap:3px}
.seg button{min-height:40px;padding:0 16px;border:0;background:none;border-radius:8px;font-weight:650;color:var(--dim);cursor:pointer;font-size:14.5px}
.seg button[aria-pressed="true"]{background:var(--panel);color:var(--tx);box-shadow:0 1px 3px rgba(0,0,0,.25)}
.seg.big button{min-height:46px;padding:0 22px;font-size:16px}
.seg.big button[aria-pressed="true"].to{color:var(--cyan)}
.seg.big button[aria-pressed="true"].ldg{color:var(--amber)}

/* ---------- Valeurs ---------- */
.readouts{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.ro{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:11px 13px;min-width:0}
.ro .k{font-size:10.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.1em;font-weight:750;display:flex;justify-content:space-between;gap:6px}
.ro .v{font-family:var(--mono);font-size:30px;font-weight:700;line-height:1.1;margin-top:5px;letter-spacing:-.01em}
.ro .v small{font-size:13px;color:var(--dim);font-weight:600;margin-left:3px}
.ro .s{font-size:12px;color:var(--tx2);margin-top:4px;font-family:var(--mono)}
.ro.ok{border-color:color-mix(in srgb,var(--ok) 45%,var(--line))} .ro.ok .v{color:var(--ok)}
.ro.warn{border-color:color-mix(in srgb,var(--warn) 50%,var(--line))} .ro.warn .v{color:var(--warn)}
.ro.bad{border-color:color-mix(in srgb,var(--bad) 55%,var(--line));background:var(--bad-bg)} .ro.bad .v{color:var(--bad)}
.ro.info .v{color:var(--tx)}
.pill{font-size:10px;font-weight:800;letter-spacing:.06em;padding:2px 7px;border-radius:5px;text-transform:uppercase;white-space:nowrap}
.pill.ok{background:var(--ok-bg);color:var(--ok)} .pill.warn{background:var(--warn-bg);color:var(--warn)} .pill.bad{background:var(--bad-bg);color:var(--bad)} .pill.info{background:var(--cyan-bg);color:var(--cyan)} .pill.dim{background:var(--panel2);color:var(--dim)}
.verdict{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;font-weight:700;font-size:16px;border:1px solid}
.verdict.ok{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}
.verdict.warn{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)}
.verdict.bad{background:var(--bad-bg);border-color:var(--bad);color:var(--bad)}
.verdict small{display:block;font-weight:500;font-size:13px;color:var(--tx2);margin-top:2px}
.alerts{display:flex;flex-direction:column;gap:7px}
.alert{display:flex;gap:9px;align-items:flex-start;padding:9px 12px;border-radius:10px;font-size:13.5px;line-height:1.35;border:1px solid;color:var(--tx)}
.alert::before{content:"!";flex:none;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:900;margin-top:1px}
.alert.warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 60%,transparent)} .alert.warn::before{background:var(--warn);color:#1a0f00}
.alert.bad{background:var(--bad-bg);border-color:color-mix(in srgb,var(--bad) 60%,transparent)} .alert.bad::before{background:var(--bad);color:#fff}
.alert.info{background:var(--cyan-bg);border-color:color-mix(in srgb,var(--cyan) 50%,transparent)} .alert.info::before{content:"i";background:var(--cyan);color:#04121c}

.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.kv>div{background:var(--bg2);padding:9px 11px;min-width:0}
.kv .k{font-size:10.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.09em;font-weight:700}
.kv .v{font-family:var(--mono);font-size:19px;font-weight:700;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kv .v small{font-size:12px;color:var(--dim);margin-left:2px}
.kv .v.c-ok{color:var(--ok)} .kv .v.c-warn{color:var(--warn)} .kv .v.c-bad{color:var(--bad)} .kv .v.c-cy{color:var(--cyan)}

/* ---------- Pistes ---------- */
.rwys{display:flex;gap:8px;flex-wrap:wrap}
.rwy{min-height:52px;min-width:92px;padding:6px 12px;border-radius:11px;border:1px solid var(--line2);background:var(--panel2);cursor:pointer;text-align:left;display:flex;flex-direction:column;justify-content:center;position:relative}
.rwy b{font-family:var(--mono);font-size:19px}
.rwy span{font-size:11.5px;color:var(--dim);font-family:var(--mono)}
.rwy[aria-pressed="true"]{border-color:var(--cyan);background:var(--cyan-bg)}
.rwy.best::after{content:"★ vent";position:absolute;top:-8px;right:6px;font-size:10px;font-weight:800;background:var(--ok);color:#03140a;padding:1px 6px;border-radius:5px}
.rwy.tail span{color:var(--warn)}
.rwy.xw span{color:var(--bad)}

.rwbox{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:6px 6px 2px;overflow:hidden}
.rw-svg{width:100%;height:auto;display:block}
.rw-txt{font-family:var(--sans);font-size:14px;fill:var(--tx)}
.rw-b{font-weight:700}
.rw-c{text-anchor:middle}.rw-s{text-anchor:start}.rw-e{text-anchor:end}
.rw-dim{fill:var(--dim);font-weight:500}
.rw-pave{fill:var(--pave)} .rw-grass{fill:var(--grass)}
.rw-mark{fill:var(--pave-mark)}
.rw-num{font-family:var(--mono);font-weight:800;font-size:20px;fill:var(--pave-mark);text-anchor:middle;dominant-baseline:central}
.rw-num-op{font-size:15px;opacity:.75}
.rw-num-grass{fill:var(--grass-mark)}
.rw-axis{stroke:var(--pave-mark);stroke-width:2;stroke-dasharray:14 12;opacity:.8}
.rw-axis-grass{stroke:var(--grass-mark);opacity:.45}
.rw-clear{fill:none;stroke:var(--cyan);stroke-width:1.5;stroke-dasharray:6 5;opacity:.75}
.rw-hatch{stroke:var(--amber);stroke-width:3;opacity:.55}
.rw-stop{stroke:var(--amber);stroke-width:1;opacity:.9}
.rw-dispzone{fill:var(--bg);opacity:.35}
.rw-disparrow{fill:none;stroke:var(--pave-mark);stroke-width:2.5}
.rw-roll{stroke-width:7;stroke-linecap:round}
.rw-path{fill:none;stroke-width:3.5;stroke-linecap:round}
.rw-okS{stroke:var(--ok)} .rw-badS{stroke:var(--bad)}
.rw-okF{fill:var(--ok)} .rw-badF{fill:var(--bad)}
.rw-okt{fill:var(--ok)} .rw-badt{fill:var(--bad)}
.rw-guide{stroke:var(--dim);stroke-dasharray:3 4;stroke-width:1.2}
.rw-factor{stroke-width:2.2;stroke-dasharray:7 5}
.rw-tick{stroke:var(--dim);stroke-width:1.4}
.rw-dim-fill{fill:var(--dim)}
.rw-windbg{fill:var(--panel);stroke:var(--line2);stroke-width:1.5}
.rw-windarrow{stroke:var(--cyan);stroke-width:4;stroke-linecap:round}
.rw-windhead{fill:var(--cyan)}

/* ---------- Météo ---------- */
.raw{font-family:var(--mono);font-size:14.5px;line-height:1.5;background:var(--bg2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;word-break:break-word;white-space:pre-wrap;color:var(--tx)}
.age{font-family:var(--mono);font-size:12.5px;font-weight:700;padding:3px 8px;border-radius:6px}
.age.ok{background:var(--ok-bg);color:var(--ok)} .age.warn{background:var(--warn-bg);color:var(--warn)} .age.bad{background:var(--bad-bg);color:var(--bad)}
.tafgrid{width:100%;border-collapse:collapse;font-size:13px}
.tafwrap{overflow-x:auto;border:1px solid var(--line);border-radius:10px;-webkit-overflow-scrolling:touch}
.tafgrid th,.tafgrid td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;font-family:var(--mono)}
.tafgrid th{font-family:var(--sans);font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);background:var(--bg2);position:sticky;top:0}
.tafgrid td.t{color:var(--cyan);font-weight:700}
.tafgrid .tmp{color:var(--warn);font-size:12px;white-space:normal;min-width:180px}
.tafgroups{display:flex;flex-direction:column;gap:6px}
.tg{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:7px 10px;border-radius:9px;background:var(--bg2);border:1px solid var(--line);font-size:13.5px}
.tg .ty{font-family:var(--mono);font-weight:800;color:var(--amber)}
.tg .ty small{display:block;color:var(--dim);font-weight:500;font-size:11.5px}
.c-ok{color:var(--ok)} .c-warn{color:var(--warn)} .c-bad{color:var(--bad)} .c-dim{color:var(--dim)} .c-cy{color:var(--cyan)} .c-amb{color:var(--amber)}

/* ---------- Tableaux ---------- */
table.tb{width:100%;border-collapse:collapse;font-size:14px}
table.tb th{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);text-align:right;padding:7px 8px;border-bottom:1px solid var(--line2);font-weight:700}
table.tb th:first-child,table.tb td:first-child{text-align:left}
table.tb td{padding:8px;border-bottom:1px solid var(--line);text-align:right;font-family:var(--mono)}
table.tb td:first-child{font-family:var(--sans);color:var(--tx2)}
table.tb tr.tot td{font-weight:800;color:var(--tx);background:var(--bg2)}
table.tb tr.ldg td{font-weight:800;color:var(--amber);background:var(--amber-bg)}
.tbwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ---------- Détail ---------- */
details.det{border:1px solid var(--line);border-radius:12px;background:var(--bg2);overflow:hidden}
details.det>summary{list-style:none;cursor:pointer;min-height:46px;display:flex;align-items:center;gap:10px;padding:0 14px;font-weight:700;font-size:14px;color:var(--cyan)}
details.det>summary::-webkit-details-marker{display:none}
details.det>summary::before{content:"›";font-size:22px;line-height:1;transition:transform .15s}
details.det[open]>summary::before{transform:rotate(90deg)}
.detbody{padding:4px 14px 14px;border-top:1px dashed var(--line2)}
.step{font-family:var(--mono);font-size:13px;line-height:1.55;padding:3px 0 3px 14px;position:relative;color:var(--tx2)}
.step::before{content:"";position:absolute;left:2px;top:12px;width:6px;height:2px;background:var(--dim2)}
.step b{color:var(--tx)}
.step.res{color:var(--ok);font-weight:800;border-top:1px dashed var(--line2);margin-top:4px;padding-top:7px}
.step.res::before{display:none}
.ct{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--amber);font-weight:800;margin:14px 0 4px}

/* ---------- Aérodromes ---------- */
.adlist{display:flex;flex-direction:column;gap:6px;max-height:62vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
.aditem{display:grid;grid-template-columns:78px 1fr auto;gap:10px;align-items:center;min-height:52px;padding:6px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);cursor:pointer;text-align:left;width:100%}
.aditem[aria-current="true"]{border-color:var(--cyan)}
.aditem b{font-family:var(--mono);font-size:17px;color:var(--cyan)}
.aditem .n{font-size:14px;color:var(--tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aditem .n small{display:block;font-size:12px;color:var(--dim)}
.rwedit{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--bg2);margin-bottom:10px}
.rwedit .fields{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}

/* ---------- Divers ---------- */
.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:flex-start;justify-content:center;z-index:50;padding:calc(var(--sat) + 40px) 16px 16px}
.modal .box{width:min(640px,100%);max-height:80vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line2);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.5);overflow:hidden}
.modal .box .pb{overflow-y:auto}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--sab) + 110px);background:var(--panel2);border:1px solid var(--line2);color:var(--tx);padding:11px 16px;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.4);z-index:60;font-size:14.5px;max-width:90vw}
.updbar{position:fixed;top:calc(var(--sat) + 64px);left:50%;transform:translateX(-50%);z-index:55;background:var(--amber);color:#1b1100;border-radius:12px;padding:8px 8px 8px 14px;display:flex;gap:12px;align-items:center;font-weight:700;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.updbar .btn{background:#1b1100;color:var(--amber);border:0}
.envsvg{width:100%;height:auto;display:block}
.env-grid{stroke:var(--line2);stroke-width:1}
.env-ax{fill:var(--dim);font-size:12px;font-family:var(--mono)}
.env-zone{fill:var(--ok-bg);stroke:var(--ok);stroke-width:2.2}
.env-mtow{stroke:var(--amber);stroke-dasharray:6 5;stroke-width:1.5}
.small{font-size:12.5px;color:var(--dim);line-height:1.45}
.mt{margin-top:12px}.mt2{margin-top:18px}
.muted{color:var(--dim)}
.hide{display:none!important}
.badgesrc{font-size:11px;font-weight:700;padding:2px 7px;border-radius:5px;background:var(--panel2);color:var(--tx2);border:1px solid var(--line2)}
.bigclock{font-family:var(--mono);font-size:13px;color:var(--tx2)}
@media (max-width:900px){
  .perfgrid>.grid{display:contents}
  .o1{order:1}.o2{order:2}.o3{order:3}.o4{order:4}.o5{order:5}.o6{order:6}.o7{order:7}
}
@media (max-width:1050px){.legchip .nm{display:none}}
@media (max-width:700px){
  nav.tabs button{font-size:10px}
  .ro .v{font-size:25px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
