/* Généré par tools/build.rb à partir de assets/widgets/widgets.css : ne pas modifier à la main.
   Les retouches d'intégration se font dans assets/css/styles.css (section « Leçon : widgets »). */

/* Variables attendues par les widgets, reliées aux couleurs du site */
.ef{
  --card:var(--surface);--card2:var(--surface-2);--line:var(--border);
  --blue2:var(--blue-text);--blueDark:var(--blue-press);
  --greenDark:var(--green-press);--redDark:var(--red-press);--goldDark:#b7860b;
  --soft:#D8DEF0;--track:var(--surface-2);--sel:var(--blue-soft);--selText:var(--blue-text-2);
  --okbg:var(--green-soft);--kobg:var(--red-soft);--rightbg:var(--green-soft);--wrongbg:var(--red-soft);
  --lockc:#1d2740;--lockd:#121a2d;--grid:var(--divider);--axis:#3a4d7a;
  --btnoff:var(--surface-2);--btnoffd:var(--border);--btnofft:var(--disabled);
  --bidc:#7ee2a4;--askc:#ff9a9a;--kotext:var(--red-text);
  color:var(--text);font-family:Nunito,system-ui,sans-serif;font-weight:700;
}
:root[data-theme="light"] .ef{
  --soft:#33405f;--lockc:#dfe5f1;--lockd:#c4cde0;--axis:#b9c5de;--bidc:#15803d;--askc:#b91c1c;
}

