/* reset */
:root{color-scheme:light;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0;font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
img{max-width:100%}
[hidden]{display:none!important}

/* Layout: a teal desktop carrying bevelled windows. One window per view, a taskbar fixed at the bottom as navigation (tab bar on phone), a modal dialog for cell detail. Single deliberate theme: Windows 98 chrome, Apple-grade spacing, hit targets and hierarchy. */
:root{
  --desk:#008080; --face:#c0c0c0; --face2:#d4d0c8; --light:#ffffff; --mid:#dfdfdf; --dark:#808080; --black:#000000;
  --title-a:#000080; --title-b:#1084d0; --title-fg:#ffffff;
  --ink:#000000; --ink2:#3a3a3a; --ink3:#5c5c5c; --paper:#ffffff; --sel:#000080; --sel-fg:#ffffff; --link:#0000a0;
  --good:#1e7a3c; --warn:#8a5a00; --bad:#b01c1c;
  --b1:#e9a3a3; --b2:#f1dca6; --b3:#e4e4e4; --b4:#bfe4bf; --b5:#8fd6a7;
  --font-ui:Tahoma,"Segoe UI",Verdana,system-ui,sans-serif;
  --font-mono:"Lucida Console",Consolas,Menlo,monospace;
  --bevel-out:inset -1px -1px var(--black),inset 1px 1px var(--light),inset -2px -2px var(--dark),inset 2px 2px var(--mid);
  --bevel-in:inset -1px -1px var(--light),inset 1px 1px var(--black),inset -2px -2px var(--mid),inset 2px 2px var(--dark);
  --bevel-field:inset -1px -1px var(--light),inset 1px 1px var(--dark),inset -2px -2px var(--mid),inset 2px 2px var(--black);
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--desk);color:var(--ink);font-family:var(--font-ui);font-size:14px;line-height:1.5}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--desk)}
a{color:var(--link)}
button{font:inherit;color:var(--ink)}
input,select,textarea{color:var(--ink);color-scheme:light;-webkit-text-fill-color:var(--ink)}
input::placeholder{color:var(--ink3);-webkit-text-fill-color:var(--ink3)}
.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
h1,h2,h3{margin:0;text-wrap:balance;font-weight:700}
h1{font-size:22px;letter-spacing:-.01em}
h2{font-size:16px}
h3{font-size:13px}
.muted{color:var(--ink3)}
.small{font-size:12.5px}

/* desktop */
#desk{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:18px calc(74px + env(safe-area-inset-bottom,0px));max-width:1280px;margin:0 auto;display:grid;gap:16px}
section[hidden]{display:none}

/* window chrome */
.win{background:var(--face);box-shadow:var(--bevel-out);padding:3px}
.tb{background:linear-gradient(90deg,var(--title-a),var(--title-b));color:var(--title-fg);padding:5px 6px 5px 10px;display:flex;align-items:center;gap:10px;min-height:32px;font-weight:700;font-size:14px}
.tb .ico{width:16px;height:16px;flex:none;background:var(--face);box-shadow:var(--bevel-out);display:inline-block}
.tb .sp{flex:1}
.hb{background:var(--face);box-shadow:var(--bevel-out);border:0;width:26px;height:22px;font-weight:700;font-size:13px;cursor:pointer;color:var(--ink);font-family:Georgia,serif;font-style:italic}
.hb:active{box-shadow:var(--bevel-in)}
.tb .wb{display:inline-flex;gap:3px}
.tb .wb span{width:20px;height:18px;background:var(--face);box-shadow:var(--bevel-out);color:var(--ink);font-size:11px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.menubar{display:flex;flex-wrap:wrap;gap:2px;padding:3px 4px;border-bottom:1px solid var(--dark);box-shadow:0 1px 0 var(--light)}
.menubar span{padding:3px 8px;font-size:13px}
.menubar span u{text-decoration:underline}
.body{padding:18px 20px 20px}
.statusbar{display:flex;flex-wrap:wrap;gap:4px;padding:4px;margin-top:4px}
.statusbar div{flex:1 1 auto;box-shadow:var(--bevel-in);padding:4px 10px;font-size:12.5px;color:var(--ink2);min-width:0}
.statusbar div.fixed{flex:0 0 auto}

/* header window */
.head .body{padding:16px 20px;display:grid;grid-template-columns:1fr auto;gap:14px 24px;align-items:center}
.brandline{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 14px}
.brandline h1{font-size:26px}
.brandline .tag{font-size:12.5px;color:var(--ink3)}
.brand98{display:inline-flex;align-items:center;gap:12px;line-height:1}
.logo98{width:56px;height:56px;flex:none;shape-rendering:crispEdges}
.brand98 .wm{display:flex;flex-direction:column;gap:5px}
.brand98 .wm b{font:900 italic 38px/1 "Arial Black","Arial Bold",Gadget,Impact,sans-serif;letter-spacing:-.01em;white-space:nowrap;color:#000080;background:linear-gradient(180deg,#1a3cff 0%,#000080 55%,#00005a 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(1px 1px 0 #fff) drop-shadow(2px 2px 0 #404040)}
.brand98 .wm small{font:700 11.5px/1 Tahoma,Verdana,"Segoe UI",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#202020}
@media (max-width:520px){.logo98{width:42px;height:42px}.brand98 .wm b{font-size:27px}.brand98 .wm small{font-size:9.5px;letter-spacing:.1em}}

.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;background:var(--face);box-shadow:var(--bevel-in);font-size:12.5px;color:var(--ink2)}
.chip .led{width:9px;height:9px;border-radius:50%;background:#f4c000;box-shadow:inset 0 0 0 1px rgba(0,0,0,.35)}
.legal{background:#ffffe1;border:1px solid var(--black);padding:9px 12px;font-size:12.5px;line-height:1.45;display:flex;gap:10px;align-items:start;grid-column:1/-1}
.legal .i{flex:none;width:22px;height:22px;border-radius:50%;background:var(--title-a);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-family:Georgia,serif;font-style:italic}

/* buttons & fields, Apple-sized */
.btn{background:var(--face);box-shadow:var(--bevel-out);border:0;padding:10px 20px;min-height:40px;font-size:14px;cursor:pointer;position:relative}
.btn:active,.btn.on{box-shadow:var(--bevel-in);padding-top:11px;padding-bottom:9px}
.btn:focus-visible{outline:1px dotted var(--black);outline-offset:-5px}
.btn.primary{font-weight:700;box-shadow:var(--bevel-out),0 0 0 1px var(--black)}
.btn:disabled{color:var(--dark);text-shadow:1px 1px var(--light);cursor:not-allowed}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-size:13px;font-weight:700}
.field input,.field select{background:var(--paper);box-shadow:var(--bevel-field);border:0;padding:9px 10px;min-height:40px;font:inherit;font-family:var(--font-mono);font-size:14px;width:100%}
.field input:focus,.field select:focus{outline:1px dotted var(--black);outline-offset:-4px}
.field .unit{font-size:12px;color:var(--ink3)}
input[type=range]{accent-color:var(--title-a);background:transparent;box-shadow:none;padding:0;min-height:40px}
.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);font-weight:700}

/* toolbar */
.toolbar{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:space-between;margin-bottom:14px}
.legend{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--ink2);align-items:center}
.legend i{display:inline-block;width:24px;height:14px;border:1px solid var(--dark);vertical-align:middle;margin-right:4px}

