@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--bg: #0f1115;--surface: #171a21;--surface-2: #1c2029;--field-bg: #10131a;--border: #2a2f3a;--text: #e8eaed;--text-dim: #8b91a0;--accent: #4CAF50;--danger: #F44336;--warning: #FFC107;--info: #29b6f6;--highlight: #5b8def;--itm-tint: #FFD54F;--fs-2xs: .7rem;--fs-xs: .75rem;--fs-sm: .8rem;--fs-base: .85rem;--fs-md: .95rem;--fs-lg: 1.25rem;--fs-xl: 1.75rem;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--eyebrow-size: var(--fs-sm);--eyebrow-tracking: .05em;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .4);--btn-hover-bg: rgba(255, 255, 255, .06);--btn-hover-border: var(--text-dim)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter Variable,Inter,system-ui,-apple-system,Segoe UI,sans-serif;font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased}.running-notice{background:#2a2210;border-bottom:1px solid var(--border);padding:.5rem 1.5rem;text-align:center}.running-notice span{font-size:.8rem;font-weight:600;color:var(--warning)}.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-form{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:2rem;width:320px;display:flex;flex-direction:column;gap:1rem}.login-brand-mark{align-self:center}.login-form h1{font-size:var(--fs-lg);font-weight:var(--fw-bold);margin:0 0 .5rem;text-align:center;letter-spacing:-.01em}.login-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--text-dim)}.login-form input{background:var(--field-bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:.5rem;font-size:.95rem}.login-form button{background:var(--accent);border:none;border-radius:4px;color:var(--bg);font-weight:600;padding:.6rem;cursor:pointer}.login-form button:disabled{opacity:.6;cursor:default}.login-error{color:var(--danger);font-size:.85rem;margin:0}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.75rem;position:sticky;top:0;z-index:2;background:var(--bg);box-shadow:var(--shadow-sm)}.header-right{display:flex;align-items:center;flex-wrap:wrap;gap:.85rem}.header-group{display:flex;align-items:center;gap:.5rem}.header-divider{width:1px;height:1.4rem;background:var(--border);flex-shrink:0}.atm-banner{display:flex;align-items:baseline;flex-wrap:wrap;gap:.75rem}.atm-label{color:var(--text-dim);font-size:var(--eyebrow-size);font-weight:var(--fw-semibold);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase}.atm-value{font-size:var(--fs-xl);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.atm-range{color:var(--text-dim);font-size:.85rem}.atm-expiry{color:var(--text-dim);font-size:.85rem;padding:.2rem .5rem;border:1px solid var(--border);border-radius:4px}.sr-support,.sr-resistance{font-size:.85rem;font-weight:700;padding:.2rem .5rem;border-radius:4px;border:1px solid}.sr-support{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.sr-resistance{color:var(--danger);border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.mode-toggle{display:flex;align-items:center;gap:.3rem}.mode-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:.3rem .55rem;cursor:pointer;font-size:var(--fs-xs);transition:background-color .15s ease,border-color .15s ease,color .15s ease}.mode-btn.active{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:600}.mode-btn:hover:not(:disabled):not(.active){background:var(--btn-hover-bg);border-color:var(--btn-hover-border);color:var(--text)}.mode-btn.active:hover:not(:disabled){filter:brightness(1.12)}.mode-btn:disabled{opacity:.6;cursor:default}.mode-error{color:var(--danger);font-size:.75rem}.refresh-token{display:flex;align-items:center;gap:.4rem}.refresh-btn{background:transparent;border:1px solid transparent;color:var(--text-dim);border-radius:4px;padding:.35rem .7rem;cursor:pointer;font-size:.8rem;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.refresh-btn:hover:not(:disabled){background:var(--btn-hover-bg);border-color:var(--border);color:var(--text)}.refresh-btn:disabled{opacity:.6;cursor:default}.refresh-error{color:var(--danger);font-size:.75rem}.refresh-success{color:var(--accent);font-size:.75rem}.export-csv{display:flex;align-items:center;gap:.4rem}.export-btn,.settings-btn{background:transparent;border:1px solid transparent;color:var(--text-dim);border-radius:4px;padding:.35rem .7rem;cursor:pointer;font-size:.8rem;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.export-btn:hover:not(:disabled),.settings-btn:hover:not(:disabled){background:var(--btn-hover-bg);border-color:var(--border);color:var(--text)}.export-btn:disabled{opacity:.6;cursor:default}.export-error{color:var(--danger);font-size:.75rem}.replay-controls{position:relative}.replay-toggle-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:.35rem .7rem;cursor:pointer;font-size:.8rem;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.replay-toggle-btn.active{background:var(--info);border-color:var(--info);color:var(--bg);font-weight:600}.replay-toggle-btn:hover:not(.active){background:var(--btn-hover-bg);border-color:var(--btn-hover-border);color:var(--text)}.replay-toggle-btn.active:hover{filter:brightness(1.12)}.replay-panel{position:fixed;top:4.5rem;right:1rem;z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.75rem;display:flex;flex-direction:column;gap:.6rem;width:min(320px,calc(100vw - 2rem));max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.replay-panel label{display:flex;flex-direction:column;gap:.25rem;font-size:.75rem;color:var(--text-dim)}.replay-panel input[type=datetime-local]{background:var(--field-bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:.4rem;font-size:.85rem;color-scheme:dark}.replay-load-btn{background:var(--info);border:none;border-radius:4px;color:var(--bg);font-weight:600;padding:.5rem;cursor:pointer;transition:filter .15s ease}.replay-load-btn:hover:not(:disabled){filter:brightness(1.12)}.replay-load-btn:disabled{opacity:.6;cursor:default}.replay-range-label{font-size:.75rem;color:var(--text-dim);text-align:center}.replay-scrub-row{display:flex;align-items:center;gap:.5rem}.replay-scrub-row button{background:transparent;border:1px solid var(--border);color:var(--text);border-radius:4px;padding:.35rem .6rem;cursor:pointer;font-size:.8rem;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease}.replay-scrub-row button:hover{background:var(--btn-hover-bg);border-color:var(--btn-hover-border)}.replay-scrub-row select{background:var(--field-bg);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:.3rem;font-size:.8rem}.replay-scrub{flex:1;accent-color:var(--info)}.replay-current-time{font-size:.85rem;font-weight:600;text-align:center;color:var(--info)}.replay-error{color:var(--danger);font-size:.75rem}.connection-status{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-dim)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim)}.status-live .status-dot{background:var(--accent)}.status-connecting .status-dot,.status-reconnecting .status-dot{background:var(--warning)}.status-offline .status-dot{background:var(--danger)}.status-replay .status-dot{background:var(--info)}.status-paused .status-dot{background:var(--warning)}.pause-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:.35rem .7rem;cursor:pointer;font-size:.8rem;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.pause-btn.active{background:var(--warning);border-color:var(--warning);color:var(--bg);font-weight:600}.pause-btn:hover:not(.active){background:var(--btn-hover-bg);border-color:var(--btn-hover-border);color:var(--text)}.pause-btn.active:hover{filter:brightness(1.12)}.stale-warning{color:var(--danger);font-weight:600}.logout-button{background:transparent;border:1px solid transparent;color:var(--text);border-radius:4px;padding:.4rem .8rem;cursor:pointer;font-size:.8rem;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.logout-button:hover{background:var(--btn-hover-bg);border-color:var(--danger);color:var(--danger)}.mode-btn:focus-visible,.replay-toggle-btn:focus-visible,.pause-btn:focus-visible,.refresh-btn:focus-visible,.export-btn:focus-visible,.settings-btn:focus-visible,.settings-back:focus-visible,.settings-primary:focus-visible,.settings-secondary:focus-visible,.settings-remove:focus-visible,.logout-button:focus-visible,.replay-load-btn:focus-visible,.replay-scrub-row button:focus-visible{outline:2px solid var(--highlight);outline-offset:2px}main{flex:1;padding:1.5rem;overflow-x:auto}.table-placeholder{color:var(--text-dim);padding:2rem;text-align:center}.option-chain-wrapper{overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);padding:.5rem}.option-chain{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1000px;font-variant-numeric:tabular-nums}.option-chain th,.option-chain td{padding:.5rem .75rem;text-align:right;font-size:.85rem;border-bottom:1px solid var(--border);white-space:nowrap}.option-chain thead th{background:var(--surface);color:var(--text-dim);font-weight:600}.side-header{text-align:center;letter-spacing:.05em}.option-chain thead th.side-header-calls{color:var(--accent);font-weight:700}.option-chain thead th.side-header-puts{color:var(--danger);font-weight:700}.strike-header{text-align:center;vertical-align:bottom}.strike-cell{text-align:center;font-weight:700;background:var(--surface-2);border-left:1px solid var(--border);border-right:1px solid var(--border)}.atm-row .strike-cell{background:var(--accent);color:var(--bg)}.support-row .strike-cell{box-shadow:inset 4px 0 0 var(--accent)}.resistance-row .strike-cell{box-shadow:inset -4px 0 0 var(--danger)}.itm{background-color:color-mix(in srgb,var(--itm-tint) 12%,transparent)}.rank-cell{font-weight:600}.rank-value{line-height:1.2}.rank-pct{font-size:.7rem;font-weight:500;opacity:.85;line-height:1.2}.spot-marker-row{position:relative}.spot-marker-cell{padding:.35rem .75rem!important;text-align:center!important;white-space:nowrap;background:var(--surface-2);border-top:2px solid var(--text-dim);border-bottom:2px solid var(--text-dim);font-weight:700;font-size:.85rem;font-variant-numeric:tabular-nums}.spot-marker-cell.spot-up{border-color:var(--accent);color:var(--accent)}.spot-marker-cell.spot-down{border-color:var(--danger);color:var(--danger)}.spot-marker-price{margin-right:.6rem}.spot-marker-change{font-size:.78rem;font-weight:600;opacity:.9}.sr-chart-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-sm);padding:1rem 1.25rem .75rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.sr-chart-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.sr-chart-title{font-size:.95rem;font-weight:700}.sr-chart-legend{display:flex;gap:1rem;font-size:.78rem;color:var(--text-dim)}.sr-chart-legend span{display:inline-flex;align-items:center;gap:.4rem}.sr-chart-toggle{background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:.25rem .6rem;font-size:.76rem;cursor:pointer}.sr-chart-toggle:hover{color:var(--text);border-color:var(--text-dim)}.sr-chart-swatch{width:14px;height:3px;border-radius:2px;display:inline-block}.sr-chart-swatch-support{background:var(--accent)}.sr-chart-swatch-resistance{background:var(--danger)}.sr-chart-wrap{position:relative}.sr-chart-wrap svg{display:block;width:100%;height:auto;font-variant-numeric:tabular-nums}.sr-chart-grid-line{stroke:var(--border);stroke-width:1}.sr-chart-axis-label{fill:var(--text-dim);font-size:11px}.sr-chart-line{fill:none;stroke-width:2.5}.sr-chart-crosshair{stroke:var(--text-dim);stroke-width:1;stroke-dasharray:3 3}.sr-chart-dot{stroke:var(--surface);stroke-width:1.5}@media (prefers-reduced-motion: no-preference){.sr-chart-dot-live{animation:sr-pulse 1.8s ease-in-out infinite}}@keyframes sr-pulse{0%,to{r:4.5;opacity:1}50%{r:7;opacity:.55}}.sr-chart-tooltip{position:absolute;top:.5rem;transform:translate(-50%);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.45rem .65rem;font-size:.76rem;color:var(--text);pointer-events:none;white-space:nowrap;font-variant-numeric:tabular-nums;box-shadow:var(--shadow-md)}.sr-chart-tooltip-time{color:var(--text-dim);font-weight:600;margin-bottom:.25rem}.sr-chart-tooltip-support{color:var(--accent)}.sr-chart-tooltip-resistance{color:var(--danger)}@media (prefers-reduced-motion: no-preference){.sr-flash{animation:sr-badge-flash .7s ease-out}}@keyframes sr-badge-flash{0%{box-shadow:0 0 0 0 currentColor}40%{box-shadow:0 0 0 6px color-mix(in srgb,currentColor 35%,transparent)}to{box-shadow:0 0 0 0 transparent}}.sr-case{font-size:.8rem;font-weight:700;padding:.2rem .5rem;border-radius:4px;border:1px solid var(--highlight);color:#8fb0ff;background:#5b8def1f;cursor:help;white-space:nowrap}.sr-case-preview{border-style:dashed;color:var(--text-dim);border-color:var(--text-dim);background:transparent}.case-trading-rules{margin:.75rem 1.5rem;padding:.6rem .9rem .8rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-sm)}.ctr-title{margin:0 0 .5rem;font-size:var(--eyebrow-size);font-weight:var(--fw-bold);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase;color:var(--text-dim)}.ctr-scroll{overflow-x:auto}.ctr-table{border-collapse:collapse;width:100%;min-width:640px}.ctr-row-label{text-align:left;padding:.35rem .7rem .35rem .2rem;font-size:.78rem;font-weight:600;color:var(--text-dim);white-space:nowrap}.ctr-col-head{padding:.3rem .4rem;font-size:.85rem;font-weight:700;color:var(--text-dim);border:1px solid var(--border);background:var(--bg)}.ctr-cell{text-align:center;padding:.4rem .5rem;border:1px solid var(--border);font-size:.78rem;min-width:62px}.ctr-strong{color:var(--text);font-weight:700;background:var(--bg)}.ctr-arrow{font-size:1.05rem;font-weight:700;background:var(--bg)}.ctr-arrow-up,.ctr-arrow-down{color:var(--warning)}.ctr-none{color:var(--text-dim);background:color-mix(in srgb,var(--danger) 10%,transparent)}.ctr-trade{color:#fff;background:#4caf508c}.ctr-trade-flag{font-weight:800;font-size:.88rem}.ctr-trade-repeat{display:block;font-size:.68rem;font-weight:600;line-height:1.25}.ctr-active{border-left:2px solid var(--highlight);border-right:2px solid var(--highlight)}.ctr-col-head.ctr-active{border-top:2px solid var(--highlight);color:#fff;background:var(--highlight)}tbody tr:last-child>.ctr-active{border-bottom:2px solid var(--highlight)}.ctr-note{margin:.6rem 0 0;font-size:.76rem;color:var(--text-dim)}.level-case-panel{margin:.75rem 1.5rem;padding:.6rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:var(--shadow-sm);font-size:.85rem}.level-case-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:.6rem;padding:.15rem 0}.level-case-heading{min-width:6.5rem;color:var(--text-dim);font-size:var(--eyebrow-size);font-weight:var(--fw-semibold);letter-spacing:var(--eyebrow-tracking);text-transform:uppercase}.level-case-levels{font-weight:600}.level-case-note{color:var(--text-dim);font-size:.8rem}.level-case-history{margin-top:.4rem;border-top:1px solid var(--border);padding-top:.4rem}.level-case-history summary{cursor:pointer;color:var(--text-dim);font-size:.8rem}.level-case-history table{width:100%;margin-top:.4rem;border-collapse:collapse;font-size:.8rem}.level-case-history th,.level-case-history td{text-align:left;padding:.2rem .6rem .2rem 0;border-bottom:1px solid var(--border)}.level-case-history th{color:var(--text-dim);font-weight:600}.settings-page{display:flex;justify-content:center;padding:.5rem 0 2rem}.settings-card{width:100%;max-width:560px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow-md);padding:1.5rem}.settings-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.settings-title{margin:0;font-size:var(--fs-lg);font-weight:var(--fw-bold);letter-spacing:-.01em}.settings-back{background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:.3rem .6rem;font-size:var(--fs-xs);cursor:pointer;transition:background-color .15s ease,color .15s ease}.settings-back:hover{background:var(--btn-hover-bg);color:var(--text)}.settings-intro{margin:.6rem 0 1.25rem;color:var(--text-dim);font-size:var(--fs-sm);line-height:1.5}.settings-form{display:flex;flex-direction:column;gap:1rem}.settings-field{display:flex;flex-direction:column;gap:.35rem}.settings-label{display:flex;align-items:center;gap:.5rem;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--text)}.settings-pill{font-size:var(--fs-2xs);font-weight:var(--fw-medium);padding:.05rem .4rem;border-radius:999px;border:1px solid var(--border);color:var(--text-dim)}.settings-pill-app{color:var(--accent);border-color:var(--accent)}.settings-pill-server{color:var(--info);border-color:var(--info)}.settings-pill-none{color:var(--warning);border-color:var(--warning)}.settings-field input{background:var(--field-bg);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:.5rem .6rem;font-size:var(--fs-md)}.settings-field input::placeholder{color:var(--text-dim);opacity:.7}.settings-field input:focus-visible{outline:2px solid var(--highlight);outline-offset:1px}.settings-input-error{border-color:var(--danger)!important}.settings-field-error{color:var(--danger);font-size:var(--fs-xs)}.settings-help{color:var(--text-dim);font-size:var(--fs-xs)}.settings-notice{padding:.6rem .75rem;border-radius:4px;border:1px solid var(--border);font-size:var(--fs-sm);line-height:1.45}.settings-notice-ok{border-color:var(--accent);color:var(--accent)}.settings-notice-error{border-color:var(--danger);color:var(--danger)}.settings-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.settings-primary,.settings-secondary,.settings-remove{border-radius:4px;padding:.5rem .9rem;font-size:var(--fs-sm);font-weight:var(--fw-semibold);cursor:pointer;transition:filter .15s ease,background-color .15s ease,border-color .15s ease}.settings-primary{background:var(--accent);border:1px solid var(--accent);color:var(--bg)}.settings-primary:hover:not(:disabled){filter:brightness(1.12)}.settings-secondary{background:transparent;border:1px solid var(--border);color:var(--text)}.settings-secondary:hover:not(:disabled){background:var(--btn-hover-bg);border-color:var(--btn-hover-border)}.settings-remove{margin-left:auto;background:transparent;border:1px solid transparent;color:var(--text-dim)}.settings-remove:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.settings-primary:disabled,.settings-secondary:disabled,.settings-remove:disabled{opacity:.5;cursor:default}.settings-meta{color:var(--text-dim);font-size:var(--fs-xs)}
