:root{--bg:#0A0E13;--panel:#111821;--panel2:#0E141C;--line:#1F2A36;--line2:#2A3644;--text:#E6EDF3;--muted:#94A3B3;--soft:#B8C4D0;--accent:#4C9AFF;--up:#34D399;--warn:#F5A524;--down:#F87171;--mono:'JetBrains Mono',ui-monospace,monospace;--head:'Space Grotesk',Inter,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:14px;line-height:1.45}
a{color:#7CB4FF}a:hover{color:#A8CCFF}
.mono{font-family:var(--mono)}.muted{color:var(--muted)}.soft{color:var(--soft)}.small{font-size:12px}
.shell{max-width:1440px;margin:0 auto;padding:16px;display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}
.side{flex:0 0 228px;position:sticky;top:84px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 10px;display:flex;flex-direction:column;gap:14px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);flex:none}
.navlink{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;border-radius:10px;text-decoration:none;color:var(--soft)}
.navlink:hover{background:#16202B;color:var(--text)}
.navlink[aria-current=page]{background:#1B2A3D;color:var(--text);font-weight:600}
.navlink svg{flex:none}
.sidebox{padding:12px;border-radius:10px;background:var(--panel2);display:flex;flex-direction:column;gap:8px;font-size:12px}
.sidebox div{display:flex;justify-content:space-between;gap:8px}
.main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:16px}
.pagehead{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px}
h1{margin:4px 0 0;font-family:var(--head);font-size:30px;line-height:1.15}
h2{margin:0;font-family:var(--head);font-size:18px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:12px;padding:5px 10px;border-radius:8px;background:#1A222D;color:var(--muted)}
.chip.on{background:#0F2A1E;color:#6EE7B7}
.pill{font-size:12px;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap}
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}
.card-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:12px}
.sub{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px}
.row{display:flex;flex-wrap:wrap;gap:16px;align-items:stretch}
.grow{flex:999 1 460px;min-width:0}.side-col{flex:1 1 320px;min-width:0}
.grid{display:grid;gap:10px}
.g-auto-170{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.g-auto-230{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.g-auto-300{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g-tiles{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px}
.bar{height:6px;border-radius:3px;background:var(--line);overflow:hidden}.bar>span{display:block;height:100%;border-radius:3px}
.bar.big{height:10px;border-radius:5px}
.big-num{font-family:var(--mono);font-size:22px;font-weight:700}
.btn{font:inherit;font-weight:600;min-height:44px;padding:0 16px;border-radius:10px;border:1px solid var(--line2);background:transparent;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.btn:hover{background:#16202B;color:var(--text)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#06101C}
.btn.buy{background:var(--up);border-color:var(--up);color:#04140D}
.btn.sell{background:var(--warn);border-color:var(--warn);color:#1A1204}
.btn.small{min-height:36px;font-size:12px;padding:0 12px}
form.inline{display:inline}
.decision{border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px}
.decision.buy{background:#0F1E17;border:1px solid #1F5A3E}
.decision.sell{background:#221A0B;border:1px solid #6B4E14}
.decision.empty{background:var(--panel);border:1px dashed var(--line2);justify-content:center}
.kind{font-size:12px;font-weight:700;letter-spacing:.06em}
.facts{display:flex;flex-wrap:wrap;gap:6px;font-family:var(--mono);font-size:12px}.facts span{padding:4px 8px;border-radius:6px;background:var(--panel)}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;color:var(--muted);font-size:12px;font-weight:500;padding:8px}
td{padding:10px 8px;border-top:1px solid #1A232E}
.scroll{overflow-x:auto}.scroll table{min-width:720px}
.alert{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;background:var(--panel2);border:1px solid var(--line)}
.alert.seen{opacity:.45}
.prio{flex:none;font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px}
.prio.CRITIQUE{background:#3A1414;color:#FCA5A5}.prio.IMPORTANT{background:#3A2A0A;color:#F5C76A}.prio.INFO{background:#1B2A3D;color:#9CC3FF}
.favrow{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 12px;border-radius:10px;background:var(--panel2);text-decoration:none;color:var(--text)}
.tile{position:relative;border-radius:10px;min-height:84px}
.tile a.body{display:flex;flex-direction:column;gap:2px;padding:10px 40px 10px 10px;text-decoration:none;color:#F8FAFC;min-height:84px}
.tile .star{position:absolute;top:2px;right:2px;width:40px;height:40px;border:none;background:transparent;font-size:18px;cursor:pointer;color:#D7E0EA}
.tile .star[aria-pressed=true]{color:#FCD34D}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tab{font-size:13px;font-weight:600;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line2);background:var(--panel);color:var(--text);text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.tab[aria-current=true]{background:var(--accent);border-color:var(--accent);color:#06101C}
.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);align-items:center}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.notice{font-size:12px;color:#A8C6E8;padding:8px 12px;border-radius:8px;border:1px dashed #2E4A6B;background:#14202E}
.notice.warn{color:#F5C76A;border-color:#6B4E14;background:#221A0B}
.modrow{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(120px,2fr) 48px 56px;gap:12px;align-items:center}
input,select{font:inherit;color:var(--text);background:var(--panel2);border:1px solid var(--line2);border-radius:8px;min-height:40px;padding:0 10px}
label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
.formrow{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.login{max-width:380px;margin:12vh auto;padding:24px}
.empty{padding:28px;text-align:center;color:var(--muted);border:1px dashed var(--line2);border-radius:10px}
.badge{margin-left:auto;font-size:11px;font-weight:700;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:#F87171;color:#1A0606;display:inline-flex;align-items:center;justify-content:center}
.badge[hidden]{display:none}
.live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#34D399;margin-right:6px;animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.6)}70%{box-shadow:0 0 0 8px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:50;max-width:min(420px,calc(100vw - 32px))}
.toast{background:#16202B;border:1px solid var(--line2);border-left:4px solid var(--accent);border-radius:10px;padding:12px 14px;box-shadow:0 8px 24px rgba(0,0,0,.4);font-size:13px;animation:slide .25s ease-out}
.toast.CRITIQUE{border-left-color:#F87171}.toast.IMPORTANT{border-left-color:#F5A524}
.toast strong{display:block;margin-bottom:2px}
@keyframes slide{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.live,.toast{animation:none}}

/* En-tête, navigation groupée, barre mobile */
.skip{position:absolute;left:-999px;top:8px;background:var(--accent);color:#06101C;padding:8px 12px;border-radius:8px;z-index:60}.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;padding:10px 16px;max-width:1440px;margin:0 auto;background:rgba(10,14,19,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.wordmark{font-family:var(--head);font-size:20px;font-weight:600;letter-spacing:-.03em}
.mark{flex:none}
.tagline{font-size:12px;color:var(--muted);padding-left:10px;margin-left:2px;border-left:1px solid var(--line2);white-space:nowrap}
.search{flex:1 1 320px;max-width:520px;display:flex;align-items:center;gap:10px;height:44px;padding:0 12px;border:1px solid var(--line2);border-radius:10px;background:var(--panel);color:var(--muted)}
.search:focus-within{border-color:var(--accent)}
.search input{flex:1;min-width:0;border:0;background:transparent;min-height:0;padding:0;outline:none}
.search kbd{font-family:var(--mono);font-size:11px;padding:2px 6px;border:1px solid var(--line2);border-radius:5px;color:var(--muted)}
.clocks{display:flex;gap:6px;flex-wrap:nowrap;overflow:hidden}
.bell{position:relative;flex:none;width:44px;height:44px;border-radius:10px;border:1px solid var(--line2);background:var(--panel);color:var(--text);display:flex;align-items:center;justify-content:center}
.bell:hover{background:#16202B;color:var(--text)}
.badge.dot{position:absolute;top:-6px;right:-6px;margin:0}
.mode{flex:none;font-size:12px;font-weight:600;padding:6px 10px;border-radius:8px;border:1px solid #6B4E14;color:#F5C76A}
.navgroup{display:flex;flex-direction:column;gap:2px}
.navtitle{padding:0 12px 4px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.navhint{padding:0 12px 4px 40px;font-size:12px;color:var(--muted)}
.navfoot{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:10px}
.question{margin:4px 0 0;color:var(--soft);font-size:15px}
.tabbar{display:none}
.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.crumbs a{color:var(--soft);text-decoration:none}.crumbs a:hover{color:var(--text)}
@media (max-width:1100px){.clocks{display:none}}
@media (max-width:1280px){.tagline{display:none}}
@media (max-width:820px){
 h1{font-size:24px}
 .side{display:none}
 .shell{padding:12px 12px 88px}
 .topbar{gap:8px;padding:8px 12px}
 .wordmark{display:none}
 .mode{display:none}
 .search kbd{display:none}
 .tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:45;background:#0E141C;border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom))}
 .tabbar a{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;color:var(--muted);text-decoration:none}
 .tabbar a[aria-current=page]{color:var(--accent)}
 .toasts{bottom:84px}
 .modrow{grid-template-columns:1fr 60px}.modrow .bar,.modrow .w{display:none}
}

.legal{max-width:760px;margin:0 auto;padding:32px 16px 48px;display:flex;flex-direction:column;gap:20px}
.prose{padding:28px;line-height:1.65;font-size:15px}.prose h1{margin:0 0 4px}.prose h2{margin:24px 0 6px;font-size:18px}.prose p,.prose ul{margin:0 0 10px;color:var(--soft)}.prose strong{color:var(--text)}
.legal-links{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;font-size:12px}.legal-links a{color:var(--muted)}.legal-links a:hover{color:var(--text)}