/* grid */
.gridwrap{overflow-x:auto;background:var(--paper);box-shadow:var(--bevel-field);padding:2px}
table.grid{border-collapse:separate;border-spacing:0;min-width:1020px;width:100%}
table.grid thead th{position:sticky;top:0;z-index:2;background:var(--face);box-shadow:var(--bevel-out);padding:8px 6px;font-size:12px;text-align:center;font-weight:400;color:var(--ink2)}
table.grid thead th b{display:block;font-family:var(--font-mono);font-size:12.5px;color:var(--ink)}
table.grid th.rowh{position:sticky;left:0;z-index:3;background:var(--face);box-shadow:var(--bevel-out);text-align:left;padding:8px 12px;font-weight:400;font-size:13px;white-space:nowrap}
table.grid thead th.rowh{z-index:4}
table.grid tr.summary th.rowh{font-weight:700}
table.grid td{padding:0;border-right:1px solid var(--mid);border-bottom:1px solid var(--mid)}
table.grid tr.summary td{border-bottom:2px solid var(--dark)}
.cell{width:100%;min-height:48px;border:0;background:transparent;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 2px}
.cell:hover{box-shadow:inset 0 0 0 2px var(--title-a)}
.cell:focus-visible{outline:1px dotted var(--black);outline-offset:-3px}
.cell .sc{font-family:var(--font-mono);font-size:15px;font-weight:700;line-height:1}
.cell .tr{font-size:10.5px;line-height:1;color:var(--ink2)}
.b1{background:var(--b1)} .b2{background:var(--b2)} .b3{background:var(--b3)} .b4{background:var(--b4)} .b5{background:var(--b5)}

