/* Token halaman scalper (6-Sep-2026). SENGAJA tidak menimpa --accent milik base.html:
   variabel itu mewarnai sidebar yang dipakai SEMUA halaman — kalau ditimpa di sini,
   sidebar halaman ini jadi oranye sementara halaman lain biru. */
:root{
    --pt-accent:var(--pt-accent);        /* aksen halaman: tombol aktif, tab, sorotan */
    --pt-up:#059669;            /* naik / long  */
    --pt-down:#dc2626;          /* turun / short */
}

    /* min-width:0 (6-Sep-2026) — .main-wrapper adalah FLEX ITEM di .app-layout dengan
       min-width:auto bawaan, jadi tabel Positions (17 kolom nowrap) MELEBARKAN seluruh
       halaman: diukur scrollWidth 1842 vs layar 1680 -> panel kanan terpotong & muncul
       geser mendatar. Dengan min-width:0, yang menggulir tabelnya (.pt-tc overflow:auto),
       bukan halamannya. Hanya halaman scalper+gold yang memuat berkas ini. */
    .main-wrapper{background:#f0f2f5!important;min-width:0}
    .tv-bottom,.pt-tc,.pt-tabs{min-width:0}
    .pt-tc{max-width:100%}

    /* Top bar — kartu header mengambang (rombak 1-Sep-2026) */
    .pt-top{display:flex;align-items:center;gap:16px;padding:12px 20px;background:var(--surface);
        margin:12px 14px 0;border:1px solid #e8ecf1;border-radius:16px;box-shadow:0 1px 2px rgba(16,24,40,.05);flex-wrap:wrap}
    .pt-logo{font-family:var(--font-display);font-size:22px;font-weight:400;color:var(--ink-1);letter-spacing:-.025em;line-height:1}
    .pt-logo::before{content:'· ';color:var(--pt-accent)}
    .pt-eq{font-size:18px;font-weight:500;font-family:var(--font-mono);font-feature-settings:'tnum' 1;color:var(--ink-1);letter-spacing:-.02em}
    .pt-pnl{font-size:12px;font-weight:600;padding:2px 8px;border-radius:9px}
    .pt-pnl.up{background:rgba(5,150,105,.12);color:#059669}
    .pt-pnl.dn{background:rgba(220,38,38,.12);color:#dc2626}
    .pt-meta{font-size:12px;color:#64748b;display:flex;gap:10px;align-items:center}
    .pt-dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:3px}
    .pt-dot.on{background:#059669;box-shadow:0 0 6px #059669}
    .pt-dot.off{background:#dc2626}
    @keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
    .pt-dot.starting{background:var(--pt-accent);animation:blink 1s infinite}
    .pt-btn{border:none;padding:7px 18px;border-radius:999px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}
    .pt-btn-start{background:var(--pt-accent);color:#fff}
    .pt-btn-stop{background:#dc2626;color:#fff}

    /* Hero stats (1-Sep-2026): satu kartu, EQUITY jadi bintang serif, tanpa info dobel */
    .pt-top .pt-eq,.pt-top .pt-pnl{display:none}   /* dobel dgn baris statistik — disembunyikan */
    /* SIMETRI (6-Sep-2026): dulu flex + kotak Equity flex:1.6 + 4 ukuran angka berbeda
       (13/17/22/34) = baris terlihat miring & MAX DD terlempar sendirian di layar lebar.
       Sekarang grid kolom SAMA RATA; hierarki dibuat lewat warna & bobot, bukan ukuran. */
    .pt-stats{display:grid;grid-template-columns:repeat(6,1fr);align-items:stretch;margin:10px 14px;
        background:var(--surface);border:1px solid #e8ecf1;border-radius:16px;
        box-shadow:0 1px 2px rgba(16,24,40,.05)}
    @media(max-width:900px){.pt-stats{grid-template-columns:repeat(3,1fr)}
        .pt-si:nth-child(-n+3){border-bottom:1px solid var(--line-faint)}}
    .pt-si{min-width:0;padding:12px 18px;text-align:left;border-right:1px solid var(--line-faint)}
    .pt-si:last-child{border-right:none}
    .pt-si .l{font-size:12px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.12em;font-weight:500}
    .pt-si .v{font-size:18px;font-weight:500;font-family:var(--font-mono);font-feature-settings:'tnum' 1;color:var(--ink-1);margin-top:6px;letter-spacing:-.02em}
    .pt-si .s{font-size:12px;color:var(--ink-3);margin-top:2px}
    .pt-si:nth-child(1) .v{color:var(--ink-3)}                    /* Capital: diredam via WARNA */
    .pt-si:nth-child(2) .v{font-size:22px;font-weight:600}        /* Equity: satu-satunya angka hero */

    /* Main layout: chart left, watchlist right — kartu mengambang */
    /* TINGGI (6-Sep-2026): dulu calc(100vh - 430px) = ANGKA MATI, padahal di atas chart ada 4
       blok yang tingginya berubah (top bar, statistik, Trading Leader, Cuaca Pasar) DAN 3 panel
       Long/Short (~270px) disuntik ke DALAM kolom chart sesudah tinggi dihitung -> lilin gepeng.
       Sekarang --pt-chrome diukur JS (ptUkurChrome di scalper_part1.js); 430px cuma cadangan
       kalau JS mati. #chartBox punya lantai sendiri supaya panel L/S tak pernah menindasnya.
       Panel kanan lentur: 220px mati = 11% di layar 1920px (sesak). */
    .tv-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(230px,16vw,330px);
        height:calc(100vh - var(--pt-chrome,430px));min-height:460px;
        margin:0 14px;border:1px solid #e8ecf1;border-radius:16px;overflow:hidden;background:#fff;
        box-shadow:0 1px 2px rgba(16,24,40,.05)}
    @media(max-width:1000px){.tv-layout{grid-template-columns:1fr;height:auto}}

    /* Chart area */
    .tv-chart{background:#ffffff;display:flex;flex-direction:column;position:relative}
    .chart-toolbar{display:flex;align-items:center;gap:6px;padding:9px 14px;background:#fff;border-bottom:1px solid #eef1f5;flex-shrink:0}
    .chart-select{background:#ffffff;color:#1e293b;border:1px solid #e2e8f0;border-radius:8px;padding:3px 8px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;min-width:120px}
    .chart-select:focus{outline:none;border-color:var(--pt-accent)}
    .chart-select option{background:#ffffff;color:#1e293b}
    .chart-price{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;color:#1e293b;margin-left:6px}
    .chart-tbtn{background:none;border:1px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:600;padding:2px 8px;border-radius:8px;cursor:pointer;font-family:inherit}
    .chart-tbtn:hover{border-color:#94a3b8;color:#1e293b}
    .chart-tbtn.active{border-color:var(--pt-accent);color:var(--pt-accent);background:rgba(217,119,6,.08)}
    .tf-group{display:flex;gap:1px}
    .tf-btn{background:none;border:1px solid transparent;color:#94a3b8;font-size:12px;font-weight:600;padding:2px 6px;border-radius:999px;cursor:pointer;font-family:inherit}
    .tf-btn:hover{color:#1e293b}
    .tf-btn.active{color:var(--pt-accent);background:rgba(217,119,6,.1)}
    .pt-chart-inner{flex:1 1 auto;width:100%;min-height:260px}
    .tv-chart{overflow:hidden}
    /* wadah panel Long/Short (dibuat JS) — dibatasi supaya tak memakan ruang lilin */
    #lsrWrap{flex:0 0 auto;max-height:42%;overflow:hidden}

    /* Right watchlist panel */
    .tv-watchlist{background:#f8fafc;border-left:1px solid #e2e8f0;overflow-y:auto;font-size:12px}
    .wl-header{padding:6px 10px;font-size:12px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f0;background:#f1f5f9}
    .wl-item{display:flex;align-items:center;padding:5px 10px;cursor:pointer;border-bottom:1px solid #e2e8f0}
    .wl-item:hover{background:rgba(217,119,6,.06)}
    .wl-item.active{background:rgba(217,119,6,.1);border-left:2px solid var(--pt-accent)}
    .wl-pair{flex:1;font-weight:600;color:#1e293b;font-size:12px}
    .wl-price{font-family:'JetBrains Mono',monospace;font-size:12px;color:#1e293b;text-align:right;min-width:80px}
    .wl-chg{font-family:'JetBrains Mono',monospace;font-size:11px;text-align:right;min-width:50px}
    .wl-regime{font-size:11px;padding:0 4px;border-radius:999px;margin-left:4px}

    /* Bottom panel — kartu + TAB PIL ala referensi (rombak 1-Sep-2026) */
    .tv-bottom{background:#ffffff;display:flex;flex-direction:column;margin:12px 14px 18px;
        border:1px solid #e8ecf1;border-radius:16px;overflow:hidden;box-shadow:0 1px 2px rgba(16,24,40,.05)}
    .pt-tabs{display:flex;gap:7px;flex-wrap:wrap;background:#fff;border-bottom:1px solid #eef1f5;
        flex-shrink:0;padding:12px 14px}
    .pt-tab{padding:7px 16px;font-size:12px;font-weight:600;color:#64748b;cursor:pointer;
        border:1px solid #e5e9f0;background:#fff;border-radius:999px;font-family:inherit;
        transition:all .15s}
    .pt-tab.active{color:#b45309;border-color:#f0b26b;background:#fff7ed}
    .pt-tab:hover{color:#1e293b;border-color:#cbd5e1}
    .pt-tab.active:hover{color:#b45309;border-color:#f0b26b}
    .tab-ct{font-size:11px;font-weight:700;background:rgba(217,119,6,.14);color:var(--pt-accent);padding:0 6px;border-radius:8px;margin-left:4px}
    .tab-ct:empty{display:none}
    .pt-tc{display:none;overflow:auto}
    .pt-tc.active{display:block}

    /* Tables — lebih lega ala referensi */
    .bt{width:100%;border-collapse:collapse;font-size:12px}
    .bt th{text-align:left;padding:9px 12px;color:#6b7280;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;background:#fafbfc;border-bottom:1px solid #eef1f5;position:sticky;top:0;z-index:1}
    .bt td{padding:8px 12px;border-bottom:1px solid #f1f4f8;color:#1e293b}
    .bt tr:hover td{background:#f8fafc}
    .mn{font-family:'JetBrains Mono',monospace}
    .g{color:#059669}.r{color:#dc2626}.gy{color:#64748b}
    .pl-st{background:rgba(217,119,6,.1);color:var(--pt-accent);font-size:11px;padding:1px 8px;border-radius:999px}
    .ta-click{cursor:pointer;border-bottom:1px dotted currentColor}
    .ta-click:hover{filter:brightness(1.35)}
    #ta-modal{position:fixed;inset:0;background:rgba(2,6,23,.78);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px}
    #ta-modal.open{display:flex}
    #ta-box{background:#0d1117;border:1px solid #243041;border-radius:10px;width:min(1480px,98vw);max-height:92vh;overflow:auto;padding:16px;color:#cbd5e1}
    #ta-box h3{margin:0 0 2px;color:#f1f5f9;font-size:15px}
    #ta-main{display:flex;gap:12px;margin:10px 0}
    #ta-chart{height:470px;flex:1 1 auto;min-width:0;position:relative}
    #ta-yp{flex:0 0 440px;display:none;height:470px;overflow:auto;background:#0b1220;border:1px solid #1e293b;border-radius:8px;padding:10px;font-size:12px}
    @media(max-width:760px){ #ta-main{flex-direction:column} #ta-yp{flex:0 0 auto;width:auto;height:auto;max-height:320px} }
    .ta-yp-head{display:flex;align-items:center;gap:6px;color:#f1f5f9;font-size:13px;font-weight:700;margin-bottom:2px}
    .ta-yp-badge{font-size:11px;font-weight:700;padding:1px 6px;border-radius:9px;background:rgba(234,179,8,.18);color:#eab308}
    .ta-yp-badge.live{background:rgba(34,197,94,.18);color:#22c55e}
    .ta-yp-note{color:#64748b;font-size:12px;margin-bottom:8px}
    .ta-yp-sec{margin:8px 0;padding-top:8px;border-top:1px solid #16202c}
    .ta-yp-sec .lab{color:#94a3b8;font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}
    .ta-chip{display:inline-block;font-size:12px;padding:2px 7px;border-radius:9px;background:#1e293b;color:#cbd5e1;margin:2px 4px 2px 0}
    .ta-chip.up{background:rgba(34,197,94,.16);color:#22c55e}.ta-chip.down{background:rgba(239,68,68,.16);color:#ef4444}
    .ta-bar{height:8px;border-radius:9px;background:#ef4444;overflow:hidden;margin:4px 0}
    .ta-bar>span{display:block;height:100%;background:#22c55e}
    .ta-wrow{display:grid;grid-template-columns:1fr auto auto auto;gap:4px;align-items:center;padding:4px 0;border-bottom:1px solid #16202c;font-size:12px}
    .ta-wrow .w{color:#e5edf5;font-family:monospace}
    .ta-d{font-size:11px;padding:1px 8px;border-radius:8px}
    .ta-d.add{background:rgba(34,197,94,.22);color:#4ade80}.ta-d.sell{background:rgba(239,68,68,.22);color:#f87171}.ta-d.flat{background:#33415a;color:#cbd5e1}
    .ta-up{color:#22c55e}.ta-dn{color:#ef4444}
    .ta-wtable{width:100%;border-collapse:collapse;font-size:12px;margin-top:2px}
    .ta-wtable th{color:#cbd5e1;font-size:11px;text-transform:uppercase;letter-spacing:.03em;text-align:right;padding:4px 5px;border-bottom:1px solid #2b3a4f;font-weight:700;position:sticky;top:0;background:#0b1220}
    .ta-wtable th:first-child,.ta-wtable td:first-child{text-align:left}
    .ta-wtable td{padding:5px;border-bottom:1px solid #16202c;text-align:right;white-space:nowrap;color:#e2e8f0}
    .ta-wtable tr:hover td{background:#0e1726}
    .ta-wtable td.w{color:#e5edf5;font-family:monospace}
    .ta-held{display:flex;align-items:center;gap:5px;justify-content:flex-end}
    .ta-held .b{width:40px;height:6px;border-radius:8px;background:#1e293b;overflow:hidden}
    .ta-held .b>span{display:block;height:100%;background:#38bdf8}
    .ta-anno{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:5}
    .ta-cobox{position:absolute;max-width:240px;background:rgba(13,17,23,.94);border:1px solid #2b3a4f;border-left-width:3px;border-radius:6px;padding:5px 9px;font-size:12px;line-height:1.35;color:#e5edf5;box-shadow:0 2px 10px rgba(0,0,0,.5);white-space:normal}
    .ta-cobox.long{border-left-color:#22c55e}
    .ta-cobox.short{border-left-color:#ef4444}
    .ta-side{font-size:12px;font-weight:700;padding:2px 8px;border-radius:9px;vertical-align:middle}
    .ta-side.long{background:rgba(34,197,94,.18);color:#22c55e}
    .ta-side.short{background:rgba(239,68,68,.18);color:#ef4444}
    .ta-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    @media(max-width:640px){.ta-grid{grid-template-columns:1fr}}
    .ta-panel{background:#0b1220;border:1px solid #1e293b;border-radius:8px;padding:10px;font-size:13px}
    .ta-panel .lab{color:#94a3b8;font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}
    .ta-occ{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px solid #16202c}
    .ta-occ b{color:#f1f5f9}
    #ta-note{background:#0b1220;border:1px solid #1e293b;border-radius:8px;padding:10px;margin-top:10px;font-size:13px;line-height:1.55}
    #ta-close{float:right;cursor:pointer;color:#94a3b8;font-size:18px;border:0;background:none}
    .ta-badge{font-size:12px;padding:2px 8px;border-radius:9px;background:#1e293b;color:#cbd5e1;margin-left:6px}
    .st{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px}
    .st-v{background:rgba(5,150,105,.12);color:#059669}
    .st-w{background:rgba(217,119,6,.12);color:var(--pt-accent)}
    .st-u{background:rgba(220,38,38,.12);color:#dc2626}
    .st-c{background:rgba(100,116,139,.12);color:#64748b}
    .empty{text-align:center;padding:20px;color:#64748b;font-size:12px}
    .regime-tag{font-size:11px;padding:1px 8px;border-radius:999px;font-weight:600}
    .regime-tag.markdown{background:rgba(220,38,38,.12);color:#dc2626}
    .regime-tag.participation{background:rgba(5,150,105,.12);color:#059669}
    .regime-tag.accumulation{background:rgba(217,119,6,.1);color:var(--pt-accent)}
    .regime-tag.neutral,.regime-tag.distribution{background:rgba(100,116,139,.1);color:#64748b}
    .pt-pos-side{font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px}
    .pt-pos-side.long{background:rgba(5,150,105,.15);color:#059669}
    .pt-pos-side.short{background:rgba(220,38,38,.15);color:#dc2626}
    .an-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:8px 12px}
    .an-label{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.3px}
    .an-val{font-size:15px;font-weight:700;font-family:'JetBrains Mono',monospace;color:#1e293b;margin-top:2px}
    .ag{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:5px;padding:8px}
    .ac{background:#ffffff;border:1px solid #e2e8f0;border-radius:9px;padding:6px 8px;font-size:12px}
    .ac-p{font-weight:700;color:var(--pt-accent);font-size:12px}
    .ac-r{display:flex;justify-content:space-between;color:#64748b;margin-top:1px}
    .ac-r .vv{color:#1e293b}
    .ct{display:inline-block;background:rgba(217,119,6,.08);color:var(--pt-accent);padding:0 3px;border-radius:999px;font-size:11px;margin:1px}
    /* Evolution tab */
    .evo-wrap{padding:10px;font-size:12px}
    .evo-hero{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-bottom:10px}
    .evo-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:8px 12px}
    .evo-card h4{margin:0 0 4px 0;font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.3px;font-weight:600}
    .evo-big{font-size:18px;font-weight:700;font-family:'JetBrains Mono',monospace;color:#1e293b}
    .evo-sub{font-size:12px;color:#64748b;margin-top:2px}
    .evo-bar-wrap{background:#e2e8f0;border-radius:8px;height:6px;margin-top:6px;overflow:hidden}
    .evo-bar{height:100%;background:linear-gradient(90deg,var(--pt-accent),#f59e0b);transition:width .3s}
    .evo-bar.good{background:linear-gradient(90deg,#059669,#10b981)}
    .evo-bar.bad{background:linear-gradient(90deg,#dc2626,#ef4444)}
    .evo-sec{margin-top:10px}
    .evo-sec h3{margin:0 0 6px 0;font-size:12px;font-weight:700;color:#1e293b;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid #e2e8f0;padding-bottom:3px}
    .evo-tl{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle;margin-right:4px}
    .evo-tl.green{background:#10b981}.evo-tl.yellow{background:#f59e0b}.evo-tl.red{background:#dc2626}.evo-tl.gray{background:#94a3b8}
    .evo-narrative{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;padding:10px;font-size:12px;line-height:1.5;color:#78350f;white-space:pre-wrap}
    .evo-log{max-height:240px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:9px}
    .evo-log-item{padding:6px 10px;border-bottom:1px solid #e2e8f0;font-size:12px}
    .evo-log-item:last-child{border-bottom:0}
    .evo-log-cycle{font-size:11px;color:#64748b;font-weight:600}
    .evo-log-reason{color:#1e293b;margin-top:2px}
    .evo-tag{display:inline-block;font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;margin-right:4px;text-transform:uppercase}
    .evo-tag.kill{background:rgba(220,38,38,.12);color:#dc2626}
    .evo-tag.boost{background:rgba(5,150,105,.12);color:#059669}
    .evo-tag.loosen{background:rgba(217,119,6,.12);color:var(--pt-accent)}
    .evo-tag.side{background:rgba(147,51,234,.12);color:#9333ea}
    /* Coin context cards */
    .cc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:6px;margin-top:6px}
    .cc-card{background:#ffffff;border:1px solid #e2e8f0;border-radius:9px;padding:8px 10px;font-size:12px}
    .cc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
    .cc-pair{font-weight:700;color:#1e293b;font-size:12px}
    .cc-char{font-size:11px;font-weight:700;padding:1px 8px;border-radius:999px;text-transform:uppercase}
    .cc-char.momentum{background:rgba(5,150,105,.12);color:#059669}
    .cc-char.mean_reversion{background:rgba(147,51,234,.12);color:#9333ea}
    .cc-char.mixed{background:rgba(100,116,139,.12);color:#64748b}
    .cc-row{display:flex;justify-content:space-between;font-size:12px;color:#64748b;margin-top:1px}
    .cc-row .v{color:#1e293b;font-family:'JetBrains Mono',monospace}
    .cc-vol{font-size:11px;font-weight:700;padding:1px 4px;border-radius:999px;margin-left:4px}
    .cc-vol.quiet{background:rgba(59,130,246,.12);color:#2563eb}
    .cc-vol.normal{background:rgba(100,116,139,.12);color:#64748b}
    .cc-vol.expansive{background:rgba(220,38,38,.12);color:#dc2626}
    .cc-narrative{font-size:12px;color:#475569;margin-top:4px;padding-top:4px;border-top:1px dashed #e2e8f0;line-height:1.4}
    .cc-bias{display:flex;gap:2px;margin-top:4px;height:6px;border-radius:8px;overflow:hidden;background:#f1f5f9}
    .cc-bias span{display:inline-block;height:100%}
    .cc-bias .up{background:#10b981}
    .cc-bias .dn{background:#ef4444}
    .cc-bias .sw{background:#94a3b8}
    .cc-bias .br{background:#f59e0b}
    .cc-bias-legend{display:flex;gap:8px;font-size:11px;color:#64748b;margin-top:2px}
    /* Sembunyikan panel Trading Leader gelap + banner "Cara baca" di tab Scanner
       (user 1-Sep-2026: tidak pernah dibaca). Data & mesin leader tetap jalan. */
    #tlScannerPanel,#tlScannerPanel+div{display:none}
    /* strip leader & cuaca ikut irama kartu (override inline style template) */
    #tlStrip{margin:0 14px 12px !important;border-radius:14px !important;border:1px solid #e8ecf1 !important;
        box-shadow:0 1px 2px rgba(16,24,40,.04);padding:12px 16px !important}
    #cuacaStrip{margin:0 14px 12px !important}
    .tv-watchlist{background:#fff}
    .wl-header{background:#fafbfc;padding:8px 12px}

    /* ─── Strip TRADING LEADER (6-Sep-2026) ────────────────────────────────────
       Dulu ~30 baris style= inline di template dengan hex sendiri (#fafafa/#e2e8f0/9px),
       tidak memakai token — itu sebabnya blok ini terasa "beda dunia" dari kartu lain.
       JS tetap menyetel warna isi (tlAction bg/fg, tlBias color, tlBiasBar left/width)
       lewat style inline; kelas di bawah hanya mengatur RANGKA & TIPOGRAFI. */
    .tl-strip{margin:0 14px 10px;padding:9px 16px;background:var(--surface);
        border:1px solid #e8ecf1;border-radius:16px;box-shadow:0 1px 2px rgba(16,24,40,.05);
        display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:12px}
    .tl-brand{display:flex;align-items:center;gap:9px;min-width:190px}
    .tl-ico{font-size:15px}
    .tl-name{font-weight:700;color:var(--ink-1);letter-spacing:.04em;font-size:12px}
    .tl-age{color:var(--ink-3);font-size:11px;margin-top:1px}
    .tl-field{display:flex;align-items:center;gap:7px}
    .tl-lab{color:var(--ink-3);font-size:11px;text-transform:uppercase;letter-spacing:.09em}
    .tl-pill{padding:3px 11px;border-radius:999px;font-weight:700;font-size:11px;
        background:#f1f5f9;color:var(--ink-3)}
    .tl-num{font-family:var(--font-mono);font-feature-settings:'tnum' 1;font-weight:700;
        font-size:13px;color:var(--ink-3)}
    .tl-gauge{width:84px;height:6px;background:#e8ecf1;border-radius:999px;position:relative;overflow:hidden}
    .tl-gauge-fill{position:absolute;left:50%;top:0;height:100%;width:0;background:#94a3b8;transition:all .4s}
    .tl-gauge-mid{position:absolute;left:50%;top:0;width:1px;height:100%;background:#cbd5e1}
    .tl-headline{flex:1 1 240px;min-width:220px;color:var(--ink-2,#475569);font-size:12px;line-height:1.45}
    .tl-pats{display:flex;gap:5px;flex-wrap:wrap}

    /* ─── Keterangan gambar Fibonacci (8-Sep-2026) ────────────────────────────
       Satu baris tipis di atas chart; langkah lengkap dibuka kalau diklik.
       Sengaja ringkas supaya tidak menutupi lilin (permintaan user: "jangan merusak gambar"). */
    .fib-note{padding:6px 14px;font-size:12px;color:var(--ink-2,#475569);background:#fffdf7;
        border-bottom:1px solid #f2e6cf;line-height:1.5}
    .fib-note b{color:var(--ink-1)}
    .fib-ok{color:var(--pt-up);font-weight:700}
    .fib-no{color:var(--pt-down);font-weight:700}
    .fib-warn{color:#b45309;font-weight:600}
    .fib-more{color:var(--pt-accent);cursor:pointer;text-decoration:underline;margin-left:6px}
    .fib-langkah{margin-top:6px;padding-top:6px;border-top:1px dashed #e8ddc4;display:grid;gap:5px}
    .fib-langkah>div{font-size:12px;line-height:1.45}
    .fib-hasil{font-family:var(--font-mono);font-size:12px;color:var(--ink-1)}
.fib-usul{background:#dbeafe;color:#1d4ed8;border-radius:3px;padding:0 4px;font-weight:700}
