/* =========================================================
   SYVARN — Terminal (application plein écran)
   ========================================================= */
:root{
  --t-bg:#05080F; --t-bg2:#0A101B; --t-bg3:#101B2B; --t-carte:#0D1522; --t-live:#006DFF; --t-trait:rgba(127,141,168,.16); --t-trait2:rgba(127,141,168,.34);
  --t-texte:#F5F8FF; --t-texte2:#B4C0D6; --t-sourd:#7F8DA8; --t-ambre:#006DFF; --t-bleu:#006DFF; --t-bleuc:#73B5FF; --t-vert:#006DFF; --t-rouge:#F0506E; --t-violet:#73B5FF;
  --t-haut:2.9rem; --t-gauche:16.5rem; --t-droite:19rem; --t-bas:2.6rem;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace; --titre:"Sora",system-ui,sans-serif; --texte:"Inter",system-ui,sans-serif;
}
html[data-theme="light"]{
  --t-bg:#F3F5FA; --t-bg2:#FFFFFF; --t-bg3:#E8EEF9; --t-carte:#FFFFFF; --t-trait:rgba(15,26,46,.09); --t-trait2:rgba(15,26,46,.22);
  --t-texte:#0F1A2E; --t-texte2:#3D4A63; --t-sourd:#6B7890; --t-bleuc:#1F5BC7; --t-vert:#16A34A; --t-rouge:#DC2F52;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;overflow:hidden}
body{background:var(--t-bg);color:var(--t-texte2);font-family:var(--texte);font-size:.86rem;line-height:1.45;-webkit-font-smoothing:antialiased}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
input,select{font:inherit;color:var(--t-texte);background:var(--t-bg);border:1px solid var(--t-trait2);border-radius:6px;padding:.4rem .55rem;font-size:.82rem}
input:focus,select:focus{outline:none;border-color:var(--t-bleuc)}
.mono{font-family:var(--mono)}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--t-trait2);border-radius:4px}::-webkit-scrollbar-track{background:transparent}

/* --- structure --- */
#app{display:grid;height:100vh;height:100dvh;grid-template-rows:var(--t-haut) 1fr var(--t-bas);grid-template-columns:var(--t-gauche) 1fr var(--t-droite);grid-template-areas:"haut haut haut" "gauche centre droite" "bas bas bas";transition:grid-template-columns .25s}
#app.sans-gauche{grid-template-columns:0 1fr var(--t-droite)}
#app.sans-droite{grid-template-columns:var(--t-gauche) 1fr 0}
#app.sans-gauche.sans-droite{grid-template-columns:0 1fr 0}
#haut{grid-area:haut;display:flex;align-items:center;gap:.5rem;padding:0 .75rem;border-bottom:1px solid var(--t-trait);background:var(--t-bg2);z-index:5}
#gauche{grid-area:gauche;border-right:1px solid var(--t-trait);background:var(--t-bg2);overflow:hidden;display:flex;flex-direction:column;min-width:0}
#centre{grid-area:centre;position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--t-bg)}
#droite{grid-area:droite;border-left:1px solid var(--t-trait);background:var(--t-bg2);overflow:hidden;display:flex;flex-direction:column;min-width:0}
#bas{grid-area:bas;border-top:1px solid var(--t-trait);background:var(--t-bg2);display:flex;align-items:center;gap:.75rem;padding:0 .75rem;font-family:var(--mono);font-size:.72rem;color:var(--t-sourd)}