/* dialog */
.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:20}
.dlg{position:fixed;z-index:21;top:50%;left:50%;transform:translate(-50%,-50%);width:min(620px,calc(100% - 24px));max-height:calc(100% - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));display:flex;flex-direction:column}
.dlg .body{overflow-y:auto;padding:16px 18px 20px}
.dhead{display:flex;justify-content:space-between;gap:12px;align-items:start}
.dhead h2{font-size:20px}
.scorebox{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;margin:14px 0;padding:12px 14px;box-shadow:var(--bevel-in);background:var(--face)}
.scorebox .big{font-family:var(--font-mono);font-size:42px;font-weight:700;line-height:1;padding:6px 10px;border:1px solid var(--dark)}
.trend{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.trend span{font-family:var(--font-mono);font-size:12px;padding:3px 7px;background:var(--paper);box-shadow:var(--bevel-field)}
.up{color:var(--good)} .down{color:var(--bad)} .flat{color:var(--ink3)}
.dsec{margin-top:16px}
.dsec h3{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:8px;padding-bottom:3px;border-bottom:1px solid var(--dark);box-shadow:0 1px 0 var(--light)}
.conf{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink2)}
.conf i{display:inline-block;width:12px;height:12px;background:var(--paper);box-shadow:var(--bevel-field);margin-right:3px}
.conf i.on{background:var(--title-a)}
.hz{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.hz div{background:var(--paper);box-shadow:var(--bevel-field);padding:8px 10px}
.hz .l{font-size:11px;color:var(--ink3);text-transform:uppercase;letter-spacing:.05em}
.hz .v{font-family:var(--font-mono);font-size:20px;font-weight:700}
.sig{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.sig li.pos{background:#eaf6ea} .sig li.neg{background:#fbeaea}
.sig li{display:grid;grid-template-columns:26px 1fr;gap:8px;padding:8px 10px;background:var(--paper);box-shadow:var(--bevel-field)}
.sig .d{font-family:var(--font-mono);font-weight:700;font-size:16px;text-align:center}
.sig .t{font-size:13.5px}
.sig .m{font-size:11.5px;color:var(--ink3);margin-top:3px;display:flex;flex-wrap:wrap;gap:4px 10px}
.tag{display:inline-block;font-size:10.5px;padding:1px 6px;border:1px solid var(--dark);color:var(--ink2);text-transform:uppercase;letter-spacing:.04em;background:var(--face)}
.div{background:#ffffe1;border:1px solid var(--black);padding:9px 11px;margin-bottom:6px;font-size:13.5px}
.div b{color:var(--warn)}
.bars{display:grid;grid-template-columns:150px 1fr 36px;gap:5px 10px;align-items:center;font-size:12.5px}
.bars .track{height:10px;background:var(--paper);box-shadow:var(--bevel-field);position:relative}
.bars .track i{position:absolute;top:2px;bottom:2px}
.bars .track i.p{left:50%;background:var(--good)} .bars .track i.n{right:50%;background:var(--bad)}
.bars .val{font-family:var(--font-mono);text-align:right;color:var(--ink2)}
.msg{max-width:88%;padding:10px 12px;font-size:13.5px;white-space:pre-wrap;line-height:1.5}
.msg.u{align-self:flex-end;background:var(--paper);box-shadow:var(--bevel-field)}
.msg.a{align-self:flex-start;background:#ffffe1;border:1px solid var(--black)}
.msg.a .who{font-size:11px;color:var(--ink3);text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:4px}
.hint{background:var(--face);box-shadow:var(--bevel-out);border:0;padding:8px 10px;text-align:left;cursor:pointer;font-size:12.5px;min-height:40px}
.note{font-size:12px;color:var(--ink3);margin-top:16px;padding-top:8px;border-top:1px solid var(--dark);box-shadow:0 1px 0 var(--light) inset}
.spark{width:100%;height:72px;display:block;background:var(--paper);box-shadow:var(--bevel-field)}

/* project */
.steps{display:grid;gap:14px;max-width:880px}
.group{box-shadow:var(--bevel-in);padding:14px 16px 16px;position:relative;margin-top:8px}
.group>legend,.group .lg{position:absolute;top:-10px;left:12px;background:var(--face);padding:0 6px;font-weight:700;font-size:13px}
.help{color:var(--ink2);margin:10px 0 14px;font-size:13px;max-width:70ch}
.profiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.pcard{background:var(--face);box-shadow:var(--bevel-out);border:0;padding:14px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;min-width:0;min-height:44px}
.pcard b{font-size:15px}
.pcard small{color:var(--ink2);font-size:12.5px;line-height:1.4}
.pcard .hz-l{font-family:var(--font-mono);font-size:11px;color:var(--title-a)}
.pcard.on{box-shadow:var(--bevel-in);background:var(--paper)}
.pcard:focus-visible{outline:1px dotted var(--black);outline-offset:-5px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.sugg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.sugg button{background:var(--face);box-shadow:var(--bevel-out);border:0;padding:9px 10px;text-align:left;cursor:pointer;min-width:0;min-height:44px}
.sugg button.on{box-shadow:var(--bevel-in);background:var(--paper)}
.sugg b{display:block;font-size:13px}
.sugg small{color:var(--ink2);font-size:12px}
.sugg .s{font-family:var(--font-mono);float:right;font-weight:700}
.ack{display:flex;gap:10px;align-items:start;padding:12px;background:#ffffe1;border:1px solid var(--black);font-size:13px;margin-top:14px;cursor:pointer}
.ack input{margin-top:3px;width:16px;height:16px;flex:none}
.results{box-shadow:var(--bevel-in);padding:16px 18px;background:var(--face2)}
.scen{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.scen div{background:var(--paper);box-shadow:var(--bevel-field);padding:10px 12px;min-width:0}
.scen .l{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);font-weight:700}
.scen .v{font-family:var(--font-mono);font-size:21px;font-weight:700;margin:4px 0 2px}
.scen .g{font-family:var(--font-mono);font-size:13px}
.range{position:relative;height:26px;margin:8px 0 2px}
.range .tr{position:absolute;left:0;right:0;top:11px;height:6px;background:var(--paper);box-shadow:var(--bevel-field)}
.range .seg{position:absolute;top:13px;height:2px;background:var(--title-a)}
.range .mk{position:absolute;top:5px;width:14px;height:16px;background:var(--face);box-shadow:var(--bevel-out);transform:translateX(-50%)}
.range .mk.z{background:var(--dark)}
.range-l{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11.5px;color:var(--ink3);gap:8px;flex-wrap:wrap}
.risk{border:1px solid var(--bad);background:#fff3f3;padding:10px 12px;margin-top:12px;font-size:13.5px}
.reading{margin-top:14px;font-size:13.5px}
.reading ul{margin:6px 0 0;padding-left:18px;color:var(--ink2)}
.legalbox{margin-top:16px;padding:10px 12px;background:#ffffe1;border:1px solid var(--black);font-size:12.5px;color:var(--ink2)}
.legalbox b{color:var(--ink)}

/* insiders */
.panels{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.panel{min-width:0}
.panel.wide{grid-column:1/-1}
.tablewrap{overflow-x:auto;background:var(--paper);box-shadow:var(--bevel-field);padding:2px}
table.list{border-collapse:separate;border-spacing:0;width:100%;font-size:13px;min-width:640px}
table.list th{background:var(--face);box-shadow:var(--bevel-out);padding:7px 9px;text-align:left;font-weight:400;color:var(--ink2);font-size:12px;position:sticky;top:0;white-space:nowrap}
table.list td{padding:8px 9px;border-bottom:1px solid var(--mid);vertical-align:top}
table.list tr.x{cursor:pointer}
table.list tr.x:hover td{background:#eef0ff}
table.list tr.x.open td{background:#e6e9f5}
table.list tr.det td{background:#ffffe1;border-bottom:1px solid var(--dark);padding:12px 14px;cursor:default}
.det .dt{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;font-size:13px}
.det .dt b{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink3);margin-bottom:2px}
@media (max-width:820px){.det .dt{grid-template-columns:1fr}}
.pill{display:inline-block;padding:1px 7px;font-size:11.5px;border:1px solid var(--dark);background:var(--face)}
.pill.buy{background:var(--b4)} .pill.sell{background:var(--b1)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.kpi{background:var(--paper);box-shadow:var(--bevel-field);padding:10px 12px;min-width:0}
.kpi .l{font-size:11px;color:var(--ink3);text-transform:uppercase;letter-spacing:.05em}
.kpi .v{font-family:var(--font-mono);font-size:20px;font-weight:700}
.kpi .d{font-size:12px}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;align-items:center}
.filters select{background:var(--paper);box-shadow:var(--bevel-field);border:0;padding:8px 10px;min-height:40px;font:inherit;font-size:13px}

/* signatures */
.counters{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.counters div{background:var(--paper);box-shadow:var(--bevel-field);padding:10px 12px;min-width:0}
.counters .v{font-family:var(--font-mono);font-size:22px;font-weight:700;line-height:1.1}
.counters .l{font-size:11px;color:var(--ink3);text-transform:uppercase;letter-spacing:.05em;margin-top:3px}
.stack{display:flex;flex-direction:column;gap:6px}
.item{background:var(--paper);box-shadow:var(--bevel-field);border:0;text-align:left;padding:9px 11px;cursor:pointer;font-size:13px;min-height:44px;width:100%}
.item:hover{background:#eef0ff}
.item b{display:block}
.item .k{font-family:var(--font-mono);font-size:12px;color:var(--ink3)}
.item .more{display:none;margin-top:8px;padding-top:8px;border-top:1px solid var(--mid);color:var(--ink2);font-size:12.5px;line-height:1.45}
.item.open .more{display:block}
.strat{margin-top:14px;background:var(--face);box-shadow:var(--bevel-out)}
.strat summary{cursor:pointer;padding:11px 14px;font-weight:700;min-height:44px;display:flex;align-items:center}
.strat>div{padding:4px 14px 14px}
/* touche 2026 */
.win{box-shadow:var(--bevel-out),0 10px 28px rgba(0,0,0,.22)}
.pcard,.hint,.item,.sugg button{transition:transform .12s ease,box-shadow .12s ease}
.pcard:hover,.hint:hover,.sugg button:hover{transform:translateY(-1px)}
.tb{box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.badge{display:inline-block;font-size:10.5px;padding:2px 7px;margin-top:4px;border:1px solid;letter-spacing:.04em;text-transform:uppercase;font-weight:700}
.badge.ok{color:var(--good);border-color:var(--good);background:#eaf6ea}
.badge.mid{color:var(--warn);border-color:var(--warn);background:#fff6df}
.badge.no{color:var(--bad);border-color:var(--bad);background:#fdeaea}
.pcard.fit{box-shadow:var(--bevel-out),0 0 0 2px var(--good) inset}
.pcard.nofit{opacity:.72}
.chain{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px}
.chain .c{background:var(--face);box-shadow:var(--bevel-out);padding:5px 9px;font-size:12.5px;max-width:100%}
.chain .c small{display:block;font-size:10.5px;color:var(--ink3);text-transform:uppercase;letter-spacing:.04em}
.chain .ar{font-family:var(--font-mono);color:var(--ink3)}
.chain .c.end{background:var(--b4);box-shadow:var(--bevel-field)}
/* pro tools */
.protools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}
.protools select{background:var(--paper);box-shadow:var(--bevel-field);border:0;padding:8px 10px;min-height:40px;font:inherit;font-size:13px}
.protools input{flex:1 1 260px;background:var(--paper);box-shadow:var(--bevel-field);border:0;padding:9px 11px;min-height:40px;font:inherit;min-width:0}
.protools .kbd{flex:1 1 100%;font-size:11.5px}
.protools .kbd b{font-family:var(--font-mono);background:var(--paper);box-shadow:var(--bevel-field);padding:0 5px}
table.grid.dense .cell{min-height:30px;gap:0}
table.grid.dense .cell .tr{display:none}
table.grid.dense .cell .sc{font-size:13px}
table.grid tr.hide,table.grid td.hide{display:none}
.cell.w::after{content:"★";position:absolute;top:1px;right:3px;font-size:9px;color:var(--title-a)}
.cell{position:relative}
.alertbox{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px}
.alertbox input{width:80px;background:var(--paper);box-shadow:var(--bevel-field);border:0;padding:7px 9px;min-height:36px;font:inherit;font-family:var(--font-mono)}
.fp{font-family:var(--font-mono);font-size:11px;color:var(--ink3);word-break:break-all}
/* sas d'entrée */
#gate{position:fixed;inset:0;z-index:40;background:var(--desk);overflow-y:auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:calc(18px + env(safe-area-inset-top,0px)) calc(24px + env(safe-area-inset-bottom,0px))}
#gate[hidden]{display:none}
.gatewrap{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.25fr 1fr;gap:16px;align-items:start}
.hero .body{padding:22px 24px}
.hero h1{font-size:34px;letter-spacing:-.02em;line-height:1.1}
.hero .sub{font-size:16px;color:var(--ink2);margin:10px 0 16px;max-width:60ch}
.claims{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.claims div{background:var(--paper);box-shadow:var(--bevel-field);padding:12px 14px;min-width:0}
.claims .v{font-family:var(--font-mono);font-size:26px;font-weight:700;line-height:1}
.claims .l{font-size:11.5px;color:var(--ink3);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}
.teaser{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.tz{background:var(--paper);box-shadow:var(--bevel-field);padding:10px 12px;position:relative;min-width:0;overflow:hidden}
.tz b{display:block;font-size:13px}
.tz .k{font-family:var(--font-mono);font-size:12px;color:var(--ink3)}
.tz.lock .blur{filter:blur(5px);user-select:none;pointer-events:none}
.tz.lock::after{content:"réservé aux membres";position:absolute;right:8px;top:8px;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;background:var(--face);box-shadow:var(--bevel-out);padding:2px 7px}
.marq{overflow:hidden;white-space:nowrap;background:var(--paper);box-shadow:var(--bevel-field);padding:6px 0;margin-top:12px;font-family:var(--font-mono);font-size:12.5px}
.marq span{display:inline-block;padding-left:100%;animation:marq 38s linear infinite}
@keyframes marq{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion: reduce){.marq span{animation:none;padding-left:8px}}
.logon .body{padding:18px 20px}
.logon .tabs{display:flex;gap:2px;margin-bottom:14px}
.logon .tabs button{flex:1;min-height:40px}
.logon .fields{grid-template-columns:1fr 1fr}
.err{color:var(--bad);font-size:12.5px;min-height:18px;margin-top:6px}
.ok{color:var(--good);font-size:13px}
/* personnage */
#agent{position:fixed;right:max(14px,env(safe-area-inset-right,0px));bottom:calc(66px + env(safe-area-inset-bottom,0px));z-index:14;display:flex;flex-direction:column;align-items:flex-end;gap:6px;width:min(300px,calc(100% - 28px))}
#agent[hidden]{display:none}
.bubble{background:#ffffe1;border:1px solid var(--black);padding:10px 12px;font-size:13px;line-height:1.45;position:relative;box-shadow:3px 3px 0 rgba(0,0,0,.25);max-width:100%}
.bubble::after{content:"";position:absolute;right:28px;bottom:-9px;width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:9px solid var(--black)}
.bubble .bx{position:absolute;top:2px;right:6px;font-size:11px;cursor:pointer;background:transparent;border:0;padding:2px 4px}
.sprite{width:96px;height:96px;cursor:pointer;filter:drop-shadow(2px 3px 0 rgba(0,0,0,.25))}
.sprite svg{width:100%;height:100%;overflow:visible}
.bob{animation:bob 2.6s ease-in-out infinite;transform-origin:50% 100%}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.blink{animation:blink 4s steps(1) infinite}
@keyframes blink{0%,92%,100%{opacity:1}94%,97%{opacity:0}}
@media (prefers-reduced-motion: reduce){.bob,.blink{animation:none}}
.agentbtns{display:flex;gap:4px}
.agentbtns .btn{min-height:30px;padding:4px 10px;font-size:12px}
.picker .body{padding:16px 18px;text-align:center}
.picker .sprite{width:140px;height:140px;margin:6px auto;cursor:default}
.picker .nm{font-weight:700;font-size:16px;background:var(--title-a);color:#fff;padding:4px 14px;display:inline-block}
.picker .desc{font-size:13px;color:var(--ink2);margin:8px 0 12px;min-height:40px}
.userchip{display:inline-flex;align-items:center;gap:8px}
@media (max-width:820px){.gatewrap,.claims,.teaser,.logon .fields{grid-template-columns:1fr}.hero h1{font-size:26px}#agent{width:min(240px,calc(100% - 28px))}.sprite{width:76px;height:76px}}
/* un écran par onglet */
.screen{display:flex;flex-direction:column;min-height:0}
.screen>.body{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
.split{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);padding:10px 12px 8px}
.split .main{min-width:0;display:flex;flex-direction:column;min-height:0;padding-right:12px}
.split .main .gridwrap{flex:1;min-height:0;overflow:auto}
.split .side{min-width:0;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--dark);box-shadow:inset 1px 0 var(--light);padding-left:12px}
.tabbed{display:flex;flex-direction:column;min-height:0}
.tabs{display:flex;flex-wrap:wrap;gap:2px;flex:none}
.tabs button{background:var(--face);box-shadow:var(--bevel-out);border:0;padding:0 12px;min-height:38px;font:inherit;font-size:13px;cursor:pointer;color:var(--ink)}
.tabs button.on{box-shadow:var(--bevel-in);background:var(--mid);font-weight:700}
.tabbed>.panel,.side>.panel{flex:1;min-height:0;overflow:auto;padding:10px 2px 6px 0}
.stack3{display:grid;gap:10px}
.side .counters{grid-template-columns:repeat(2,1fr)}
.side .counters .v{font-size:18px}
.side .group{margin-top:10px}
.ticker{display:flex;align-items:center;gap:6px;background:var(--paper);box-shadow:var(--bevel-field);padding:4px 6px;margin-bottom:8px;min-height:44px}
.ticker .tk{min-height:32px;padding:0 9px;flex:none}
.tkbody{flex:1;min-width:0;font-size:13px;line-height:1.35;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.tkbody .tkdir{font-family:var(--font-mono);font-weight:700}
.tkbody .tkmeta{font-size:11.5px;color:var(--ink3);font-family:var(--font-mono)}
.tkfade{animation:tkfade .4s ease}
@keyframes tkfade{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.wiznav{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:10px;flex:none;align-items:center}
.wiznav span{font-size:12px;padding:5px 10px;background:var(--face);box-shadow:var(--bevel-out);color:var(--ink3)}
.wiznav span.on{box-shadow:var(--bevel-in);background:var(--mid);color:var(--ink);font-weight:700}
.wiznav span.done{color:var(--good)}
.wizbtns{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;flex:none}
#steps{flex:1;min-height:0;overflow:auto}
#v-projet .results{flex:1;min-height:0;overflow:auto}
#v-guide .body{padding:0}
.legal.compact>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.legal.compact.open>div{white-space:normal}
.head .body{padding:10px 16px;gap:8px 18px}
.brandline h1{font-size:22px}
@media (min-width:821px){
  .screen{height:calc(100dvh - 104px - 66px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));min-height:520px}
  #desk{padding-block:10px calc(62px + env(safe-area-inset-bottom,0px));gap:10px}
  #v-methode .body,#v-legal .body{overflow:auto}
}
@media (max-width:820px){
  .split{grid-template-columns:1fr;padding:8px}
  .split .main{padding-right:0;max-height:62dvh}
  .split .side{border-left:0;padding-left:0;border-top:1px solid var(--dark);box-shadow:inset 0 1px var(--light);padding-top:8px;margin-top:8px;max-height:70dvh}
  .tabs button{flex:1 1 auto;padding:0 8px;font-size:12.5px}
  .brandline .tag{display:none}
  .legal.compact{font-size:12px}
}

/* accordion */
.acc{display:flex;flex-direction:column;gap:6px}
.acc details{background:var(--face);box-shadow:var(--bevel-out)}
.acc summary{list-style:none;cursor:pointer;padding:11px 14px;font-weight:700;font-size:14px;display:flex;align-items:center;gap:10px;min-height:44px}
.acc summary::-webkit-details-marker{display:none}
.acc summary::before{content:"+";font-family:var(--font-mono);width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;background:var(--paper);box-shadow:var(--bevel-field);font-size:13px;flex:none}
.acc details[open] summary::before{content:"−"}
.acc details[open] summary{border-bottom:1px solid var(--dark);box-shadow:0 1px 0 var(--light)}
.acc details>div{padding:12px 14px 14px}
.acc .prose p:first-child{margin-top:0}
.acc .prose p:last-child,.acc .prose ul:last-child{margin-bottom:0}
/* prose */
.prose{max-width:74ch}
.prose h2{font-size:17px;margin:24px 0 8px;padding-bottom:3px;border-bottom:1px solid var(--dark);box-shadow:0 1px 0 var(--light)}
.prose p,.prose li{color:var(--ink2)}
.prose b{color:var(--ink)}
.prose table{border-collapse:collapse;width:100%;font-size:13px;margin:8px 0;background:var(--paper)}
.prose th,.prose td{border:1px solid var(--dark);padding:6px 9px;text-align:left;vertical-align:top}
.prose th{background:var(--face);color:var(--ink)}
.prose .formula{font-family:var(--font-mono);background:var(--paper);box-shadow:var(--bevel-field);padding:10px 12px;overflow-x:auto;font-size:13px}
.callout{background:#ffffe1;border:1px solid var(--black);padding:10px 12px;margin:12px 0}

/* taskbar = navigation */
.taskbar{position:fixed;left:0;right:0;bottom:0;z-index:15;background:var(--face);box-shadow:inset 0 1px var(--light),0 -1px var(--dark);padding-left:max(6px,env(safe-area-inset-left,0px));padding-right:max(6px,env(safe-area-inset-right,0px));padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px));display:flex;gap:4px;align-items:stretch;overflow-x:auto}
.start{font-weight:700;display:inline-flex;align-items:center;gap:8px;padding:0 12px;min-height:44px;flex:none;text-decoration:none;color:var(--ink);background:var(--face);box-shadow:var(--bevel-out)}
.start i{width:18px;height:18px;background:linear-gradient(135deg,#e03d3d 0 50%,#3d7de0 50% 100%);display:inline-block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.3)}
.taskbar .sep{width:2px;flex:none;box-shadow:inset 1px 0 var(--dark),inset -1px 0 var(--light);margin:2px 2px}
.taskbar nav{display:flex;gap:4px;flex:1}
.taskbar nav a{text-decoration:none;color:var(--ink);background:var(--face);box-shadow:var(--bevel-out);padding:0 14px;min-height:44px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-size:13.5px;flex:1 1 auto;justify-content:center;min-width:0}
.taskbar nav a.on{box-shadow:var(--bevel-in);background:var(--mid);font-weight:700}
.taskbar nav a i{width:14px;height:14px;display:inline-block;flex:none;box-shadow:inset 0 0 0 1px rgba(0,0,0,.4)}
.taskbar .clock{flex:none;box-shadow:var(--bevel-in);padding:0 12px;display:inline-flex;align-items:center;font-size:12.5px;font-family:var(--font-mono)}

@media (max-width:820px){
  .head .body{grid-template-columns:1fr}
  #newsBody{grid-template-columns:1fr}
  #chatBody{grid-template-columns:1fr}
  #chatSide{border-left:0;border-top:1px solid var(--dark);box-shadow:inset 0 1px var(--light)}
  #bankTable{min-width:560px}
  .profiles,.scen,.sugg,.panels,.kpis{grid-template-columns:1fr}
  .counters{grid-template-columns:1fr 1fr}
  #v-sig .panels{grid-template-columns:1fr !important}
  .kpis{grid-template-columns:1fr 1fr}
  .fields{grid-template-columns:1fr}
  .bars{grid-template-columns:100px 1fr 34px}
  .body{padding:14px}
  .taskbar nav a span{display:none}
  .taskbar nav a{padding:0 10px}
  .taskbar .clock{display:none}
  .start span{display:none}
  .brandline h1{font-size:22px}
}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} }

/* ===== v1.2 : page unique, en-tête feuille, pas de double scroll ===== */
.screen{height:auto!important;min-height:0!important}
.screen>.body,.tabbed>.panel,.side>.panel,#steps,#v-projet .results{overflow:visible!important;max-height:none!important}
.split .main{max-height:none!important}
#desk{max-width:none;padding-left:0;padding-right:0;padding-block:0 32px;gap:0;grid-template-columns:minmax(0,1fr)}
.sheetbar>*{min-width:0}
.head>.body{grid-template-columns:minmax(0,1fr);min-width:0}.head>.body>*{min-width:0}.head .chips{flex-wrap:wrap}
.legal.compact>div{min-width:0}
#desk>section,#desk>.duo,#desk>.win:not(.head){width:min(1400px,calc(100% - 2*max(16px,env(safe-area-inset-left,0px))));margin:14px auto 0}
.head{width:100%;margin:0;box-shadow:var(--bevel-out);position:sticky;top:env(safe-area-inset-top,0px);z-index:9}
.head .body{padding:8px max(16px,env(safe-area-inset-left,0px)) 6px;display:grid;grid-template-columns:1fr auto;gap:6px 18px;align-items:center}
.head .legal{padding:6px 10px}
.sheetbar{background:var(--face2);border-top:1px solid var(--dark);box-shadow:inset 0 1px var(--light);padding:4px max(16px,env(safe-area-inset-left,0px)) 0;display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px 10px}
.sheets{display:flex;gap:2px;align-items:flex-end;overflow-x:auto;flex-wrap:nowrap;max-width:100%;padding-bottom:0}
.sheets a,.sheets .sheetadd{flex:none;text-decoration:none;color:var(--ink);background:var(--face);box-shadow:var(--bevel-out);padding:0 12px;min-height:38px;display:inline-flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap;border:0;font:inherit;cursor:pointer;margin-bottom:-1px}
.sheets a i{width:11px;height:11px;display:inline-block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.4)}
.sheets a.on{background:var(--paper);box-shadow:inset 1px 1px var(--light),inset -1px 0 var(--dark);font-weight:700;min-height:42px}
.sheets .sheetadd{font-weight:700;font-size:16px;padding:0 12px}
.sheets a .del{margin-left:4px;font-size:11px;opacity:.6}
.sheetnew{display:flex;gap:6px;align-items:center;padding:4px 0 6px}
.sheetnew input{background:var(--paper);box-shadow:var(--bevel-field);border:0;padding:7px 10px;min-height:36px;font:inherit;min-width:220px}
.easy{display:flex;flex-direction:column;gap:8px;margin:4px 0 10px}
.chipsrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.chipsrow .btn{min-height:36px;padding:6px 12px;font-size:13px}
.chipsrow input[type=search]{background:var(--paper);box-shadow:var(--bevel-field);border:0;padding:8px 10px;min-height:36px;font:inherit;flex:1 1 180px;min-width:0}
.chipsrow .sel{display:inline-flex;align-items:center;gap:6px;font-size:13px}
.chipsrow select{background:var(--paper);box-shadow:var(--bevel-field);border:0;padding:6px 8px;min-height:36px;font:inherit;font-size:13px}
.chipsrow .tog{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;min-height:36px}
.chipsrow .tog input{width:16px;height:16px}
.viewsw{margin-left:auto;display:inline-flex;gap:2px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.ccard{background:var(--paper);box-shadow:var(--bevel-field);border:0;text-align:left;padding:10px 12px;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:4px 10px;min-width:0;font:inherit;color:var(--ink)}
.ccard:hover{outline:2px solid var(--title-a);outline-offset:-2px}
.ccard .cn{font-weight:700;font-size:14px}
.ccard .cc{font-family:var(--font-mono);font-size:11px;color:var(--ink3)}
.ccard .sc{font-family:var(--font-mono);font-size:26px;font-weight:700;line-height:1;padding:4px 8px;grid-row:1/3;align-self:start}
.ccard .ln{font-size:12px;color:var(--ink2);grid-column:1/-1;display:flex;justify-content:space-between;gap:8px}
.ccard .ln b{color:var(--ink)}
.ccard .cov{font-size:10.5px;color:var(--warn)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.duo>.win{margin:0!important;width:auto!important;min-width:0}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.trio .group{margin-top:12px}
.cal{display:grid;grid-template-columns:repeat(14,1fr);gap:4px}
.cal .day{background:var(--paper);box-shadow:var(--bevel-field);padding:6px 4px;text-align:center;cursor:pointer;border:0;font:inherit;min-width:0}
.cal .day.on{outline:2px solid var(--title-a);outline-offset:-2px}
.cal .d{font-family:var(--font-mono);font-size:11px;color:var(--ink3)}
.cal .bars{display:flex;justify-content:center;align-items:flex-end;gap:3px;height:54px;margin:4px 0}
.cal .bars i{display:block;width:9px;background:var(--good)}
.cal .bars i.f{background:var(--bad)}
.cal .n{font-family:var(--font-mono);font-size:11px}
.caldet{margin-top:10px;background:#ffffe1;border:1px solid var(--black);padding:9px 12px;font-size:13px}
.qwrap{max-width:720px;margin:0 auto;text-align:center}
.qcard{background:var(--paper);box-shadow:var(--bevel-field);padding:22px 20px;margin:6px 0 10px}
.qcard .qn{font-size:11.5px;color:var(--ink3);letter-spacing:.06em;text-transform:uppercase}
.qcard .qq{font-size:18px;font-weight:700;margin:6px 0 16px}
.qcard .qo{display:flex;flex-direction:column;gap:8px;max-width:520px;margin:0 auto}
.qcard .qo label{display:flex;align-items:center;gap:10px;text-align:left}
.qprog{display:flex;gap:4px;justify-content:center;margin-bottom:8px}
.qprog i{width:26px;height:6px;background:var(--paper);box-shadow:var(--bevel-field)}
.qprog i.on{background:var(--title-a)}
.qprog i.done{background:var(--good)}
.articles{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.art{background:var(--paper);box-shadow:var(--bevel-field);padding:16px 18px;min-width:0}
.art .k{font-size:11px;color:var(--ink3);letter-spacing:.06em;text-transform:uppercase}
.art h2{font-size:19px;line-height:1.25;margin:6px 0 8px}
.art .ch{font-size:14px;color:var(--ink2);margin:0 0 10px;font-style:italic}
.art h3{font-size:14px;margin:12px 0 4px}
.art p{margin:0 0 6px;font-size:13.5px;color:var(--ink2)}
.art .src{font-size:12px;color:var(--ink3);margin-top:10px;border-top:1px solid var(--mid);padding-top:8px}
.art .act{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.seo{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.seo .box{background:var(--paper);box-shadow:var(--bevel-field);padding:12px 14px;min-width:0;font-size:13px}
.seo .box b.t{display:block;margin-bottom:6px}
.seo .box .mono{display:block;background:var(--face2);padding:6px 8px;margin:4px 0;font-size:12px;word-break:break-word}
.seo table{width:100%;border-collapse:collapse;font-size:12.5px}
.seo th,.seo td{border:1px solid var(--mid);padding:5px 7px;text-align:left;vertical-align:top}
.seo th{background:var(--face)}
.calweek{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.calweek .wd{background:var(--paper);box-shadow:var(--bevel-field);padding:8px;min-height:110px;font-size:12.5px;min-width:0}
.calweek .wd b{display:block;font-family:var(--font-mono);font-size:12px;color:var(--ink3)}
.calweek .ev{margin-top:6px;padding:4px 6px;background:#eef0ff;border-left:3px solid var(--title-a)}
.calweek .ev.b{background:#fff6df;border-left-color:var(--warn)}
.calweek .ev.s{background:#eaf6ea;border-left-color:var(--good)}
.usersheet .cards{margin-top:8px}
@media (max-width:820px){
  .duo,.trio,.articles,.seo{grid-template-columns:1fr}
  .cal{grid-template-columns:repeat(7,1fr)}
  .calweek{grid-template-columns:1fr 1fr}
  #chatBody{grid-template-columns:1fr!important}
  .head .body{grid-template-columns:1fr}
  .viewsw{margin-left:0}
  .cards{grid-template-columns:1fr 1fr}
  .head{position:static}
}

/* ===== v1.3 ===== */
.real{display:inline-block;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--good);border:1px solid var(--good);background:#eaf6ea;padding:1px 6px;margin-left:4px;font-family:var(--font-ui)}
[hidden]{display:none!important}
.sim{color:var(--ink3)}
:root{--map-sea:#dfe8ee;--map-land:#cfd8c3}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--map-sea:#1c2a33;--map-land:#39483a}}
:root[data-theme="dark"]{--map-sea:#1c2a33;--map-land:#39483a}
.salon{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:14px}
@media (max-width:820px){.salon{grid-template-columns:1fr}}
.smap svg{width:100%;height:auto;display:block;border:1px solid var(--ink3);background:var(--map-sea);box-shadow:var(--bevel-in)}
.smap .pin{font:700 11px/1 "Segoe UI",system-ui,sans-serif;fill:var(--ink)}
.schat{min-width:0;display:flex;flex-direction:column}
.slog{min-height:220px;max-height:46vh;overflow:auto;background:var(--field);box-shadow:var(--bevel-in);padding:8px;font-size:13.5px;display:flex;flex-direction:column;gap:6px}
.slog .msg{display:flex;flex-direction:column;gap:2px;padding:6px 8px;background:var(--win);box-shadow:var(--bevel-out)}
.slog .msg.me{align-self:flex-end;background:#e9f1e3}
.slog .msg.sys{align-self:center;background:transparent;box-shadow:none;color:var(--ink3);font-size:12px}
.slog .msg .who{font-size:11.5px;color:var(--ink3)}
.sform{display:flex;gap:6px;margin-top:8px}
.sform input{flex:1;min-width:0}
.trust{display:flex;gap:10px;align-items:flex-start;margin:10px 0;padding:8px 10px;background:#eaf6ea;border:2px solid #1e7a3c;box-shadow:var(--bevel-out);font-size:13px;color:#0f3a1c}
.trust .lock{font-size:18px;line-height:1}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .trust{background:#16301d;color:#cfeedd}}
:root[data-theme="dark"] .trust{background:#16301d;color:#cfeedd}
.chan td,.chan th{font-size:12.5px}
.histlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:50vh;overflow:auto}
.histlist li{display:flex;gap:10px;font-size:13px;padding:4px 6px;background:var(--field);box-shadow:var(--bevel-in)}
.histlist li .t{font-family:"Consolas","Courier New",monospace;color:var(--ink3);flex:none}
/* widget filtre pays : cases Windows 98 */
.ctryf{display:inline-flex;flex-wrap:wrap;gap:4px;align-items:center;background:var(--field);box-shadow:var(--bevel-in);padding:4px;max-width:100%}
.ctryf details{position:relative}
.ctryf details>summary{list-style:none;cursor:pointer;padding:3px 10px;background:var(--face);box-shadow:var(--bevel-out);font:700 12.5px/1 Tahoma,Verdana,"Segoe UI",sans-serif;user-select:none}
.ctryf details>summary::-webkit-details-marker{display:none}
.ctryf details[open]>summary{box-shadow:var(--bevel-in);background:var(--field)}
.ctryf details>div{position:absolute;z-index:40;top:calc(100% + 2px);left:0;background:var(--face);box-shadow:var(--bevel-out),0 6px 20px rgba(0,0,0,.25);padding:8px;min-width:220px;max-height:260px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}
.ctryf details>div .act{grid-column:1/-1;display:flex;gap:4px;margin-bottom:4px}
.ctryf details>div .act button{font:700 11.5px/1 Tahoma,Verdana,"Segoe UI",sans-serif;padding:3px 8px;background:var(--face);box-shadow:var(--bevel-out);cursor:pointer}
.ctryf label{display:flex;align-items:center;gap:5px;font:400 12.5px/1.2 Tahoma,Verdana,"Segoe UI",sans-serif;cursor:pointer}
.ctryf label input{margin:0}
.ctryf .pill{font:700 11px/1 monospace;padding:2px 6px;background:#eaf6ea;color:var(--good);border:1px solid var(--good)}
.masthead{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding:10px 14px;background:var(--paper);box-shadow:var(--bevel-field);margin-bottom:12px}
.mh-brand{display:inline-flex;align-items:baseline;gap:4px;font-weight:700;letter-spacing:-.02em}
.mh-flux{font-size:30px}
.mh-info{font-size:30px;background:var(--title-a);color:#fff;padding:0 8px}
.mh-sub{font-size:13px;color:var(--ink2);flex:1 1 320px;min-width:0}
.mh-live{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--ink3)}
.mh-live .led{width:9px;height:9px;border-radius:50%;background:#c0392b;box-shadow:0 0 0 2px #f6c6c0}
.yrs{display:grid;grid-template-columns:repeat(11,1fr);gap:4px}
.yr{text-align:center;min-width:0}
.yr .bars{display:flex;justify-content:center;align-items:flex-end;gap:2px;height:94px}
.yr .bars i{display:block;width:9px;background:var(--good)}
.yr .bars i.f{background:var(--bad)}
.yr .n{font-size:10.5px}
.finwrap .fields .field{min-width:0}
#finForm .btn{width:100%}
@media (max-width:820px){#finForm{grid-template-columns:1fr 1fr!important}.yrs{grid-template-columns:repeat(6,1fr)}.mh-flux,.mh-info{font-size:24px}}