/* Remises à zéro : neutralise les styles du site qui portent le même nom de classe */
.ef *,.ef *::before,.ef *::after{box-sizing:border-box}
.ef *{margin:0;padding:0}
.ef button{border:none;background:none;color:inherit;font-family:inherit;cursor:pointer}
.ef input{font-family:inherit}
.ef .btn{height:auto;gap:0;white-space:normal;align-items:normal;justify-content:normal;filter:none;border:0}
.ef .btn:hover{filter:none;color:#fff}
.ef .seg{height:auto;padding:0;border:0;border-radius:0;background:none;font-size:inherit;font-weight:inherit;color:inherit;cursor:auto}
.ef .seg:hover{color:inherit}
.ef .pill{background:none;color:inherit;font-size:inherit;text-decoration:none;padding:11px 14px}
.ef .book td,.ef .book th{border-top:0}

.ef .wrap{padding:16px;display:flex;flex-direction:column;gap:14px}
.ef .card{background:var(--card);border:2px solid var(--line);border-radius:16px;padding:14px}
.ef .h2{font-size:22px;font-weight:900}
.ef .sub{color:var(--muted);font-weight:700;font-size:14px}
.ef .btn{display:block;width:100%;padding:15px;border-radius:14px;font-weight:900;font-size:16px;text-transform:uppercase;letter-spacing:.6px;background:var(--blue);box-shadow:0 5px 0 var(--blueDark);color:#fff;transition:transform .08s;text-align:center}
.ef .btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--blueDark)}
.ef .btn:disabled{background:var(--btnoff);box-shadow:0 5px 0 var(--btnoffd);color:var(--btnofft);cursor:default}
.ef .btn.ghost{background:transparent;border:2px solid var(--line);box-shadow:0 4px 0 var(--line);color:var(--blue2)}
.ef .btn.small{padding:9px 14px;font-size:13px;width:auto;display:inline-block;box-shadow:0 3px 0 var(--blueDark)}
.ef .btn.green{background:var(--green);box-shadow:0 4px 0 var(--greenDark)}
.ef .btn.danger{background:transparent;border:2px solid var(--line);box-shadow:none;color:var(--red)}
.ef .bar{flex:1;height:14px;background:var(--track);border-radius:999px;overflow:hidden}
.ef .fill{height:100%;background:linear-gradient(90deg,var(--blue2),var(--blue));border-radius:999px;transition:width .35s;position:relative}
.ef .fill.gold{background:linear-gradient(90deg,#fcd34d,var(--gold))}
.ef .fill.green{background:linear-gradient(90deg,#4ade80,var(--green))}
.ef .disclaimer{color:var(--muted);font-size:11.5px;text-align:center;padding:0 24px 24px;line-height:1.4}
.ef .note{color:var(--muted);font-size:12px;font-weight:700;text-align:center}
.ef .field{width:100%;background:var(--card);border:2px solid var(--line);border-radius:14px;padding:14px;color:var(--text);font-weight:700;font-size:16px;outline:none}
.ef .field:focus{border-color:var(--blue2)}
.ef .err{color:var(--kotext);font-weight:800;font-size:14px}
.ef .bougie{flex:none;animation:ef-bounce 2.2s ease-in-out infinite;transform-origin:bottom center}
.ef .bougie .eye{animation:ef-blink 4s infinite;transform-box:fill-box;transform-origin:center}
.ef .bougie.happy{animation:ef-jump .5s ease 2}
.ef .bougie.sad{animation:ef-shake .4s ease 2}
.ef .bougie .flame{animation:ef-flicker .3s infinite alternate;transform-box:fill-box;transform-origin:bottom center}
@keyframes ef-bounce{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-4px) rotate(-2deg)}}
@keyframes ef-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes ef-jump{50%{transform:translateY(-14px) scale(1.05)}}
@keyframes ef-shake{25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}
@keyframes ef-flicker{to{transform:scaleY(1.15) scaleX(.9)}}
.ef .bubble{position:relative;background:var(--card);border:2px solid var(--line);border-radius:16px;padding:12px 14px;font-weight:700;font-size:16px;line-height:1.45;flex:1;text-align:left}
.ef .bubble::before{content:"";position:absolute;left:-10px;bottom:18px;border:8px solid transparent;border-right-color:var(--line);border-left:0}
.ef .bubble b{color:var(--blue2)}
.ef .ltop{display:flex;align-items:center;gap:12px;padding:16px 16px 6px}
.ef .close{font-size:22px;color:var(--muted);width:32px;height:32px}
.ef .lbody{flex:1;padding:14px 16px 20px;display:flex;flex-direction:column;gap:16px;animation:ef-slidein .3s ease}
@keyframes ef-slidein{from{opacity:0;transform:translateX(18px)}}
.ef .kicker{font-weight:900;font-size:13px;letter-spacing:1px;text-transform:uppercase;color:var(--blue2)}
.ef .retry-tag{color:var(--gold)}
.ef .qrow{display:flex;align-items:flex-end;gap:10px}
.ef .opts{display:flex;flex-direction:column;gap:10px}
.ef .opts.two{flex-direction:row}
.ef .opts.two .opt{flex:1;text-align:center}
.ef .opt{background:var(--card);border:2px solid var(--line);border-bottom-width:5px;border-radius:14px;padding:14px 16px;font-weight:800;font-size:16px;text-align:left;transition:.1s}
.ef .opt.sel{border-color:var(--blue2);background:var(--sel);color:var(--selText)}
.ef .opt.right{border-color:var(--green);background:var(--rightbg)}
.ef .opt.wrong{border-color:var(--red);background:var(--wrongbg)}
.ef .opt:disabled{cursor:default}
.ef .opt small{display:block;color:var(--muted);font-size:13px;font-weight:700;margin-top:2px}
.ef .chartbox{background:var(--card);border:2px solid var(--line);border-radius:16px;padding:8px}
.ef .chartbox svg{display:block;width:100%;height:auto}
.ef .lfoot{padding:16px;border-top:2px solid var(--line);background:var(--bg)}
.ef .lfoot.ok{background:var(--okbg);border-top-color:transparent}
.ef .lfoot.ko{background:var(--kobg);border-top-color:transparent}
.ef .fb{margin-bottom:12px;display:none}
.ef .lfoot.ok .fb,.ef .lfoot.ko .fb{display:block;animation:ef-up .25s ease}
@keyframes ef-up{from{transform:translateY(10px);opacity:0}}
.ef .fb h3{font-size:20px;font-weight:900;margin-bottom:4px}
.ef .lfoot.ok .fb h3{color:var(--green)}
.ef .lfoot.ko .fb h3{color:var(--kotext)}
.ef .fb p{font-weight:700;font-size:15px;line-height:1.45;color:var(--soft)}
.ef .combo{display:inline-block;margin-left:8px;font-size:13px;background:var(--gold);color:#3a2a00;padding:2px 8px;border-radius:8px;vertical-align:middle}
.ef .lfoot.ok .btn{background:var(--green);box-shadow:0 5px 0 var(--greenDark)}
.ef .lfoot.ko .btn{background:var(--red);box-shadow:0 5px 0 var(--redDark)}
.ef .vis{background:var(--card);border:2px solid var(--line);border-radius:16px;padding:12px}
.ef .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ef .grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.ef .tile{background:var(--card2);border:2px solid transparent;border-radius:12px;padding:10px 6px;text-align:center;font-weight:800;font-size:13px;line-height:1.25}
.ef .tile .e{font-size:26px;display:block;margin-bottom:4px}
.ef .tile small{display:block;color:var(--muted);font-weight:700;font-size:11px;margin-top:3px}
.ef .tile.g{border-color:rgba(34,197,94,.5)}
.ef .tile.r{border-color:rgba(239,68,68,.5)}
.ef .duel{display:flex;align-items:center;gap:8px}
.ef .duel .tile{flex:1}
.ef .duel .mid{font-size:28px}
.ef .eq{text-align:center;font-weight:800;margin-top:10px;font-size:15px}
.ef .eq b{color:var(--blue2)}
.ef .vtitle{font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:8px}
.ef .brow{display:flex;flex-direction:column;gap:4px;margin-bottom:9px;font-weight:800;font-size:14px}
.ef .brow i{display:block;height:10px;border-radius:6px;background:linear-gradient(90deg,var(--blue),var(--blue2))}
.ef .vnote{color:var(--muted);font-size:12.5px;font-weight:700;margin-top:6px;text-align:center}
.ef .vnote b{color:var(--blue2)}
.ef .tbl{width:100%;border-collapse:collapse;font-size:13px;font-weight:700}
.ef .tbl th{color:var(--muted);font-size:11px;text-transform:uppercase;text-align:left;padding:4px 6px}
.ef .tbl td{padding:8px 6px;border-top:1px solid var(--line)}
.ef .book{width:100%;border-collapse:separate;border-spacing:0 4px;font-weight:800;font-size:14px;text-align:center}
.ef .book th{font-size:11px;text-transform:uppercase;padding:4px}
.ef .book .bh{color:var(--green)}
.ef .book .ah{color:var(--kotext)}
.ef .book td{padding:7px 4px;background:var(--card2)}
.ef .book td.b{color:var(--bidc)}
.ef .book td.a{color:var(--askc)}
.ef .book td.best{outline:2px solid var(--gold);outline-offset:-2px;border-radius:6px}
.ef .end{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:30px 20px;text-align:center}
.ef .end h1{font-size:28px;font-weight:900;color:var(--gold)}
.ef .cards{display:flex;gap:10px;width:100%}
.ef .stat{flex:1;border-radius:14px;border:2px solid var(--gold);overflow:hidden}
.ef .stat .h{background:var(--gold);color:#3a2a00;font-weight:900;font-size:11px;padding:5px;text-transform:uppercase}
.ef .stat .v{padding:12px 4px;font-size:20px;font-weight:900}
.ef .stat.b{border-color:var(--blue2)}
.ef .stat.b .h{background:var(--blue2);color:#04122e}
.ef .stat.g{border-color:var(--green)}
.ef .stat.g .h{background:var(--green);color:#03250f}
.ef .confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:40}
.ef .confetti i{position:absolute;top:-20px;width:9px;height:14px;border-radius:2px;animation:ef-fall linear forwards}
@keyframes ef-fall{to{transform:translateY(110vh) rotate(720deg)}}
.ef .recap{background:var(--card);border:2px solid var(--line);border-radius:14px;padding:14px;text-align:left;width:100%;font-weight:700;font-size:14.5px;line-height:1.5}
.ef .recap b{color:var(--blue2)}
.ef .pill{width:100%;border-radius:14px;padding:11px 14px;font-weight:900;text-align:left;display:flex;align-items:center;gap:10px}
.ef .pill.fire{background:rgba(249,115,22,.14);border:2px solid #f97316;color:#f97316}
.ef .pill.goal{background:rgba(34,197,94,.12);border:2px solid var(--green);color:var(--green)}
.ef .unl{width:100%;background:var(--sel);border:2px solid var(--blue2);border-radius:14px;padding:12px;text-align:left}
.ef .unl-h{font-weight:900;margin-bottom:8px}
.ef .unl-tags{display:flex;flex-wrap:wrap;gap:6px}
.ef .unl-tags span{background:var(--card);border-radius:8px;padding:4px 8px;font-size:12.5px;font-weight:800}
.ef .seg{display:flex;gap:8px}
.ef .seg button{flex:1;padding:11px;border-radius:12px;border:2px solid var(--line);background:var(--card);font-weight:800;font-size:14px}
.ef .seg button.on{border-color:var(--blue2);background:var(--sel);color:var(--selText)}
.ef .rev{stroke-dasharray:1;stroke-dashoffset:1;opacity:0}
.ef .rev.go{opacity:1;animation:ef-draw 1s ease forwards}
@keyframes ef-draw{to{stroke-dashoffset:0}}
.ef .democard{margin:12px 16px 0;display:flex;flex-direction:column;gap:4px;border-color:var(--blue2);background:var(--sel)}
.ef .democard .dn{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1px;color:var(--gold)}
.ef .democard b{font-size:17px;font-weight:900}
.ef .democard small{color:var(--muted);font-weight:700;font-size:12.5px;margin-bottom:6px}
.ef .democard .btn{align-self:flex-start}
.ef .pill.timer{background:var(--sel);border:2px solid var(--blue2);color:var(--blue2);justify-content:center}
.ef .hook .hk-top{display:flex;justify-content:space-between;font-weight:900;font-size:17px}
.ef .hook .up{color:var(--green)}
.ef .hook svg{width:100%;height:80px;display:block;margin:6px 0}
.ef .hk-sub{color:var(--muted);font-weight:700;font-size:12.5px;text-align:right}
.ef .tug{width:100%;height:auto;display:block}
.ef .tugmark{animation:ef-tugm 3.2s ease-in-out infinite}
@keyframes ef-tugm{0%,100%{transform:translateY(-26px)}50%{transform:translateY(26px)}}
.ef .sim{display:flex;flex-direction:column;gap:10px}
.ef .pricebox{display:flex;align-items:center;gap:10px}
.ef .pricebox span{flex:1;color:var(--muted);font-weight:800;font-size:13px}
.ef .pricebox b{font-size:24px;font-weight:900;font-variant-numeric:tabular-nums}
.ef .pricebox i{font-style:normal;font-weight:900;font-size:16px;width:22px;text-align:center}
.ef i.up{color:var(--green)}
.ef i.down{color:var(--red)}
.ef i.flat{color:var(--muted)}
.ef #spark{width:100%;height:90px;background:var(--card2);border-radius:12px}
.ef .force{position:relative;display:flex;height:16px;border-radius:999px;overflow:hidden;background:var(--track)}
.ef .force .fg{background:var(--green);transition:width .2s}
.ef .force .fr{background:var(--red);transition:width .2s}
.ef .fmid{position:absolute;left:50%;top:-2px;bottom:-2px;width:2px;background:var(--text);opacity:.5}
.ef .fl{display:flex;justify-content:space-between;font-size:11.5px;font-weight:800;color:var(--muted);margin-top:-4px}
.ef .rl{display:flex;justify-content:space-between;font-weight:800;font-size:14px;margin-top:4px}
.ef .rg{width:100%;height:32px;cursor:pointer}
.ef .rg.g{accent-color:var(--green)}
.ef .rg.r{accent-color:var(--red)}
.ef .live{background:var(--card2);border-radius:12px;padding:10px 12px;font-weight:700;font-size:14px;min-height:44px}
.ef .live b{color:var(--blue2)}
.ef .tasks{list-style:none;display:flex;flex-direction:column;gap:6px}
.ef .tasks li{font-weight:800;font-size:14px;padding:9px 12px;border-radius:10px;border:2px dashed var(--line);color:var(--muted)}
.ef .tasks li::before{content:"○ ";}
.ef .tasks li.done{border-style:solid;border-color:var(--green);color:var(--green);background:var(--rightbg)}
.ef .tasks li.done::before{content:"✓ ";}
.ef .newsw{display:flex;flex-direction:column;gap:10px}
.ef .ncount{font-size:12px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.8px}
.ef .ncard{background:var(--card2);border-radius:12px;padding:14px;font-weight:900;font-size:16px;line-height:1.35}
.ef .nchart{width:100%;height:80px;display:block}
.ef .nexp{font-weight:700;font-size:14.5px;line-height:1.45;display:flex;flex-direction:column;gap:10px}
.ef .nexp:empty{display:none}
.ef .nexp .btn{align-self:flex-start}
.ef .okc{color:var(--green)}
.ef .koc{color:var(--kotext)}
.ef .center{text-align:center}
.ef .bigscore{font-size:40px;font-weight:900;color:var(--gold)}
.ef .sortw{display:flex;flex-direction:column;gap:12px}
.ef .pool{display:flex;flex-wrap:wrap;gap:8px;min-height:10px}
.ef .scard{background:var(--card2);border:2px solid var(--line);border-bottom-width:4px;border-radius:12px;padding:9px 11px;font-weight:800;font-size:13.5px;cursor:grab;user-select:none;touch-action:manipulation}
.ef .scard.drag{opacity:.4}
.ef .scard.selc{border-color:var(--blue2);background:var(--sel)}
.ef .scard.ok{border-color:var(--green);background:var(--rightbg);cursor:default}
.ef .scard.ko{border-color:var(--red);background:var(--wrongbg);cursor:default}
.ef .zones{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ef .zone-d{border:2px dashed var(--line);border-radius:14px;padding:10px;min-height:140px;display:flex;flex-direction:column;gap:8px;cursor:pointer;transition:background .15s}
.ef .zone-d b{font-weight:900;font-size:13.5px;text-align:center}
.ef .zone-d.up b{color:var(--green)}
.ef .zone-d.down b{color:var(--kotext)}
.ef .zone-d.over{background:var(--sel);border-color:var(--blue2)}
.ef .zc{display:flex;flex-direction:column;gap:6px}
.ef .zc .scard{font-size:12.5px;padding:7px 9px}
.ef .sortw .btn,.ef .bookw .btn{align-self:flex-start}
.ef .bookw{display:flex;flex-direction:column;gap:12px}
.ef .book td.eat{background:var(--gold)!important;color:#3a2a00!important;transition:background .2s}
.ef .mission{background:var(--card2);border-radius:12px;padding:12px;font-weight:700;font-size:14.5px;line-height:1.45}
.ef .mission b{color:var(--blue2)}
.ef .log{display:flex;flex-direction:column;gap:4px;font-weight:700;font-size:13px;color:var(--soft)}
.ef .btn.redb{background:var(--red);box-shadow:0 4px 0 var(--redDark)}
.ef .top .tl{display:flex;align-items:center;gap:8px}
.ef .logo small{font-size:11px;color:var(--muted);font-weight:800;letter-spacing:0}
.ef .card.chap{width:100%;text-align:left}
.ef .card.chap.dim{opacity:.6}
.ef .pcard{display:flex;flex-direction:column;gap:6px}
.ef .ph{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.ef .ph b{font-weight:900;font-size:16px}
.ef .pn{width:30px;height:30px;border-radius:50%;background:var(--blue);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;flex:none}
.ef .lrow2{display:flex;align-items:center;gap:10px;text-align:left;padding:9px 10px;border-radius:12px;background:var(--card2);border:2px solid transparent}
.ef .lrow2:hover:not(:disabled){border-color:var(--blue2)}
.ef .lrow2.dim{opacity:.5;cursor:default}
.ef .lrow2.done{border-color:var(--gold)}
.ef .lrow2 div{flex:1}
.ef .lrow2 b{display:block;font-weight:800;font-size:14px}
.ef .lrow2 small{color:var(--muted);font-weight:700;font-size:11.5px}
.ef .lrow2 code{font-size:10.5px;color:var(--muted)}
.ef .kicker .lt{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:800}
.ef .recap ul{padding-left:18px;display:flex;flex-direction:column;gap:6px}
.ef .ef-chart{display:block;width:100%;height:auto}
.ef .hook .down{color:var(--red)}
.ef .steps{display:flex;flex-direction:column;align-items:stretch}
.ef .srow{display:flex;gap:12px;align-items:center;background:var(--card2);border-radius:12px;padding:10px 12px}
.ef .srow .sn{width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;font-weight:900;display:flex;align-items:center;justify-content:center;flex:none;font-size:16px}
.ef .srow b{display:block;font-weight:900;font-size:14px}
.ef .srow small{color:var(--muted);font-weight:700;font-size:12.5px}
.ef .sarrow{text-align:center;color:var(--muted);font-weight:900;line-height:1.4}
.ef .brow.me i{background:linear-gradient(90deg,var(--gold),#fcd34d)}
.ef .matchw{display:flex;flex-direction:column;gap:10px}
.ef .mcols{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ef .mcols>div{display:flex;flex-direction:column;gap:8px}
.ef .mh{font-size:11px;font-weight:900;text-transform:uppercase;color:var(--muted);letter-spacing:.8px}
.ef .mitem{background:var(--card2);border:3px solid var(--line);border-radius:12px;padding:10px;font-weight:800;font-size:13.5px;text-align:left}
.ef .mitem.selc{border-color:var(--blue2);background:var(--sel)}
.ef .mitem.ok{background:var(--rightbg)}
.ef .mitem.ko{background:var(--wrongbg)}
.ef .matchw .btn,.ef .orderw .btn,.ef .estw .btn,.ef .dealw .btn,.ef .sim .btn{align-self:flex-start}
.ef .orderw{display:flex;flex-direction:column;gap:8px}
.ef .olist{display:flex;flex-direction:column;gap:6px}
.ef .olab{font-size:12px;font-weight:900;color:var(--muted)}
.ef .oitem{display:flex;align-items:center;gap:8px;background:var(--card2);border:2px solid var(--line);border-radius:12px;padding:8px 10px;cursor:grab}
.ef .oitem .on{width:24px;height:24px;border-radius:50%;background:var(--blue);color:#fff;font-weight:900;font-size:12px;display:flex;align-items:center;justify-content:center;flex:none}
.ef .oitem .ot{flex:1;font-weight:800;font-size:13.5px}
.ef .oitem button{width:30px;height:30px;border-radius:8px;background:var(--card);border:1px solid var(--line);font-size:12px}
.ef .oitem button:disabled{opacity:.3}
.ef .oitem.ok{border-color:var(--green);background:var(--rightbg)}
.ef .oitem.ko{border-color:var(--red);background:var(--wrongbg)}
.ef .estw,.ef .dealw{display:flex;flex-direction:column;gap:10px}
.ef .estv{font-size:28px;font-weight:900;text-align:center;font-variant-numeric:tabular-nums}
.ef .dcols{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ef .dl{display:flex;flex-direction:column;gap:6px}
.ef .dp{background:var(--card2);border-radius:10px;padding:8px;font-weight:800;font-size:13px;border:2px solid transparent;display:flex;flex-direction:column;gap:2px}
.ef .dp small{color:var(--muted);font-size:11px}
.ef .dp span{font-size:12px}
.ef .dp.yes{border-color:var(--green)}
.ef .dp.no{opacity:.7}
.ef .speedw{display:flex;flex-direction:column;gap:10px}
.ef .sqtop{display:flex;justify-content:space-between;font-weight:900;font-size:16px}
.ef .sqbar{height:8px;background:var(--track);border-radius:9px;overflow:hidden}
.ef .sqbar i{display:block;height:100%;width:100%;background:var(--gold);transition:width 1s linear}
.ef .sqbody{display:flex;flex-direction:column;gap:10px}
.ef .cchips{display:flex;flex-wrap:wrap;gap:6px}
.ef .cchip{border:2px solid var(--c);color:var(--c);border-radius:999px;padding:6px 11px;font-weight:900;font-size:13px;opacity:.45}
.ef .cchip.on{opacity:1;background:color-mix(in srgb,var(--c) 15%,transparent)}
.ef .pair{font-size:26px;font-weight:900;text-align:center}
.ef .pair .pb{color:var(--blue2)}
.ef .pair .pq{color:var(--gold)}
.ef .flows{display:flex;align-items:flex-end;gap:6px;height:110px;padding:6px;background:var(--card2);border-radius:12px}
.ef .fy{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;justify-content:flex-end;height:100%}
.ef .fy i{width:70%;background:var(--green);border-radius:6px 6px 2px 2px}
.ef .fy i.cap{background:linear-gradient(var(--blue) 70%,var(--green) 70%)}
.ef .fy small{font-size:10px;color:var(--muted);font-weight:800}
.ef .ib .ibt{border:2px solid var(--line);opacity:.5}
.ef .ib .ibt.on{opacity:1;border-color:var(--blue2)}
.ef .ib .ibt.g{border-color:var(--green)}
.ef .ib .ibt.r{border-color:var(--red)}
.ef .clockh{text-align:center;font-size:30px;font-weight:900;font-variant-numeric:tabular-nums}
.ef .mlist{display:flex;flex-direction:column;gap:6px}
.ef .mrow{display:grid;grid-template-columns:1.3fr 1fr auto;gap:8px;align-items:center;font-weight:800;font-size:13px;background:var(--card2);padding:8px 10px;border-radius:10px;border:2px solid transparent}
.ef .mrow b{font-size:11px;color:var(--muted);text-transform:uppercase}
.ef .mrow.open{border-color:var(--green)}
.ef .mrow.open b{color:var(--green)}
.ef .mbar{position:relative;height:10px;background:var(--track);border-radius:6px}
.ef .mbar i{position:absolute;top:0;bottom:0;background:var(--blue);border-radius:6px}
.ef .mbar em{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--gold)}
.ef .book td.mine{outline:2px dashed var(--blue2);outline-offset:-2px}
.ef .impw{display:flex;flex-direction:column;gap:10px}
.ef .live:empty{display:none}
.ef .cbw{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center}
.ef .cbsvg{width:100%;height:auto;background:var(--card2);border-radius:12px}
.ef .cbs{display:flex;flex-direction:column;gap:2px}
.ef .tile.pnl.g{border-color:var(--green)}
.ef .tile.pnl.r{border-color:var(--red)}
.ef .pdot{cursor:pointer}
.ef .pdot:hover{stroke:var(--blue2)!important}
.ef .lmbars{display:flex;flex-direction:column;gap:6px}
.ef .tile.res.g{border-color:var(--green)}
.ef .tile.res.r{border-color:var(--red)}
.ef .seg.ty{flex-wrap:wrap}
.ef .seg.ty button{flex:1 1 40%}
.ef .seg.ctr button{padding:9px 4px}
.ef .dom td{padding:5px 3px}
.ef .dom td.ck{cursor:pointer;width:22%;border:1px dashed var(--line)}
.ef .dom td.ck[data-side=buy]{background:rgba(34,197,94,.08)}
.ef .dom td.ck[data-side=sell]{background:rgba(239,68,68,.08)}
.ef .dom td.ck:hover{outline:2px dashed var(--blue2);outline-offset:-2px}
.ef .msr{font-size:12.5px}
.ef .hs rect[data-z]:hover{stroke:var(--blue2)}
.ef .legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11.5px;font-weight:800;color:var(--soft)}
.ef .legend:empty{display:none}
.ef .legend .lg{display:flex;align-items:center;gap:5px}
.ef .legend .lg i{width:14px;height:4px;border-radius:2px;display:inline-block}
.ef .seg.fl{flex-wrap:wrap}
.ef .seg.fl button{flex:1 1 28%;padding:9px 4px}
.ef .seg button.off{opacity:.4;text-decoration:line-through}
.ef .dsb tr.hit td,.ef .tapet tr.hit td{outline:2px solid var(--gold);outline-offset:-2px}
.ef .dsb tbody tr{cursor:pointer}
.ef .tapew{max-height:260px;overflow:hidden;border-radius:12px}
.ef .tapet{font-size:12px;font-variant-numeric:tabular-nums}
.ef .tapet td{padding:4px 6px}
.ef .tapet tr.bigp td{font-weight:900;background:rgba(251,191,36,.12)}
.ef .tapet tbody tr{cursor:pointer}
.ef .calw{overflow-x:auto}
.ef .cal{font-size:11.5px}
.ef .cal td{padding:6px 4px}
.ef .cal td.cn{white-space:nowrap}
.ef .cal .soff{opacity:.18}
.ef .cal tr[data-r]{cursor:pointer}
.ef .cal .cday td{font-weight:900;color:var(--blue2);background:transparent;padding-top:10px}
.ef .cal .cimp{color:var(--muted);letter-spacing:1px;white-space:nowrap}
.ef .cal tr.imp3 .cimp{color:#ef4444}
.ef .cal tr.imp2 .cimp{color:#f97316}
.ef .cal .cev{font-weight:800}
.ef .cal tr.hit td{background:rgba(34,197,94,.15)}
.ef .cal tr.cur td{outline:2px solid var(--gold);outline-offset:-2px}
.ef .cal .cact b{color:var(--gold)}
.ef .dlcard{background:var(--card2);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}
.ef .dlmood{font-size:28px}
.ef .dlt{font-weight:700;font-size:15px;line-height:1.5}
.ef .cklist{display:flex;flex-direction:column;gap:8px}
.ef .ckb{display:flex;gap:10px;align-items:flex-start;text-align:left;background:var(--card);border:2px solid var(--line);border-radius:12px;padding:10px 12px;font-weight:700;font-size:14px}
.ef .ckb i{font-style:normal;font-size:18px;line-height:1}
.ef .ckb.on{border-color:var(--blue2);background:var(--sel)}
.ef .ckb.yes{border-color:rgba(34,197,94,.6)}
.ef .ckb.no{border-color:rgba(239,68,68,.5);opacity:.85}
.ef .pbs{display:flex;flex-direction:column;gap:14px}
.ef .pbsec .opts{gap:6px}
.ef .pbsec .opt{padding:10px 12px;font-size:14px}
.ef .pbw{color:#f97316;font-weight:700;font-size:13px;margin-top:4px}
.ef .pbline{display:flex;flex-direction:column;gap:2px;font-size:13.5px;border-top:1px solid var(--line);padding-top:6px}
.ef .pbline b{color:var(--blue2)}
.ef .pslog{max-height:150px;overflow:auto}
.ef .clockh small{display:block;font-size:12px;font-weight:700;color:var(--muted)}