/* --- barre haute --- */
.logo{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none;font-family:var(--titre);font-weight:800;letter-spacing:-.03em;margin-right:.5rem}
.logo-syvarn{color:#fff;letter-spacing:.08em;font-size:.9rem}.logo-syvarn .logo-marque{width:1.65rem;height:1.65rem;flex:none}.logo-terminal{padding:.22rem;margin-right:.25rem;border-radius:.45rem;background:#fff;border:1px solid rgba(0,109,255,.22);box-shadow:0 .25rem .8rem rgba(0,109,255,.12)}.logo-terminal.logo-syvarn{color:#006DFF}.logo-terminal .logo-marque{width:1.85rem;height:1.85rem}
.logo .term{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--t-sourd);margin-left:.4rem}
.sym-entete{display:flex;align-items:baseline;gap:.5rem;min-width:0;padding:0 .5rem;border-left:1px solid var(--t-trait);border-right:1px solid var(--t-trait);height:100%}
.sym-entete b{font-family:var(--titre);font-weight:700;color:var(--t-texte);font-size:.95rem;white-space:nowrap}
.sym-entete .nom{color:var(--t-sourd);font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:14rem}
.sym-entete .prix{font-family:var(--mono);font-weight:600;font-size:.92rem;color:var(--t-texte)}
.sym-entete .var{font-family:var(--mono);font-size:.74rem;padding:.1rem .4rem;border-radius:4px}
.var.haut{color:var(--t-vert);background:rgba(34,197,94,.12)}.var.bas{color:var(--t-rouge);background:rgba(240,80,110,.12)}
.groupe{display:flex;align-items:center;gap:.15rem;padding:0 .25rem;border-right:1px solid var(--t-trait);height:100%}
.groupe:last-child{border-right:0}
.b{height:1.9rem;min-width:1.9rem;padding:0 .5rem;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-family:var(--mono);font-size:.74rem;color:var(--t-texte2);transition:.15s;white-space:nowrap}
.b:hover{background:rgba(127,141,168,.14);color:var(--t-texte)}
.b.actif{background:var(--t-ambre);color:#fff;font-weight:600}
.b.ico svg{width:1rem;height:1rem}
.b.danger:hover{color:var(--t-rouge)}
.b.primaire{background:#006DFF;color:#fff;}
.b.primaire:hover{background:#0056CC;color:#fff}
.espace{flex:1}
.menu{position:relative}
.menu .liste{position:absolute;top:calc(100% + .35rem);left:0;min-width:15rem;background:var(--t-bg2);border:1px solid var(--t-trait2);border-radius:10px;box-shadow:0 20px 50px -20px rgba(0,0,0,.7);padding:.4rem;z-index:30;display:none}
.menu.ouvert .liste{display:block}
.menu-tf .liste-tfs{left:0;right:auto;width:21rem;display:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:.2rem}.menu-tf.ouvert .liste-tfs{display:grid}.liste-tfs .titre{grid-column:1/-1}.liste-tfs button{padding:.42rem .3rem;border-radius:5px;color:var(--t-texte2);font-family:var(--mono);font-size:.7rem}.liste-tfs button:hover,.liste-tfs button.actif{background:rgba(0,109,255,.13);color:#006DFF}
.menu .liste.droite{left:auto;right:0}
.menu .liste label,.menu .liste .item{display:flex;align-items:center;gap:.6rem;padding:.45rem .6rem;border-radius:6px;cursor:pointer;font-size:.8rem;color:var(--t-texte2)}
.menu .liste label:hover,.menu .liste .item:hover{background:rgba(127,141,168,.12);color:var(--t-texte)}
.menu .liste input[type=checkbox]{accent-color:var(--t-ambre)}
.menu .liste .sep{height:1px;background:var(--t-trait);margin:.35rem 0}
.menu .liste .titre{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t-ambre);padding:.4rem .6rem .2rem}
.menu .liste .param{margin-left:auto;width:3.4rem;padding:.2rem .35rem;font-size:.74rem;text-align:center}
.pastille{width:.45rem;height:.45rem;border-radius:50%;background:var(--t-sourd);display:inline-block}
.pastille.on{background:var(--t-live);box-shadow:0 0 0 3px rgba(0,109,255,.18)}
.pastille.secours{background:#e7b843;box-shadow:0 0 0 3px rgba(231,184,67,.18)}
.pastille.ko{background:var(--t-rouge)}

/* --- gauche : liste --- */
.recherche{padding:.5rem;border-bottom:1px solid var(--t-trait)}
.recherche input{width:100%}
.cats{display:flex;gap:.2rem;padding:.4rem .5rem;overflow-x:auto;border-bottom:1px solid var(--t-trait);scrollbar-width:none}
.cats::-webkit-scrollbar{display:none}
.cats button{font-family:var(--mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .55rem;border-radius:999px;color:var(--t-sourd);white-space:nowrap}
.cats button.actif{background:rgba(0,109,255,.15);color:var(--t-ambre)}
.liste-sym{flex:1;overflow-y:auto}
.sym{display:grid;grid-template-columns:1fr auto;gap:.2rem .6rem;padding:.5rem .7rem;cursor:pointer;border-bottom:1px solid var(--t-trait);align-items:center;transition:background .15s}
.sym:hover{background:rgba(127,141,168,.08)}
.sym.actif{background:rgba(47,111,224,.14);box-shadow:inset 3px 0 0 var(--t-ambre)}
.sym b{font-family:var(--mono);font-size:.78rem;color:var(--t-texte);font-weight:600}
.sym .n{font-size:.68rem;color:var(--t-sourd);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;grid-column:1}
.sym .p{font-family:var(--mono);font-size:.76rem;color:var(--t-texte);text-align:right;grid-row:1;grid-column:2}
.sym .v{font-family:var(--mono);font-size:.66rem;text-align:right;grid-column:2}
.sym .p.flash-haut{color:var(--t-vert)}.sym .p.flash-bas{color:var(--t-rouge)}
.sym .fav{color:var(--t-sourd);font-size:.8rem;margin-left:.3rem}.sym .fav.on{color:var(--t-ambre)}
.vide{padding:1rem;color:var(--t-sourd);font-size:.8rem;text-align:center}

/* --- centre : graphique --- */
#graphiques{flex:1;position:relative;min-height:0;display:flex;flex-direction:column}
#chart{flex:1;position:relative;min-height:0}
#chart-rsi{height:0;border-top:1px solid var(--t-trait);position:relative;transition:height .2s}
#chart-rsi.on{height:7.5rem}
#overlay{position:absolute;inset:0;pointer-events:none;z-index:3}
html[data-theme="light"] .outils-dessin{background:rgba(255,255,255,.94)}
.filigrane{position:absolute;left:.75rem;bottom:2rem;z-index:2;display:flex;align-items:center;gap:.4rem;opacity:.52;pointer-events:none;user-select:none}
#chart.sans-filigrane .filigrane{display:none}
.filigrane .filigrane-marque{height:1.6rem;width:auto;display:block}
.filigrane .filigrane-wordmark{height:.82rem;width:auto;display:block}
html[data-theme="light"] .filigrane{opacity:.35}
#bas .attribution{color:var(--t-sourd);text-decoration:none;font-size:.6rem}
#bas .attribution:hover{color:var(--t-texte2)}
.legende-chart{position:absolute;left:.75rem;top:.6rem;z-index:4;font-family:var(--mono);font-size:.7rem;color:var(--t-sourd);pointer-events:none;display:flex;flex-wrap:wrap;gap:.25rem .8rem;max-width:calc(100% - 6rem)}
.legende-chart b{color:var(--t-texte);font-weight:600}
.legende-chart .o,.legende-chart .h,.legende-chart .l,.legende-chart .c{color:var(--t-texte2)}
.legende-chart .ind{color:var(--t-bleuc)}
.chargement{position:absolute;inset:0;display:none;place-items:center;z-index:6;background:rgba(6,11,24,.55);font-family:var(--mono);font-size:.78rem;color:var(--t-texte2);gap:.5rem;pointer-events:none}
.chargement.on{display:grid;animation:apparaitre .2s}
@keyframes apparaitre{from{opacity:0}to{opacity:1}}
.chargement .anneau{width:2.2rem;height:2.2rem;border-radius:50%;border:2px solid var(--t-trait2);border-top-color:var(--t-ambre);animation:tourner .9s linear infinite}
@keyframes tourner{to{transform:rotate(360deg)}}
.erreur-chart{position:absolute;inset:0;display:none;place-items:center;z-index:6;text-align:center;padding:2rem;color:var(--t-texte2)}
.erreur-chart.on{display:grid}
.erreur-chart b{display:block;font-family:var(--titre);font-size:1.1rem;color:var(--t-texte);margin-bottom:.3rem}
.info-replay{position:absolute;right:.75rem;top:.6rem;z-index:4;font-family:var(--mono);font-size:.7rem;padding:.3rem .6rem;border-radius:999px;background:rgba(0,109,255,.15);border:1px solid rgba(0,109,255,.45);color:var(--t-ambre);display:none}
.info-replay.on{display:none}

/* --- replay : barre --- */
#replay-barre{display:none;align-items:center;gap:.4rem;padding:.35rem .75rem;border-top:1px solid var(--t-trait);background:var(--t-bg2);flex-wrap:wrap}
#replay-barre.on{display:flex}
#replay-barre .date{font-family:var(--mono);font-size:.72rem;color:var(--t-ambre);min-width:9rem}
.trade-btns{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap}
.trade-btns input{width:4.6rem;padding:.3rem .4rem;font-size:.74rem;font-family:var(--mono)}
.trade-btns label{font-family:var(--mono);font-size:.64rem;color:var(--t-sourd);display:flex;flex-direction:column;gap:.1rem}
.b.achat{background:var(--t-vert);color:#04210f;font-weight:700}.b.vente{background:var(--t-rouge);color:#fff;font-weight:700}

/* --- droite : panneaux --- */
.onglets{display:flex;border-bottom:1px solid var(--t-trait);overflow-x:auto;scrollbar-width:none}
.onglets::-webkit-scrollbar{display:none}
.onglets button{flex:1;padding:.6rem .3rem;font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--t-sourd);border-bottom:2px solid transparent;white-space:nowrap}
.onglets button.actif{color:var(--t-ambre);border-bottom-color:var(--t-ambre)}
.panneau{flex:1;overflow-y:auto;padding:.75rem;display:none}
.panneau.actif{display:block}
.panneau h4{font-family:var(--mono);font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--t-ambre);margin:.9rem 0 .5rem}
.panneau h4:first-child{margin-top:0}
.carte-p{border:1px solid var(--t-trait);border-radius:10px;padding:.7rem .8rem;background:var(--t-carte);margin-bottom:.6rem}
.ligne{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.3rem 0;font-size:.8rem;border-bottom:1px solid var(--t-trait)}
.ligne:last-child{border-bottom:0}
.ligne b{color:var(--t-texte);font-family:var(--mono);font-weight:600;font-size:.78rem}
.ligne .sourd{color:var(--t-sourd)}
.etat{font-family:var(--mono);font-size:.66rem;padding:.15rem .5rem;border-radius:999px;font-weight:600}
.etat.haut{background:rgba(34,197,94,.15);color:var(--t-vert)}.etat.bas{background:rgba(240,80,110,.15);color:var(--t-rouge)}.etat.neutre{background:rgba(127,141,168,.15);color:var(--t-sourd)}
.grand{font-family:var(--titre);font-weight:800;font-size:1.5rem;letter-spacing:-.03em;color:var(--t-texte);line-height:1.1}
.champ-p{display:grid;gap:.25rem;margin-bottom:.55rem}
.champ-p label{font-size:.7rem;color:var(--t-sourd);font-family:var(--mono)}
.champ-p input,.champ-p select{width:100%}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.resultat{padding:.7rem .8rem;border-radius:8px;background:rgba(0,109,255,.1);border:1px solid rgba(0,109,255,.35);text-align:center}
.resultat .grand{color:var(--t-ambre)}
.resultat small{display:block;font-family:var(--mono);font-size:.66rem;color:var(--t-sourd);margin-top:.2rem}
.session{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;padding:.45rem 0;border-bottom:1px solid var(--t-trait);font-size:.8rem}
.session:last-child{border-bottom:0}
.session .pastille{width:.55rem;height:.55rem}
.session b{color:var(--t-texte)}
.session .h{font-family:var(--mono);font-size:.68rem;color:var(--t-sourd)}
.horloge{font-family:var(--mono);font-size:1.4rem;font-weight:600;color:var(--t-texte);text-align:center;letter-spacing:.04em}
.horloge small{display:block;font-size:.64rem;color:var(--t-sourd);letter-spacing:.1em;font-weight:400}
.evt{display:grid;grid-template-columns:3.2rem 1fr;gap:.5rem;padding:.45rem 0;border-bottom:1px solid var(--t-trait);font-size:.78rem}
.evt:last-child{border-bottom:0}
.evt .q{font-family:var(--mono);font-size:.7rem;color:var(--t-sourd)}
.evt .q b{display:block;color:var(--t-texte);font-weight:600}
.evt .t{color:var(--t-texte2)}
.evt .t small{display:block;font-family:var(--mono);font-size:.64rem;color:var(--t-sourd)}
.evt.impact-High .q b{color:var(--t-rouge)}.evt.impact-Medium .q b{color:var(--t-ambre)}
.evt.passe{opacity:.45}
.evt.proche{background:rgba(240,80,110,.08);border-radius:6px;padding-left:.4rem;padding-right:.4rem}
.alerte-ligne{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--t-trait);font-family:var(--mono);font-size:.76rem}
.alerte-ligne button{color:var(--t-sourd)}.alerte-ligne button:hover{color:var(--t-rouge)}
.position{padding:.5rem .6rem;border-radius:8px;border:1px solid var(--t-trait);margin-bottom:.4rem;font-family:var(--mono);font-size:.72rem;display:grid;grid-template-columns:1fr auto;gap:.2rem .5rem}
.position.achat{border-left:3px solid var(--t-vert)}.position.vente{border-left:3px solid var(--t-rouge)}
.position .pl{font-weight:600;text-align:right}.pl.pos{color:var(--t-vert)}.pl.neg{color:var(--t-rouge)}
.position .fermer{grid-column:1/-1;text-align:right;color:var(--t-sourd);font-size:.66rem}
.position .fermer:hover{color:var(--t-rouge)}
.stats-j{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-bottom:.6rem}
.stats-j div{text-align:center;padding:.5rem .3rem;border-radius:8px;background:var(--t-carte);border:1px solid var(--t-trait)}
.stats-j b{display:block;font-family:var(--mono);font-size:.95rem;color:var(--t-texte)}
.stats-j small{font-size:.62rem;color:var(--t-sourd);font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase}
.journal-ligne{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;padding:.35rem 0;border-bottom:1px solid var(--t-trait);font-family:var(--mono);font-size:.68rem}
.journal-ligne .s{font-weight:700}.s.achat{color:var(--t-vert)}.s.vente{color:var(--t-rouge)}
.note{font-size:.72rem;color:var(--t-sourd);line-height:1.5}
.note a{color:var(--t-bleuc)}
.mtf{display:grid;gap:.3rem}
.mtf .l{display:grid;grid-template-columns:2.4rem 1fr auto;gap:.5rem;align-items:center;font-family:var(--mono);font-size:.72rem}
.mtf .l .barre{height:.5rem;border-radius:999px;background:var(--t-trait);overflow:hidden}
.mtf .l .barre i{display:block;height:100%;border-radius:999px}
.toast-t{position:fixed;left:50%;bottom:3.4rem;transform:translate(-50%,1rem);opacity:0;pointer-events:none;background:var(--t-bg3);color:var(--t-texte);border:1px solid var(--t-trait2);padding:.6rem 1rem;border-radius:999px;font-size:.8rem;z-index:70;transition:.3s;box-shadow:0 20px 50px -20px rgba(0,0,0,.7)}
.toast-t.visible{transform:translate(-50%,0);opacity:1}
.tip{position:absolute;z-index:8;pointer-events:none;background:var(--t-bg3);border:1px solid var(--t-trait2);border-radius:6px;padding:.25rem .5rem;font-family:var(--mono);font-size:.68rem;color:var(--t-texte);white-space:nowrap;display:none}
kbd{font-family:var(--mono);font-size:.62rem;padding:.05rem .3rem;border-radius:3px;border:1px solid var(--t-trait2);color:var(--t-sourd)}

/* --- accueil du terminal (aide) --- */
.aide{position:absolute;inset:0;z-index:20;background:rgba(6,11,24,.86);backdrop-filter:blur(6px);display:none;place-items:center;padding:1rem}
.aide.on{display:grid}
.aide .boite{max-width:44rem;background:var(--t-bg2);border:1px solid var(--t-trait2);border-radius:16px;padding:1.75rem;color:var(--t-texte2)}
.aide h2{font-family:var(--titre);color:var(--t-texte);font-size:1.4rem;margin-bottom:.4rem}
.aide h2 em{font-style:normal;color:var(--t-ambre)}
.aide ul{list-style:none;display:grid;gap:.4rem;margin:1rem 0;font-size:.84rem}
.aide li{padding-left:1.3rem;position:relative}
.aide li::before{content:"";position:absolute;left:0;top:.5em;width:.55rem;height:.55rem;background:var(--t-ambre);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%)}
.aide .b.primaire{padding:.6rem 1.2rem;height:auto;font-family:var(--titre);font-size:.9rem;border-radius:999px}

/* --- mobile --- */
@media (max-width:64rem), (pointer:coarse) and (max-height:600px){
  :root{--t-gauche:14rem;--t-droite:16rem}
  #haut{overflow-x:auto;scrollbar-width:none;gap:.35rem}
  #haut>*{flex:none}
  .sym-entete{flex:none;white-space:nowrap}
  .sym-entete b,.sym-entete .prix,.sym-entete .var{white-space:nowrap}
  #bas .cache-mobile{display:none}
  /* le graphique garde toute la largeur : les panneaux latéraux glissent par-dessus */
  #app{grid-template-columns:0 1fr 0;position:relative}
  #app.mobile-gauche,#app.mobile-droite{grid-template-columns:0 1fr 0}
  /* enfants absolus d'une grille : le bloc conteneur est la zone de grille → on les fait couvrir toute la ligne centrale */
  #gauche,#droite{position:absolute;grid-column:1/-1;grid-row:2;top:0;bottom:0;width:min(86vw,22rem);z-index:40;box-shadow:0 20px 60px -20px rgba(0,0,0,.7);transition:transform .25s ease;will-change:transform}
  #gauche{left:0;right:auto;transform:translateX(-102%)}#droite{right:0;left:auto;transform:translateX(102%)}
  #app.mobile-gauche #gauche,#app.mobile-droite #droite{transform:none}
  #app.mobile-gauche::after,#app.mobile-droite::after{content:"";position:absolute;grid-column:1/-1;grid-row:2;left:0;right:0;top:0;bottom:0;background:rgba(3,6,14,.35);z-index:39}
  .sym-entete .nom,.logo .term{display:none}
  .groupe.cache-mobile{display:none}
  .legende-chart{font-size:.62rem}
}
@media(max-width:40rem){
  :root{--t-haut:2.7rem}
  #haut{gap:.25rem;padding:0 .4rem;overflow-x:auto;scrollbar-width:none}
  .sym-entete .var{display:none}
  #bas{font-size:.62rem;gap:.5rem;overflow:hidden}
  .filigrane{bottom:3.2rem}
  #bas .cache-mobile,#bas .attribution{display:none}
  .sym-entete{flex:none;gap:.35rem}.sym-entete b{font-size:.82rem}.sym-entete .prix{font-size:.82rem}
}

.scan-carte{border:1px solid var(--t-trait);border-radius:10px;padding:.6rem .75rem;margin-bottom:.5rem;cursor:pointer;background:var(--t-carte);transition:.2s}
.scan-carte:hover{border-color:var(--t-ambre)}
.scan-carte .haut{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}
.scan-carte .haut b{font-family:var(--mono);color:var(--t-texte)}
.scan-carte .sig{font-size:.76rem;padding:.2rem 0 .2rem .9rem;position:relative;color:var(--t-texte2)}
.scan-carte .sig::before{content:"";position:absolute;left:0;top:.55em;width:.4rem;height:.4rem;border-radius:50%;background:var(--t-sourd)}
.scan-carte .sig.haut::before{background:var(--t-vert)}.scan-carte .sig.bas::before{background:var(--t-rouge)}
.case-t{display:flex;gap:.5rem;align-items:center;font-size:.78rem;color:var(--t-texte2);cursor:pointer}
.case-t input{accent-color:var(--t-ambre)}
#b-compte{text-decoration:none;font-family:var(--titre);font-weight:600}

.porte-liste{list-style:none;counter-reset:p;display:grid;gap:.5rem;margin:1.1rem 0 0}
.porte-liste li{counter-increment:p;display:grid;grid-template-columns:1.8rem 1fr auto;gap:.7rem;align-items:center;padding:.6rem .8rem;border-radius:10px;border:1px solid var(--t-trait);background:var(--t-carte)}
.porte-liste li::before{content:counter(p);font-family:var(--mono);font-weight:600;width:1.8rem;height:1.8rem;border-radius:7px;display:grid;place-items:center;background:var(--t-trait);color:var(--t-texte);font-size:.78rem}
.porte-liste li.ok{border-color:rgba(34,197,94,.45)}.porte-liste li.ok::before{content:"✓";background:var(--t-vert);color:#04210f}
.porte-liste li.actuel{border-color:var(--t-ambre)}.porte-liste li.actuel::before{background:var(--t-ambre);color:#1a1200}
.porte-liste b{display:block;color:var(--t-texte);font-size:.88rem}.porte-liste span{font-size:.74rem;color:var(--t-sourd)}
.aide .porte-liste li{padding-left:.8rem}
.aide .porte-liste li::before{position:static;clip-path:none;top:auto;left:auto}

/* --- paramètres du graphique */
.reg-fond{position:fixed;inset:0;z-index:95;background:rgba(0,0,0,.4);display:grid;place-items:center;font-family:var(--texte)}
.reg-boite{width:min(440px,calc(100vw - 2rem));max-height:calc(100vh - 2rem);background:var(--t-carte);border:1px solid var(--t-trait2);border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.5);display:flex;flex-direction:column;color:var(--t-texte)}
.reg-boite .tete{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.1rem .4rem}
.reg-boite h3{font-family:var(--titre);font-size:1.05rem;font-weight:600;margin:0}
.reg-boite .onglets{display:flex;gap:1.1rem;padding:0 1.1rem;border-bottom:1px solid var(--t-trait)}
.reg-boite .onglets button{padding:.5rem 0 .6rem;font-size:.82rem;font-weight:600;color:var(--t-sourd);position:relative;font-family:var(--titre)}
.reg-boite .onglets button.actif{color:var(--t-texte)}
.reg-boite .onglets button.actif::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--t-bleu);border-radius:2px}
.reg-boite .corps{flex:1;overflow-y:auto;padding:.6rem 1.1rem;min-height:0}
.reg-boite .titre{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t-sourd);padding:.8rem 0 .2rem}
.reg-boite .rang{display:grid;grid-template-columns:1fr auto;gap:.6rem;align-items:center;padding:.3rem 0;font-size:.84rem}
.reg-boite .rang .v{display:flex;align-items:center;gap:.4rem}
.reg-boite input[type=color]{width:2rem;height:1.6rem;border:1px solid var(--t-trait2);border-radius:5px;background:var(--t-bg);padding:1px;cursor:pointer}
.reg-boite input[type=number],.reg-boite select{background:var(--t-bg);border:1px solid var(--t-trait2);color:var(--t-texte);border-radius:5px;padding:.3rem .45rem;font:inherit;font-size:.82rem;width:9rem}
.reg-boite input[type=number]{width:5rem}
.reg-boite input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--t-bleu)}
.reg-boite .b.petit{height:1.6rem;font-size:.66rem;border:1px solid var(--t-trait2)}
.reg-boite .pied{display:flex;gap:.5rem;align-items:center;padding:.8rem 1.1rem;border-top:1px solid var(--t-trait)}
.reg-boite .pied .b{border:1px solid var(--t-trait2)}
.reg-boite .pied .primaire{border-color:transparent}
.reg-boite .espace{flex:1}
.liste-types{padding:.3rem}
.liste-types button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .55rem;border-radius:6px;font-size:.8rem;color:var(--t-texte2)}
.liste-types button svg{width:1rem;height:1rem}
.liste-types button:hover{background:rgba(127,141,168,.14);color:var(--t-texte)}
.liste-types button.actif{color:var(--t-bleuc)}
/* --- replay façon TradingView */
#replay-barre{justify-content:center;gap:.6rem}
#replay-barre .r-groupe{display:flex;align-items:center;gap:.25rem}
#replay-barre .r-sep{width:1px;height:1.4rem;background:var(--t-trait2);margin:0 .3rem}
#replay-barre .r-sel span{margin-left:.35rem}
#replay-barre .r-sel.actif{background:rgba(41,98,255,.18);color:var(--t-bleuc)}
#replay-barre .r-chev{min-width:1.3rem;padding:0;margin-left:-.35rem}
#replay-barre .r-chev svg{width:.85rem;height:.85rem}
#replay-barre .r-tf{font-family:var(--mono);font-size:.74rem;color:var(--t-texte2);padding:0 .3rem}
#replay-barre #r-lecture.actif{background:var(--t-bleu);color:#fff}
#replay-barre .date{min-width:0}
#replay-barre .liste{min-width:14rem;padding:.35rem}
#replay-barre .liste button{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .55rem;border-radius:6px;font-size:.8rem;color:var(--t-texte2)}
#replay-barre .liste button svg{width:1rem;height:1rem}
#replay-barre .liste button:hover{background:rgba(127,141,168,.14);color:var(--t-texte)}
#replay-barre .liste-vitesse{min-width:6rem}
#replay-barre .liste-vitesse button.actif{color:var(--t-bleuc)}
#replay-barre .r-date-lib{display:flex;flex-direction:column;gap:.3rem;padding:.45rem .55rem;font-size:.76rem;color:var(--t-sourd)}
#replay-barre .r-date-lib input{font-size:.74rem;padding:.25rem .4rem}
#replay-barre .menu{position:relative}
#replay-barre .menu .liste{top:auto;bottom:calc(100% + .35rem)}
#chart.replay-selection .tv-lightweight-charts canvas{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23131722' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='6' cy='6' r='3'/><circle cx='6' cy='18' r='3'/><path d='M20 4 8.1 15.9M14.5 14.5 20 20M8.1 8.1 12 12'/></svg>") 12 12, col-resize}
#overlay.replay-sel{pointer-events:auto;cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23131722' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='6' cy='6' r='3'/><circle cx='6' cy='18' r='3'/><path d='M20 4 8.1 15.9M14.5 14.5 20 20M8.1 8.1 12 12'/></svg>") 12 12, col-resize}
html:not([data-theme="light"]) #overlay.replay-sel{cursor:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='6' cy='6' r='3'/><circle cx='6' cy='18' r='3'/><path d='M20 4 8.1 15.9M14.5 14.5 20 20M8.1 8.1 12 12'/></svg>") 12 12, col-resize}
.note-deriv{font-size:.68rem;line-height:1.45;color:var(--t-sourd);padding:.8rem .9rem 1.2rem;border-top:1px solid var(--t-trait)}

