:root{--brand-50: #fff7ed;--brand-100: #ffedd5;--brand-200: #fed7aa;--brand-500: #f97316;--brand-600: #ea580c;--brand-700: #c2410c;--surface-50: #f8fafc;--surface-100: #f1f5f9;--surface-200: #e2e8f0;--surface-300: #cbd5e1;--slate-900: #0f172a;--slate-800: #1e293b;--slate-700: #334155;--slate-600: #475569;--slate-500: #64748b;--bull: #10b981;--bull-light: #ecfdf5;--bull-border: #a7f3d0;--bear: #ef4444;--bear-light: #fef2f2;--bear-border: #fecaca;--warn: #d97706;--bg: var(--surface-50);--bg-elev: #ffffff;--ink: var(--slate-900);--muted: var(--slate-500);--accent: var(--brand-600);--accent-dim: var(--brand-50);--line: var(--surface-200);--font: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--display: var(--font);--shadow-soft: 0 10px 25px -5px rgba(15, 23, 42, .05), 0 8px 10px -6px rgba(15, 23, 42, .03);--shadow-card: 0 4px 20px -2px rgba(15, 23, 42, .04);--glow-brand: 0 0 20px -3px rgba(234, 88, 12, .35);--radius: 12px;--radius-sm: 8px;--header-h: 4rem}*{box-sizing:border-box}html{font-size:125%}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font);font-size:1rem;background:var(--bg);color:var(--ink);line-height:1.45;-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:var(--brand-600);color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface-100)}::-webkit-scrollbar-thumb{background:var(--surface-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--brand-600)}a{color:var(--brand-600);text-decoration:none}a:hover{color:var(--brand-700)}.app{min-height:100vh;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:40;background:#ffffffe6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--surface-200)}.site-header__inner{max-width:80rem;margin:0 auto;padding:0 1rem;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:1rem}@media(min-width:640px){.site-header__inner{padding:0 1.5rem}}@media(min-width:1024px){.site-header__inner{padding:0 2rem}}.site-header__left{display:flex;align-items:center;gap:2rem;min-width:0}.nav__brand{display:inline-flex;align-items:center;gap:.75rem;color:var(--slate-900);text-decoration:none;flex-shrink:0}.nav__brand:hover{color:var(--slate-900);text-decoration:none}.nav__mark{width:1.35rem;height:2.35rem;border-radius:0;display:inline-flex;align-items:center;justify-content:center;color:var(--bull);background:transparent;box-shadow:none;transition:transform .15s ease}.nav__doji{display:block;width:100%;height:100%;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;fill:currentColor}.nav__doji line{fill:none}.nav__brand:hover .nav__mark{transform:scale(1.06);color:#059669}.nav__brand-text{font-size:1.25rem;font-weight:800;letter-spacing:-.02em}.nav__brand-accent{color:var(--brand-600)}.nav__brand-tld{color:var(--slate-500);font-weight:700;font-size:.95em;margin-left:.05em}.nav__desktop{display:none;align-items:center;gap:.25rem}@media(min-width:768px){.nav__desktop{display:flex}}.nav__link{display:inline-flex;align-items:center;padding:.5rem .875rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--slate-700);text-decoration:none;border:1px solid transparent;transition:background .15s ease,color .15s ease,border-color .15s ease}.nav__link:hover{color:var(--slate-900);background:var(--surface-100);text-decoration:none}.nav__link--active{font-weight:600;color:var(--brand-600);background:var(--brand-50);border-color:var(--brand-100)}.nav__actions{display:flex;align-items:center;gap:.75rem}.nav__actions .btn{display:none}@media(min-width:640px){.nav__actions .btn{display:inline-flex}}.nav__burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:2.5rem;height:2.5rem;padding:.5rem;border:none;border-radius:var(--radius-sm);background:transparent;cursor:pointer}.nav__burger span{display:block;height:2px;width:100%;background:var(--slate-600);border-radius:1px}.nav__burger:hover{background:var(--surface-100)}@media(min-width:768px){.nav__burger{display:none}}.nav__mobile{display:flex;flex-direction:column;gap:.35rem;padding:.75rem 1rem 1rem;border-top:1px solid var(--surface-200);background:#fff}.nav__mobile .nav__link{display:block;width:100%}.nav__mobile .btn{width:100%;margin-top:.35rem}.nav__mobile-logout{margin-top:.5rem}@media(min-width:768px){.nav__mobile{display:none}}.shell{max-width:80rem;margin:0 auto;padding:1.5rem 1rem 3rem;width:100%;flex:1}@media(min-width:640px){.shell{padding:1.75rem 1.5rem 3rem}}@media(min-width:1024px){.shell{padding:2rem 2rem 3.5rem}}.hero{padding:1.5rem 0 1.25rem}.hero__badge{display:inline-flex;align-items:center;padding:.25rem .875rem;border-radius:999px;font-size:.75rem;font-weight:600;color:var(--brand-600);background:var(--brand-50);border:1px solid var(--brand-200);margin:0 0 .75rem;max-width:none;box-shadow:var(--shadow-card)}.hero h1{font-family:var(--font);font-weight:800;font-size:clamp(1.85rem,4.5vw,3rem);margin:0 0 .6rem;letter-spacing:-.03em;color:var(--slate-900);line-height:1.15}.hero__accent{color:var(--brand-600)}.hero p{color:var(--slate-600);max-width:36rem;margin:0;font-size:1.05rem;font-weight:400}.page-title{font-family:var(--font);font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:-.02em;margin:0 0 .35rem;color:var(--slate-900)}.page-sub{color:var(--slate-600);margin:0 0 1.25rem;font-size:.95rem}.meta{color:var(--muted);font-size:.85rem;margin-bottom:1rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:1.75rem}.card{background:var(--bg-elev);border:1px solid var(--surface-200);border-radius:var(--radius);padding:1.35rem 1.4rem;box-shadow:var(--shadow-card)}.card h2{font-size:1.05rem;font-weight:700;margin:0 0 .4rem;color:var(--slate-900)}.card p{margin:0 0 1rem;color:var(--slate-600);font-size:.92rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;border-radius:.75rem;padding:.55rem 1.1rem;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,transform .15s ease,box-shadow .15s ease}.btn--primary,.btn:not(.btn--ghost){background:var(--brand-600);color:#fff;box-shadow:0 4px 6px -1px #0f172a14,var(--glow-brand)}.btn--primary:hover,.btn:not(.btn--ghost):hover{background:var(--brand-700);color:#fff;transform:translateY(-1px);text-decoration:none}.btn--ghost{background:transparent;color:var(--slate-700);border:1px solid transparent;box-shadow:none}.btn--ghost:hover{color:var(--slate-900);background:var(--surface-100)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.form{display:flex;flex-direction:column;gap:.85rem;max-width:360px}.form label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;font-weight:500;color:var(--slate-600)}.form input{font:inherit;padding:.55rem .7rem;border-radius:var(--radius-sm);border:1px solid var(--surface-200);background:var(--surface-50);color:var(--ink)}.form input:focus{outline:none;border-color:var(--brand-500);box-shadow:0 0 0 3px var(--brand-50)}.stat-row{display:flex;flex-wrap:wrap;gap:1rem;margin:1rem 0 1.5rem}.stat{background:var(--bg-elev);border:1px solid var(--surface-200);border-radius:var(--radius);padding:.9rem 1.1rem;min-width:140px;box-shadow:var(--shadow-card)}.stat__label{color:var(--muted);font-size:.78rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.stat__value{font-family:var(--font-mono);font-size:1.45rem;font-weight:700;margin-top:.15rem;font-variant-numeric:tabular-nums}.stat__value--spot{color:#2563eb}.stat__value--mp-below{color:var(--bear)}.stat__value--mp-above{color:var(--bull)}.locked-note{font-size:.85rem;color:var(--warn);margin-bottom:1rem}.err{color:var(--bear);background:var(--bear-light);border:1px solid var(--bear-border);padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem}.health-page__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.health-pills{display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 1.25rem}.health-pill{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;font-size:.8rem;font-weight:600;border:1px solid var(--surface-200);background:var(--surface-100);color:var(--slate-700)}.health-pill--ok{background:var(--bull-light);border-color:var(--bull-border);color:#047857}.health-pill--bad{background:var(--bear-light);border-color:var(--bear-border);color:#b91c1c}.health-pill--unk{background:#fffbeb;border-color:#fde68a;color:var(--warn)}.health-dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.85rem 1.25rem;margin:0 0 1.5rem;padding:1.1rem 1.25rem;background:var(--bg-elev);border:1px solid var(--surface-200);border-radius:var(--radius);box-shadow:var(--shadow-card)}.health-dl>div{margin:0}.health-dl__wide{grid-column:1 / -1}.health-dl dt{margin:0 0 .2rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--slate-500)}.health-dl dd{margin:0;font-size:.95rem;color:var(--slate-900);word-break:break-word}.health-mono{font-family:var(--font-mono);font-size:.85rem}.health-pre{margin:0;padding:.75rem .85rem;overflow:auto;max-height:16rem;font-family:var(--font-mono);font-size:.78rem;line-height:1.4;background:var(--surface-100);border:1px solid var(--surface-200);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word}.health-cache{margin:0 0 1.5rem;padding:1.1rem 1.25rem;background:var(--bg-elev);border:1px solid var(--surface-200);border-radius:var(--radius);box-shadow:var(--shadow-card)}.health-cache__title{margin:0 0 .85rem;font-size:1rem;font-weight:700}.health-cache__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.65rem}.health-cache__grid li{display:flex;flex-direction:column;gap:.15rem;padding:.55rem .65rem;background:var(--surface-50);border:1px solid var(--surface-200);border-radius:var(--radius-sm)}.health-cache__grid span{font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--slate-500)}.health-cache__grid strong{font-family:var(--font-mono);font-size:1.05rem;font-weight:600;font-variant-numeric:tabular-nums}.fc-screening{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;width:500px;max-width:100%;margin:0 0 0 auto;padding:.55rem .75rem;border:1px solid var(--surface-200);border-radius:var(--radius-sm);background:#f0f0f0;box-shadow:none}.fc-screening__label{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--slate-500)}.fc-screening__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .65rem;width:100%}.fc-screening__scanned{font-size:.78rem;font-weight:500;color:var(--slate-500);letter-spacing:0;text-transform:none}.fc-screening__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem;font-size:.84rem;color:var(--slate-800);line-height:1.35}.fc-screening__key{color:var(--slate-500);font-weight:600;margin-right:.35rem}.fc-screening__body{color:var(--slate-500);font-size:.84rem}.tf-block .fc-screening{margin:0 0 .75rem;width:auto}.sma-toolbar{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem;margin:0 0 1rem}.view-toggle{display:inline-flex;gap:0;border:1px solid var(--surface-200);border-radius:.75rem;overflow:hidden;background:var(--bg-elev);box-shadow:var(--shadow-card)}.view-toggle__tip{display:inline-flex}.view-toggle__tip .view-toggle__btn{height:100%}.view-toggle__btn{font:inherit;font-size:.875rem;font-weight:500;padding:.5rem 1rem;border:0;background:transparent;color:var(--slate-600);cursor:pointer}.view-toggle>*+.view-toggle__btn,.view-toggle>*+.view-toggle__tip{border-left:1px solid var(--surface-200)}.view-toggle__btn--on{background:var(--brand-600);color:#fff;font-weight:700}.view-toggle__btn:disabled{opacity:.45;cursor:not-allowed}.multi-tf-btn{margin:0}.multi-tf-btn--on{border:1px solid #bfdbfe;background:#eff6ff;color:#1d4ed8}.table-wrap{overflow-x:auto;border:1px solid var(--surface-200);border-radius:var(--radius);background:var(--bg-elev);box-shadow:var(--shadow-card)}table.data{width:100%;border-collapse:collapse;font-size:.9rem}table.data th,table.data td{padding:.55rem .75rem;text-align:left;border-bottom:1px solid var(--surface-100);white-space:nowrap}table.data th{font-family:var(--font);color:#fff;font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;background-color:#383838;z-index:1}table.data th:not(:first-child){padding-left:1.55rem}table.data th.data-th--sortable{position:relative;cursor:pointer;-webkit-user-select:none;user-select:none}table.data th.data-th--sortable:hover,table.data th.data-th--active{z-index:2}table.data th.data-th--sortable .data-th__sort{position:absolute;right:-.45rem;top:50%;transform:translateY(-50%);width:.9rem;text-align:center;font-size:.65rem;letter-spacing:0;line-height:1;pointer-events:none;color:#fff}table.data th.data-th--sortable:last-child .data-th__sort{right:.15rem}table.data th.data-th--sortable:hover{background-color:#4a4a4a}table.data th.data-th--active{background-color:#2f2f2f}table.data td{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--slate-800);font-weight:500;font-size:.84rem}table.data td:first-child{font-family:var(--font);font-weight:600;color:var(--slate-900)}table.data th.num,table.data td.num{text-align:right;font-variant-numeric:tabular-nums}table.data tr:last-child td{border-bottom:none}table.data tr.fc-row--dual td{background:#eff6ff;color:#1d4ed8;font-weight:600}table.data tr.fc-row--triple td{background:#fef3c7;color:#92400e;font-weight:700}table.data tr.fc-row{cursor:default}table.data tr.fc-row:hover td{filter:brightness(.98)}table.data tr.fc-row--hover td{background:#dbeafe}table.data tr.fc-row--dual.fc-row--hover td{background:#dbeafe;color:#1e40af}table.data tr.fc-row--triple.fc-row--hover td{background:#fde68a;color:#78350f}.fc-yes{color:var(--bull);font-weight:600}.fc-no{color:var(--bear);font-weight:600}.side-long{color:var(--bull);font-weight:600;text-transform:uppercase;font-size:.78rem;letter-spacing:.03em}.side-short{color:var(--bear);font-weight:600;text-transform:uppercase;font-size:.78rem;letter-spacing:.03em}.td-muted{color:var(--slate-500);font-weight:400;max-width:28rem;white-space:normal}table.data tr.fc-row--triple .fc-yes,table.data tr.fc-row--triple .fc-no{color:#78350f}.tf-block{margin-bottom:2rem}.tf-block h2{font-size:1.05rem;font-weight:700;margin:0 0 .6rem;color:var(--slate-800)}.mp-chart-legend{display:flex;flex-wrap:wrap;gap:12px 18px;margin:1rem 0 .5rem;font-size:.78rem;color:var(--muted)}.mp-lg:before{content:"";display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:2px;vertical-align:-1px}.mp-lg--calls:before{background:var(--bull)}.mp-lg--puts:before{background:#e8785c}.mp-lg--mp:before{background:#ff4d4f}.mp-lg--spot-line:before{background:#2563eb}.mp-chart-wrap{overflow-x:hidden;width:100%;box-sizing:border-box;margin-bottom:1rem;border:1px solid var(--surface-200);border-radius:var(--radius);background:var(--bg-elev);box-shadow:var(--shadow-card);padding:8px 6px 4px;height:325px}.mp-chart{position:relative;display:flex;align-items:flex-end;width:100%;min-width:0;box-sizing:border-box;gap:2px;min-height:288px}.mp-bar-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end}.mp-bar-col--mp .mp-bar-stack{outline:1px solid #ff4d4f;outline-offset:1px;border-radius:2px}.mp-bar-col--mp .mp-bar-tick{color:#ff4d4f;font-weight:800}.mp-bar-col--spot .mp-bar-stack{outline:1px solid #2563eb;outline-offset:1px;border-radius:2px}.mp-bar-col--spot .mp-bar-tick{color:#2563eb;font-weight:800}.mp-bar-tick-wrap{flex-shrink:0;position:relative;width:100%;height:22px;overflow:visible;pointer-events:none}.mp-bar-stack{display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;width:100%;height:260px}.mp-bar{width:100%;min-height:0;border-radius:1px 1px 0 0}.mp-bar--calls{background:linear-gradient(180deg,#34d399,#059669)}.mp-bar--puts{background:linear-gradient(180deg,#f0a090,#c45c42)}.mp-bar-tick{position:absolute;left:50%;bottom:0;margin:0;padding:0;font-family:var(--font-mono);font-size:11px;line-height:1;color:var(--muted);white-space:nowrap;transform:translate(-50%) rotate(-62deg);transform-origin:center bottom}.mp-spot-line{position:absolute;top:0;bottom:28px;width:0;border-left:1.5px dashed #2563eb;pointer-events:none;z-index:2;transform:translate(-50%)}.sma-flat-filter-row{margin:0 0 1rem}.search-filter{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.search-filter__label{color:var(--slate-600);font-size:.875rem;flex-shrink:0}.search-filter__wrap{position:relative;display:inline-flex;align-items:center;min-width:12rem}.search-filter__input{width:min(22rem,100vw - 4rem);padding:.45rem 2rem .45rem .75rem;border:1px solid var(--surface-200);border-radius:.5rem;background:var(--bg-elev);color:var(--ink);font:inherit;font-size:.875rem}.search-filter__input:focus{outline:2px solid var(--accent, #6366f1);outline-offset:1px}.search-filter__clear{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--muted);font-size:1.1rem;line-height:1;cursor:pointer;padding:.15rem .35rem}.search-filter__clear:hover{color:var(--ink)}.search-filter__recent{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;display:flex;flex-direction:column;background:var(--bg-elev);border:1px solid var(--surface-200);border-radius:.5rem;box-shadow:var(--shadow-card);overflow:hidden}.search-filter__recent-item{text-align:left;border:0;background:transparent;color:var(--ink);font:inherit;font-size:.875rem;padding:.45rem .75rem;cursor:pointer}.search-filter__recent-item:hover,.search-filter__recent-item:focus-visible{background:var(--surface-100, #f3f4f6)}
