/* Live Scanner · full-screen live pattern chart (reuses price-action.css pa-* pieces) */
.lfc { position: fixed; inset: 0; z-index: 950; display: flex; flex-direction: column; background: var(--ink); color: var(--fg); }
.lfc[hidden] { display: none; }
body.lfc-open { overflow: hidden; }
.lfc-top { display: flex; align-items: center; gap: 14px; padding: 10px 16px; border-bottom: 1px solid var(--hairline); background: var(--ink-2); flex-wrap: wrap; }
.lfc-id { display: flex; align-items: baseline; gap: 10px; font-size: 15px; }
.lfc-id b { font-size: 17px; letter-spacing: .02em; }
.lfc-px { font-size: 17px; font-weight: 600; }
.lfc-live { margin-left: auto; font-size: 10.5px; color: var(--muted); display: flex; align-items: center; gap: 6px; }
.lfc-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--up); box-shadow: 0 0 0 0 rgba(46,158,107,.6); animation: lfcPulse 1s infinite; display: inline-block; }
@keyframes lfcPulse { 0% { box-shadow: 0 0 0 0 rgba(46,158,107,.55); } 100% { box-shadow: 0 0 0 7px rgba(46,158,107,0); } }
.lfc-body { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1fr) 420px; }
.lfc-main { display: flex; flex-direction: column; min-width: 0; min-height: 0; padding: 8px 10px 6px 16px; }
.lfc-main .lfc-cw { flex: 1 1 auto; min-height: 300px; }
.lfc-side { border-left: 1px solid var(--hairline); overflow-y: auto; padding: 0 14px; background: var(--ink-2); }
.lfc-sum { font-size: 12.5px; line-height: 1.6; padding: 10px 0 4px; }
.lfc-h { font-size: 9.5px; letter-spacing: .12em; color: var(--amber-bright); margin: 14px 0 6px; }
.lfc-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.lfc-tile { border: 1px solid var(--hairline); border-radius: 5px; padding: 6px 7px; background: var(--ink); min-width: 0; }
.lfc-tile .k { font-family: var(--mono); font-size: 8.5px; letter-spacing: .1em; color: var(--muted); }
.lfc-tile .v { font-family: var(--mono); font-size: 14px; font-weight: 600; margin: 2px 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lfc-tile .s { font-size: 10px; color: var(--muted-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lfc-lvs { display: flex; flex-direction: column; gap: 3px; }
.lfc-lv { display: grid; grid-template-columns: 48px 1fr auto; align-items: baseline; font-size: 12px; padding: 3px 8px; border-radius: 4px; background: var(--ink); }
.lfc-lv.r span { color: var(--down); } .lfc-lv.s span { color: var(--up); } .lfc-lv.px { background: rgba(200,134,42,.12); } .lfc-lv.px span { color: var(--amber-bright); }
.lfc-lv small { color: var(--muted); font-size: 10.5px; }
.lfc-fac { list-style: none; margin: 8px 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 11.5px; line-height: 1.4; }
.lfc-fac li { display: grid; grid-template-columns: 14px 1fr; gap: 6px; }
.lfc-fac li.ok span { color: var(--up); } .lfc-fac li.no { color: var(--muted); }
.lfc-p { font-size: 11.5px; line-height: 1.5; margin: 6px 0; color: var(--fg); }
.lfc-rps { display: flex; flex-wrap: wrap; gap: 5px; }
.lfc-rp { font-size: 11px; background: var(--ink); border: 1px solid var(--hairline); color: var(--fg); border-radius: 4px; padding: 3px 8px; cursor: pointer; }
.lfc-rp.on, .lfc-rp:hover { border-color: var(--amber); }
.lfc-rp small { color: var(--muted); margin-left: 3px; }
.lfc-log { font-size: 11.5px; padding: 3px 0; border-bottom: 1px dashed var(--hairline); }
.lfc .pa-timeline-wrap { flex: 0 0 auto; }
.lfc .pa-tl-item.on { border-color: var(--amber); }
.lsc-fsrow { display: flex; justify-content: flex-end; margin-bottom: 6px; }
@media (max-width: 1000px) { .lfc-body { grid-template-columns: 1fr; grid-template-rows: minmax(360px, 58vh) auto; overflow-y: auto; } .lfc-side { border-left: 0; border-top: 1px solid var(--hairline); overflow: visible; } .lfc-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Live Scanner · Top 5 Now */
.t5 { padding: 2px 0; }
.t5-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 4px 0 10px; font-size: 12px; }
.t5-head b { font-family: var(--mono); letter-spacing: .12em; color: var(--amber-bright); }
.t5-ctl { display: flex; gap: 12px; align-items: center; font-size: 11.5px; color: var(--muted); }
.t5-ctl select { background: var(--ink); color: var(--fg); border: 1px solid var(--hairline); border-radius: 3px; font-size: 11px; }
.t5-grid { display: grid; gap: 10px; margin-bottom: 10px; }
.t5-top { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.t5-charts { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
.t5-boards { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); }
.t5-card { margin: 0; min-width: 0; }
.t5-card .panel-h h3 { font-size: 10.5px; }
.t5-basis { font-size: 10.5px; color: var(--muted); line-height: 1.4; padding: 0 12px 6px; }
.t5-row { display: grid; grid-template-columns: 16px minmax(0, 1fr) 66px auto; grid-template-areas: "rk sym sp v" ". fs fs fs"; gap: 2px 8px; align-items: center; padding: 6px 12px; border-top: 1px solid var(--hairline); cursor: pointer; }
.t5-row:hover { background: rgba(200,134,42,.06); }
.t5-rk { grid-area: rk; font-family: var(--mono); font-size: 11px; color: var(--amber-bright); }
.t5-sym { grid-area: sym; display: flex; flex-direction: column; min-width: 0; }
.t5-sym b { font-size: 12.5px; }
.t5-sym small { font-size: 10px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.t5-sp { grid-area: sp; }
.t5-v { grid-area: v; text-align: right; font-size: 12.5px; font-weight: 600; display: flex; flex-direction: column; }
.t5-v small { font-size: 10px; font-weight: 400; }
.t5-fs, .t5-parts { grid-area: fs; display: flex; flex-wrap: wrap; gap: 4px; }
.t5-f { font-family: var(--mono); font-size: 9.5px; padding: 1px 6px; border-radius: 3px; border: 1px solid var(--hairline); color: var(--muted); }
.t5-f.up { color: var(--up); border-color: color-mix(in srgb, var(--up) 40%, transparent); }
.t5-f.down { color: var(--down); border-color: color-mix(in srgb, var(--down) 40%, transparent); }
.t5-f.amb { color: var(--amber-bright); border-color: color-mix(in srgb, var(--amber) 40%, transparent); }
.t5-parts > span { display: grid; grid-template-columns: 86px 50px; gap: 4px; align-items: center; font-size: 9.5px; color: var(--muted); }
.t5-parts em { font-style: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.t5-parts i { display: block; height: 5px; background: var(--ink); border-radius: 3px; overflow: hidden; }
.t5-parts u { display: block; height: 100%; }
.t5-none { padding: 10px 12px; }
.t5-bars { display: flex; flex-direction: column; gap: 5px; padding: 4px 12px 8px; }
.t5-bar { display: grid; grid-template-columns: 150px 1fr 64px; gap: 8px; align-items: center; font-size: 11.5px; }
.t5-bar span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.t5-bar b { font-family: var(--mono); text-align: right; font-size: 11.5px; }
.t5-track { position: relative; height: 10px; background: var(--ink); border-radius: 2px; }
.t5-track i { position: absolute; top: 0; bottom: 0; }
.t5-track .mid { left: 50%; width: 1px; background: var(--hairline); }
.t5-track .pos { background: var(--up); border-radius: 0 2px 2px 0; }
.t5-track .neg { background: var(--down); border-radius: 2px 0 0 2px; }
.t5-ad { display: flex; height: 12px; border-radius: 3px; overflow: hidden; margin: 6px 12px; background: var(--ink); }
.t5-ad i { display: block; height: 100%; } .t5-ad .a { background: var(--up); } .t5-ad .d { background: var(--down); } .t5-ad .u { background: var(--muted-ink); }
.t5-kv { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; padding: 4px 12px; font-size: 11.5px; }
.t5-kv div { display: flex; justify-content: space-between; gap: 8px; border-bottom: 1px dashed var(--hairline); padding-bottom: 3px; }
.t5-kv span { color: var(--muted); }
.t5-hist { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 3px; align-items: end; height: 120px; padding: 4px 12px 10px; }
.t5-hb { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; font-size: 9px; color: var(--muted); }
.t5-hb i { display: block; width: 100%; min-height: 1px; border-radius: 2px 2px 0 0; }
.t5-hb i.pos { background: var(--up); } .t5-hb i.neg { background: var(--down); }
.t5-hb b { font-family: var(--mono); font-size: 9.5px; color: var(--fg); order: -1; margin-bottom: 2px; }
.t5-hb span { white-space: nowrap; margin-top: 3px; transform: scale(.9); }
.t5-sc { width: 100%; height: auto; display: block; padding: 0 6px; }
.t5-sc .g { stroke: var(--hairline); stroke-width: 1; }
.t5-sc .z { stroke: var(--muted-ink); stroke-width: 1; stroke-dasharray: 3 3; }
.t5-sc text { fill: var(--muted); font-size: 9.5px; font-family: var(--mono); }
.t5-sc text.lbl { fill: var(--amber-bright); font-size: 10px; }
.t5-sc circle { cursor: pointer; opacity: .75; } .t5-sc circle.u { fill: var(--up); } .t5-sc circle.d { fill: var(--down); } .t5-sc circle.hi { fill: var(--amber-bright); opacity: 1; stroke: var(--ink); stroke-width: 1.5; }
@media (max-width: 1100px) { .t5-top, .t5-charts { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .t5-boards { grid-template-columns: 1fr; } .t5-bar { grid-template-columns: 100px 1fr 56px; } }
body.lfc-open .mta-launch, body.lfc-open .mta-panel { display: none !important; }

/* Live Scanner · Options Strategy Lab */
.st-head { margin: 4px 0 8px; font-size: 12px; } .st-head b { font-family: var(--mono); letter-spacing: .12em; color: var(--amber-bright); }
.st-ctl { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; font-size: 11.5px; color: var(--muted); margin-bottom: 8px; }
.st-ctl select { background: var(--ink); color: var(--fg); border: 1px solid var(--hairline); border-radius: 3px; font-size: 11.5px; padding: 3px 6px; }
.st-presets { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 10px; }
.st-presets .ec-chip { cursor: pointer; text-transform: none; }
.st-presets .ec-chip.on { color: var(--amber-bright); border-color: var(--amber); }
.st-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 10px; }
.st .panel { margin-bottom: 10px; min-width: 0; }
.st-legs td, .st-legs th { text-align: left !important; padding: 5px 6px; }
.st-legs select { background: var(--ink); color: var(--fg); border: 1px solid var(--hairline); border-radius: 3px; font-size: 11.5px; }
.st-side { font-family: var(--mono); font-size: 10.5px; padding: 2px 8px; border-radius: 3px; border: 1px solid currentColor; background: transparent; cursor: pointer; }
.st-tiles { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
.st-svg { width: 100%; height: auto; display: block; }
.st-svg .g { stroke: var(--hairline); } .st-svg .z { stroke: var(--muted-ink); stroke-dasharray: 3 3; }
.st-svg text { fill: var(--muted); font-size: 10px; font-family: var(--mono); } .st-svg text.lbl { fill: var(--fg); }
.st-svg .pos { fill: rgba(46,158,107,.16); } .st-svg .neg { fill: rgba(200,75,60,.16); }
.st-svg .exp { fill: none; stroke: var(--amber-bright); stroke-width: 2; } .st-svg .today { fill: none; stroke: #3987e5; stroke-width: 1.6; stroke-dasharray: 5 4; }
.st-svg .band { fill: rgba(57,135,229,.08); } .st-svg .spot { stroke: var(--fg); stroke-width: 1; stroke-dasharray: 2 3; opacity: .6; }
.st-svg .be { fill: var(--up); stroke: var(--ink); stroke-width: 1.5; } .st-svg .hx { stroke: var(--amber); stroke-width: 1; }
.st-tip { font-size: 11px; color: var(--muted); margin: 4px 0; min-height: 16px; }
.st-heat td, .st-heat th { text-align: center !important; font-family: var(--mono); font-size: 11px; padding: 5px 4px; white-space: nowrap; }
.st-heat td:first-child, .st-heat th:first-child { text-align: left !important; color: var(--muted); }
@media (max-width: 1100px) { .st-grid { grid-template-columns: 1fr; } .st-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 520px) { .st-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* Live Scanner · Sector Rotation */
.rrg-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin: 4px 0 8px; font-size: 12px; }
.rrg-head b { font-family: var(--mono); letter-spacing: .12em; color: var(--amber-bright); }
.rrg-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
.rrg .panel { min-width: 0; margin-bottom: 10px; }
.rrg-svg { width: 100%; height: auto; display: block; }
.rrg-svg .ax { stroke: var(--muted-ink); stroke-dasharray: 3 3; } .rrg-svg .al { fill: var(--muted); font-size: 10px; font-family: var(--mono); }
.rrg-svg .q { font-family: var(--mono); font-size: 11px; letter-spacing: .14em; opacity: .8; }
.rrg-svg .nm { fill: var(--fg); font-size: 11px; } .rrg-svg .tr { cursor: pointer; }
.rrg-sum { display: flex; gap: 14px; flex-wrap: wrap; font-size: 11.5px; margin-bottom: 4px; }
.rrg-q { font-family: var(--mono); font-size: 10px; border: 1px solid; border-radius: 3px; padding: 1px 6px; }
.rrg-ar { display: inline-block; font-size: 14px; color: var(--fg); }
.rrg-t td, .rrg-t th { text-align: left !important; } .rrg-t tr[data-s] { cursor: pointer; } .rrg-t tr.sel td { background: rgba(200,134,42,.08); }
@media (max-width: 1100px) { .rrg-grid { grid-template-columns: 1fr; } }