/* recherche distante (Deriv / Binance / Yahoo) */
.distant-entete{font-size:.66rem;color:var(--t-sourd);padding:.7rem .9rem .3rem;border-top:1px solid var(--t-trait);letter-spacing:.04em;text-transform:uppercase}
.sym.distant .p{color:var(--t-bleu,#2F6FE0);font-weight:700;font-size:1rem}
.sym .src{display:inline-block;margin-left:.4rem;padding:.05rem .35rem;border-radius:4px;font-size:.58rem;font-weight:600;letter-spacing:.03em;vertical-align:middle;background:rgba(127,141,168,.18);color:var(--t-sourd)}
.sym .src.deriv{background:rgba(255,68,68,.15);color:#FF6B6B}.sym .src.binance{background:rgba(240,185,11,.16);color:#F0B90B}.sym .src.yahoo{background:rgba(96,1,210,.16);color:#A78BFA}
.sym .retirer{display:none;margin-left:.35rem;color:var(--t-sourd);cursor:pointer;font-size:.7rem}
.sym:hover .retirer{display:inline}.sym .retirer:hover{color:#F0506E}

/* indicateur Smart Money Concept — panneau sur le graphique */
.menu .liste label.smc{position:relative;padding-right:2rem}
.menu .liste label.smc small{font-family:var(--mono);font-size:.58rem;color:#006DFF;margin-left:.3rem;letter-spacing:.06em;text-transform:uppercase}
.menu .liste .param-btn{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);width:1.5rem;height:1.5rem;border-radius:5px;color:var(--t-sourd);font-size:.85rem;display:grid;place-items:center}
.menu .liste .param-btn:hover{background:var(--t-bg3);color:var(--t-texte)}
#smc-panneau{position:absolute;top:.6rem;z-index:5;width:13.5rem;background:var(--t-carte);border:1px solid var(--t-trait2);border-radius:8px;font-family:var(--mono);font-size:.66rem;color:var(--t-texte);box-shadow:0 10px 30px -14px rgba(0,0,0,.6);user-select:none}
#smc-panneau .tete{display:flex;align-items:center;justify-content:space-between;padding:.35rem .5rem .35rem .6rem;border-bottom:1px solid var(--t-trait)}
#smc-panneau .logo{font-weight:600;letter-spacing:.04em;color:var(--t-sourd)}
#smc-panneau .logo i{font-style:normal;color:#006DFF;margin-right:.3rem}
#smc-panneau .actions button{width:1.35rem;height:1.35rem;border-radius:4px;color:var(--t-sourd);font-size:.75rem}
#smc-panneau .actions button:hover{background:var(--t-bg3);color:var(--t-texte)}
#smc-panneau .corps{padding:.35rem .6rem .5rem}
#smc-panneau .l{display:flex;justify-content:space-between;gap:.5rem;padding:.16rem 0;color:var(--t-sourd)}
#smc-panneau .l b{color:var(--t-texte);font-weight:600}
#smc-panneau .l b.h{color:#006DFF}#smc-panneau .l b.b{color:#F23645}
#smc-panneau .l small{color:var(--t-sourd);font-weight:400}
#smc-panneau .chips{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.4rem;padding-top:.4rem;border-top:1px solid var(--t-trait)}
#smc-panneau .chip{padding:.15rem .4rem;border-radius:999px;border:1px solid var(--t-trait2);color:var(--t-sourd);font-size:.6rem;font-family:var(--mono)}
#smc-panneau .chip.on{background:rgba(0,109,255,.16);border-color:rgba(0,109,255,.5);color:#006DFF}
#smc-panneau .chip:hover{color:var(--t-texte)}
@media(max-width:700px){#smc-panneau{width:11rem;font-size:.6rem}}

/* ═══════════ Mlab : menu, scripts attachés, volets, panneaux, éditeur ═══════════ */
.menu .liste .recherche-ind{display:block;width:calc(100% - .8rem);margin:.3rem .4rem .4rem;padding:.4rem .6rem;background:var(--t-bg);border:1px solid var(--t-trait2);border-radius:6px;color:var(--t-texte);font-family:var(--mono);font-size:.72rem}
.menu .liste .mlab-entree{display:flex;align-items:center;gap:.6rem;width:calc(100% - .8rem);margin:0 .4rem .3rem;padding:.5rem .6rem;border-radius:8px;border:1px solid rgba(0,109,255,.35);background:rgba(0,109,255,.08);color:var(--t-texte);text-align:left;cursor:pointer}
.menu .liste .mlab-entree:hover{background:rgba(0,109,255,.16)}
.menu .liste .mlab-entree .f{font-family:var(--mono);font-weight:700;font-size:1rem;color:#006DFF;width:1.4rem;text-align:center}
.menu .liste .mlab-entree b{display:block;font-size:.8rem}.menu .liste .mlab-entree small{display:block;font-size:.64rem;color:var(--t-sourd)}
#mlab-attaches{position:absolute;left:.75rem;top:2rem;z-index:5;display:flex;flex-wrap:wrap;gap:.3rem;max-width:calc(100% - 8rem)}
.mlab-puce{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .3rem .15rem .45rem;border-radius:6px;background:var(--t-carte);border:1px solid var(--t-trait2);font-family:var(--mono);font-size:.66rem;color:var(--t-texte);cursor:pointer}
.mlab-puce i{font-style:normal;font-weight:700;color:#006DFF;margin-right:.15rem}.mlab-puce.erreur{border-color:#F23645;color:#F23645}.mlab-puce.cache{opacity:.55}
.mlab-puce button{width:1.2rem;height:1.2rem;border-radius:4px;color:var(--t-sourd);font-size:.7rem;display:grid;place-items:center}.mlab-puce button:hover{background:var(--t-bg3);color:var(--t-texte)}
.mlab-volet{position:relative;height:8.5rem;border-top:1px solid var(--t-trait);flex:none}.mlab-volet.cache{display:none}
.mlab-volet .mlab-volet-calque{position:absolute;inset:0;pointer-events:none;z-index:3}
.mlab-panneau{position:absolute;z-index:5;min-width:11rem;max-width:18rem;background:var(--t-carte);border:1px solid var(--t-trait2);border-radius:8px;font-family:var(--mono);font-size:.66rem;color:var(--t-texte);box-shadow:0 10px 30px -14px rgba(0,0,0,.6);padding:.35rem .6rem .45rem}
.mlab-panneau.pos-top_left{left:.75rem;top:4.3rem}.mlab-panneau.pos-top_right{top:.6rem}.mlab-panneau.pos-bottom_left{left:.75rem;bottom:2.2rem}.mlab-panneau.pos-bottom_right{bottom:2.2rem}
.mlab-panneau .tete{font-weight:700;color:#006DFF;letter-spacing:.04em;padding:.1rem 0 .3rem;border-bottom:1px solid var(--t-trait);margin-bottom:.25rem}
.mlab-panneau .l{display:flex;justify-content:space-between;gap:.8rem;padding:.12rem 0;color:var(--t-sourd)}.mlab-panneau .l b{color:var(--t-texte);font-weight:600;text-align:right}
/* éditeur */
.mlab-fond{position:fixed;inset:0;z-index:96;background:rgba(0,0,0,.5);display:grid;place-items:center;padding:1rem}
.mlab-fond[hidden]{display:none}
.mlab-fenetre{width:min(1180px,100%);height:min(820px,100%);display:grid;grid-template-columns:16rem 1fr;background:var(--t-carte);border:1px solid var(--t-trait2);border-radius:12px;overflow:hidden;box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.mlab-cote{display:flex;flex-direction:column;border-right:1px solid var(--t-trait);min-height:0;background:var(--t-bg)}
.mlab-cote-tete{display:flex;align-items:center;justify-content:space-between;padding:.8rem .9rem .5rem;font-family:var(--titre);font-size:.95rem}.mlab-cote-tete .mono{font-family:var(--mono);font-size:.66rem;color:#006DFF}
.mlab-recherche{margin:0 .7rem .5rem;padding:.4rem .6rem;background:var(--t-carte);border:1px solid var(--t-trait2);border-radius:6px;color:var(--t-texte);font-size:.78rem}
.mlab-actions-liste{display:flex;gap:.4rem;padding:0 .7rem .5rem}.mlab-actions-liste .b{flex:1;height:1.9rem;font-size:.72rem;border:1px solid var(--t-trait2)}
.mlab-liste{flex:1;overflow-y:auto;min-height:0;padding:0 .4rem}
.mlab-groupe{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t-sourd);padding:.7rem .5rem .25rem}
.mlab-item{padding:.45rem .55rem;border-radius:7px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.4rem;font-size:.8rem}
.mlab-item:hover{background:var(--t-bg3)}.mlab-item.actif{background:rgba(47,111,224,.16);color:var(--t-texte)}
.mlab-item .nom{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mlab-item .meta{font-family:var(--mono);font-size:.6rem;color:var(--t-sourd);flex:none}.mlab-item .meta .on{color:#006DFF;font-style:normal}
.mlab-item.exemple .nom{color:var(--t-sourd)}
.mlab-vide{padding:.5rem .6rem;font-size:.74rem;color:var(--t-sourd);line-height:1.5}
.mlab-cote-pied{padding:.6rem .9rem;border-top:1px solid var(--t-trait);font-size:.74rem}.mlab-cote-pied a{color:var(--t-bleuc)}
.mlab-principal{display:grid;grid-template-rows:auto 1fr 9rem;min-height:0;min-width:0}
.mlab-barre{display:flex;align-items:center;gap:.4rem;padding:.55rem .7rem;border-bottom:1px solid var(--t-trait)}
.mlab-barre .mlab-nom{width:13rem;flex:none;padding:.4rem .6rem;background:var(--t-bg);border:1px solid var(--t-trait2);border-radius:6px;color:var(--t-texte);font-family:var(--titre);font-weight:600;font-size:.88rem}
.mlab-barre .b{height:2rem;padding:0 .7rem;border:1px solid var(--t-trait2);font-size:.74rem;border-radius:6px}.mlab-barre .b.primaire{border-color:transparent}.mlab-barre .b.danger:hover{border-color:#F23645;color:#F23645}
.mlab-barre .espace{flex:0 0 .2rem}.mlab-barre .fermer{width:2rem;padding:0}.mlab-barre .b.ico{width:2rem;padding:0;flex:none}
.mlab-etat{flex:1 1 4rem;min-width:0;font-family:var(--mono);font-size:.66rem;color:var(--t-sourd);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:.4rem}.mlab-etat.ok{color:#006DFF}.mlab-etat.err{color:#F23645}
.mlab-editeur{display:grid;grid-template-columns:3.2rem 1fr;min-height:0;background:#0B1220}
.mlab-numeros{overflow:hidden;padding:.8rem 0;font-family:var(--mono);font-size:.78rem;line-height:1.45;color:#3F4B63;text-align:right;user-select:none;border-right:1px solid #16203A}
.mlab-numeros div{padding-right:.6rem}.mlab-numeros div.err{background:rgba(242,54,69,.25);color:#FF7A7A}
.mlab-zone{position:relative;min-height:0;overflow:hidden}
.mlab-zone textarea,.mlab-colore{position:absolute;inset:0;margin:0;padding:.8rem 1rem;font-family:var(--mono);font-size:.78rem;line-height:1.45;white-space:pre;tab-size:4;overflow:auto;border:0}
.mlab-zone textarea{background:transparent;color:transparent;caret-color:#E6EDF7;resize:none;outline:none;z-index:2}
.mlab-zone textarea::selection{background:rgba(47,111,224,.35)}
.mlab-colore{color:#E6EDF7;pointer-events:none;z-index:1}
.mlab-colore .k{color:#7FB2FF}.mlab-colore .s{color:#F5B400}.mlab-colore .n{color:#F7A8B8}.mlab-colore .c{color:#7C8AA5;font-style:italic}.mlab-colore .f{color:#73B5FF}.mlab-colore .v{color:#C9B3FF}
.mlab-console{display:grid;grid-template-rows:auto 1fr;min-height:0;border-top:1px solid var(--t-trait);background:var(--t-bg)}
.mlab-console-tete{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--t-sourd);padding:.35rem .8rem;border-bottom:1px solid var(--t-trait)}
.mlab-console-corps{overflow-y:auto;padding:.4rem .8rem;font-family:var(--mono);font-size:.7rem;line-height:1.5;color:var(--t-texte)}
.mlab-console-corps .err{color:#F23645}.mlab-console-corps .ok{color:#006DFF}.mlab-console-corps .b{color:var(--t-sourd)}.mlab-console-corps .sourd{color:var(--t-sourd)}
@media(max-width:820px){.mlab-fenetre{grid-template-columns:1fr;grid-template-rows:auto 1fr}.mlab-cote{max-height:34%;border-right:0;border-bottom:1px solid var(--t-trait)}.mlab-principal{grid-template-rows:auto 1fr 6rem}.mlab-barre{flex-wrap:wrap}.mlab-barre .mlab-nom{width:100%}.mlab-etat{max-width:100%}}
/* éditeur ancré sous le graphique */
#mlab-dock{position:relative;flex:none;height:38%;min-height:10rem;max-height:80%;border-top:1px solid var(--t-trait2);display:flex;flex-direction:column;background:var(--t-carte)}
#mlab-dock[hidden]{display:none}
.mlab-dock-poignee{height:7px;flex:none;cursor:row-resize;background:linear-gradient(var(--t-trait2),var(--t-trait2)) center/3rem 2px no-repeat,var(--t-bg);touch-action:none}
.mlab-dock-poignee:hover{background:linear-gradient(var(--t-bleu),var(--t-bleu)) center/3rem 2px no-repeat,var(--t-bg)}
.mlab-fenetre.ancree{width:100%;height:100%;min-height:0;border:0;border-radius:0;box-shadow:none;grid-template-columns:14rem 1fr}
.mlab-fenetre.ancree .mlab-principal{grid-template-rows:auto 1fr 5.5rem}
.mlab-fenetre.ancree .mlab-barre{padding:.35rem .6rem}
.mlab-fenetre.ancree .mlab-cote-tete{padding:.5rem .8rem .3rem}
@media(max-width:820px){.mlab-fenetre.ancree{grid-template-columns:1fr;grid-template-rows:auto 1fr}.mlab-fenetre.ancree .mlab-cote{max-height:30%}}
/* scripts Mlab dans le menu Indicateurs */
#mlab-menu-attaches:empty{display:none}
#mlab-menu-attaches .titre{padding-top:.5rem}
#mlab-menu-attaches label{display:flex;align-items:center;gap:.5rem}
#mlab-menu-attaches label .nom{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#mlab-menu-attaches label .param-btn{position:static;transform:none}


html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
/* autocomplétion de l'éditeur Mlab */
.mlab-miroir{position:absolute;top:0;left:0;visibility:hidden;pointer-events:none;overflow:hidden;white-space:pre;box-sizing:border-box}
.mlab-ac{position:absolute;z-index:6;width:22rem;max-height:16rem;overflow-y:auto;background:var(--t-carte);border:1px solid var(--t-trait2);border-radius:8px;box-shadow:0 14px 40px -14px rgba(0,0,0,.7);font-family:var(--mono);font-size:.72rem;padding:.25rem}
.mlab-ac .it{display:flex;align-items:center;gap:.5rem;padding:.32rem .5rem;border-radius:5px;cursor:pointer;color:var(--t-texte)}
.mlab-ac .it.actif,.mlab-ac .it:hover{background:rgba(47,111,224,.18)}
.mlab-ac .it b{font-weight:600;flex:none}
.mlab-ac .it .d{color:var(--t-sourd);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.mlab-ac .g{flex:none;width:4.6rem;font-size:.58rem;letter-spacing:.04em;text-transform:uppercase;color:var(--t-sourd)}
.mlab-ac .g.fonction{color:#73B5FF}.mlab-ac .g.série{color:#C9B3FF}.mlab-ac .g.couleur{color:#F5B400}.mlab-ac .g.variable{color:#7FB2FF}.mlab-ac .g.mot-clé{color:#FF7A7A}
.mlab-ac .aide{padding:.3rem .5rem .45rem;font-family:var(--texte);font-size:.72rem;line-height:1.45;color:var(--t-texte2);border-bottom:1px solid var(--t-trait);margin-bottom:.2rem}
.mlab-ac .aide i{color:var(--t-sourd);font-style:normal}

/* ═══════════ terminal mobile : en-tête compact, navigation en bas, feuilles ═══════════ */
#nav-mobile,.feuille,.feuille-fond,#b-tf-mobile{display:none}
@media (max-width:64rem), (pointer:coarse) and (max-height:600px){
  :root{--t-bas:3.5rem;--t-haut:2.9rem}
  #bas{display:none}
  #nav-mobile{grid-area:bas;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--t-trait);background:var(--t-bg2);z-index:45;padding-bottom:env(safe-area-inset-bottom)}
  #nav-mobile button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;color:var(--t-sourd);font-family:var(--mono);font-size:.58rem;letter-spacing:.02em;padding:.3rem 0}
  #nav-mobile button svg{width:1.35rem;height:1.35rem}
  #nav-mobile button.actif{color:var(--t-ambre)}
  /* en-tête : symbole + prix + unité de temps ; le reste passe dans « Plus » */
  #haut{gap:.3rem;padding:0 .4rem;overflow:hidden}
  #haut .logo{margin-right:0;gap:.25rem}#haut .logo .lab{font-size:.62rem;padding:.06rem .3rem}
  /* tactile : le navigateur ne doit jamais prendre le geste pour un défilement (Lightweight Charts gère lui-même le déplacement et le pincement) */
  #app #chart,#app #overlay{touch-action:none}
  #b-gauche{display:none}
  .sym-entete{flex:1 1 auto;min-width:0;border:0;padding:0 .2rem;gap:.3rem;overflow:hidden;align-items:center}
  .sym-entete b{font-size:.86rem;overflow:hidden;text-overflow:ellipsis;max-width:34vw}.sym-entete .prix{font-size:.86rem}
  /* les groupes de l'en-tête disparaissent, mais leurs menus (listes) restent utilisables en feuille depuis la barre du bas */
  #haut .groupe{display:contents}
  #haut .groupe>.b,#haut .groupe>a.b,#haut .menu>.b{display:none}
  #b-tf-mobile{display:inline-flex;flex:none;height:2rem;padding:0 .6rem;border:1px solid var(--t-trait2);border-radius:7px;font-family:var(--mono);font-weight:700;font-size:.78rem;color:var(--t-ambre)}
  #haut .espace{display:none}
  /* barre de dessin : masquée sauf demande (onglet Dessin) */
  #app #graphiques{flex-direction:column-reverse}
  #app .dtv-barre{display:none;width:100%;height:46px;flex-direction:row;padding:0 4px;border-right:0;border-top:1px solid var(--dtv-trait);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;align-items:center}
  #app.dessin-visible .dtv-barre{display:flex}
  .dtv-replier{display:none}
  .dtv-grp{width:auto;margin:0 1px}.dtv-sepbarre{width:1px;height:26px;margin:0 4px}.dtv-espace{display:none}
  /* menus (Indicateurs, type de graphique) en feuille depuis le bas — #haut ne doit pas créer de contexte d'empilement (enfant de grille + z-index), sinon la feuille passe sous le voile et les puces */
  #haut{z-index:auto}
  .menu .liste{position:fixed!important;left:0;right:0;top:auto!important;bottom:var(--t-bas)!important;max-height:calc(100dvh - var(--t-bas) - 4rem);overflow-y:auto;border-radius:14px 14px 0 0;width:auto!important;min-width:0;z-index:60;padding-bottom:.6rem}
  .menu .liste label{padding:.6rem .9rem;font-size:.9rem}
  .menu .liste .mlab-entree small{display:none}
  .feuille-fond{display:block;position:fixed;inset:0;bottom:var(--t-bas);background:rgba(3,6,14,.45);z-index:55}
  .feuille-fond[hidden]{display:none}
  .feuille{display:block;position:fixed;left:0;right:0;bottom:var(--t-bas);z-index:60;background:var(--t-carte);border-top:1px solid var(--t-trait2);border-radius:14px 14px 0 0;box-shadow:0 -20px 60px -20px rgba(0,0,0,.7);max-height:calc(100dvh - var(--t-bas) - 3rem);overflow-y:auto}
  .feuille[hidden]{display:none}
  .feuille-tete{display:flex;align-items:center;justify-content:space-between;padding:.7rem .9rem .4rem;font-family:var(--titre);font-size:.95rem}
  .feuille-tete .b{width:2rem;height:2rem;border:1px solid var(--t-trait2);border-radius:7px}
  .feuille-tf{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;padding:.4rem .9rem 1rem}
  .feuille-tf button{height:2.6rem;border:1px solid var(--t-trait2);border-radius:9px;font-family:var(--mono);font-weight:700;font-size:.9rem;color:var(--t-texte)}
  .feuille-tf button.actif{background:var(--t-ambre);color:#140E00;border-color:transparent}
  .feuille-liste{display:flex;flex-direction:column;padding:.2rem .5rem .6rem}
  .feuille-liste button,.feuille-liste a{display:flex;align-items:center;gap:.8rem;padding:.7rem .6rem;border-radius:9px;color:var(--t-texte);font-size:.9rem;text-decoration:none;text-align:left}
  .feuille-liste button:active,.feuille-liste a:active{background:var(--t-bg3)}
  .feuille-liste svg{width:1.2rem;height:1.2rem;color:var(--t-sourd);flex:none}
  .feuille-note{padding:0 1rem 1rem;font-size:.72rem;color:var(--t-sourd);line-height:1.5;margin:0}
  /* panneaux latéraux en plein écran sur téléphone */
  #gauche,#droite{width:100%}
  .mlab-panneau{max-width:60vw;font-size:.6rem}
  #mlab-attaches{top:.5rem}
  .legende-chart{display:none}
  .reg-boite .pied{flex-wrap:wrap}
  .reg-boite .pied .espace{flex:1 1 100%;height:0}
  /* replay : deux lignes compactes (transport / ordre) */
  #replay-barre{flex-wrap:wrap;row-gap:.35rem;padding:.35rem .5rem;gap:.3rem;justify-content:flex-start}
  #replay-barre .r-groupe{width:100%;justify-content:space-between;gap:.15rem}
  #replay-barre .r-sel span{display:none}
  #replay-barre .r-sep{display:none}
  #replay-barre .date{font-size:.62rem;flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #replay-barre .r-tf{display:none}
  #replay-barre .espace{display:none}
  #replay-barre .trade-btns{width:100%;flex-wrap:nowrap;gap:.25rem}
  #replay-barre .trade-btns label{flex:1;min-width:0}
  #replay-barre .trade-btns input{width:100%;min-width:0;padding:.35rem .3rem}
  #replay-barre .trade-btns .b{flex:none;padding:0 .55rem;height:2.2rem;align-self:flex-end}
  #replay-barre .menu .liste{position:fixed!important;bottom:var(--t-bas)!important}
}
/* téléphone en paysage : la barre de navigation devient un rail vertical à gauche, le graphique prend toute la hauteur */
@media (max-width:64rem) and (orientation:landscape) and (max-height:520px), (orientation:landscape) and (pointer:coarse) and (max-height:600px){
  :root{--t-bas:0px;--t-haut:2.3rem;--t-rail:3.5rem}
  #app{grid-template-rows:var(--t-haut) 1fr;grid-template-columns:var(--t-rail) 1fr 0;grid-template-areas:"haut haut haut" "bas centre droite"}
  #nav-mobile{grid-template-columns:1fr;grid-auto-rows:1fr;border-top:0;border-right:1px solid var(--t-trait);padding-bottom:0;padding-left:env(safe-area-inset-left)}
  #nav-mobile button{padding:0;gap:.1rem;font-size:.5rem}
  #nav-mobile button svg{width:1.2rem;height:1.2rem}
  #haut{padding:0 .4rem 0 max(.4rem,env(safe-area-inset-left))}
  #onglets-graph{height:1.75rem}.onglet{font-size:.64rem;padding-left:.45rem}.onglet .fermer{width:1rem;height:1rem}
  /* panneaux, feuilles et menus : à droite du rail, sur toute la hauteur restante */
  #gauche,#droite{grid-column:2/-1}
  #app.mobile-gauche::after,#app.mobile-droite::after{grid-column:2/-1}
  .feuille,.menu .liste{left:var(--t-rail)!important;right:0;bottom:0!important;max-height:calc(100dvh - var(--t-haut) - .5rem);border-radius:12px 0 0 0}
  .feuille-fond{left:var(--t-rail);bottom:0}
  #replay-barre .menu .liste{left:var(--t-rail)!important}
  .filigrane{bottom:1.6rem}
}
.etat-sync{font-family:var(--mono);font-size:.68rem;color:var(--t-vert);margin-left:.6rem}
.etat-sync.err{color:var(--t-ambre)}
.etat-sync:empty{display:none}

/* ═══════════ mode mini (cellule d'un multi-graphique) ═══════════ */
#app.mini{grid-template-columns:0 1fr 0!important;grid-template-rows:var(--t-haut) 1fr 0;position:relative}
#app.mini #bas,#app.mini #nav-mobile,#app.mini .logo .term,#app.mini #b-compte,#app.mini #b-aide,#app.mini #b-theme,#app.mini #b-droite,#app.mini #b-plein,#app.mini #b-capture,#app.mini #b-disposition,#app.mini #b-replay span,#app.mini .menu .b span{display:none}
#app.mini #haut{padding:0 .4rem;gap:.3rem;overflow:hidden}
#app.mini .logo{margin-right:.1rem}
#app.mini .sym-entete{border:0;padding:0 .2rem;min-width:0;flex:1 1 auto}
#app.mini .sym-entete .nom,#app.mini .sym-entete .var{display:none}
#app.mini .sym-entete b{font-size:.8rem}#app.mini .sym-entete .prix{font-size:.8rem}
#app.mini #haut .groupe .b{height:1.7rem;padding:0 .4rem;font-size:.68rem}
#app.mini #haut .espace{display:none}
#app.mini #gauche,#app.mini #droite{position:absolute;grid-column:1/-1;grid-row:2;top:0;bottom:0;width:min(86%,20rem);z-index:40;box-shadow:0 20px 60px -20px rgba(0,0,0,.7);transition:transform .25s ease}
#app.mini #gauche{left:0;right:auto;transform:translateX(-102%)}#app.mini #droite{right:0;left:auto;transform:translateX(102%)}
#app.mini.mobile-gauche #gauche,#app.mini.mobile-droite #droite{transform:none}
#app.mini.mobile-gauche::after,#app.mini.mobile-droite::after{content:"";position:absolute;grid-column:1/-1;grid-row:2;inset:0;background:rgba(3,6,14,.35);z-index:39}
#app.mini .dtv-barre{display:none}
#app.mini #graphiques{flex-direction:column}
#app.mini .legende-chart{font-size:.6rem}
#app.mini .filigrane{display:none}
/* ═══════════ onglets de graphiques (plusieurs actifs ouverts, on bascule d'un clic — comme les onglets d'un navigateur) ═══════════ */
#onglets-graph{display:flex;align-items:stretch;height:2rem;flex:none;background:var(--t-bg2);border-bottom:1px solid var(--t-trait);padding:0 .35rem 0 0;gap:.15rem;min-width:0}
.onglets-defile{display:flex;align-items:stretch;gap:.15rem;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;min-width:0;padding:.25rem 0 0 .35rem}.onglets-defile::-webkit-scrollbar{display:none}
.onglet{display:inline-flex;align-items:center;gap:.4rem;flex:none;max-width:12rem;padding:0 .35rem 0 .6rem;border-radius:7px 7px 0 0;border:1px solid transparent;border-bottom:0;color:var(--t-texte2);font-family:var(--mono);font-size:.7rem;cursor:pointer;position:relative;white-space:nowrap;transition:background .12s,color .12s}
.onglet:hover{background:var(--t-carte);color:var(--t-texte)}
.onglet.actif{background:var(--t-bg);color:var(--t-texte);border-color:var(--t-trait);margin-bottom:-1px}
.onglet.actif::before{content:"";position:absolute;left:.5rem;right:.5rem;top:0;height:2px;border-radius:0 0 2px 2px;background:var(--t-ambre)}
.onglet .pastille{width:.45rem;height:.45rem;border-radius:50%;flex:none;background:var(--t-sourd)}.onglet .pastille.deriv{background:#FF444F}.onglet .pastille.binance{background:#F3BA2F}.onglet .pastille.yahoo{background:#6001D2}
.onglet b{font-weight:600;overflow:hidden;text-overflow:ellipsis;min-width:0}
.onglet small{color:var(--t-sourd);font-size:.62rem;text-transform:uppercase;letter-spacing:.04em}.onglet.actif small{color:var(--t-bleuc)}
.onglet .fermer{width:1.1rem;height:1.1rem;border-radius:4px;display:grid;place-items:center;color:var(--t-sourd);font-size:.75rem;line-height:1;opacity:0;transition:opacity .12s}.onglet:hover .fermer,.onglet.actif .fermer{opacity:1}.onglet .fermer:hover{background:rgba(240,80,110,.15);color:var(--t-rouge)}
.onglet-plus{flex:none;align-self:center;width:1.5rem;height:1.5rem;border-radius:6px;color:var(--t-sourd);font-size:1rem;line-height:1;display:grid;place-items:center;margin-left:.15rem}.onglet-plus:hover{background:var(--t-carte);color:var(--t-texte)}
#app.mini #onglets-graph{display:none}
@media(hover:none){.onglet .fermer{opacity:1}}
@media (max-width:64rem), (pointer:coarse) and (max-height:600px){#onglets-graph{height:2.1rem}.onglet{padding-left:.5rem;max-width:9rem}.onglet:not(.actif) small{display:none}}
/* ═══════════ mode vitrine (hero du site) : lecture seule, rien que le graphique ═══════════ */
#app.vitrine #haut .groupe,#app.vitrine #b-tf-mobile,#app.vitrine #nav-mobile,#app.vitrine #b-gauche,#app.vitrine #b-droite,#app.vitrine #onglets-graph,#app.vitrine #mlab-attaches,#app.vitrine .legende-chart,#app.vitrine #toast,#app.vitrine #etat-sync,#app.vitrine .dtv-barre,#app.vitrine .dtv-flottante{display:none!important}
#app.vitrine #haut{padding:0 .6rem}#app.vitrine .logo{display:none}#app.vitrine .sym-entete{padding-left:.2rem}
#app.vitrine .sym-entete .nom{display:inline}
html.vitrine,html.vitrine body{background:transparent}


/* sélecteur de langue (menu Plus) */
.drapeau{width:1.1rem;height:.75rem;border-radius:2px;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
html[lang="fr"] [data-langue="fr"],html[lang="en"] [data-langue="en"]{color:var(--t-texte)}
