:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0d12;--bg-card:#10141b;--bg-elevated:#161c26;--bg-header:#0a0d12d9;--surface:#ffffff08;--surface-subtle:#ffffff05;--backdrop:#0009;--border:#1d2531;--border-bright:#2c3647;--text:#e8ecf2;--text-dim:#8993a4;--text-faint:#4a5364;--green:#00d4aa;--green-bright:#00ff9d;--red:#ff4757;--red-bright:#ff6b7a;--amber:#ffa502;--blue:#4a9eff;--purple:#b794f6;--etf:#b18cff;--glow-1:#00d4aa14;--glow-2:#4a9eff0d;--on-accent:#000;--green-rgb:0 212 170;--green-bright-rgb:0 255 157;--red-rgb:255 71 87;--red-bright-rgb:255 107 122;--amber-rgb:255 165 2;--blue-rgb:74 158 255;--purple-rgb:183 148 246;--tint-a:.12;--tint-strong-a:.17;--edge-a:.4;--header-h:64px;--tint-green:rgb(var(--green-rgb) / var(--tint-a));--tint-green-strong:rgb(var(--green-bright-rgb) / var(--tint-strong-a));--tint-red:rgb(var(--red-rgb) / var(--tint-a));--tint-red-strong:rgb(var(--red-rgb) / var(--tint-strong-a));--tint-amber:rgb(var(--amber-rgb) / var(--tint-a));--tint-amber-strong:rgb(var(--amber-rgb) / var(--tint-strong-a));--tint-blue:rgb(var(--blue-rgb) / var(--tint-a));--tint-blue-strong:rgb(var(--blue-rgb) / var(--tint-strong-a));--tint-purple:rgb(var(--purple-rgb) / var(--tint-a));--edge-green:rgb(var(--green-rgb) / var(--edge-a));--edge-green-strong:rgb(var(--green-bright-rgb) / var(--edge-a));--edge-red:rgb(var(--red-rgb) / var(--edge-a));--edge-amber:rgb(var(--amber-rgb) / var(--edge-a));--edge-blue:rgb(var(--blue-rgb) / var(--edge-a));--edge-purple:rgb(var(--purple-rgb) / var(--edge-a));--shadow-sm:0 0 2px #00000059, 0 2px 6px -2px #0006;--shadow-md:0 0 2px #0006, 0 10px 22px -8px #0000008c;--shadow-lg:0 0 3px #00000073, 0 24px 56px -12px #000000a6;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:22px;--space-6:28px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-pill:999px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f9;--bg-card:#fff;--bg-elevated:#eceff4;--bg-header:#f6f7f9d9;--surface:#10141b09;--surface-subtle:#10141b06;--backdrop:#10141b59;--border:#dee2e9;--border-bright:#c0c7d2;--text:#10141b;--text-dim:#566072;--text-faint:#8b94a3;--green:#00806a;--green-bright:#00614e;--red:#cf2434;--red-bright:#a81a28;--amber:#9b6300;--blue:#1f6fd0;--purple:#7343c4;--etf:#7343c4;--glow-1:#009a7b0f;--glow-2:#1f6fd00d;--on-accent:#fff;--green-rgb:0 128 106;--green-bright-rgb:0 97 78;--red-rgb:207 36 52;--red-bright-rgb:168 26 40;--amber-rgb:155 99 0;--blue-rgb:31 111 208;--purple-rgb:115 67 196;--tint-a:.09;--tint-strong-a:.14;--edge-a:.32;--shadow-sm:0 0 2px #919eab4d, 0 2px 6px -2px #919eab2e;--shadow-md:0 0 2px #919eab4d, 0 12px 24px -4px #919eab24;--shadow-lg:0 0 3px #919eab4d, 0 24px 56px -12px #919eab38}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);min-height:100vh}body{color:var(--text);background-image:radial-gradient(ellipse 60% 50% at 20% 0%, var(--glow-1), transparent 60%), radial-gradient(ellipse 50% 40% at 90% 100%, var(--glow-2), transparent 70%);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background-attachment:fixed;font-family:Geist,-apple-system,system-ui,sans-serif;font-weight:400;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}input{font:inherit;color:inherit}.mono{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace}.serif{font-family:Instrument Serif,serif;font-style:italic;font-weight:400}.app{flex-direction:column;min-height:100vh;display:flex}.app-header{height:var(--header-h);border-bottom:1px solid var(--border);background:var(--bg-header);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm);z-index:10;align-items:center;gap:24px;padding:0 28px;display:flex;position:sticky;top:0}.app-title{letter-spacing:-.01em;align-items:center;gap:10px;font-family:Instrument Serif,serif;font-size:28px;font-style:italic;display:inline-flex}.brand-mark{flex:none}.brand-mark-ink,.brand-mark-accent{fill:none;stroke-width:38px;stroke-linecap:round;stroke-linejoin:round}.brand-mark-ink{stroke:var(--text)}.brand-mark-accent{stroke:var(--green)}.brand-mark-head{fill:var(--green);stroke:var(--green);stroke-width:8px;stroke-linejoin:round}.brand-lockup{max-width:100%;height:auto;display:block}.brand-lockup-ink{fill:var(--text)}.brand-lockup-accent{fill:var(--green)}.brand-loader{flex:none;display:block;overflow:visible}.brand-loader-v{stroke-dasharray:654 800;animation:2.4s cubic-bezier(.65,0,.35,1) infinite brand-loader-v}.brand-loader-bar{stroke-dasharray:309 400;animation:2.4s cubic-bezier(.65,0,.35,1) infinite brand-loader-bar}.brand-loader-stem{stroke-dasharray:150 300;animation:2.4s cubic-bezier(.65,0,.35,1) infinite brand-loader-stem}.brand-loader-arrow{transform-box:fill-box;transform-origin:50% 70%;animation:2.4s cubic-bezier(.65,0,.35,1) infinite brand-loader-arrow}@keyframes brand-loader-v{0%{stroke-dashoffset:654px;opacity:0}3%{opacity:1}42%{stroke-dashoffset:0}84%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes brand-loader-arrow{0%,38%{opacity:0;transform:scale(0)}48%{opacity:1;transform:scale(1.18)}55%,84%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes brand-loader-bar{0%,44%{stroke-dashoffset:-309px;opacity:0}46%{opacity:1}62%{stroke-dashoffset:0}84%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}@keyframes brand-loader-stem{0%,58%{stroke-dashoffset:150px;opacity:0}60%{opacity:1}72%{stroke-dashoffset:0}84%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.page-loading{animation:.2s ease-out .25s both page-loading-in}.page-loading .brand-loader{margin:0 auto 18px}@keyframes page-loading-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.page-loading,.brand-loader *{stroke-dashoffset:0!important;opacity:1!important;animation:none!important;transform:none!important}}.app-header .right{color:var(--text-dim);align-items:center;gap:16px;margin-left:auto;font-size:13px;display:flex}.last-run{align-items:center;gap:8px;display:inline-flex}.last-run .dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 8px var(--green);border-radius:50%}.last-run.warn .dot{background:var(--amber);box-shadow:0 0 8px var(--amber)}.last-run.error .dot{background:var(--red);box-shadow:0 0 8px var(--red)}.btn{background:var(--bg-elevated);color:var(--text);border:1px solid var(--border-bright);border-radius:var(--r-sm);padding:8px 14px;font-size:13px;font-weight:500;transition:background .15s,border-color .15s}.btn:hover{background:var(--border);border-color:var(--text-faint)}.btn.primary{background:var(--green);color:var(--on-accent);border-color:var(--green)}.btn.primary:hover{background:var(--green-bright)}.btn.danger{color:var(--red-bright)}.btn.ghost{border-color:var(--border);background:0 0}.refresh-spinning{animation:.9s linear refresh-spin}@keyframes refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.refresh-spinning{opacity:.5;animation:none}}.state-actions{justify-content:center;align-items:center;gap:10px;margin-top:18px;display:flex}.app-main{padding:var(--space-6);flex:1;width:100%;max-width:1600px;margin:0 auto}.filter-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.filter-bar .label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin-right:4px;font-size:12px}.filter-bar .MuiChip-root{border-radius:var(--r-pill);height:28px}.filter-bar .MuiChip-icon{margin-left:8px;font-size:14px}.chip-custom-wrap{border-radius:var(--r-pill);background:var(--bg-card);border:1px solid var(--border);align-items:center;display:inline-flex;overflow:hidden}.chip-custom-wrap.on{border-color:var(--edge-green)}.chip-custom-wrap .MuiChip-root{background:0 0;border:none;border-radius:0}.chip-custom-wrap.on .MuiChip-root{background:var(--tint-green);color:var(--green-bright)}.chip-custom-label{align-items:center;gap:6px;display:inline-flex}.chip-custom-sub{color:var(--amber);font-size:13px!important}.chip-custom-edit{border-left:1px solid var(--border)!important;color:var(--text-faint)!important;border-radius:0!important;padding:5px 7px!important;font-size:13px!important}.chip-custom-edit:hover{color:var(--text)!important;background:var(--border)!important}.chip-custom-wrap.on .chip-custom-edit{border-left-color:var(--edge-green)!important}.chip-new-btn{border-radius:var(--r-pill)!important;color:var(--text-faint)!important;border-style:dashed!important;padding:4px 12px!important}.chip-new-btn:hover{color:var(--text)!important;border-style:solid!important}.filter-search{width:230px;margin-left:auto}.filter-search .MuiInputBase-root{border-radius:var(--r-sm);background:var(--bg-card)}.tab-strip{border-bottom:1px solid var(--border);-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:2px;margin-bottom:12px;display:flex;overflow-x:auto}.tab-strip::-webkit-scrollbar{display:none}.tab{color:var(--text-dim);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:none;align-items:center;gap:6px;margin-bottom:-1px;padding:9px 16px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s;display:inline-flex}.tab:hover{color:var(--text)}.tab.on{color:var(--text);border-bottom-color:var(--green-bright)}.tab-count{background:var(--border);color:var(--text-faint);border-radius:var(--r-md);padding:1px 7px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;line-height:1.5;display:inline-block}.tab.on .tab-count{background:var(--tint-green-strong);color:var(--green-bright)}.idx-badges{flex-wrap:wrap;gap:3px;display:flex}td.ticker .idx-badges{margin-top:5px}.idx-badge{letter-spacing:.04em;background:var(--tint-blue);border:1px solid var(--edge-blue);color:var(--blue);-webkit-user-select:none;user-select:none;border-radius:3px;padding:1px 4px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;line-height:1.5}.idx-etf{background:var(--tint-purple);border-color:var(--edge-purple);color:var(--etf)}.table-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);-webkit-overflow-scrolling:touch;overflow:auto hidden}table.watchlist{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}table.watchlist th{text-align:left;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;background:var(--bg-elevated);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:12px 14px;font-size:11px;font-weight:500}table.watchlist th.num{text-align:right}table.watchlist th .sort-ind{color:var(--text-faint);margin-left:4px}table.watchlist td{border-bottom:1px solid var(--border);white-space:nowrap;padding:12px 14px}table.watchlist td.num{text-align:right;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,ui-monospace,monospace}table.watchlist tr:last-child td{border-bottom:none}table.watchlist tbody tr{cursor:pointer;transition:background .1s}table.watchlist tbody tr:hover{background:var(--bg-elevated)}table.watchlist td.ticker{letter-spacing:.02em;font-weight:600}.tk-sym{align-items:center;gap:6px;display:flex}.tk-name{letter-spacing:0;max-width:18ch;color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;font-weight:400;display:block;overflow:hidden}.pos{color:var(--green-bright)}.neg{color:var(--red-bright)}.trend-arrow{vertical-align:middle;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;font-weight:600}.trend-arrow.pos{color:var(--green-bright)}.trend-arrow.neg{color:var(--red-bright)}.trend-arrow.flat{color:var(--amber)}.vol-badge{border:1px solid var(--amber);background:var(--tint-amber);color:var(--amber);letter-spacing:.04em;vertical-align:middle;border-radius:3px;margin-left:8px;padding:1px 6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:700;display:inline-block}.metric-row .d.vol-hot{color:var(--amber);font-weight:700}.vol-cell{color:var(--text-dim);font-variant-numeric:tabular-nums}.vol-cell.vol-warm{color:var(--amber);opacity:.78}.vol-cell.vol-hot{color:var(--amber);font-weight:700}.tf-cell{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.tf-sig{align-items:center;gap:4px;display:inline-flex}.tf-rsi{color:var(--text-dim);align-items:center;gap:3px;font-size:11px;display:inline-flex}.tf-change{white-space:nowrap;font-size:11px}.tf-change .tf-change-pct{color:var(--text-dim)}.pinned-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);align-items:center;gap:12px;margin-bottom:14px;padding:10px 14px;display:flex;overflow-x:auto}.pinned-label{color:var(--text-dim);white-space:nowrap;flex-shrink:0;font-size:12px}.pinned-chips{gap:8px;display:flex}.pin-chip{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);cursor:pointer;white-space:nowrap;flex-direction:column;gap:4px;padding:6px 8px 6px 11px;display:flex}.pin-chip:hover{border-color:var(--blue)}.pin-row1{align-items:center;gap:8px;display:flex}.pin-row2{gap:12px;display:flex}.pin-sym{font-size:13px;font-weight:600}.pin-note{cursor:help;font-size:11px}.pin-price{color:var(--text);letter-spacing:.01em;font-size:12px;font-weight:600}.pin-chg{margin-right:auto;font-size:12px}.pin-tf{align-items:baseline;gap:4px;font-size:11px;display:inline-flex}.pin-tf-label{color:var(--text-faint);font-weight:600}.pin-tf-rsi{color:var(--text-dim)}.pin-tf-arrow.pos{color:var(--green)}.pin-tf-arrow.neg{color:var(--red-bright)}.pin-tf-arrow.flat{color:var(--text-dim)}.pin-x{width:18px;height:18px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:15px;line-height:1;display:inline-flex}.pin-x:hover{background:var(--tint-red-strong);color:var(--red-bright)}.pin-toggle{cursor:pointer;opacity:.25;filter:grayscale();vertical-align:middle;background:0 0;border:none;margin-left:8px;padding:0;font-size:12px;transition:opacity .12s}.pin-toggle:hover{opacity:.7}.pin-toggle.pinned{opacity:1;filter:none}.note-th{min-width:200px}.note-cell{cursor:pointer;vertical-align:middle;max-width:280px}.note-text{-webkit-line-clamp:2;color:var(--text-dim);-webkit-box-orient:vertical;font-size:12px;line-height:1.4;display:-webkit-box;overflow:hidden}.note-cell:hover .note-text{color:var(--text)}.note-add{color:var(--text-faint);opacity:.6;white-space:nowrap;font-size:12px}.note-cell:hover .note-add{opacity:1;color:var(--blue)}.note-modal{max-width:460px}.note-panel{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--r-lg);margin-top:28px;padding:18px 20px}.note-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.note-dirty{color:var(--amber);font-size:11px}.note-saved{color:var(--green);font-size:11px}.note-area{box-sizing:border-box;resize:vertical;width:100%;min-height:80px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--r-md);padding:10px 12px;font-size:13px;line-height:1.5}.note-area:focus{border-color:var(--blue);outline:none}.note-actions{justify-content:flex-end;margin-top:10px;display:flex}.price-cell{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.price-cell .px-main{font-weight:500}.price-cell .px-chg{font-size:11px}.empty{text-align:center;color:var(--text-dim);padding:60px 20px}.empty .serif{color:var(--text);margin-bottom:8px;font-size:22px;display:block}.sig{border-radius:var(--r-pill);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border:1px solid #0000;padding:4px 10px;font-size:11px;font-weight:600;display:inline-block}.sig.lg{padding:6px 14px;font-size:12px}.sig.sig-strongbuy{background:var(--tint-green-strong);color:var(--green-bright);border-color:var(--edge-green-strong)}.sig.sig-buy{background:var(--tint-green);color:var(--green);border-color:var(--edge-green)}.sig.sig-hold{background:var(--tint-blue);color:var(--blue);border-color:var(--edge-blue)}.sig.sig-watch{background:var(--tint-amber);color:var(--amber);border-color:var(--edge-amber)}.sig.sig-avoid{background:var(--tint-red);color:var(--red-bright);border-color:var(--edge-red)}.detail-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:10px var(--space-5);flex-wrap:wrap;align-items:center;gap:6px 22px;margin-bottom:12px;display:flex}.dp-back{flex-shrink:0}.dp-back .MuiButton-root{min-width:0;padding:8px}.dp-id{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.detail-symbol{letter-spacing:-.02em;font-family:Instrument Serif,serif;font-size:36px;font-style:italic;line-height:1}.dp-sub{align-items:center;gap:8px;min-width:0;display:flex}.detail-name{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:13px;overflow:hidden}.dp-sub .idx-badges{margin-left:0}.dp-price{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.dp-last{color:var(--text);font-size:26px;font-weight:500;line-height:1.1}.dp-chg{font-size:13px}.dp-chg.pos{color:var(--green)}.dp-chg.neg{color:var(--red)}.dp-stat .label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin-bottom:3px;font-size:11px;display:block}.dp-stat .total{font-family:JetBrains Mono,monospace;font-size:20px}.dp-stat .tp-status{display:inline-block}.dp-total-max{color:var(--text-faint);font-size:14px}.dp-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.detail-updated{color:var(--text-dim);font-size:13px}@media (width<=1279px){.detail-updated{display:none}}.dp-desc{color:var(--text-dim);flex:1 0 100%;font-size:13px}.cards-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));display:grid}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--space-5);position:relative;overflow:hidden}.card:before{content:"";background:var(--border-bright);height:3px;position:absolute;top:0;left:0;right:0}.card.sig-strongbuy:before{background:var(--green-bright)}.card.sig-buy:before{background:var(--green)}.card.sig-hold:before{background:var(--blue)}.card.sig-watch:before{background:var(--amber)}.card.sig-avoid:before{background:var(--red)}.card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;margin-bottom:18px;padding-bottom:14px;display:flex}.card-state{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.card-score{color:var(--text-dim);font-size:13px;font-weight:600}.card-tf{font-family:Instrument Serif,serif;font-size:24px;font-style:italic}.card-scope{color:var(--text-faint);font-size:12px}.metric-row{grid-template-columns:1fr auto auto;align-items:baseline;gap:8px 16px;padding:8px 0;font-size:13px;display:grid}.metric-row .k{color:var(--text-dim)}.metric-row .k .k-sub{color:var(--text-faint);font-size:11px}.metric-row .v{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace}.metric-row .d{color:var(--text-faint);text-align:right;min-width:60px;font-family:JetBrains Mono,monospace;font-size:11px}.section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);margin:18px 0 8px;font-size:10px}.rsi-scale{background:linear-gradient(to right, var(--edge-red) 0%, var(--edge-red) 30%, #c8cdd6d9 30%, #c8cdd6d9 70%, var(--edge-green) 70%, var(--edge-green) 100%);border-radius:4px;height:8px;margin:14px 0 6px;position:relative}.rsi-scale:before{content:"";pointer-events:none;background:#c8cdd6d9;border-left:1px solid #8993a480;border-right:1px solid #8993a480;border-radius:3px;width:40%;position:absolute;top:-2px;bottom:-2px;left:30%}.rsi-marker{z-index:1;border-radius:1px;width:2px;height:14px;position:absolute;top:-3px}.rsi-marker.now{background:var(--text)}.rsi-scale-labels{color:var(--text-faint);justify-content:space-between;font-size:10px;display:flex}.read-list{list-style:none}.read-list li{align-items:flex-start;gap:8px;padding:5px 0;font-size:13px;display:flex}.read-list li:before{content:"";border-radius:50%;flex:none;width:6px;height:6px;margin-top:7px;display:inline-block}.read-list li.ok:before{background:var(--green)}.read-list li.bad:before{background:var(--red)}.read-list li.caution:before{background:var(--amber)}.read-list li.neutral:before{background:var(--text-faint)}.card-verdict{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;display:flex}.card-verdict .score{color:var(--text-dim);font-family:JetBrains Mono,monospace;font-size:12px}.modal-backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border-bright);border-radius:var(--r-lg);width:100%;max-width:480px;max-height:80vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.modal.wide{max-width:820px;max-height:88vh}.modal.scr-modal{max-width:660px;max-height:88vh}.modal-head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.modal-head h2{font-family:Instrument Serif,serif;font-size:22px;font-style:italic;font-weight:400}.modal-head-actions{align-items:center;gap:8px;display:flex}.btn.cf-sub{white-space:nowrap}.btn.cf-sub.on{color:var(--amber);background:var(--tint-amber);border-color:var(--edge-amber)}.modal-body{padding:var(--space-4) var(--space-5);flex:1;overflow-y:auto}.add-row{gap:8px;margin-bottom:16px;display:flex}.add-row input{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:var(--space-2) var(--space-3);text-transform:uppercase;flex:1;font-family:JetBrains Mono,monospace}.add-row input:focus{border-color:var(--border-bright);outline:none}.editor-list{list-style:none}.editor-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;font-family:JetBrains Mono,monospace;display:flex}.editor-list li:last-child{border-bottom:none}.editor-list .remove{border:1px solid var(--border);color:var(--text-dim);background:0 0;border-radius:4px;padding:4px 10px;font-size:11px}.editor-list .remove:hover{color:var(--red-bright);border-color:var(--red)}.editor-error{background:var(--tint-red);border:1px solid var(--edge-red);border-radius:var(--r-sm);color:var(--red-bright);margin-bottom:12px;padding:8px 12px;font-size:12px}.cf-name{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.cf-name span{color:var(--text-dim);font-size:12px}.cf-hint{color:var(--text-faint);margin-bottom:16px;font-size:12px;line-height:1.5}.cf-hint strong{color:var(--text-dim);font-weight:600}.cf-grid{flex-direction:column;gap:6px;display:flex}.cf-grid-head,.cf-row{grid-template-columns:1.5fr 1fr 1fr;align-items:center;gap:10px;display:grid}.cf-grid-head{color:var(--text-faint);text-transform:uppercase;letter-spacing:.04em;padding-bottom:2px;font-size:11px}.cf-field{color:var(--text);font-size:13px}.cf-field-hint{color:var(--text-faint);font-size:11px}.cf-na{color:var(--text-faint);cursor:help;justify-content:center;align-items:center;font-size:11px;font-style:italic;display:flex}.cf-name input,.cf-row input{background:var(--bg-input,var(--bg-card));border:1px solid var(--border);border-radius:var(--r-sm);width:100%;color:var(--text);padding:7px 10px;font-family:JetBrains Mono,monospace;font-size:13px}.cf-name input:focus,.cf-row input:focus{border-color:var(--border-bright);outline:none}.cf-check{color:var(--text);cursor:pointer;align-items:center;gap:8px;margin:18px 0 4px;font-size:13px;display:flex}.cf-check input{accent-color:var(--green)}.cf-trends{flex-direction:column;gap:6px;display:flex}.cf-trend-row{grid-template-columns:1.5fr 1fr 1fr;align-items:center;gap:10px;display:grid}.cf-trend-opt{margin:0;font-size:12px}.cf-actions{align-items:center;gap:8px;margin-top:22px;display:flex}.cf-delete{color:var(--red-bright)}.cf-delete:hover{border-color:var(--red)}.scr-hint{color:var(--text-faint);margin-bottom:16px;font-size:12px;line-height:1.5}.scr-hint strong{color:var(--text-dim);font-weight:600}.scr-group{border:1px solid var(--border);border-radius:var(--r-md);margin:0 0 12px;padding:6px 14px 12px}.scr-group>legend{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);padding:0 6px;font-size:11px;font-weight:600}.scr-row{grid-template-columns:96px max-content;align-items:center;gap:12px;padding:5px 0;display:grid}.scr-label{color:var(--text);font-size:13px}.scr-label .scr-hint-inline{color:var(--text-faint);font-size:11px}.scr-ctrl{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.scr-rsi-grid{grid-template-columns:76px 300px 128px;align-items:center;gap:8px 14px;display:grid}.scr-match{align-items:center;gap:8px;padding:2px 0 8px;display:flex}.scr-match>span:first-child{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:10px}.scr-match-hint{color:var(--text-faint);font-size:11px;font-style:italic}.scr-ema-grid{grid-template-columns:76px 128px 300px;align-items:center;gap:8px 14px;display:grid}.scr-ma-block+.scr-ma-block{margin-top:14px}.scr-sub{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:6px;font-size:10px;font-weight:600}.scr-rsi-h{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:10px}.scr-select,.scr-num{background:var(--bg-input,var(--bg-card));border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);padding:6px 8px;font-family:JetBrains Mono,monospace;font-size:12px}.scr-select:focus,.scr-num:focus{border-color:var(--border-bright);outline:none}.scr-select{flex:none;width:126px}.scr-num{text-align:right;flex:none;width:64px}.scr-and{color:var(--text-faint);font-size:11px}.scr-more{margin:4px 0 12px}.scr-more>summary{cursor:pointer;color:var(--text-dim);-webkit-user-select:none;user-select:none;padding:6px 0;font-size:12px}.scr-more>summary:hover{color:var(--text)}.filter-empty{color:var(--text-faint);font-size:12px;font-style:italic}.legend-section{margin-bottom:28px}.legend-section:last-child{margin-bottom:0}.legend-section h3{color:var(--text);margin-bottom:6px;font-family:Instrument Serif,serif;font-size:20px;font-style:italic;font-weight:400}.legend-section .lede{color:var(--text-dim);margin-bottom:14px;font-size:13px;line-height:1.55}.legend-grid{grid-template-columns:minmax(140px,max-content) 1fr;align-items:baseline;gap:10px 16px;display:grid}.legend-grid>dt{color:var(--text);align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:12px;display:flex}.legend-grid>dd{color:var(--text-dim);font-size:13px;line-height:1.55}.legend-formula{color:var(--text-dim);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);white-space:pre;margin:4px 0 14px;padding:12px 14px;font-size:12px;line-height:1.7;overflow-x:auto}.legend-grid>dd code{background:var(--bg);color:var(--text);border-radius:3px;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:11px}.legend-section .footnote{color:var(--text-faint);margin-top:12px;font-size:11px;line-height:1.5}.app-header .right .MuiIconButton-root{border:1px solid var(--border);width:28px;height:28px;color:var(--text-dim);border-radius:50%;transition:color .15s,border-color .15s}.app-header .right .MuiIconButton-root:hover{color:var(--text);border-color:var(--text-faint);background:0 0}.app-header .right .MuiIconButton-root .MuiSvgIcon-root{font-size:15px}.app-header.app-header-phone{gap:4px;padding:0 8px 0 4px}.app-header-phone .app-title{white-space:nowrap;gap:6px;min-width:0;font-size:24px}.app-header-phone .right{gap:2px}.app-header .MuiIconButton-root.app-bar-btn{border-radius:var(--r-sm);width:40px;height:40px;color:var(--text);border:0}.app-header .MuiIconButton-root.app-bar-btn .MuiSvgIcon-root{font-size:22px}.app-header-phone .last-run{gap:6px;margin-right:4px}.last-run-short{font-variant-numeric:tabular-nums;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:11px}@media (width<=359px){.last-run-short{display:none}}.app-search-bar{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.app-search-bar .app-search{flex:1;width:auto;min-width:0}.app-search-bar .app-search .MuiInputBase-input{font-size:16px}.legend-learn{color:var(--text-dim);margin-bottom:16px;font-size:13px}.legend-learn a{color:var(--blue)}.learn-title{letter-spacing:-.02em;font-family:Instrument Serif,serif;font-size:44px;font-style:italic;font-weight:400;line-height:1.05}.learn-hub{gap:36px;max-width:70rem;margin:0 auto;padding-bottom:48px;display:grid}.learn-hub-head{gap:10px;max-width:44rem;display:grid}.learn-hub-head p{color:var(--text-dim);font-size:15px;line-height:1.6}.learn-track{gap:14px;display:grid}.learn-track-head h2{font-family:Instrument Serif,serif;font-size:26px;font-style:italic;font-weight:400}.learn-track-head p{color:var(--text-dim);font-size:14px}.learn-cards{grid-template-columns:repeat(auto-fill,minmax(min(15rem,100%),1fr));gap:12px;display:grid}.learn-card{padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);align-content:start;gap:6px;transition:border-color .15s;display:grid}.learn-card:hover{border-color:var(--text-faint)}.learn-card strong{color:var(--text);font-size:15px;font-weight:600}.learn-card span{color:var(--text-dim);font-size:13px;line-height:1.5}.learn-layout{grid-template-columns:15rem minmax(0,46rem);justify-content:center;gap:40px;padding-bottom:48px;display:grid}.learn-side{top:calc(var(--header-h) + 20px);max-height:calc(100vh - var(--header-h) - 40px);align-self:start;gap:16px;font-size:13px;display:grid;position:sticky;overflow-y:auto}.learn-side-all{color:var(--blue)}.learn-side-group{gap:2px;display:grid}.learn-side-group span{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;padding-bottom:4px;font-size:11px}.learn-side-group a{border-radius:var(--r-sm);color:var(--text-dim);padding:5px 8px}.learn-side-group a:hover{color:var(--text)}.learn-side-group a.active{color:var(--text);background:var(--bg-elevated)}.learn-article{min-width:0;color:var(--text);font-size:15px;line-height:1.7}.learn-article>p{margin-bottom:16px}.learn-article h2{margin:36px 0 12px;font-family:Instrument Serif,serif;font-size:26px;font-style:italic;font-weight:400;line-height:1.2}.learn-article ul,.learn-article ol{margin:0 0 16px;padding-left:22px}.learn-article li{margin-bottom:6px}.learn-article strong{font-weight:600}.learn-crumb{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;font-size:12px;margin-bottom:4px!important}.learn-summary{color:var(--text-dim);margin-top:6px;font-size:16px;line-height:1.5}.learn-fig{margin:20px 0}.learn-fig img{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--bg-card);width:100%;display:block}.learn-fig figcaption{color:var(--text-dim);margin-top:8px;font-size:13px}.learn-slot{aspect-ratio:16/9;padding:var(--space-5);border:1px dashed var(--border-bright);border-radius:var(--r-lg);color:var(--text-faint);align-content:center;gap:8px;font-size:12px;line-height:1.5;display:grid}.learn-slot code{color:var(--amber);word-break:break-all;font-size:12px}.learn-terms{grid-template-columns:minmax(0,11rem) minmax(0,1fr);gap:10px 16px;margin:0 0 16px;display:grid}.learn-terms dt{color:var(--text);font-size:14px;font-weight:600}.learn-terms dd{color:var(--text-dim);margin:0;font-size:14px;line-height:1.6}.learn-table-wrap{margin:0 0 18px;overflow-x:auto}.learn-table{border-collapse:collapse;width:100%;font-size:13.5px}.learn-table th{border-bottom:1px solid var(--border-bright);color:var(--text-dim);text-align:left;padding:8px 10px;font-weight:500}.learn-table td{border-bottom:1px solid var(--border);padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:12.5px}.learn-table td:first-child{font-family:inherit}.learn-table-note{color:var(--text-faint);margin-top:6px;font-size:12px}.learn-note{padding:var(--space-4);background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--blue);border-radius:var(--r-sm);gap:4px;margin:20px 0;display:grid}.learn-note-tested{border-left-color:var(--purple)}.learn-note-watch{border-left-color:var(--amber)}.learn-note p{color:var(--text-dim);font-size:14px;line-height:1.6}.learn-note-kind{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.learn-pager{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:40px;display:flex}@media (width<=900px){.learn-title{font-size:34px}.learn-layout{grid-template-columns:minmax(0,1fr);gap:20px}.learn-side{display:none}.learn-terms{grid-template-columns:minmax(0,1fr);gap:2px}.learn-terms dd{margin-bottom:10px}}.wave-suggest{flex-direction:column;gap:6px;margin-top:8px;display:flex}.wave-suggest-title{color:var(--text);font-size:12px;font-weight:600}.wave-suggest-why{color:var(--text-dim);font-size:12px}.wave-suggest-actions{flex-wrap:wrap;gap:6px;display:flex}.wave-suggest-actions .drawer-tool{flex:auto;width:auto}.mnav{flex-direction:column;width:min(300px,85vw);height:100%;font-size:14px;display:flex;overflow-y:auto}.mnav-section{border-bottom:1px solid var(--border);padding:8px 0}.mnav-section:last-child{border-bottom:0;margin-top:auto}.mnav-head{justify-content:space-between;align-items:center;gap:10px;padding:16px;display:flex}.mnav-title{align-items:center;gap:8px;font-family:Instrument Serif,serif;font-size:24px;font-style:italic;display:inline-flex}.mnav-who{justify-content:space-between;align-items:center;gap:10px;padding:8px 16px;display:flex}.mnav-email{min-width:0;color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.mnav-status{color:var(--text-dim);border-bottom:1px solid var(--border);padding:0 16px 14px;font-size:13px}.mnav-anon{flex-direction:column;gap:8px;padding:8px 16px;display:flex}.mnav .MuiListItemButton-root{gap:10px;min-height:44px;font-size:14px}.mnav .MuiListItemButton-root.active{background:var(--bg-elevated);font-weight:600}.mnav .MuiListItemButton-root .MuiSvgIcon-root{color:var(--text-dim);font-size:18px}.state-block{text-align:center;color:var(--text-dim);padding:80px 20px}.state-block .serif{color:var(--text);margin-bottom:12px;font-size:28px;display:block}.state-block code{background:var(--bg-card);border-radius:4px;padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:12px}@media (width<=700px){.app-main{padding:16px}table.watchlist th,table.watchlist td{padding:8px 10px}table.watchlist th:first-child,table.watchlist td:first-child{z-index:1;background:var(--bg-card);box-shadow:1px 0 0 var(--border);position:sticky;left:0}table.watchlist th:first-child,table.watchlist tbody tr:hover td:first-child{background:var(--bg-elevated)}.filter-search{width:130px}table.watchlist td.ticker,table.watchlist th:first-child{white-space:normal;max-width:132px}.tk-sym{flex-wrap:wrap;gap:4px}.tk-name{max-width:100%;font-size:10px}}.tp-loading{text-align:center;color:var(--text-dim);padding:28px}.tp-empty{background:var(--bg-card);border:1px dashed var(--border-bright);border-radius:var(--r-lg);justify-content:space-between;align-items:center;gap:14px;margin-bottom:22px;padding:16px 20px;display:flex}.tp-empty-text{color:var(--text-dim);font-size:14px}.tp-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:22px;padding:18px 20px;position:relative}.tp-card.tp-loading{padding:28px}.tp-head{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:14px;display:flex}.tp-head-left{align-items:center;gap:10px;display:flex}.tp-stats{flex-wrap:wrap;align-items:center;gap:18px;display:flex}.tp-stat{align-items:baseline;gap:6px;font-size:12px;display:inline-flex}.tp-stat .k{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:10px}.tp-stat .v{color:var(--text)}.tp-head .tp-status,.tp-head .tp-stats+.tp-edit{margin-left:auto}.tp-bias{border-radius:var(--r-sm);letter-spacing:.06em;padding:2px 7px;font-size:10px;font-weight:700}.tp-bias-long{background:var(--tint-green-strong);color:var(--green-bright)}.tp-bias-short{background:var(--tint-red-strong);color:var(--red-bright)}.tp-status{border-radius:var(--r-sm);white-space:nowrap;padding:3px 10px;font-size:12px}.tp-status-BZ{color:var(--blue);background:var(--tint-blue)}.tp-status-T1,.tp-status-T2,.tp-status-T3{color:var(--green-bright);background:var(--tint-green-strong)}.tp-status-SL{color:var(--red-bright);background:var(--tint-red)}.tp-status-BELOW,.tp-status-BREAKOUT{color:var(--text-dim);background:var(--surface)}.tp-ladder{height:240px;margin:14px 0 20px;position:relative}.tp-zone{background:var(--tint-blue);border-top:1px dashed var(--edge-blue);border-bottom:1px dashed var(--edge-blue);position:absolute;left:0;right:0}.tp-level{border-top:1px dashed var(--border-bright);justify-content:space-between;align-items:center;display:flex;position:absolute;left:0;right:0;transform:translateY(-50%)}.tp-level .tp-level-label,.tp-level .tp-level-val{background:var(--bg-card);padding:0 6px;font-size:11px;line-height:1.4}.tp-level .tp-level-label{color:var(--text-dim)}.tp-level.tp-target{border-color:var(--edge-green-strong)}.tp-level.tp-target .tp-level-val{color:var(--green-bright)}.tp-level.tp-zoneline{border-color:var(--edge-blue)}.tp-level.tp-zoneline .tp-level-val{color:var(--blue)}.tp-level.tp-stop{border-color:var(--edge-red)}.tp-level.tp-stop .tp-level-val{color:var(--red-bright)}.tp-price-marker{border-top:2px solid var(--text);z-index:2;justify-content:flex-end;display:flex;position:absolute;left:0;right:0;transform:translateY(-50%)}.tp-price-marker span{background:var(--text);color:var(--bg);border-radius:0 0 4px 4px;padding:1px 6px;font-size:11px;font-weight:600}.tp-edit.btn{padding:3px 10px;font-size:12px}.tpc-card{aspect-ratio:4/5;background:var(--bg);border:1px solid var(--border);background-image:radial-gradient(ellipse 60% 40% at 100% 0%, var(--tint-amber), transparent 60%), radial-gradient(ellipse 50% 40% at 0% 100%, var(--tint-blue), transparent 70%);border-radius:14px;flex-direction:column;width:min(560px,100vw - 24px);margin:0 auto 8px;padding:5.2cqi;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #0000008c,inset 0 1px #ffffff0a;container-type:inline-size}.tpc-accent-amber{--acc:var(--amber);--acc-rgb:255, 165, 2}.tpc-accent-green{--acc:var(--green-bright);--acc-rgb:0, 255, 157}.tpc-accent-blue{--acc:var(--blue);--acc-rgb:74, 158, 255}.tpc-accent-red{--acc:var(--red-bright);--acc-rgb:255, 107, 122}.tpc-card:before{content:"";background:var(--acc);height:.5cqi;box-shadow:0 0 16px rgba(var(--acc-rgb), .5);position:absolute;top:0;left:0;right:0}.tpc-head{justify-content:space-between;align-items:flex-start;margin-bottom:3cqi;display:flex}.tpc-sym{letter-spacing:-.015em;font-family:Instrument Serif,serif;font-size:13cqi;font-style:italic;line-height:.95}.tpc-co{color:var(--text-dim);text-transform:uppercase;letter-spacing:.18em;text-overflow:ellipsis;white-space:nowrap;max-width:50cqi;margin-top:1.5cqi;font-size:2.4cqi;overflow:hidden}.tpc-chip{letter-spacing:.1em;border-radius:var(--r-pill);text-transform:uppercase;background:rgba(var(--acc-rgb), .13);color:var(--acc);border:1px solid rgba(var(--acc-rgb), .4);white-space:nowrap;margin-top:.6cqi;padding:1.4cqi 2.6cqi;font-size:2.4cqi;font-weight:700}.tpc-priceBlock{border-bottom:1px solid var(--border);margin:1.5cqi 0 2.5cqi;padding-bottom:3cqi}.tpc-priceLine{flex-wrap:wrap;align-items:baseline;gap:3cqi;display:flex}.tpc-price{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-family:JetBrains Mono,monospace;font-size:10.5cqi;font-weight:500;line-height:1}.tpc-priceMeta{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-family:JetBrains Mono,monospace;font-size:3cqi}.tpc-priceMeta.pos{color:var(--green-bright)}.tpc-priceMeta.neg{color:var(--red-bright)}.tpc-arr{margin-right:.4cqi;font-size:2.4cqi}.tpc-statusLine{color:var(--acc);letter-spacing:.08em;text-transform:uppercase;margin-top:1.6cqi;font-size:2.4cqi;font-weight:500}.tpc-dot{background:var(--acc);width:1.4cqi;height:1.4cqi;box-shadow:0 0 8px rgba(var(--acc-rgb), .6);vertical-align:.2cqi;border-radius:50%;margin-right:.8cqi;display:inline-block}.tpc-sectionTitle{align-items:baseline;gap:2cqi;margin-bottom:4cqi;font-family:Instrument Serif,serif;font-size:6.5cqi;font-style:italic;line-height:1;display:flex}.tpc-meta{color:var(--text-faint);text-transform:uppercase;letter-spacing:.16em;font-family:Geist,sans-serif;font-size:2.2cqi;font-style:normal}.tpc-ladder{flex:1;min-height:0;margin-bottom:3.5cqi;position:relative}.tpc-row{z-index:2;align-items:center;height:5.5cqi;display:flex;position:absolute;left:0;right:0;transform:translateY(-50%)}.tpc-line{opacity:.4;pointer-events:none;border-top:1px dashed;position:absolute;left:24%;right:30%}.tpc-label{z-index:1;letter-spacing:.14em;text-transform:uppercase;color:currentColor;background:var(--bg);flex:0 0 24%;padding:.6cqi 1.6cqi .6cqi 0;font-size:2.5cqi;font-weight:600;position:relative}.tpc-value{z-index:1;font-variant-numeric:tabular-nums;color:var(--text);background:var(--bg);text-align:right;flex:0 0 36%;margin-left:auto;padding:.6cqi 0 .6cqi 1.6cqi;font-family:JetBrains Mono,monospace;font-size:3.2cqi;font-weight:500;position:relative}.tpc-pct{color:var(--text-faint);letter-spacing:0;margin-top:.4cqi;font-family:JetBrains Mono,monospace;font-size:2.2cqi;display:block}.tpc-row.target{color:var(--green)}.tpc-row.now{color:var(--text);z-index:3}.tpc-row.now .tpc-line{border-top:2px solid var(--text);opacity:1;box-shadow:0 0 18px #e8ecf240}.tpc-row.now .tpc-label{background:var(--text);color:var(--bg);border-radius:4px;padding:.8cqi 1.6cqi;font-weight:700}.tpc-row.now .tpc-value{color:var(--text);font-weight:700}.tpc-row.bz{color:var(--amber)}.tpc-row.bz .tpc-label{background:var(--tint-amber-strong);border:1px solid var(--edge-amber);border-radius:4px;padding:.7cqi 1.5cqi}.tpc-row.sl{color:var(--red-bright)}.tpc-row.sl .tpc-line{opacity:.6;border-top:1px solid}.tpc-bzBand{background:linear-gradient(to right, var(--tint-amber), var(--edge-amber) 30%, var(--edge-amber) 70%, var(--tint-amber));border-top:1px solid var(--edge-amber);border-bottom:1px solid var(--edge-amber);z-index:1;pointer-events:none;position:absolute;left:22%;right:28%}.tpc-rr{border-top:1px solid var(--border);grid-template-columns:1fr 1fr 1fr;gap:3cqi;margin-bottom:2.5cqi;padding-top:3cqi;display:grid}.tpc-stat .k{text-transform:uppercase;letter-spacing:.14em;color:var(--text-faint);margin-bottom:1cqi;font-size:2cqi;display:block}.tpc-stat .v{font-variant-numeric:tabular-nums;color:var(--text);font-family:JetBrains Mono,monospace;font-size:3.6cqi;font-weight:500}.tpc-stat .sub{color:var(--text-dim);font-variant-numeric:tabular-nums;margin-top:.6cqi;font-family:JetBrains Mono,monospace;font-size:2.4cqi;display:block}.tpc-foot{color:var(--text-dim);justify-content:space-between;align-items:flex-end;gap:3cqi;font-size:2.4cqi;display:flex}.tpc-conflu{font-variant-numeric:tabular-nums;letter-spacing:.02em;font-family:JetBrains Mono,monospace}.tpc-date{color:var(--text-faint);margin-top:.4cqi;font-family:JetBrains Mono,monospace;font-size:2cqi;display:block}.tpc-foot-right{text-align:right;white-space:nowrap}.tpc-handle{color:var(--text);font-family:Instrument Serif,serif;font-size:3cqi;font-style:italic}.tpc-nota{color:var(--text-faint);letter-spacing:.04em;margin-top:.4cqi;font-family:Geist,sans-serif;font-size:2cqi;display:block}.tpc-editlink{justify-content:flex-end;gap:8px;width:min(560px,100vw - 24px);margin:0 auto 22px;display:flex}.tp-editor{max-width:520px}.tp-editor-hint{color:var(--text-dim);margin-bottom:14px;font-size:12px}.tp-bias-toggle{gap:8px;margin-bottom:16px;display:flex}.tp-bias-toggle .btn{flex:1}.tp-fields{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.tp-fields label{color:var(--text-dim);flex-direction:column;gap:5px;font-size:12px;display:flex}.tp-fields input{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px;font-family:JetBrains Mono,monospace;font-size:14px}.tp-fields input:focus{border-color:var(--border-bright);outline:none}.tp-flabel{align-items:baseline;gap:6px;display:inline-flex}.tp-fields .req{color:var(--amber);font-size:10px}.tp-fields .opt{color:var(--text-faint);font-size:10px}.tp-editor-actions{align-items:center;gap:8px;margin-top:20px;display:flex}.tp-delete{color:var(--red-bright)}.plan-cell{text-align:center}.plan-pill{border-radius:var(--r-sm);padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700}.plan-sl{color:var(--red-bright);background:var(--tint-red-strong)}.plan-bz{color:var(--blue);background:var(--tint-blue-strong)}.plan-tgt{color:var(--green-bright);background:var(--tint-green-strong)}.plan-wait{color:var(--text-dim);background:var(--surface)}.plan-none{color:var(--text-faint)}.pattern-cell{text-align:left}.pattern-badge{border-radius:var(--r-sm);white-space:nowrap;border:1px solid #0000;padding:2px 7px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;display:inline-block}.pattern-badge.sig-avoid{color:var(--red-bright);background:var(--tint-red);border-color:var(--edge-red)}.pattern-badge.sig-strongbuy{color:var(--green-bright);background:var(--tint-green-strong);border-color:var(--edge-green-strong)}.pattern-badge.early{opacity:.5}.pattern-card{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--border-bright);border-radius:var(--r-lg);margin:20px 0;padding:18px 20px}.pattern-card.sig-avoid{border-left-color:var(--red)}.pattern-card.sig-strongbuy{border-left-color:var(--green)}.pattern-card.early{opacity:.85}.pc-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.pc-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pc-kind{color:var(--text);font-size:20px;font-style:italic}.pc-quality{align-items:baseline;gap:1px;display:flex}.pc-quality-val{color:var(--text);font-size:22px;font-weight:700}.pc-quality-max{color:var(--text-faint);font-size:13px}.pc-stage-desc{color:var(--text-dim);margin:6px 0 14px;font-size:13px}.pc-flow{gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.pc-flow-step{text-align:center;text-transform:uppercase;letter-spacing:.5px;border-radius:var(--r-sm);background:var(--surface);color:var(--text-faint);border:1px solid var(--border);flex:1;padding:6px 4px;font-size:11px;font-weight:600}.pc-flow-step.done{color:var(--text-dim);border-color:var(--border-bright)}.pc-flow-step.active{color:var(--text);border-color:var(--blue);background:var(--tint-blue);box-shadow:0 0 0 1px var(--edge-blue) inset}.pc-pivots{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.pc-pivot{border-radius:var(--r-md);background:var(--bg-elevated);border:1px solid var(--border);flex-direction:column;gap:2px;padding:10px;display:flex}.pc-pivot-label{color:var(--text-dim);font-size:11px}.pc-pivot-price{color:var(--text);font-size:16px;font-weight:600}.pc-pivot-date{color:var(--text-faint);font-size:11px}.pc-levels{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.pc-level{border-radius:var(--r-md);background:var(--surface-subtle);border:1px solid var(--border);flex-direction:column;gap:2px;min-width:96px;padding:8px 12px;display:flex}.pc-level-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);font-size:10px}.pc-level-val{color:var(--text);font-size:15px;font-weight:600}.pc-level.pc-neckline .pc-level-val{color:var(--purple)}.pc-level.pc-target .pc-level-val{color:var(--blue)}.pc-level.pc-stop .pc-level-val{color:var(--red-bright)}.pc-level.pc-zone .pc-level-val{color:var(--text-dim);font-size:14px}.pc-level.pc-zone.in .pc-level-val{color:var(--green)}.pc-level.pc-zone.in{background:var(--tint-green);border-color:var(--edge-green)}.pc-stats{color:var(--text-dim);flex-wrap:wrap;gap:14px;margin-bottom:12px;font-size:12px;display:flex}.pc-stat b{color:var(--text);font-weight:600}.pc-trigger{color:var(--text-dim);border-radius:var(--r-md);background:var(--tint-green);border:1px solid var(--edge-green-strong);margin-bottom:12px;padding:8px 12px;font-size:12px}.pc-trigger b{color:var(--text)}.pc-rubric{margin-bottom:14px}.pc-rubric .label{margin-bottom:6px;display:block}.pc-rubric ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.pc-rubric li{grid-template-columns:18px 150px 1fr;align-items:baseline;gap:8px;font-size:12px;display:grid}.pc-rubric li.missed{opacity:.5}.pc-rubric-mark{font-weight:700}.pc-rubric li.earned .pc-rubric-mark{color:var(--green-bright)}.pc-rubric li.missed .pc-rubric-mark{color:var(--text-faint)}.pc-rubric-label{color:var(--text)}.pc-rubric-detail{color:var(--text-faint)}.pc-foot{justify-content:flex-end;display:flex}@media (width<=640px){.pc-pivots{grid-template-columns:1fr}.pc-rubric li{grid-template-columns:18px 1fr}.pc-rubric-detail{grid-column:2}}.pattern-panel{margin:20px 0}.dp-lean{flex:0 300px;min-width:170px}.dp-lean-head{align-items:center;gap:4px;margin-bottom:3px;display:flex}.dp-stat .dp-lean-head .label{margin-bottom:0}.lean-info.MuiIconButton-root{margin:-5px 0;padding:5px}.lean-info .MuiSvgIcon-root{font-size:15px}.lean-calc{width:min(440px,100vw - 32px);padding:12px 16px 14px}.lean-calc-title{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;font-size:15px;font-weight:700;display:flex}.lean-calc-title .serif{font-size:19px;font-style:italic;font-weight:400}.lean-calc table{border-collapse:collapse;width:100%;font-size:12px}.lean-calc th{letter-spacing:.06em;text-align:left;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);padding:8px 0 4px;font-size:10px;font-weight:500}.lean-calc td{color:var(--text);padding:3px 0}.lean-calc .lean-calc-how{text-align:right;white-space:nowrap;color:var(--text-dim);padding-left:12px}.lean-calc .lean-calc-adds{text-align:right;width:56px;padding-left:12px}.lean-calc td.lean-calc-none{color:var(--text-faint)}.lean-calc-sub td{color:var(--text-dim);border-top:1px dashed var(--border)}.lean-calc tfoot td{border-top:1px solid var(--border-bright);padding-top:6px;font-weight:700}.lean-calc .pos{color:var(--green)}.lean-calc .neg{color:var(--red-bright)}.lean-calc-note{color:var(--text-dim);margin-top:10px;font-size:11.5px;line-height:1.5}.dir-meter-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.dir-meter-label{color:var(--text);white-space:nowrap;font-size:17px;font-style:italic;line-height:1.1}.dir-meter-score{color:var(--text-dim);font-size:14px;font-weight:700}.dir-meter.sig-strongbuy .dir-meter-label,.dir-meter.sig-strongbuy .dir-meter-score{color:var(--green-bright)}.dir-meter.sig-buy .dir-meter-label,.dir-meter.sig-buy .dir-meter-score{color:var(--green)}.dir-meter.sig-watch .dir-meter-label,.dir-meter.sig-watch .dir-meter-score{color:var(--amber)}.dir-meter.sig-avoid .dir-meter-label,.dir-meter.sig-avoid .dir-meter-score{color:var(--red-bright)}.dir-meter-track{border-radius:var(--r-pill);border:1px solid var(--border);background:linear-gradient(to right, var(--red) 0%, var(--edge-red) 35%, var(--surface) 50%, var(--edge-green) 65%, var(--green) 100%);height:8px;margin-top:5px;position:relative}.dir-meter-dead{background:var(--surface-subtle);border-left:1px dashed var(--border-bright);border-right:1px dashed var(--border-bright);position:absolute;inset:0 43.75%}.dir-meter-needle{border-radius:var(--r-pill);background:var(--text);width:3px;height:14px;box-shadow:0 0 0 1px var(--bg-card), var(--shadow-sm);margin-left:-1.5px;transition:left .35s;position:absolute;top:-4px}.pstrip{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pstrip-count{text-transform:uppercase;letter-spacing:.5px;color:var(--text-faint);margin-right:2px;font-size:11px}.pstrip-empty{color:var(--text-faint);margin:12px 0 0;font-size:13px}.pchip{color:var(--text-dim);background:var(--surface);border:1px solid var(--border);border-radius:var(--r-pill);cursor:pointer;align-items:center;gap:7px;padding:6px 11px;font-family:inherit;font-size:12px;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.pchip:hover{border-color:var(--border-bright);color:var(--text)}.pchip.sig-strongbuy .pchip-arrow{color:var(--green-bright)}.pchip.sig-avoid .pchip-arrow{color:var(--red-bright)}.pchip.on{color:var(--text)}.pchip.sig-strongbuy.on{background:var(--tint-green);border-color:var(--edge-green)}.pchip.sig-avoid.on{background:var(--tint-red);border-color:var(--edge-red)}.pchip-glyph{color:var(--text-faint);font-size:13px}.pchip-arrow{font-size:9px}.pchip-label{white-space:nowrap}.pchip-tf{color:var(--text-faint);border-radius:var(--r-sm);background:var(--surface-subtle);padding:1px 4px;font-size:10px;font-weight:700}.pchip-dots{gap:2px;display:inline-flex}.pchip-dot{background:var(--text-faint);opacity:.35;border-radius:50%;width:4px;height:4px}.pchip-dot.on{opacity:1;background:currentColor}.pchip.sig-strongbuy .pchip-dot.on{background:var(--green-bright)}.pchip.sig-avoid .pchip-dot.on{background:var(--red-bright)}.pchip-status{text-transform:uppercase;letter-spacing:.5px;color:var(--amber);font-size:9px;font-weight:700}.psig-card{background:var(--bg-card);border:1px solid var(--border);border-left:3px solid var(--border-bright);border-radius:var(--r-lg);margin-top:12px;padding:16px 20px}.psig-card.sig-strongbuy{border-left-color:var(--green)}.psig-card.sig-avoid{border-left-color:var(--red)}.psig-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.psig-title{color:var(--text);font-size:19px;font-style:italic}.psig-quality{color:var(--text);margin-left:auto;font-size:20px;font-weight:700}.psig-quality-max{color:var(--text-faint);font-size:12px}.psig-summary{color:var(--text-dim);margin:8px 0 14px;font-size:13px;line-height:1.55}.psig-extra{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--r-md);margin:0 0 14px;padding:12px 14px}.psig-extra .label{margin-bottom:4px;display:block}.psig-extra .pc-stage-desc{margin:0 0 12px}.psig-extra .pc-stats{margin-bottom:0}.psig-extra .pc-trigger{margin-top:12px}.psig-foot{justify-content:flex-end;align-items:center;gap:14px;display:flex}.psig-seen{color:var(--text-faint);font-size:11px}.lean-cell-td{text-align:left;white-space:nowrap}.lean-cell{align-items:center;gap:7px;display:inline-flex}.lean-bar{border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);width:46px;height:4px;display:inline-block;position:relative}.lean-mid{background:var(--border-bright);width:1px;height:8px;position:absolute;top:-2px;left:50%}.lean-dot{background:var(--text-dim);border-radius:50%;width:6px;height:6px;margin-left:-3px;position:absolute;top:-2px}.lean-cell.pos .lean-dot{background:var(--green-bright)}.lean-cell.neg .lean-dot{background:var(--red-bright)}.lean-val{color:var(--text-faint);font-size:11px}.lean-cell.pos .lean-val{color:var(--green)}.lean-cell.neg .lean-val{color:var(--red)}.pattern-badge-q{opacity:.75;border-left:1px solid;margin-left:5px;padding-left:5px}@media (width<=640px){.pchip-label,.lean-bar{display:none}}.chart-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:24px;padding:18px 20px 14px}.chart-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.chart-title{font-size:22px;line-height:1}.chart-head-right{align-items:center;gap:8px;display:flex}.chart-layers-btn.MuiButton-root{padding:3px 10px;font-size:12px}.chart-body{align-items:stretch;gap:10px;display:flex}.chart-tools{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;align-items:center;gap:2px;padding-right:8px;display:flex}.chart-tool.MuiIconButton-root{width:32px;height:32px}.chart-tool .MuiSvgIcon-root{font-size:18px}.chart-tool-text{white-space:nowrap;font-size:10px;font-weight:600}.chart-tool.on.MuiIconButton-root{color:var(--text);background:var(--bg-elevated);box-shadow:inset 0 0 0 1px var(--border-bright)}.chart-drawer{border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:14px;width:232px;padding-right:14px;display:flex;overflow-y:auto}.chart-main{flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.chart-floats{z-index:5;pointer-events:none;flex-direction:column;gap:6px;max-width:min(300px,100% - 90px);display:flex;position:absolute;top:8px;left:8px}.chart-float{pointer-events:auto;background:var(--bg-elevated);border:1px solid var(--border-bright);border-radius:var(--r-md);box-shadow:var(--shadow-sm);padding:8px 10px}.chart-float-hint{pointer-events:none;color:var(--amber);align-items:baseline;gap:10px;font-size:12px;display:flex}.chart-float-hint .draw-cancel{pointer-events:auto;white-space:nowrap;background:0 0;border:0;padding:0;font-size:12px}.chart-keys{flex-wrap:wrap;flex:none;gap:4px 22px;margin-top:8px;display:flex}.chart-keys .chart-legend,.chart-keys .chart-legend-pane+.chart-legend-pane{border:0;margin:0;padding:0}.MuiPopover-paper.chart-keys-pop{max-width:min(340px,100vw - 24px)}.chart-keys-pop .chart-keys{flex-direction:column;gap:10px;margin:0;padding:12px 14px}.chart-layers{flex-direction:column;padding:8px 14px 8px 12px;display:flex}.chart-layers .MuiFormControlLabel-root{margin:0}.chart-layers .MuiFormControlLabel-label{font-size:13px}.drawer-section{flex-direction:column;gap:7px;display:flex}.drawer-list-section{flex:1;min-height:0}.drawer-title{text-transform:uppercase;letter-spacing:.14em;color:var(--text-faint);align-items:center;gap:6px;font-size:10px;display:flex}.drawer-count{color:var(--text-dim);font-family:JetBrains Mono,monospace}.drawer-tool{text-align:left;color:var(--text-dim);border:1px solid var(--border);border-radius:var(--r-sm);background:0 0;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:12px;transition:color .15s,border-color .15s,background .15s}.drawer-tool:hover{color:var(--text);border-color:var(--border-bright)}.drawer-tool.on{color:var(--text);border-color:var(--border-bright);background:var(--bg-elevated)}.drawer-empty{color:var(--text-faint);font-size:12px}.chart-panel.maximized{box-shadow:var(--shadow-md);z-index:200;background:var(--bg);border:none;border-radius:0;flex-direction:column;margin:0;padding:14px 20px;display:flex;position:fixed;inset:0;overflow:hidden}.chart-panel.maximized .chart-body{flex:1;min-height:0}.chart-panel.maximized .chart-main{min-height:0}.chart-panel.maximized .price-chart,.chart-panel.maximized .chart-empty{flex:1;height:auto;min-height:0}.chart-panel.maximized{overscroll-behavior:contain}.chart-panel.maximized .price-chart{touch-action:none}.price-chart{width:100%;height:600px}.chart-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:600px;display:flex}.chart-empty .serif{color:var(--text-dim);font-size:18px}.chart-legend{color:var(--text-faint);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;font-size:11px;display:flex}.chart-legend .lg{color:var(--text-dim);align-items:center;gap:5px;display:inline-flex}.chart-legend .lg:before{content:"";background:currentColor;border-radius:2px;width:14px;height:3px}.chart-legend .lg-candle{color:var(--green)}.chart-legend .lg-ema{color:var(--amber)}.chart-legend .lg-ema50{color:var(--blue)}.chart-legend .lg-rsi{color:var(--purple)}.chart-legend .lg-band:before{opacity:.34;background:currentColor;border:1px solid;border-radius:2px;height:10px}.chart-legend .lg-support{color:var(--green)}.chart-legend .lg-resistance{color:var(--red)}.chart-legend-pane{gap:10px}.chart-legend-pane+.chart-legend-pane{border-top:1px solid var(--border);margin-top:4px;padding-top:6px}.lg-pane{text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);border-right:1px solid var(--border);padding-right:8px;font-size:10px}.chart-legend .lg-vol{color:var(--text-dim)}.chart-legend .lg-vol:before{opacity:.55;height:7px}.chart-legend .lg-guide{color:var(--text)}.chart-legend .lg-guide:before{background:0 0;border-top:1px dashed;border-radius:0;height:0}.chart-legend .lg-guide-mid:before{border-top-style:dotted}.chart-legend-pattern{margin-top:6px}.chart-legend-pattern .lg-title{color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px;margin-right:2px}.chart-legend .lg-dot:before{border-radius:50%;width:9px;height:9px}.chart-legend .lg-neck-dot{color:var(--purple)}.chart-legend .lg-dash:before,.chart-legend .lg-dot-line:before{background:0 0;border-radius:0;width:16px;height:0}.chart-legend .lg-dash{color:var(--purple)}.chart-legend .lg-dash:before{border-top:2px dashed}.chart-legend .lg-dot-line{color:var(--blue)}.chart-legend .lg-dot-line:before{border-top:2px dotted}.chart-legend .lg-stop{color:var(--red-bright)}.chart-legend .lg-stop:before{background:0 0;border-top:2px dashed;border-radius:0;width:16px;height:0}.chart-legend .lg-note{color:var(--text-faint);font-style:italic}.mark-badge{border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface);min-width:21px;color:var(--text-dim);letter-spacing:.3px;justify-content:center;align-items:center;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:700;display:inline-flex}.mark-badge.bull{color:var(--green-bright);background:var(--tint-green-strong);border-color:var(--edge-green-strong)}.mark-badge.bear{color:var(--red-bright);background:var(--tint-red);border-color:var(--edge-red)}.mark-badge.neutral{color:var(--blue);background:var(--tint-blue);border-color:var(--edge-blue)}.mark-badge.neck{color:var(--purple);background:var(--tint-purple);border-color:var(--edge-purple)}.chart-legend-marks{row-gap:6px;margin-top:4px}.chart-legend .lg-mark{color:var(--text-dim);align-items:center;gap:5px;display:inline-flex}.draw-bar{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:10px;display:flex}.draw-bar-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-faint);margin-right:2px;font-size:11px}.draw-cancel{color:var(--red-bright)}.draw-hint{color:var(--amber);margin-left:4px;font-size:12px}.draw-hint-dim{color:var(--text-faint)}.price-chart.drawing{cursor:crosshair}.draw-list{flex-direction:column;gap:4px;list-style:none;display:flex}.draw-item{border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg-elevated);cursor:pointer;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.draw-item:hover{border-color:var(--border-bright)}.draw-item.selected{border-color:var(--border-bright);background:var(--bg-card);box-shadow:inset 2px 0 0 var(--blue)}.draw-dot{cursor:pointer;border:none;border-radius:2px;flex-shrink:0;width:12px;height:12px;margin-top:3px;padding:0}.draw-dot.trendline{border-radius:1px;width:16px;height:3px;transform:rotate(-20deg)}.draw-swatches{align-items:center;gap:4px;display:inline-flex}.draw-swatches.inline{margin-left:2px}.swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:15px;height:15px;padding:0}.swatch:hover{border-color:var(--border-bright)}.swatch.on{border-color:var(--text)}.draw-desc{color:var(--text);word-break:break-word;flex:1;min-width:0;font-size:11px;line-height:1.35}.draw-analysis{color:var(--text-dim)}.draw-del{color:var(--text-faint);background:0 0;border:none;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:13px}.draw-del:hover{color:var(--red-bright);background:var(--tint-red)}.detail-workspace{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.detail-workspace .chart-panel{margin-bottom:0}.detail-rail{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.rail-panel{padding:12px 14px}.detail-rail .tp-card,.detail-rail .tp-empty,.detail-rail .note-panel,.detail-rail .psig-card{background:0 0;border:0;border-radius:0;margin:0;padding:0}.detail-rail .tp-loading{padding:12px 0}.detail-rail .pattern-panel{margin:0}.detail-rail .note-panel{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.detail-rail .psig-card{margin-top:12px}.detail-rail .note-area{min-height:62px}.cards-grid .card{padding:18px}.cards-grid .metric-row{padding:6px 0}.cards-grid .section-label{margin:14px 0 6px}.detail-rail .tp-empty{flex-direction:column;align-items:flex-start}.detail-rail .tp-head{gap:10px;margin-bottom:8px}.detail-rail .tp-stats{flex:1 0 100%;order:3;grid-template-columns:1fr 1fr;gap:4px 12px;display:grid}.detail-rail .tp-ladder{height:200px;margin:10px 0 12px}.detail-rail .pc-levels{grid-template-columns:1fr 1fr;display:grid}.detail-rail .pc-level{min-width:0}.detail-rail .pc-level.pc-zone{grid-column:1/-1}.detail-rail .pc-pivots{grid-template-columns:1fr}.detail-rail .pc-flow{flex-wrap:wrap}.detail-rail .pc-rubric li{grid-template-columns:18px 1fr}.detail-rail .pc-rubric-detail{grid-column:2}.detail-rail .psig-foot{flex-wrap:wrap}@media (width>=1200px){.detail-workspace{grid-template-columns:minmax(0,1fr) 340px;height:clamp(640px,100dvh - 226px,900px);display:grid}.detail-workspace .chart-panel{flex-direction:column;min-height:0;padding:12px 16px;display:flex;overflow:hidden}.detail-workspace .chart-body{flex:1;min-height:0}.detail-workspace .chart-main{min-height:0}.detail-workspace .price-chart,.detail-workspace .chart-empty{flex:1;height:auto;min-height:0}.detail-rail{flex-direction:column;min-height:0;display:flex}.rail-panel{flex:1;min-height:0;overflow-y:auto}}@media (width>=701px) and (width<=1199px){#rail-panel-plan:not([hidden]){grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;display:grid}.detail-rail .note-panel{border-top:0;margin-top:0;padding-top:0}}@media (width<=700px){.detail-panel{gap:6px 14px;padding:10px 12px}.detail-symbol{font-size:30px}.dp-last{font-size:22px}.dp-chg{font-size:12px}.dp-id{flex:calc(100% - 210px)}.detail-name{max-width:100%}.dp-sub .idx-badges{display:none}.dp-price{align-items:flex-end}.dp-stat .label,.dp-stat-plan{display:none}.dp-stat.dp-lean .label{display:block}.lean-calc th.lean-calc-how{white-space:normal}.dp-stat.dp-lean{flex:1 0 100%;order:1;min-width:0}.dp-desc{order:2}.dp-stat .total{font-size:16px}.detail-updated{display:none}.chart-panel{padding:10px 12px}.chart-title{display:none}.chart-head{justify-content:flex-start}.chart-head-right{flex:1;justify-content:space-between;gap:4px;min-width:0}.chart-tabs .MuiToggleButton-root{padding:3px 7px}.chart-layers-btn.MuiButton-root{min-width:0;padding:3px 6px}.chart-layers-btn .MuiButton-startIcon{margin-right:3px}.chart-body{flex-direction:column;gap:8px}.chart-tools{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;gap:0;padding:0 0 6px;overflow-x:auto}.chart-tool.MuiIconButton-root{flex:none;width:35px;height:35px}.price-chart,.chart-empty{height:clamp(360px,62dvh,560px)}.MuiDrawer-paper.chart-sheet{border-left:0;border-top:1px solid var(--border-bright);border-radius:var(--r-lg) var(--r-lg) 0 0;flex-direction:column;gap:14px;max-height:60dvh;padding:16px;display:flex}}@media (width<=430px){.chart-layers-label{display:none}.chart-layers-btn .MuiButton-startIcon{margin:0}}.app-nav{align-items:center;gap:2px;margin-left:22px;display:flex}.app-nav-link{border-radius:var(--r-sm);color:var(--text-dim);padding:6px 12px;font-size:13px;font-weight:500;transition:color .15s,background .15s}.app-nav-link:hover{color:var(--text);background:var(--surface)}.app-nav-link.on{color:var(--text);background:var(--bg-elevated)}.app-search{width:240px}.app-search .MuiInputBase-root{border-radius:var(--r-sm);background:var(--bg-card)}.app-search .MuiInputBase-input{font-size:13px}.app-search .MuiInputAdornment-root{color:var(--text-faint)}.app-search-kbd{border:1px solid var(--border-bright);border-radius:var(--r-sm);color:var(--text-faint);padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:11px;line-height:1}.app-search-popper{min-width:360px}.app-search-paper{border:1px solid var(--border-bright);color:var(--text);font-size:13px;background:var(--bg-elevated)!important;box-shadow:var(--shadow-md)!important;background-image:none!important}.app-search-paper .MuiAutocomplete-noOptions{color:var(--text-dim);font-size:13px}.app-search-opt{grid-template-columns:64px minmax(0,1fr) auto 64px;align-items:center;gap:10px;display:grid!important}.app-search-paper .MuiAutocomplete-option.Mui-focused{background:var(--surface)!important}.app-search-sym{color:var(--text);font-weight:600}.app-search-name{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-search-px{text-align:right;font-variant-numeric:tabular-nums;color:var(--text)}@media (width<=700px){.app-search-popper{min-width:0}.app-search-opt{grid-template-columns:56px minmax(0,1fr) auto}.app-search-px{display:none}}.dash-top{align-items:baseline;gap:14px;margin-bottom:22px;display:flex}.dash-title{font-size:40px;line-height:1}.dash-sub{color:var(--text-dim);font-size:13px}.dash-top-actions{align-self:center;margin-left:auto}.dash-section{margin-bottom:30px}.dash-h{align-items:baseline;gap:8px;margin-bottom:10px;font-family:Instrument Serif,serif;font-size:22px;font-style:italic;font-weight:400;display:flex}.dash-h-count{color:var(--text-faint);font-family:JetBrains Mono,monospace;font-size:12px;font-style:normal}.dash-note{color:var(--text-faint);max-width:70ch;margin-bottom:10px;font-size:12px}.dash-empty{color:var(--text-dim);background:var(--bg-card);border:1px dashed var(--border);border-radius:var(--r-md);padding:18px 20px;font-size:13px;font-style:italic}.dash-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.dash-tile{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:3px;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.dash-tile:hover{border-color:var(--border-bright);background:var(--bg-elevated)}.dash-tile.static{cursor:default}.dash-tile.static:hover{border-color:var(--border);background:var(--bg-card)}.dash-tile.zero{opacity:.55}.dash-tile-n{color:var(--text);font-size:26px;font-weight:500;line-height:1.1}.dash-tile-n.pos{color:var(--green)}.dash-tile-n.neg{color:var(--red)}.dash-tile-n.caution{color:var(--amber)}.dash-tile-n.neutral{color:var(--text-dim)}.dash-tile-label{color:var(--text-dim);align-items:center;gap:5px;font-size:12px;display:inline-flex}.dash-tile-sub{color:var(--amber);font-size:12px!important}.dash-tile-pin{color:var(--blue);letter-spacing:.03em;font-size:10px}.dash-tile-syms{flex-wrap:wrap;gap:6px;margin-top:5px;display:flex}.dash-sym-link{color:var(--text-dim);font-size:11px}.dash-sym-link:hover{color:var(--text)}.dash-sym-more{color:var(--text-faint);font-size:11px}.dash-breadth{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);flex-direction:column;gap:12px;padding:16px 18px;display:flex}.breadth-row{align-items:center;gap:12px;display:flex}.breadth-tf{color:var(--text-dim);flex:none;width:62px;font-size:12px}.breadth-track{background:var(--surface);border-radius:var(--r-pill);flex:1;height:8px;overflow:hidden}.breadth-fill{border-radius:var(--r-pill);height:100%;transition:width .3s}.breadth-fill.pos{background:var(--green)}.breadth-fill.neg{background:var(--red)}.breadth-pct{text-align:right;flex:none;width:44px;font-size:13px}.breadth-detail{color:var(--text-faint);flex:none;width:92px;font-size:11px}.breadth-unknown{color:var(--text-faint)}.verdict-bar{border-radius:var(--r-pill);background:var(--surface);height:10px;margin-top:14px;display:flex;overflow:hidden}.verdict-seg{height:100%}.verdict-seg.sig-strongbuy{background:var(--green-bright)}.verdict-seg.sig-buy{background:var(--green)}.verdict-seg.sig-hold{background:var(--blue)}.verdict-seg.sig-watch{background:var(--amber)}.verdict-seg.sig-avoid{background:var(--red)}.verdict-key{color:var(--text-dim);flex-wrap:wrap;gap:12px;margin-top:9px;font-size:11px;display:flex}.verdict-key-item{align-items:center;gap:5px;display:inline-flex}.verdict-dot{border-radius:50%;width:8px;height:8px}.verdict-dot.sig-strongbuy{background:var(--green-bright)}.verdict-dot.sig-buy{background:var(--green)}.verdict-dot.sig-hold{background:var(--blue)}.verdict-dot.sig-watch{background:var(--amber)}.verdict-dot.sig-avoid{background:var(--red)}.pin-ledger{--pin-cols:minmax(150px, 1.4fr) 84px 124px 112px repeat(3, 58px) 72px 104px minmax(140px, 1fr);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.pin-led-row{grid-template-columns:minmax(0,1fr) 34px;align-items:center;transition:background .12s;display:grid}.pin-led-row+.pin-led-row{border-top:1px solid var(--border)}.pin-led-row:not(.pin-led-head):hover{background:var(--bg-elevated)}.pin-ledger .pin-led-main{grid-template-columns:var(--pin-cols);text-align:left;justify-content:stretch;align-items:center;column-gap:14px;padding:9px 0 9px 16px;font-size:12px;display:grid}.pin-ledger .pin-led-main.Mui-focusVisible{background:var(--bg-elevated);box-shadow:inset 2px 0 0 var(--blue)}.pin-led-head{background:var(--surface)}.pin-ledger .pin-led-head .pin-led-main{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);padding-top:7px;padding-bottom:7px;font-size:10px;font-weight:600}.pin-led-id{flex-direction:column;gap:1px;min-width:0;display:flex}.pin-led-idline{align-items:center;gap:6px;display:flex}.pin-led-sym{letter-spacing:.02em;font-size:14px;font-weight:700}.pin-ledger .pin-led-note{color:var(--text-faint);font-size:13px}.pin-led-stale{text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;color:var(--amber);border:1px solid var(--edge-amber);border-radius:var(--r-sm);padding:1px 4px;font-size:9px}.pin-led-name{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.pin-led-last{text-align:right;font-weight:600}.pin-led-row:not(.pin-led-head) .pin-led-last{font-size:14px}.pin-led-day{white-space:nowrap;justify-content:flex-end;gap:8px;display:flex}.pin-led-day-pct{text-align:right;min-width:50px}.pin-ledger .sig{padding:2px 8px;font-size:10px}.pin-led-tf{white-space:nowrap;justify-content:flex-end;align-items:baseline;gap:4px;display:flex}.pin-led-rsi{font-weight:600}.pin-led-arrow{width:11px;font-size:11px;display:inline-block}.pin-led-k{letter-spacing:.08em;color:var(--text-faint);font-size:9px;font-weight:700;display:none}.pin-led-ema{text-align:right;white-space:nowrap}.pin-led-plan,.pin-led-pat{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pin-led-pat{color:var(--text-dim)}.pin-led-q{color:var(--text-faint)}.pin-ledger .pos{color:var(--green)}.pin-ledger .neg{color:var(--red-bright)}.pin-ledger .caution{color:var(--amber)}.pin-ledger .neutral{color:var(--text-dim)}.pin-ledger .flat,.pin-ledger .muted{color:var(--text-faint)}.pin-led-row.untracked .pin-led-main>:not(.pin-led-id){opacity:.6}.pin-ledger .pin-led-x{width:24px;height:24px;color:var(--text-faint);opacity:0;font-size:15px;transition:opacity .12s,color .12s,background .12s}.pin-led-row:hover .pin-led-x,.pin-ledger .pin-led-x.Mui-focusVisible{opacity:1}.pin-ledger .pin-led-x:hover{color:var(--red-bright);background:var(--tint-red)}@media (hover:none){.pin-ledger .pin-led-x{opacity:1}}@media (width<=1279px){.pin-ledger{--pin-cols:minmax(130px, 1fr) 80px 116px 112px repeat(3, 54px) 66px 100px}.pin-ledger .pin-led-main{column-gap:12px}.pin-led-pat{display:none}}@media (width<=980px){.pin-led-head{display:none}.pin-ledger .pin-led-main{grid-template-columns:repeat(12,minmax(0,1fr));gap:7px 8px;padding:11px 0 11px 14px}.pin-led-id{grid-column:span 5}.pin-led-last{grid-column:span 3}.pin-led-day{grid-column:span 4}.pin-led-day-abs{display:none}.pin-led-state{order:1;grid-column:span 6}.pin-led-plan{text-align:right;order:2;grid-column:span 6}.pin-led-tf{order:3;grid-column:span 3;justify-content:flex-start}.pin-led-ema{order:3;grid-column:span 3;justify-content:flex-end;align-items:baseline;gap:4px;display:flex}.pin-led-k{display:inline}}@media (width<=700px){.dash-title{font-size:30px}.app-header{gap:12px;padding:0 16px}.breadth-detail{display:none}}.auth-page{background:radial-gradient(60rem 30rem at 50% -10rem, var(--glow-1), transparent 70%), var(--bg);grid-template-rows:1fr auto;place-items:center;gap:20px;min-height:100vh;padding:32px 16px 20px;display:grid}.auth-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;max-width:24rem;box-shadow:var(--shadow-lg);padding:28px}.auth-brand{border-bottom:1px solid var(--border);justify-content:center;margin-bottom:22px;padding:4px 0 22px;display:flex}.auth-title{letter-spacing:-.02em;color:var(--text);margin:0 0 6px;font-family:Instrument Serif,serif;font-size:26px;font-style:italic;font-weight:400}.auth-lede{color:var(--text-dim);margin:0 0 20px;font-size:13.5px;line-height:1.55}.auth-form{gap:14px;display:grid}.auth-form>button{margin-top:4px}.auth-footer{border-top:1px solid var(--border);color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:20px;padding-top:16px;font-size:12.5px;display:flex}.auth-footer a{color:var(--blue);text-decoration:none}.auth-footer a:hover{text-decoration:underline}.auth-error,.auth-notice{border-radius:var(--r-sm);padding:10px 12px;font-size:13px;line-height:1.5}.auth-error{background:var(--tint-red);border:1px solid var(--edge-red);color:var(--red-bright)}.auth-notice{background:var(--tint-green);border:1px solid var(--edge-green);color:var(--text)}.auth-notice p{margin:0 0 8px}.auth-notice p:last-child{margin-bottom:0}.auth-hint{color:var(--text-dim);margin:0;font-size:12px;line-height:1.5}.auth-hint a{color:var(--blue)}.auth-hint code{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:1px 4px;font-family:JetBrains Mono,monospace;font-size:11px}.auth-checkbox-label{color:var(--text-dim);font-size:13px}.auth-legal{text-align:center;max-width:28rem;color:var(--text-faint);margin:0;font-size:11px;line-height:1.5}.acct-anon{align-items:center;gap:6px;display:flex}.acct-placeholder{width:30px;height:30px;display:inline-block}.avatar{border-radius:var(--r-pill);background:var(--tint-green-strong);border:1px solid var(--edge-green);width:26px;height:26px;color:var(--text);place-items:center;font-size:12px;font-weight:600;display:grid}.menu-head{justify-content:space-between;align-items:center;gap:10px;padding:10px 14px 8px;display:flex}.menu-email{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;max-width:13rem;font-size:12px;overflow:hidden}.page-narrow{gap:20px;max-width:44rem;margin:0 auto;padding:28px 16px 64px;display:grid}.page-head{gap:6px;display:grid}.page-title{letter-spacing:-.02em;color:var(--text);margin:0;font-family:Instrument Serif,serif;font-size:30px;font-style:italic;font-weight:400}.page-lede{color:var(--text-dim);margin:0;font-size:14px;line-height:1.6}.page-foot{color:var(--text-faint);margin:0;font-size:11.5px;line-height:1.6}.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);gap:14px;padding:20px;display:grid}.panel-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:12px;font-weight:600}.panel-note{color:var(--text-dim);margin:0;font-size:12.5px;line-height:1.55}.panel-note a,.page-lede a{color:var(--blue)}.panel-danger{border-color:var(--edge-red)}.page-narrow.page-admin{gap:20px;max-width:56rem;display:grid}.admin-add{gap:10px;display:grid}.admin-add-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-list-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-list-head .panel-title{margin-right:auto}.admin-requests{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-requests li{border-bottom:1px solid var(--border);grid-template-columns:5.5rem 1fr auto auto auto;align-items:center;gap:10px;padding:8px 0;display:grid}.admin-symbol{font-weight:600}.admin-note{color:var(--text-dim);overflow-wrap:anywhere;font-size:13px}.admin-date,.admin-dim{color:var(--text-faint);font-size:12px}.admin-table-wrap{border:1px solid var(--border);border-radius:var(--r-md);max-height:60vh;overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{background:var(--bg-elevated);text-align:left;color:var(--text-dim);border-bottom:1px solid var(--border);padding:8px 12px;font-weight:500;position:sticky;top:0}.admin-table td{border-bottom:1px solid var(--border);padding:6px 12px}.admin-table tr.retired td{opacity:.5}.admin-table .admin-actions{text-align:right;white-space:nowrap}@media (width<=600px){.admin-requests li{grid-template-columns:1fr auto auto}.admin-requests .admin-note,.admin-requests .admin-date{display:none}}.kv{grid-template-columns:9rem 1fr;gap:10px 16px;margin:0;font-size:13.5px;display:grid}.kv dt{color:var(--text-dim)}.kv dd{color:var(--text);margin:0}.mono{font-family:JetBrains Mono,monospace;font-size:12.5px}.link-button{font:inherit;color:var(--blue);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.plan-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.plan{align-content:start}.plan-featured{border-color:var(--edge-green);box-shadow:0 0 0 1px var(--tint-green)}.plan-price{align-items:baseline;gap:8px;margin:0;display:flex}.plan-amount{color:var(--text);font-family:JetBrains Mono,monospace;font-size:30px;font-weight:500}.plan-period{color:var(--text-dim);font-size:12px}.plan-badge{letter-spacing:.06em;text-transform:uppercase;color:var(--green);background:var(--tint-green);border:1px solid var(--edge-green);border-radius:var(--r-pill);margin-left:6px;padding:2px 7px;font-size:10px;font-weight:600}.plan-list{gap:9px;margin:0;padding:0;list-style:none;display:grid}.plan-list li{color:var(--text);grid-template-columns:16px 1fr;gap:8px;font-size:13px;line-height:1.5;display:grid}.plan-list svg{color:var(--green);margin-top:2px;font-size:15px}.locked{isolation:isolate;position:relative}.locked-blur{filter:blur(7px)saturate(.5);opacity:.4;pointer-events:none;-webkit-user-select:none;user-select:none}.locked-overlay{place-items:center;padding:16px;display:grid;position:absolute;inset:0}.cta-block{background:var(--bg-elevated);border:1px solid var(--border-bright);border-radius:var(--r-lg);max-width:34rem;box-shadow:var(--shadow-md);align-items:center;gap:14px;padding:14px 16px;display:flex}.cta-block>svg{color:var(--amber);flex:none}.cta-copy{gap:3px;min-width:0;display:grid}.cta-copy strong{color:var(--text);font-size:13.5px}.cta-copy span{color:var(--text-dim);font-size:12px;line-height:1.45}.cta-inline{color:var(--green);font-size:12px;text-decoration:none}.cta-inline:hover{text-decoration:underline}.page-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex}@media (width<=760px){.plan-grid{grid-template-columns:1fr}.kv{grid-template-columns:1fr;gap:3px 0}.kv dd{margin-bottom:8px}.cta-block{flex-direction:column;align-items:flex-start}}.pub{color:var(--text);font-size:16px;line-height:1.5}.pub a{color:inherit}.pub ul,.pub ol{list-style:none}.pub em{color:var(--green);font-style:italic}.pub :focus-visible{outline:2px solid var(--green);outline-offset:2px}.pub section[id]{scroll-margin-top:16px}.pub-wrap{max-width:1200px;margin:0 auto;padding:0 24px}.pub-center{text-align:center}.pub-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pub-btn{border-radius:var(--r-md);white-space:nowrap;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-size:15px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.pub .pub-btn-primary{background:var(--green);color:var(--on-accent);font-weight:600}.pub .pub-btn-primary:hover{background:var(--green-bright)}.pub .pub-btn-outline{border:1px solid var(--border-bright);color:var(--text)}.pub .pub-btn-outline:hover{background:var(--bg-elevated)}.pub-btn-lg{min-height:52px;padding:0 26px;font-size:17px}.pub-beta{background:var(--tint-green);border-bottom:1px solid var(--border)}.pub-beta-inner{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 14px;max-width:1200px;margin:0 auto;padding:10px 24px;font-size:14px;display:flex}.pub-beta strong{color:var(--green-bright);font-weight:600}.pub-beta a{font-weight:500}.pub-header{border-bottom:1px solid var(--border);background:var(--bg-header)}.pub-header-inner{align-items:center;gap:12px 32px;max-width:1200px;margin:0 auto;padding:14px 24px;display:flex}.pub-brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:20px;font-weight:600;text-decoration:none;display:flex}.pub-nav{flex-wrap:wrap;flex:auto;gap:4px 24px;font-size:15px;display:flex}.pub .pub-nav a{color:var(--text-dim);padding:10px 0;text-decoration:none}.pub .pub-nav a:hover{color:var(--text)}.pub-header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.pub-hero{padding:88px 0 80px}.pub-split{flex-wrap:wrap;align-items:center;gap:56px;display:flex}.pub-split.reverse{flex-wrap:wrap-reverse}.pub-hero-copy{flex:460px;min-width:0}.pub-split-copy{flex:340px;min-width:0}.pub-split-visual{flex:1.1 480px;min-width:0}.pub-split-visual.wide{flex:1.6 600px}.pub-eyebrow{color:var(--green-bright);margin-bottom:14px;font-size:15px;font-weight:500}.pub-hero .pub-eyebrow{margin-bottom:20px}.pub-hero h1{letter-spacing:-.01em;font-family:Instrument Serif,Georgia,serif;font-size:clamp(48px,7vw,92px);font-weight:400;line-height:.98}.pub-hero-lede{color:var(--text-dim);max-width:540px;margin-top:28px;font-size:20px;line-height:1.55}.pub-actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.pub-actions.center{justify-content:center}.pub-hero-note{color:var(--text-dim);margin-top:18px;font-size:14px}.pub-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;margin:0;overflow:hidden}.pub-lift{box-shadow:var(--shadow-lg)}.pub-pad{padding:24px}.pub-card figcaption{border-top:1px solid var(--border);color:var(--text-dim);padding:12px 22px;font-size:12px}.pub-pad figcaption{border-top:0;margin-top:16px;padding:0}.pub-card-head{border-bottom:1px solid var(--border);color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;padding:18px 22px;font-size:13px;display:flex}.pub-card-title{color:var(--text);font-family:Instrument Serif,Georgia,serif;font-size:26px;font-style:italic}.pub-scroll{overflow-x:auto}.pub-table{border-collapse:collapse;width:100%;min-width:520px}.pub-table th,.pub-table td{text-align:left;border-top:1px solid var(--border);white-space:nowrap;padding:11px 6px}.pub-table th:first-child,.pub-table td:first-child{padding-left:22px}.pub-table th:last-child,.pub-table td:last-child{padding-right:22px}.pub-table thead th{color:var(--text-dim);border-top:0;font-size:12px;font-weight:400}.pub-table tbody th{font-size:13.5px;font-weight:700}.pub-table .sig{padding:2px 7px;font-size:10px}.pub .sig.sig-buy,.pub .sig.sig-hold,.pub .sig.sig-watch{background:var(--bg-card)}.pub-overall .mono{color:var(--text-dim);margin-left:6px;font-size:12px}.pub-pattern{font-size:12.5px}.pub-up{color:var(--green-bright);font-family:JetBrains Mono,monospace}.pub-mock-bar{background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:20px;padding:12px 18px;font-size:13px;display:flex}.pub-mock-brand{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.pub-mock-nav{color:var(--text-dim);gap:16px;display:flex}.pub-mock-nav .on{color:var(--text);border-bottom:2px solid var(--green);padding-bottom:2px;font-weight:600}.pub-mock-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px 10px;display:flex}.pub-mock-search{min-width:200px;color:var(--text-dim);border:1px solid var(--border);border-radius:var(--r-md);padding:7px 12px;font-size:13px}.pub-mock-filters,.pub-mock-pins{flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:12px;display:flex}.pub-mock-filters{padding:0 18px 12px}.pub-mock-pins{background:var(--bg);border-top:1px solid var(--border);padding:10px 18px}.pub-mock-label{color:var(--text-dim)}.pub-mock-chip{border:1px solid var(--border);border-radius:var(--r-pill);color:var(--text-dim);white-space:nowrap;padding:4px 10px}.pub-mock-chip.on{color:var(--green-bright);background:var(--tint-green);border-color:var(--edge-green);font-weight:600}.pub-mock-chip.add{border-style:dashed;border-color:var(--border-bright);color:var(--text)}.pub-mock-pin{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-sm);padding:3px 8px;font-weight:700}.pub-tf-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.pub-tf{background:var(--bg-elevated);border-radius:var(--r-lg);align-content:start;gap:10px;padding:18px;display:grid}.pub-tf-label{color:var(--text-dim);font-size:13px}.pub-tf-line{color:var(--text-dim);font-size:14px;line-height:1.5}.pub-pattern-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:24px;display:grid}.pub-triangle{background:var(--bg-elevated);border-radius:var(--r-lg);width:100%;height:auto;display:block}.pub-tri-level,.pub-tri-rise{fill:none;stroke-width:1.5px;stroke-dasharray:5 4}.pub-tri-level{stroke:var(--green)}.pub-tri-rise{stroke:var(--blue)}.pub-tri-price{fill:none;stroke:var(--text);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.pub-tri-high{fill:var(--green)}.pub-tri-low{fill:var(--blue)}.pub-tri-label{fill:var(--text-dim);font-size:12px}.pub-pattern-tf{color:var(--text-dim);font-size:13px}.pub-pattern-name{margin-top:4px;font-family:Instrument Serif,Georgia,serif;font-size:30px;font-style:italic}.pub-checklist{gap:14px;margin-top:20px;display:grid}.pub-checklist li{align-items:center;gap:12px;display:flex}.pub-check{width:24px;height:24px;color:var(--text-dim);background:var(--bg-elevated);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.pub-check.on{color:var(--green-bright);background:var(--tint-green)}.pub-strip{background:var(--bg-card);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.pub-strip-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;padding-top:40px;padding-bottom:40px;display:grid}.pub-strip-grid p{color:var(--text-dim);font-size:15px;line-height:1.55}.pub-strip-grid .pub-strip-title{color:var(--text);margin-bottom:6px;font-size:19px;font-weight:600}.pub-h2{font-family:Instrument Serif,Georgia,serif;font-size:clamp(38px,4.6vw,60px);font-weight:400;line-height:1.04}.pub-h2.narrow{max-width:760px}.pub-h2.small{font-size:clamp(32px,3.8vw,50px);line-height:1.05}.pub-h2.large{font-size:clamp(42px,5.4vw,72px);line-height:1.02}.pub-sub{color:var(--text-dim);max-width:620px;margin:16px auto 0;font-size:18px;line-height:1.6}.pub-intro{padding:104px 0 40px}.pub-intro .pub-h2{max-width:820px;margin:0 auto}.pub-showcase{padding:48px 0}.pub-split-copy h3{letter-spacing:-.015em;font-size:32px;font-weight:600;line-height:1.2}.pub-split-copy>p{color:var(--text-dim);margin-top:16px;font-size:18px;line-height:1.6}.pub-ticks{gap:12px;margin-top:24px;display:grid}.pub-ticks li{align-items:flex-start;gap:10px;display:flex}.pub-ticks svg{fill:none;stroke:var(--green);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:2px}.pub-features{padding:72px 0 104px}.pub-feature-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.pub-feature-grid article{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:28px}.pub-feature-grid h3{font-size:20px;font-weight:600}.pub-feature-grid p{color:var(--text-dim);margin-top:10px;line-height:1.6}.pub-section{padding:104px 0}.pub-band{background:var(--bg-card);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.pub-rule{border-top:1px solid var(--border)}.pub-steps{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:32px;margin-top:56px;display:grid}.pub-steps li{border-top:2px solid var(--border-bright);padding-top:22px}.pub-steps li.first{border-top-color:var(--green)}.pub-step-n{color:var(--text-dim);font-size:15px;font-weight:600}.pub-steps li.first .pub-step-n{color:var(--green)}.pub-steps h3{margin-top:8px;font-size:22px;font-weight:600}.pub-steps li>p:last-child{color:var(--text-dim);margin-top:10px;line-height:1.6}.pub-who{flex-wrap:wrap;gap:48px;display:flex}.pub-who-head{flex:340px;min-width:0}.pub-who-cards{flex:2 560px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;min-width:0;display:grid}.pub-who-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:26px}.pub-who-card h3{font-size:18px;font-weight:600}.pub-who-card ul{color:var(--text-dim);margin-top:14px;padding-left:18px;line-height:1.75;list-style:outside}.pub-learn{padding:0 0 104px}.pub-learn-panel{background:var(--bg-elevated);border-radius:20px;flex-wrap:wrap;align-items:center;gap:40px;padding:48px;display:flex}.pub-learn-copy{flex:360px;min-width:0}.pub-learn-copy>p:last-child{color:var(--text-dim);margin-top:16px;font-size:17px;line-height:1.6}.pub-tracks{flex:360px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;min-width:0;display:grid}.pub-tracks a{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:16px 18px;font-size:15px;text-decoration:none;display:block}.pub-tracks a:hover{border-color:var(--border-bright)}.pub-plans{text-align:left;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;max-width:880px;margin:48px auto 0;display:grid}.pub-plan{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;flex-direction:column;padding:32px;display:flex}.pub-plan-featured{border:2px solid var(--green);box-shadow:var(--shadow-lg);padding:31px}.pub-plan h2,.pub-plan h3{flex-wrap:wrap;align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex}.pub-plan-badge{color:var(--green-bright);background:var(--tint-green);border-radius:var(--r-pill);padding:4px 10px;font-size:12px;font-weight:600}.pub-plan-for{color:var(--text-dim);margin-top:6px}.pub-plan-price{letter-spacing:-.02em;margin-top:18px;font-size:40px;font-weight:600}.pub-plan-price span{letter-spacing:0;color:var(--text-dim);margin-left:8px;font-size:16px;font-weight:400}.pub-plan ul{color:var(--text-dim);flex:auto;margin:22px 0 28px;padding-left:18px;line-height:1.85;list-style:outside}.pub-faq{max-width:820px;margin:0 auto;padding:0 24px}.pub-faq .pub-h2{margin-bottom:40px}.pub-faq details{border-top:1px solid var(--border);padding:4px 0}.pub-faq summary{cursor:pointer;padding:18px 0;font-size:18px;font-weight:500}.pub-faq details p{color:var(--text-dim);margin-bottom:20px;line-height:1.65}.pub-final{padding:120px 0}.pub-final .pub-h2{max-width:880px;margin:0 auto}.pub-final .pub-sub{margin-top:20px}.pub-footer{background:var(--bg-card);border-top:1px solid var(--border);padding:64px 0 40px}.pub-footer-cols{flex-wrap:wrap;gap:40px 64px;font-size:14px;display:flex}.pub-footer-cols>*{flex:0 180px}.pub-footer-cols ul{gap:10px;display:grid}.pub-footer-cols a{text-decoration:none}.pub-footer-cols a:hover{text-decoration:underline}.pub-footer-brand{min-width:0;color:var(--text-dim);flex:260px;line-height:1.6}.pub-footer-brand a{color:var(--text);text-decoration:underline}.pub .pub-footer-name{color:var(--text);align-items:center;gap:10px;margin-bottom:14px;font-size:18px;font-weight:600;display:flex}.pub-footer-head{color:var(--text-dim);margin-bottom:12px;font-size:13px;font-weight:600}.pub-footer .pub-footer-legal{justify-content:flex-start;margin-top:10px}.pub-footer .pub-footer-legal a{color:var(--text)}.pub-disclaimer{border-top:1px solid var(--border);margin-top:48px;padding-top:24px}.pub-disclaimer,.pub-copyright{color:var(--text-dim);font-size:13px;line-height:1.65}.pub .pub-copyright{margin-top:12px}@media (width<=700px){.pub-nav{display:none}.pub-header-inner{gap:10px;padding:12px 16px}.pub-header-actions .pub-btn{padding:0 12px;font-size:14px}.pub-wrap,.pub-faq{padding-left:16px;padding-right:16px}.pub-hero{padding:56px 0}.pub-section,.pub-final{padding:72px 0}.pub-intro{padding-top:72px}.pub-features{padding:40px 0 72px}.pub-learn{padding-bottom:72px}.pub-learn-panel{padding:28px 20px}.pub-split,.pub-split-copy,.pub-split-visual{min-width:0}.pub-hero-copy,.pub-split-copy,.pub-split-visual,.pub-split-visual.wide,.pub-who-head,.pub-who-cards,.pub-learn-copy,.pub-tracks{flex-basis:100%}.pub-plans,.pub-feature-grid{grid-template-columns:minmax(0,1fr)}.pub-mock-search{flex:100%;min-width:0}.pub-pattern-body{grid-template-columns:minmax(0,1fr)}}.legal-body{color:var(--text);margin:0;font-size:13.5px;line-height:1.65}.legal-body strong{color:var(--text);font-weight:600}.legal-list{color:var(--text-dim);gap:10px;margin:0;padding-left:18px;font-size:13px;line-height:1.6;display:grid}.legal-list strong{color:var(--text);font-weight:600}.panel-pending{border-style:dashed;border-color:var(--edge-amber);background:var(--tint-amber)}.locked-route{place-content:center;justify-items:center;gap:16px;min-height:50vh;padding:32px 16px;display:grid}.editor-notice{background:var(--tint-green);border:1px solid var(--edge-green);border-radius:var(--r-sm);color:var(--text);margin-bottom:10px;padding:8px 10px;font-size:12.5px}.legal-doc{padding-top:20px}.legal-nav{align-items:baseline;gap:16px;font-size:12.5px;display:flex}.legal-nav a{color:var(--text-dim);text-decoration:none}.legal-nav a:hover{color:var(--text)}.legal-nav a.active{color:var(--text);text-underline-offset:4px;text-decoration:underline}.legal-nav .legal-brand{color:var(--text);margin-right:auto;font-family:Instrument Serif,serif;font-size:20px;font-style:italic}.legal-body a,.legal-list a,.page-foot a{color:var(--blue);text-decoration:underline}.legal-doc .page-foot{color:var(--text-dim)}.legal-table-wrap{overflow-x:auto}.legal-table{border-collapse:collapse;width:100%;font-size:12.5px;line-height:1.5}.legal-table th{text-align:left;color:var(--text-dim);border-bottom:1px solid var(--border);padding:6px 12px 6px 0;font-weight:600}.legal-table td{vertical-align:top;border-bottom:1px solid var(--border);color:var(--text);padding:7px 12px 7px 0}.legal-table tr:last-child td{border-bottom:0}.legal-links{justify-content:center;gap:8px;display:flex}.legal-links a{color:var(--text-dim);text-decoration:none}.legal-links a:hover{color:var(--text);text-decoration:underline}.app-foot{padding:14px var(--space-6) 18px;border-top:1px solid var(--border);color:var(--text-faint);flex-wrap:wrap;justify-content:space-between;gap:8px 16px;font-size:11px;display:flex}@media (width<=760px){.app-foot{text-align:center;justify-content:center;padding:12px 16px 16px}}
