@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--bg:#0a0e14;--panel:#10151f;--panel-2:#161c28;--panel-3:#1c2330;--line:#1f2837;--line-strong:#2a3548;--text:#e6edf3;--text-muted:#8b98a5;--text-dim:#5e6b7a;--accent:#4cc9f0;--accent-2:#7dd3fc;--accent-warm:#f5b544;--pos:#22c55e;--pos-strong:#16a34a;--neg:#ef4444;--neg-strong:#dc2626;--mono-font:"JetBrains Mono", "SFMono-Regular", Menlo, monospace;--ui-font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius:6px;--radius-lg:8px;font-family:var(--ui-font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;line-height:1.5}*{box-sizing:border-box}html,body{margin:0;padding:0}body{color:var(--text);background:var(--bg);font-feature-settings:"cv02", "cv03", "cv04", "cv11";min-height:100vh;overflow-x:clip}#root{min-height:100vh}.mono{font-family:var(--mono-font);font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);border:2px solid var(--bg);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#3b4a63}.panel-collapse-btn{border:1px solid var(--line-strong);color:var(--text-dim);border-radius:var(--radius);cursor:pointer;background:0 0;flex-shrink:0;place-items:center;width:22px;height:22px;padding:0;transition:color .12s,border-color .12s;display:grid}.panel-collapse-btn:hover{color:var(--text);border-color:var(--accent)}.panel-collapse-btn:focus{outline:none;box-shadow:0 0 0 3px #4cc9f026}.panel-collapse-btn svg{transition:transform .18s;display:block}.panel-collapse-btn.collapsed svg{transform:rotate(-90deg)}.controls-panel-header{align-items:center;margin-bottom:.85rem;display:flex}.controls-panel-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-right:auto;font-size:.72rem;font-weight:600}.insights-panel-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;padding:.85rem}.insights-panel-header{align-items:center;margin-bottom:.75rem;display:flex}.insights-panel-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-right:auto;font-size:.72rem;font-weight:600}:root{--header-h:52px;--sidebar-w:420px}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:200;height:var(--header-h);background:var(--panel);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:0 1rem;display:flex;position:sticky;top:0}.app-header-left{align-items:center;gap:.65rem;min-width:0;display:flex}.sidebar-toggle-btn{border:1px solid var(--line-strong);color:var(--text-dim);border-radius:var(--radius);cursor:pointer;background:0 0;flex-shrink:0;place-items:center;width:32px;height:32px;padding:0;transition:color .12s,border-color .12s,background .12s;display:grid}.sidebar-toggle-btn:hover{color:var(--text);border-color:var(--accent);background:#4cc9f00f}.sidebar-toggle-btn:focus{outline:none;box-shadow:0 0 0 3px #4cc9f026}.app-brand{align-items:baseline;gap:.65rem;min-width:0;display:flex}.app-body{flex:1;align-items:flex-start;display:flex}.sidebar{width:var(--sidebar-w);top:var(--header-h);max-height:calc(100vh - var(--header-h));background:var(--bg);border-right:1px solid var(--line);scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex-shrink:0;transition:width .22s,opacity .18s;position:sticky;overflow:hidden auto}.sidebar[style]{transition:opacity .18s}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:0 0}.sidebar::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:4px}.sidebar--closed{opacity:0;pointer-events:none;border-right-color:#0000;width:0}.sidebar-inner{min-width:var(--sidebar-w);gap:.65rem;padding:.75rem;display:grid}.main-content{flex:1;min-width:0}.layout{gap:.75rem;padding:.75rem;display:grid}.controls-panel,.heatmap-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg)}.app-brand{min-width:0;color:inherit;align-items:baseline;gap:.65rem;text-decoration:none;display:flex}.app-brand:hover .hero-mark{opacity:.85}.hero-mark{font-family:var(--mono-font);letter-spacing:.16em;color:var(--accent);text-transform:uppercase;border:1px solid var(--accent);border-radius:4px;padding:.15rem .45rem;font-size:.72rem;font-weight:700;line-height:1}h1{color:var(--text);letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:600}.hero-status{color:var(--text-muted);font-size:.78rem;font-family:var(--mono-font);font-variant-numeric:tabular-nums;align-items:center;gap:.55rem;display:flex}.status-dot{background:var(--text-dim);border-radius:50%;flex-shrink:0;width:6px;height:6px}.status-dot.open{background:var(--pos);box-shadow:0 0 8px #22c55e80}.status-dot.closed{background:var(--neg)}.controls-panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:.85rem}.controls-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:.6rem;display:grid}.sidebar-inner .controls-grid{grid-template-columns:1fr}.field--full{grid-column:1/-1}.ticker-row{align-items:stretch;gap:.5rem;min-width:0;display:flex}.ticker-row>.pk-wrap{flex:1;min-width:0}.field{gap:.3rem;min-width:0;display:grid}.label-row{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.3rem;font-size:.68rem;font-weight:600;display:inline-flex}.field-help{display:none}.tip-wrap{align-items:center;display:inline-flex;position:relative}.tip{width:13px;height:13px;color:var(--text-dim);border:1px solid var(--line-strong);cursor:help;background:0 0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;font-size:.6rem;font-weight:700;line-height:1;transition:color .12s,border-color .12s;display:inline-grid}.tip:hover{color:var(--accent);border-color:var(--accent)}.tip-bubble{z-index:100;background:var(--panel-3);color:var(--text);border-radius:var(--radius);border:1px solid var(--line-strong);white-space:normal;pointer-events:none;text-transform:none;letter-spacing:0;width:220px;padding:.5rem .65rem;font-size:.74rem;font-weight:400;line-height:1.45;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000080}.tip-bubble--top{bottom:calc(100% + 6px)}.tip-bubble--bottom{top:calc(100% + 6px)}.tip-bubble:after{content:"";left:var(--arrow-left,50%);border:5px solid #0000;position:absolute;transform:translate(-50%)}.tip-bubble--top:after{border-top-color:var(--panel-3);top:100%}.tip-bubble--bottom:after{border-bottom-color:var(--panel-3);bottom:100%}input,select,button{border:1px solid var(--line-strong);background:var(--panel-2);color:var(--text);border-radius:var(--radius);font:inherit;padding:.5rem .65rem;font-size:.85rem;transition:border-color .12s,background .12s}input:hover,select:hover{border-color:#3b4a63}input:focus,select:focus,button:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #4cc9f026}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 15px),calc(100% - 10px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:1.8rem}select option{background:var(--panel-2);color:var(--text)}button{cursor:pointer;font-weight:500}button:disabled{opacity:.5;cursor:not-allowed}.meta{border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem 1.25rem;margin-top:.85rem;padding-top:.75rem;display:grid}.meta-item{flex-direction:column;gap:.15rem;min-width:0;display:flex}.meta-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;font-weight:600}.meta-value{font-family:var(--mono-font);font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.meta-value.dim{color:var(--text-muted);font-weight:500}.cs-add-row{border-top:1px solid var(--line);flex-direction:column;gap:.4rem;margin-top:.85rem;padding-top:.75rem;display:flex}.cs-add-btn{background:var(--accent);border-radius:var(--radius);color:#0a0e1a;cursor:pointer;border:none;align-self:flex-start;padding:.55rem .9rem;font-size:.85rem;font-weight:600;transition:opacity .12s,transform 50ms}.cs-add-btn:hover:not(:disabled){opacity:.9}.cs-add-btn:active:not(:disabled){transform:translateY(1px)}.cs-add-btn:disabled{opacity:.35;cursor:not-allowed;background:var(--panel-2);color:var(--text-dim)}.cs-add-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #4cc9f040}.cs-add-hint{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.4}.cs-add-hint strong{color:var(--text);font-weight:600}.cs-add-hint--muted{color:var(--text-dim)}.preview-banner{border-radius:var(--radius-lg);color:var(--text);background:#4cc9f014;border:1px solid #4cc9f059;align-items:center;gap:.65rem;padding:.55rem .75rem;font-size:.82rem;line-height:1.35;display:flex}.preview-banner-badge{background:var(--accent);color:#0a0e1a;font-family:var(--mono-font);letter-spacing:.14em;text-transform:uppercase;border-radius:3px;flex-shrink:0;padding:.15rem .45rem;font-size:.62rem;font-weight:700;line-height:1}.preview-banner-text{min-width:0;color:var(--text-muted);flex:1}.preview-banner-text strong{color:var(--text);font-weight:600}.preview-banner-cta{border:1px solid var(--accent);color:var(--accent);border-radius:var(--radius);cursor:pointer;background:0 0;flex-shrink:0;padding:.35rem .75rem;font-size:.75rem;font-weight:600;transition:background .12s,color .12s}.preview-banner-cta:hover{background:var(--accent);color:#0a0e1a}@media (width<=640px){.preview-banner{flex-wrap:wrap}.preview-banner-cta{width:100%}}.mobile-tabs{top:var(--header-h);z-index:50;background:var(--bg);border-bottom:1px solid var(--line);gap:.35rem;margin:-.75rem -.75rem .25rem;padding:.4rem;display:flex;position:sticky}.mobile-tab{border:1px solid var(--line);min-width:0;color:var(--text-muted);border-radius:var(--radius);cursor:pointer;background:0 0;flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.45rem .55rem;font-size:.8rem;font-weight:600;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.mobile-tab:hover{color:var(--text);border-color:var(--line-strong)}.mobile-tab--active{background:var(--accent);border-color:var(--accent);color:#0a0e1a}.mobile-tab--active:hover{color:#0a0e1a}.mobile-tab--screener{flex:none;padding:.45rem .65rem}.mobile-tab:focus-visible{outline:none;box-shadow:0 0 0 3px #4cc9f040}.error{color:#fca5a5;border-radius:var(--radius);background:#ef444414;border:1px solid #ef444440;margin:.75rem 0 0;padding:.55rem .75rem;font-size:.82rem;font-weight:500}.heatmap-panel{min-width:0;padding:.85rem}.heatmap-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.heatmap-header-actions{flex-shrink:0;align-items:center;gap:.35rem;display:flex}.heatmap-header-text{flex-direction:column;gap:.2rem;min-width:0;display:flex}.heatmap-header h2{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:.72rem;font-weight:600}.heatmap-header p{color:var(--text-dim);margin:0;font-size:.75rem}.placeholder{color:var(--text-dim);text-align:center;margin:1.5rem 0;font-size:.85rem}.curve-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);margin-top:.75rem;padding:.75rem}.curve-title-row{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.curve-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:600}.curve-danger-inline{color:#ef4444e6;letter-spacing:.03em;background:#ef44441a;border:1px solid #ef44444d;border-radius:20px;padding:.1rem .45rem;font-size:.68rem;font-weight:600}.curve-danger-badge{color:#ef4444f2;letter-spacing:.04em;white-space:nowrap;cursor:default;background:#ef44441f;border:1px solid #ef444466;border-radius:20px;align-items:center;padding:.18rem .5rem;font-size:.68rem;font-weight:700;display:inline-flex}.curve-premium-toggle{background:var(--panel-2);color:var(--text-muted);border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;white-space:nowrap;letter-spacing:.03em;padding:.22rem .55rem;font-size:.68rem;font-weight:600;transition:border-color .12s,color .12s,background .12s}.curve-premium-toggle:hover{border-color:var(--accent);color:var(--accent)}.curve-premium-toggle.active{color:var(--accent);background:#6366f11f;border-color:#6366f173}.curve-label--profit{fill:#22c55ed9;font-size:9px;font-family:var(--mono-font)}.curve-label--danger{fill:#ef4444e6;font-size:9px;font-family:var(--mono-font);font-weight:600}.curve-chart{width:100%;height:210px;display:block}.curve-zero{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:3 4}.curve-axis{stroke:var(--line-strong);stroke-width:1px}.curve-line{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.curve-label{fill:var(--text-muted);font-size:10px;font-family:var(--mono-font)}.curve-axis-title{fill:var(--text-muted);font-size:10px;font-family:var(--mono-font);text-transform:uppercase;letter-spacing:.06em;font-weight:600}.curve-tick{fill:var(--text-dim)}.curve-spot{fill:var(--accent-warm)}.curve-caption{color:var(--text-dim);margin:.5rem 0 0;font-size:.7rem}.heatmap-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);scrollbar-width:none;min-height:5rem;max-height:min(560px,65vh);margin-top:.75rem;overflow:auto}.heatmap-scroll::-webkit-scrollbar{display:none}.heatmap-table{border-collapse:collapse;width:max-content;min-width:980px;font-family:var(--mono-font);font-variant-numeric:tabular-nums;font-size:.72rem}.heatmap-table th,.heatmap-table td{border:1px solid var(--line);text-align:center;white-space:nowrap;padding:.32rem .28rem}.heatmap-table tfoot th,.heatmap-table tbody th{background:var(--panel-3);color:var(--text-muted);font-size:.72rem;font-weight:600}.heatmap-table tbody th{z-index:1;position:sticky;left:0}.heatmap-table tfoot th{z-index:2;position:sticky;bottom:0}.heatmap-table tfoot th:first-child{z-index:3;position:sticky;bottom:0;left:0}.heatmap-table td{color:var(--text);min-width:54px;font-weight:500}.heatmap-table td span{line-height:1.2;display:block}.heatmap-table td .probability{color:#fff9;margin-top:1px;font-size:.62rem;font-weight:400}.heatmap-table tfoot th .axis-date{color:var(--text-dim);margin-top:1px;font-size:.6rem;font-weight:400;display:block}.heatmap-scrollbar{background:var(--panel-3);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;width:100%;height:8px;margin-top:.55rem;position:relative}.heatmap-scrollbar-thumb{background:var(--line-strong);cursor:grab;border-radius:4px;min-width:40px;height:100%;transition:background .15s;position:absolute;top:0;left:0}.heatmap-scrollbar-thumb:hover,.heatmap-scrollbar-thumb:active{background:var(--accent);cursor:grabbing}.sidebar-overlay{display:none}@media (width<=1199px){.layout{gap:.6rem;padding:.6rem}.heatmap-panel{padding:.7rem}.controls-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.curve-chart{height:180px}.heatmap-table{font-size:.66rem}.heatmap-table th,.heatmap-table td{padding:.24rem .2rem}.heatmap-table td{min-width:42px}}@media (width<=480px){:root{--sidebar-w:min(420px, 92vw)}.controls-grid{grid-template-columns:1fr}.field--full{grid-column:1/-1}h1{font-size:.95rem}.hero-status{font-size:.72rem}.app-header{padding:0 .75rem}}.ticker-chip{font-family:var(--mono-font);font-variant-numeric:tabular-nums;letter-spacing:.06em;color:var(--accent);background:#4cc9f01f;border:1px solid #4cc9f052;border-radius:4px;align-items:center;padding:.15rem .45rem;font-size:.72rem;font-weight:700;line-height:1.4;display:inline-flex}.ticker-chip--sm{padding:.1rem .38rem;font-size:.65rem}.ticker-chip--heading{background:#4cc9f026;border-color:#4cc9f073;padding:.2rem .6rem;font-size:.82rem}.ticker-chip--inline{padding:.1rem .38rem;font-size:.68rem}.ticker-chip--table{padding:.08rem .32rem;font-size:.65rem}.insight-tickers{align-items:center;gap:.3rem;margin-top:.1rem;display:inline-flex}.insight-tickers-label{color:var(--text-dim);font-size:.6rem;font-family:var(--mono-font);text-transform:uppercase;letter-spacing:.07em}.chain-insights-strip{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width<=900px){.chain-insights-strip{grid-template-columns:1fr}}.insights-section{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.insights-group--multi{border:1px solid var(--line-strong);border-radius:var(--radius);background:#ffffff05;border-top:2px solid #4cc9f073;flex-direction:column;gap:.65rem;min-width:0;padding:.75rem;display:flex}.insights-group-header{border-bottom:1px solid var(--line);align-items:center;gap:.5rem;margin-bottom:.1rem;padding-bottom:.55rem;display:flex}.insights-group-legs{color:var(--text-dim);font-size:.68rem;font-family:var(--mono-font);margin-left:auto}.insights-group--multi .insight-panel{background:var(--panel-2)}.insight-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);flex-direction:column;min-width:0;padding:.75rem .85rem .85rem;display:flex}.insight-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.insight-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;font-weight:600}.insight-badges{flex-wrap:wrap;gap:.35rem;display:flex}.insight-badge{font-family:var(--mono-font);font-variant-numeric:tabular-nums;letter-spacing:.02em;border:1px solid #0000;border-radius:4px;padding:.18rem .45rem;font-size:.7rem;font-weight:600}.insight-badge.pos{color:#86efac;background:#22c55e24;border-color:#22c55e59}.insight-badge.neg{color:#fca5a5;background:#ef444424;border-color:#ef444459}.insight-badge.neutral{color:var(--text-muted);background:#8b98a51a;border-color:#8b98a54d}.insight-badge.accent{color:var(--accent-warm);background:#f5b5441f;border-color:#f5b54466}.insight-chart{width:100%;height:190px;display:block}.insight-caption{color:var(--text-dim);margin:.5rem 0 0;font-size:.7rem;line-height:1.35}.insight-title-row{align-items:center;gap:5px;display:flex}.info-hover{flex-shrink:0;align-items:center;display:inline-flex;position:relative}.info-hover-icon{border:1px solid var(--text-muted);width:14px;height:14px;color:var(--text-muted);font-size:.58rem;font-weight:700;font-family:var(--mono-font);cursor:default;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;transition:color .15s,border-color .15s;display:inline-flex}.info-hover:hover .info-hover-icon,.info-hover:focus .info-hover-icon{color:var(--accent);border-color:var(--accent);outline:none}.info-hover-tooltip{background:var(--panel-3,#1a1f2e);border:1px solid var(--line);width:230px;color:var(--text-dim);z-index:60;pointer-events:none;white-space:normal;border-radius:6px;padding:.5rem .6rem;font-size:.68rem;line-height:1.45;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000059}.insight-axis{stroke:var(--line-strong);stroke-width:1px}.insight-zero{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:3 4}.insight-grid{stroke:var(--line);stroke-width:1px;stroke-dasharray:2 4;opacity:.6}.insight-line{fill:none;stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round}.insight-line-call{stroke:var(--pos)}.insight-line-put{stroke:var(--neg)}.insight-line-delta{stroke:var(--accent);stroke-width:2px}.insight-dot-call{fill:var(--pos)}.insight-dot-put{fill:var(--neg)}.insight-area-profit{fill:#22c55e47;stroke:#22c55e99;stroke-width:1px}.insight-area-loss{fill:#ef444447;stroke:#ef444499;stroke-width:1px}.insight-spot-line{stroke:var(--accent-warm);stroke-width:1px;stroke-dasharray:3 3;opacity:.85}.insight-breakeven{stroke:var(--accent);stroke-width:1px;stroke-dasharray:4 3;opacity:.75}.insight-leg-line{stroke:var(--text-muted);stroke-width:1px;stroke-dasharray:2 3;opacity:.5}.insight-maxpain-line{stroke:var(--accent-warm);stroke-width:1.5px;stroke-dasharray:5 4;opacity:.9}.insight-bar-call{fill:#22c55eb8}.insight-bar-put{fill:#ef4444b8}.insight-y-label{fill:var(--text-dim);font-family:var(--mono-font);font-variant-numeric:tabular-nums;font-size:13px}.insight-marker-label{fill:var(--text-muted);font-family:var(--mono-font);font-variant-numeric:tabular-nums;font-size:14px}.insight-marker-accent{fill:var(--accent-warm);font-weight:600}.insight-axis-title{fill:var(--text-dim);font-family:var(--mono-font);text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:600}.insight-legend-call{fill:var(--pos)}.insight-legend-put{fill:var(--neg)}.insight-legend-text{fill:var(--text-muted);font-family:var(--mono-font);font-size:12px}.insight-legend-text-call{fill:var(--pos);font-family:var(--mono-font);font-size:12px;font-weight:600}.insight-legend-text-put{fill:var(--neg);font-family:var(--mono-font);font-size:12px;font-weight:600}@media (width<=900px){.insights-section--single,.insights-section--multi{grid-template-columns:1fr}}.insight-panel--full{grid-column:1/-1}.insight-chart--tall{height:460px}.surface-svg{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none}.surface-svg--grabbing{cursor:grabbing}.surface-hint{fill:var(--text-dim);font-family:var(--mono-font);pointer-events:none;font-size:10px;font-style:italic}.insight-reset-btn{font-family:var(--mono-font);font-variant-numeric:tabular-nums;border:1px solid var(--line-strong);background:var(--panel-3);color:var(--text-muted);cursor:pointer;letter-spacing:.04em;border-radius:4px;padding:.18rem .55rem;font-size:.7rem;font-weight:600;transition:color .12s,border-color .12s,background .12s}.insight-reset-btn:hover,.insight-reset-btn.is-active{color:var(--text);border-color:var(--accent);background:var(--panel-2)}.surface-tick-dot{fill:var(--text-dim)}.surface-baseplane{fill:#4cc9f00a;stroke:#4cc9f040;stroke-width:1px;stroke-dasharray:3 4}.surface-axis{stroke:var(--line-strong);stroke-width:1.2px;fill:none}.surface-axis-faint{stroke:var(--line);stroke-width:1px;fill:none;stroke-dasharray:2 3;opacity:.6}.surface-cell{stroke:#0a0e1459;stroke-width:.4px;shape-rendering:geometricprecision}.surface-wire{fill:none;stroke:#e6edf324;stroke-width:.7px;stroke-linejoin:round}.surface-wire-price{stroke:#e6edf314;stroke-width:.6px}.surface-wire-today{stroke:#e6edf3a6;stroke-width:1.4px}.surface-wire-expiry{stroke:var(--accent);stroke-width:1.6px;stroke-linecap:round}.surface-curtain{stroke:#f5b54459;stroke-width:.8px}.surface-spot-ridge{fill:none;stroke:var(--accent-warm);stroke-width:2.2px;stroke-linejoin:round;stroke-linecap:round}.surface-spot-dot{fill:var(--accent-warm);stroke:var(--panel-2);stroke-width:1px}.surface-tick{stroke:var(--text-dim);stroke-width:1px}.surface-tick-sub{fill:var(--text-dim);font-family:var(--mono-font);font-variant-numeric:tabular-nums;font-size:10px}.surface-scenario-path{filter:drop-shadow(0 1px 1px #0009);pointer-events:none}.surface-scenario-halo{pointer-events:none;opacity:.55}.surface-legend-bg{fill:#0b0f19b8;stroke:#ffffff14;stroke-width:1px}.surface-legend-title{fill:var(--text-dim);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600}.surface-legend-label{fill:var(--text);font-size:11px}.surface-legend-value{font-family:var(--mono-font);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.surface-greek-cell{stroke:none;shape-rendering:geometricprecision;pointer-events:none}.insight-greek-select{font-family:var(--mono-font);font-variant-numeric:tabular-nums;border:1px solid var(--line-strong);background:var(--panel-3);color:var(--text-muted);cursor:pointer;letter-spacing:.04em;appearance:none;border-radius:4px;padding:.18rem .55rem;font-size:.7rem;font-weight:600;transition:color .12s,border-color .12s,background .12s}.insight-greek-select:hover,.insight-greek-select:focus{color:var(--text);border-color:var(--accent);background:var(--panel-2);outline:none}.insight-greek-select option{background:var(--panel-3);color:var(--text)}@media (width<=900px){.insight-chart--tall{height:340px}}.view-toggle{background:var(--panel);border:1px solid var(--line);border-radius:8px;align-items:center;gap:2px;width:fit-content;margin:0 0 12px;padding:3px;display:flex}.view-toggle-btn{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-radius:5px;padding:5px 18px;font-size:.72rem;font-weight:600;transition:background .12s,color .12s}.view-toggle-btn:hover{background:var(--line);color:var(--text)}.view-toggle-btn--active{background:var(--accent);color:#fff}.view-toggle-btn--active:hover{background:var(--accent)}.agg-view{display:contents}.agg-params-grid{grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.65rem;display:grid}.agg-param-block{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);flex-direction:column;gap:.5rem;padding:.65rem .75rem .75rem;display:flex}.agg-param-header{flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.1rem;display:flex}.agg-axis-pill{letter-spacing:.07em;text-transform:uppercase;color:#f5b544d9;background:#f5b54421;border:1px solid #f5b54447;border-radius:4px;padding:2px 7px;font-size:.62rem;font-weight:700}.agg-axis-pill--b{color:#8b5cf6d9;background:#8b5cf621;border-color:#8b5cf647}.agg-input-group{align-items:center;gap:.4rem;display:flex}.agg-number-input{background:var(--panel-2);border:1px solid var(--line-strong);border-radius:var(--radius);width:90px;color:var(--text);font-size:.82rem;font-family:var(--mono-font);font-variant-numeric:tabular-nums;appearance:textfield;padding:.3rem .45rem;transition:border-color .12s}.agg-number-input::-webkit-outer-spin-button{-webkit-appearance:none}.agg-number-input::-webkit-inner-spin-button{-webkit-appearance:none}.agg-number-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #4cc9f01f}.agg-number-input--sm{width:62px}.agg-pct{font-size:.72rem;font-family:var(--mono-font);white-space:nowrap;border:1px solid #0000;border-radius:4px;padding:.18rem .45rem;font-weight:600}.agg-pct.pos{color:#86efac;background:#22c55e24;border-color:#22c55e4d}.agg-pct.neg{color:#fca5a5;background:#ef444424;border-color:#ef44444d}.agg-slider-bar{z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);align-items:center;gap:.75rem;padding:.55rem .85rem;display:flex;position:sticky;top:.5rem;box-shadow:0 4px 18px #00000059}.agg-slider{min-width:0;accent-color:var(--accent);cursor:pointer;flex:1;height:18px}.agg-slider-endpoints{display:none}.agg-heatmap-outer{gap:.4rem;margin-top:.6rem;display:flex}.agg-y-label{writing-mode:vertical-rl;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;-webkit-user-select:none;user-select:none;flex-shrink:0;align-self:center;padding:4px 0;font-size:.68rem;font-weight:600;transform:rotate(180deg)}.agg-heatmap-scroll{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);-webkit-overflow-scrolling:touch;scrollbar-width:none;flex:1;min-width:0;max-height:min(540px,60vh);overflow:auto}.agg-heatmap-scroll::-webkit-scrollbar{display:none}.agg-heatmap-table{table-layout:auto;width:100%;min-width:unset!important}.agg-heatmap-table tbody th{z-index:1;text-align:right;background:var(--panel-3);width:48px;min-width:48px;position:sticky;left:0;padding-right:6px!important}.agg-heatmap-table tfoot th{z-index:2;background:var(--panel-3);position:sticky;bottom:0}.agg-heatmap-table tfoot th:first-child{z-index:3;left:0}.agg-heatmap-table td{width:54px;min-width:54px;height:36px;padding:.18rem .15rem}.agg-x-label{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;text-align:center;-webkit-user-select:none;user-select:none;margin:.3rem 0 0;font-size:.68rem;font-weight:600}.agg-spot-row>td,.agg-spot-row>th{border-top:1.5px solid #f5b5448c!important;border-bottom:1.5px solid #f5b5448c!important}.agg-spot-price{color:#f5b544e6!important}.agg-spot-col{border-left:1.5px solid #8b5cf68c!important;border-right:1.5px solid #8b5cf68c!important}@media (width<=900px){.agg-params-grid{grid-template-columns:1fr}.agg-slider-bar{flex-wrap:wrap;gap:.4rem}.agg-slider-endpoints{width:100%;color:var(--text-dim);font-size:.68rem;font-family:var(--mono-font);order:3;justify-content:space-between;display:flex}.agg-heatmap-table td,.agg-heatmap-table tbody th{width:40px;min-width:40px;font-size:.68rem}}.draggable-section{width:100%;min-width:0;position:relative}.drag-handle{cursor:grab;width:22px;height:22px;color:var(--text-dim);opacity:0;border-radius:var(--radius);-webkit-user-select:none;user-select:none;flex-shrink:0;place-items:center;transition:opacity .15s,background .12s,color .12s;display:grid}.draggable-section:hover .drag-handle{opacity:1}.drag-handle:hover{color:var(--accent);opacity:1;background:#4cc9f01a}.drag-handle:active{cursor:grabbing}.draggable-section--dragging{opacity:.45}.draggable-section--over{outline:2px dashed var(--accent);outline-offset:3px;border-radius:var(--radius-lg)}.auth-area{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.auth-user{align-items:center;gap:.55rem;display:flex}.auth-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:26px;height:26px}.auth-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.78rem;overflow:hidden}.auth-btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:.45rem;padding:.3rem .7rem;font-size:.78rem;font-weight:500;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.auth-btn--in{background:var(--surface,#1a1a2e);border-color:var(--line-strong);color:var(--text)}.auth-btn--in:hover{border-color:var(--accent);background:#4cc9f00f}.auth-btn--in:focus{outline:none;box-shadow:0 0 0 3px #4cc9f026}.auth-btn--out{border-color:var(--line-strong);color:var(--text-muted);background:0 0}.auth-btn--out:hover{color:var(--text);border-color:var(--neg)}.auth-btn--out:focus{outline:none;box-shadow:0 0 0 3px #ef444426}.auth-gate-overlay{z-index:900;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-gate-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000000a6;position:absolute;inset:0}.auth-gate-dialog{z-index:1;background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;gap:.75rem;width:90%;max-width:360px;padding:2rem 2rem 1.75rem;display:flex;position:relative}.auth-gate-close{color:var(--text-dim);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:.25rem;font-size:1rem;line-height:1;position:absolute;top:.75rem;right:.75rem}.auth-gate-close:hover{color:var(--text)}.auth-gate-icon{font-size:2rem;line-height:1}.auth-gate-title{color:var(--text);margin:0;font-size:1.05rem;font-weight:600}.auth-gate-body{color:var(--text-muted);margin:0;font-size:.82rem;line-height:1.5}.auth-gate-cta{margin-top:.25rem;padding:.5rem 1.1rem;font-size:.85rem}@media (width<=600px){.auth-name{display:none}}.pk-wrap{width:100%;position:relative}.pk-input{box-sizing:border-box;border:1px solid var(--line-strong);background:var(--panel-2);border-radius:var(--radius);width:100%;font:inherit;color:var(--text);padding:.5rem 2rem .5rem .65rem;font-size:.85rem;transition:border-color .12s,box-shadow .12s}.pk-input:hover{border-color:#3b4a63}.pk-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #4cc9f026}.pk-input::placeholder{color:var(--text-dim)}.pk-trigger{box-sizing:border-box;border:1px solid var(--line-strong);background:var(--panel-2);border-radius:var(--radius);width:100%;font:inherit;color:var(--text);cursor:pointer;text-align:left;align-items:center;gap:.4rem;padding:.5rem .65rem;font-size:.85rem;transition:border-color .12s,background .12s;display:flex}.pk-trigger:hover{background:var(--panel-3);border-color:#3b4a63}.pk-trigger.open{border-color:var(--accent);box-shadow:0 0 0 3px #4cc9f026}.pk-trigger.placeholder .pt-label{color:var(--text-dim)}.pk-trigger:disabled{opacity:.5;cursor:not-allowed}.pt-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);font-variant-numeric:tabular-nums;flex:1;overflow:hidden}.pt-days{font-family:var(--mono-font);background:var(--panel-3);color:var(--text-muted);white-space:nowrap;border:1px solid var(--line);border-radius:3px;flex-shrink:0;padding:.12rem .4rem;font-size:.68rem;font-weight:600}.pt-days.itm{color:#86efac;background:#22c55e1f;border-color:#22c55e4d}.pt-days.otm{color:#fca5a5;background:#ef44441a;border-color:#ef444447}.pt-chevron{color:var(--text-dim);flex-shrink:0;font-size:.55rem}.pk-dropdown{z-index:300;background:var(--panel-2);border:1px solid var(--line-strong);border-radius:var(--radius);min-width:100%;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 12px 40px #0009}.pk-card{cursor:pointer;text-align:left;width:100%;font:inherit;color:var(--text);box-sizing:border-box;background:0 0;border:none;align-items:center;gap:.5rem;padding:.5rem .7rem;font-size:.82rem;transition:background 80ms;display:flex}.pk-card:hover{background:var(--panel-3)}.pk-card.selected{background:#4cc9f01a}.pk-ticker-input-box{position:relative}.selected-ticker-trigger{box-sizing:border-box;border:1px solid var(--line-strong);background:var(--panel-2);border-radius:var(--radius);width:100%;font:inherit;color:var(--text);cursor:pointer;text-align:left;align-items:center;gap:.6rem;min-height:0;padding:.5rem .65rem;transition:border-color .12s,background .12s;display:flex}.selected-ticker-trigger:hover{background:var(--panel-3);border-color:#3b4a63}.stl-body{flex:1;align-items:baseline;gap:.55rem;min-width:0;display:flex;overflow:hidden}.stl-name{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:400;overflow:hidden}.stl-edit{color:var(--text-dim);flex-shrink:0;font-size:.75rem}.stl-right{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.data-age-badge{letter-spacing:.02em;white-space:nowrap;border-radius:4px;padding:.1em .45em;font-size:.68rem;font-weight:600}.data-age-badge.fresh{color:#4ade80;background:#4ade802e}.data-age-badge.stale{color:#facc15;background:#facc152e}.data-age-badge.old{color:#f87171;background:#f871712e}.data-age-badge.demo{color:#94a3b8;background:#94a3b82e}.pk-busy{border:2px solid var(--line-strong);border-top-color:var(--accent);pointer-events:none;border-radius:50%;width:12px;height:12px;animation:.7s linear infinite pk-spin;position:absolute;top:50%;right:.6rem;transform:translateY(-50%)}@keyframes pk-spin{to{transform:translateY(-50%)rotate(360deg)}}.ticker-dropdown{width:100%;max-height:380px;overflow-y:auto}.tk-section-header{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);border-bottom:1px solid var(--line);background:var(--panel);padding:.5rem .7rem .3rem;font-size:.6rem;font-weight:600}.tk-type-hint{color:var(--text-dim);border-top:1px solid var(--line);text-align:center;padding:.45rem .7rem;font-size:.72rem;font-style:italic}.tk-no-results{color:var(--text-dim);text-align:center;padding:.75rem;font-size:.8rem}.ticker-card{border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .7rem}.ticker-card:last-child{border-bottom:none}.ticker-card.selected{background:#4cc9f014}.tc-row1{align-items:center;gap:.5rem;width:100%;display:flex}.tc-check{color:var(--pos);font-size:.75rem;font-weight:700}.tc-symbol{font-family:var(--mono-font);color:var(--text);letter-spacing:0;font-size:.95rem;font-weight:700}.tc-name{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.78rem;font-weight:400;overflow:hidden}.tc-meta{flex-wrap:wrap;gap:.28rem;margin-top:.2rem;display:flex}.tc-badge{font-family:var(--mono-font);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--line);background:var(--panel-3);color:var(--text-muted);border-radius:3px;padding:.08rem .35rem;font-size:.6rem;font-weight:600}.tc-badge.exchange{color:var(--accent-2);border-color:#7dd3fc40}.tc-badge.equity{color:#86efac;border-color:#22c55e40}.tc-badge.etf{color:#93c5fd;border-color:#3b82f640}.tc-badge.index{color:#d8b4fe;border-color:#a855f740}.tc-badge.mutualfund{color:#fdba74;border-color:#f9731640}.exp-dropdown{width:auto;min-width:0;max-width:100%;max-height:340px;left:0;right:0;overflow:hidden auto}.exp-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:.4rem;min-width:0;padding:.45rem .6rem}.exp-row:last-child{border-bottom:none}.er-date{min-width:0;font-family:var(--mono-font);font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;font-size:.76rem;font-weight:500;overflow:hidden}.er-days{font-family:var(--mono-font);color:var(--text-muted);background:var(--panel-3);white-space:nowrap;border:1px solid var(--line);border-radius:3px;padding:.1rem .36rem;font-size:.66rem;font-weight:600}.er-tag{font-family:var(--mono-font);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border:1px solid var(--line);background:var(--panel-3);border-radius:3px;flex-shrink:0;padding:.1rem .36rem;font-size:.58rem;font-weight:600}.er-tag.weekly{color:#fcd34d;border-color:#eab3084d}.er-tag.biweekly{color:#86efac;border-color:#22c55e4d}.er-tag.monthly{color:#93c5fd;border-color:#3b82f64d}.er-tag.quarterly{color:#d8b4fe;border-color:#a855f74d}.er-tag.leaps{color:#fdba74;border-color:#f973164d}.strike-dropdown{min-width:360px;max-width:calc(100vw - 1rem);max-height:400px;left:auto;right:0;overflow-y:auto}.sk-header{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);background:var(--panel);border-bottom:1px solid var(--line);z-index:1;grid-template-columns:1.7fr .8fr 1.6fr .9fr;gap:.25rem;padding:.4rem .7rem;font-size:.6rem;font-weight:600;display:grid;position:sticky;top:0}.strike-row{border-bottom:1px solid var(--line);font-family:var(--mono-font);font-variant-numeric:tabular-nums;color:var(--text);grid-template-columns:1.7fr .8fr 1.6fr .9fr;align-items:center;gap:.25rem;padding:.45rem .7rem;font-size:.8rem;transition:background 80ms;display:grid}.strike-row:last-child{border-bottom:none}.strike-row:hover{background:var(--panel-3)}.sr-strike{color:var(--text);align-items:center;gap:.3rem;font-weight:600;display:flex}.sr-iv,.sr-spread,.sr-vol{color:var(--text-muted);font-size:.75rem;font-family:var(--mono-font)}.sr-badge{font-family:var(--mono-font);text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--line);border-radius:3px;padding:.08rem .32rem;font-size:.56rem;font-weight:600}.sr-badge.itm{color:#86efac;background:#22c55e14;border-color:#22c55e4d}.sr-badge.otm{color:#fca5a5;background:#ef444414;border-color:#ef44444d}.strike-row.call.deep-itm{background:#22c55e38}.strike-row.call.mod-itm{background:#22c55e21}.strike-row.call.near-itm{background:#22c55e0f}.strike-row.call.atm{border-left:2px solid var(--accent-warm);background:#f5b5441a}.strike-row.call.near-otm{background:#ef44440d}.strike-row.call.mod-otm{background:#ef44441a}.strike-row.call.deep-otm{color:#e6edf3bf;background:#ef444429}.strike-row.put.deep-itm{background:#4cc9f033}.strike-row.put.mod-itm{background:#4cc9f01f}.strike-row.put.near-itm{background:#4cc9f00f}.strike-row.put.atm{border-left:2px solid var(--accent-warm);background:#f5b5441a}.strike-row.put.near-otm{background:#ef44440d}.strike-row.put.mod-otm{background:#ef44441a}.strike-row.put.deep-otm{color:#e6edf3bf;background:#ef444429}@media (width<=640px){.exp-dropdown,.strike-dropdown{width:auto;min-width:0;max-width:100%;left:0;right:0;transform:none}.sk-header,.strike-row{grid-template-columns:1.4fr .7fr 1.4fr 0fr;font-size:.74rem}.sk-header span:last-child,.sr-vol{display:none}}.position-builder{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;padding:.85rem}.pb-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.85rem;display:flex}.pb-header-text{flex-direction:column;gap:.2rem;min-width:0;display:flex}.pb-title-row{flex-wrap:wrap;align-items:center;gap:.6rem;min-width:0;display:flex}.pb-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:.72rem;font-weight:600}.pb-net-badge{letter-spacing:.02em;font-size:.7rem;font-weight:600;font-family:var(--mono-font);font-variant-numeric:tabular-nums;border:1px solid #0000;border-radius:20px;padding:.15rem .5rem;display:inline-block}.pb-net-badge.credit{color:var(--pos);background:#22c55e1f;border-color:#22c55e59}.pb-net-badge.debit{color:var(--neg);background:#ef44441a;border-color:#ef444452}.pb-subtitle{color:var(--text-dim);margin:0;font-size:.75rem}.pb-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-dim);margin-bottom:.5rem;font-size:.62rem;font-weight:600}.pb-strategies{border-bottom:1px solid var(--line);margin-bottom:.85rem;padding-bottom:.85rem}.pb-no-chain{color:var(--text-dim);margin:0 0 .5rem;font-size:.76rem;font-style:italic}.strategy-groups{flex-direction:column;gap:.4rem;display:flex}.strategy-group{flex-flow:column wrap;align-items:center;gap:.55rem;display:flex}.strategy-group-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;text-align:right;flex-shrink:0;min-width:68px;font-size:.62rem;font-weight:600}.strategy-btn-row{flex-wrap:wrap;justify-content:center;gap:.3rem;display:flex}.strategy-btn{background:var(--panel-2);color:var(--text);border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;white-space:nowrap;padding:.32rem .65rem;font-size:.72rem;font-weight:500;transition:border-color .12s,background .12s,color .12s}.strategy-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.strategy-btn:disabled{opacity:.4;cursor:not-allowed}.strategy-btn--dim:not(:disabled){opacity:.3}.strategy-btn--dim:not(:disabled):hover{opacity:1}.pb-section-label--row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.pb-finder-clear{border:1px solid var(--line);color:var(--text-muted);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.2rem .5rem;font-size:.68rem;font-weight:600;transition:color .12s,border-color .12s}.pb-finder-clear:hover{color:var(--text);border-color:var(--line-strong)}.pb-finder{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.5rem .85rem;margin:.35rem 0 .65rem;padding:.55rem .65rem;display:flex}.pb-finder-lead{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:600}.pb-finder-group{align-items:center;gap:.4rem;display:flex}.pb-finder-group-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:.65rem;font-weight:500}.pb-finder-chips{flex-wrap:wrap;gap:.25rem;display:flex}.pb-finder-chip{border:1px solid var(--line-strong);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:.22rem .55rem;font-size:.7rem;font-weight:500;transition:color .12s,border-color .12s,background .12s}.pb-finder-chip:hover{color:var(--text);border-color:var(--accent)}.pb-finder-chip--active{background:var(--accent);border-color:var(--accent);color:#0a0e1a}.pb-finder-chip--active:hover{color:#0a0e1a}.pb-actions{border-bottom:1px solid var(--line);margin-bottom:.85rem;padding-bottom:.85rem}.pb-action-row{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.pb-add-btn{color:var(--pos);border-radius:var(--radius);cursor:pointer;background:#22c55e1f;border:1px solid #22c55e66;padding:.4rem .85rem;font-size:.78rem;font-weight:600;transition:background .12s,border-color .12s}.pb-add-btn:hover:not(:disabled){border-color:var(--pos);background:#22c55e33}.pb-add-btn:disabled{opacity:.4;cursor:not-allowed}.pb-add-stock-btn{color:#a78bfa;background:#8b5cf61a;border-color:#8b5cf659}.pb-add-stock-btn:hover:not(:disabled){background:#8b5cf633;border-color:#a78bfa}.pb-add-stock-short{color:var(--neg);background:#ef444414;border-color:#ef444459}.pb-add-stock-short:hover:not(:disabled){border-color:var(--neg);background:#ef444429}.pb-reset-btn{color:var(--text-muted);border:1px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;background:0 0;padding:.4rem .85rem;font-size:.78rem;font-weight:500;transition:background .12s,border-color .12s,color .12s}.pb-reset-btn:hover:not(:disabled){color:var(--neg);background:#ef44440f;border-color:#ef444480}.pb-reset-btn:disabled{opacity:.4;cursor:not-allowed}.pb-add-hint{color:var(--text-dim);font-size:.74rem;font-family:var(--mono-font);font-variant-numeric:tabular-nums;margin:.5rem 0 0}.pb-add-hint strong{color:var(--text);font-weight:600}.legs-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);margin-top:.4rem;overflow-x:auto}.legs-table{border-collapse:collapse;width:100%;min-width:620px;font-family:var(--mono-font);font-variant-numeric:tabular-nums;font-size:.75rem}.legs-table th,.legs-table td{border:1px solid var(--line);text-align:center;white-space:nowrap;color:var(--text);padding:.32rem .45rem}.legs-table thead th{background:var(--panel-3);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;font-weight:600}.legs-table tfoot td{background:var(--panel-3);color:var(--text-muted);font-size:.72rem;font-weight:600}.leg-num{color:var(--text-dim);font-size:.7rem}.leg-badge{text-transform:uppercase;letter-spacing:.06em;font-size:.62rem;font-weight:600;font-family:var(--ui-font);border:1px solid #0000;border-radius:4px;padding:.08rem .4rem;display:inline-block}.leg-badge.side-buy{color:var(--pos);background:#22c55e1f;border-color:#22c55e4d}.leg-badge.side-sell{color:var(--neg);background:#ef44441a;border-color:#ef44444d}.leg-badge.type-call{color:var(--accent);background:#4cc9f01a;border-color:#4cc9f04d}.leg-badge.type-put{color:var(--accent-warm);background:#f5b5441a;border-color:#f5b5444d}.leg-badge.type-stock{color:#a78bfa;background:#8b5cf61f;border-color:#8b5cf64d}.leg-cell-select{background:var(--panel-2);color:var(--text);font-family:var(--mono-font);font-variant-numeric:tabular-nums;cursor:pointer;border:1px solid #0000;border-radius:3px;max-width:7rem;padding:.12rem .22rem;font-size:.75rem;transition:border-color .15s,background .15s}.leg-cell-select:hover{border-color:var(--line)}.leg-cell-select:focus{border-color:var(--accent);background:#4cc9f00f;outline:none}.leg-cell-text{font-family:var(--mono-font);font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:.75rem}.leg-qty-input{color:var(--text);font-family:var(--mono-font);font-variant-numeric:tabular-nums;text-align:center;-moz-appearance:textfield;background:0 0;border:1px solid #0000;border-radius:3px;width:2.8rem;padding:.1rem .2rem;font-size:.75rem;transition:border-color .15s,background .15s}.leg-qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.leg-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.leg-qty-input:hover{border-color:var(--line)}.leg-qty-input:focus{border-color:var(--accent);background:#4cc9f00f;outline:none}.leg-iv-cell{align-items:center;gap:1px;display:inline-flex}.leg-iv-input{color:var(--text);font-family:var(--mono-font);font-variant-numeric:tabular-nums;text-align:right;-moz-appearance:textfield;background:0 0;border:1px solid #0000;border-radius:3px;width:3rem;padding:.1rem .2rem;font-size:.75rem;transition:border-color .15s,background .15s}.leg-iv-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.leg-iv-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.leg-iv-input:hover{border-color:var(--line)}.leg-iv-input:focus{border-color:var(--accent);background:#4cc9f00f;outline:none}.leg-iv-suffix{color:var(--muted);-webkit-user-select:none;user-select:none;font-size:.7rem}.leg-payoff-cell{min-width:96px;padding:.2rem .35rem!important}.leg-mini-chart{margin:0 auto;display:block}.leg-mini-zero{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:2 3}.leg-mini-strike{stroke:var(--text-dim);stroke-width:1px;stroke-dasharray:1 2;opacity:.7}.leg-mini-area.pos{fill:var(--pos);opacity:.22}.leg-mini-area.neg{fill:var(--neg);opacity:.22}.leg-mini-line{fill:none;stroke:var(--text);stroke-width:1.25px;stroke-linejoin:round;stroke-linecap:round}.leg-mini-spot{fill:var(--accent-warm);stroke:var(--panel-2);stroke-width:.75px}.leg-remove-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;padding:.1rem .4rem;font-size:1rem;font-weight:600;line-height:1;transition:color .12s,background .12s,border-color .12s}.leg-remove-btn:hover{color:var(--neg);background:#ef44441a;border-color:#ef44444d}.legs-total-label{color:var(--text-muted);font-size:.7rem;font-style:italic;text-align:right!important}.legs-total-value{font-size:.8rem;font-weight:700}.legs-total-value.credit{color:var(--pos)}.legs-total-value.debit{color:var(--neg)}.pb-stock-grid{border-top:1px solid var(--line);margin-top:.85rem;padding-top:.85rem}.stock-legs-table{min-width:520px}.stock-shares-cell{color:var(--text);font-weight:600}.stock-price-cell{color:var(--text-muted)}.stock-pnl-cell{white-space:nowrap;font-size:.8rem;font-weight:700}.stock-pnl-pos{color:var(--pos)}.stock-pnl-neg{color:var(--neg)}.stock-pnl-pct{opacity:.8;font-size:.7rem;font-weight:500}@media (width<=720px){.position-builder{padding:.7rem}.strategy-group{flex-direction:column;align-items:flex-start;gap:.3rem}.strategy-group-label{text-align:left;min-width:auto}.legs-table{font-size:.7rem}.legs-table th,.legs-table td{padding:.24rem .32rem}}.scenario-manager{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);min-width:0;padding:.85rem}.sm-header{align-items:center;margin-bottom:0;display:flex}.sm-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;margin-right:auto;font-size:.72rem;font-weight:600}.sm-body{flex-direction:column;gap:.6rem;margin-top:.75rem;display:flex}.sm-save-row{align-items:center;gap:.5rem;display:flex}.sm-name-input{background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius);min-width:0;color:var(--text);flex:1;padding:.35rem .6rem;font-size:.82rem;transition:border-color .12s}.sm-name-input::placeholder{color:var(--text-dim)}.sm-name-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #4cc9f01f}.sm-save-btn{background:var(--accent);border-radius:var(--radius);color:#0a0e1a;cursor:pointer;border:none;flex-shrink:0;padding:.35rem .85rem;font-size:.78rem;font-weight:600;transition:opacity .12s}.sm-save-btn:hover:not(:disabled){opacity:.85}.sm-save-btn:disabled{opacity:.35;cursor:not-allowed}.sm-empty{color:var(--text-dim);margin:0;padding:.4rem 0;font-size:.78rem}.sm-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.sm-item{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:.75rem;min-width:0;padding:.45rem .65rem;transition:border-color .12s;display:flex}.sm-item:hover{border-color:var(--line-strong)}.sm-item-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.sm-item-name{color:var(--text);cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;max-width:100%;padding:0;font-size:.83rem;font-weight:600;transition:color .12s;overflow:hidden}.sm-item-name:hover{color:var(--accent)}.sm-rename-input{background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius);color:var(--text);outline:none;width:100%;padding:.15rem .4rem;font-size:.83rem;font-weight:600;box-shadow:0 0 0 2px #4cc9f026}.sm-item-meta{color:var(--text-dim);font-size:.7rem;font-family:var(--mono-font,monospace);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sm-item-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.sm-load-btn{border:1px solid var(--accent);border-radius:var(--radius);color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;padding:.22rem .65rem;font-size:.72rem;font-weight:600;transition:background .12s,color .12s}.sm-load-btn:hover{background:var(--accent);color:#0a0e1a}.sm-load-btn--done{background:var(--pos,#4ade80);border-color:var(--pos,#4ade80);color:#0a0e1a}.sm-delete-btn{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text-dim);cursor:pointer;background:0 0;flex-shrink:0;place-items:center;width:24px;height:24px;padding:0;font-size:.72rem;transition:border-color .12s,color .12s;display:grid}.sm-delete-btn:hover{border-color:var(--neg,#f87171);color:var(--neg,#f87171)}.sm-delete-btn--confirm{letter-spacing:.02em;background:var(--neg,#f87171);border-color:var(--neg,#f87171);color:#0a0e1a;width:auto;padding:0 .55rem;font-size:.7rem;font-weight:600}.sm-delete-btn--confirm:hover{opacity:.9;color:#0a0e1a}.insights-group{flex-direction:column;gap:8px;display:flex}.greeks-panel-outer{background:var(--panel-bg,#ffffff08);border:1px solid var(--border,#ffffff14);border-radius:10px;flex-direction:column;gap:12px;padding:16px;display:flex}.greeks-panel-header{align-items:center;gap:10px;display:flex}.greeks-panel-title{color:var(--text-primary,#e2e8f0);letter-spacing:.01em;font-size:.95rem;font-weight:600}.greeks-legend{color:var(--text-dim,#94a3b8);flex-wrap:wrap;gap:6px 16px;font-size:.72rem;display:flex}.greeks-legend-item{align-items:center;gap:5px;display:flex}.greeks-legend-swatch{border-radius:2px;flex-shrink:0;width:22px;height:3px}.greeks-charts-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.greeks-charts-grid>.greek-chart-panel:last-child{grid-column:1/-1}.greek-chart-panel{background:var(--surface-1,#ffffff05);border:1px solid var(--border,#ffffff0f);border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.greek-unit-label{color:var(--text-dim,#94a3b8);font-size:.75rem;font-weight:400}.greek-badge{letter-spacing:.01em;white-space:nowrap;opacity:.9;border:1px solid;border-radius:4px;align-items:center;padding:2px 7px;font-size:.72rem;font-weight:500;display:inline-flex}@media (width<=700px){.greeks-charts-grid{grid-template-columns:1fr}.greeks-charts-grid>.greek-chart-panel:last-child{grid-column:unset}}.ts-coming-soon-overlay{z-index:10;border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(6px);pointer-events:none;background:#04080e73;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ts-coming-soon-badge{border:1px solid var(--line-strong);border-radius:var(--radius-lg);pointer-events:auto;background:#0c121ce0;flex-direction:column;align-items:center;gap:.45rem;padding:1.5rem 2.5rem;display:flex;box-shadow:0 8px 32px #00000080}.ts-coming-soon-icon{font-size:2rem;line-height:1}.ts-coming-soon-title{letter-spacing:.03em;color:var(--text);font-size:1.15rem;font-weight:700}.ts-coming-soon-sub{color:var(--text-muted);text-align:center;font-size:.78rem}.ts-overlay{z-index:500;justify-content:center;align-items:flex-start;padding:3vh 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.ts-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#04080eb8;position:fixed;inset:0}.ts-dialog{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-lg);outline:none;flex-direction:column;width:auto;max-height:94vh;display:flex;position:relative;box-shadow:0 20px 60px #0009}.ts-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.15rem .75rem;display:flex}.ts-title-block h2{color:var(--text);letter-spacing:-.01em;margin:0;font-size:1rem;font-weight:600}.ts-subtitle{color:var(--text-muted);margin:.25rem 0 0;font-size:.76rem}.ts-close{border:1px solid var(--line-strong);background:var(--panel-2);color:var(--text-muted);border-radius:var(--radius);cursor:pointer;padding:.3rem .55rem;font-size:.8rem;transition:background .12s,color .12s,border-color .12s}.ts-close:hover{background:var(--panel-3);color:var(--text);border-color:var(--neg)}.ts-body{gap:.9rem;padding:.9rem 1.15rem 1.15rem;display:grid;overflow-y:auto}.ts-section{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:.75rem .85rem}.ts-section-title-row{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.55rem;display:flex}.ts-section-title{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.68rem;font-weight:700}.ts-run-meta{font-family:var(--mono-font);color:var(--text-dim);letter-spacing:0;text-transform:none;font-weight:500}.ts-link{cursor:pointer;color:var(--accent);background:0 0;border:none;padding:0;font-size:.72rem;font-weight:500}.ts-link:hover{text-decoration:underline}.ts-loading{color:var(--accent);font-size:.72rem;font-family:var(--mono-font)}.ts-universe-row{grid-template-columns:minmax(180px,1fr) 110px minmax(240px,2fr) auto;align-items:end;gap:.65rem;display:grid}.ts-field{gap:.25rem;min-width:0;display:grid}.ts-field span{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);font-size:.66rem;font-weight:600}.ts-field select,.ts-field input,.ts-custom-input{border:1px solid var(--line-strong);background:var(--panel-3);border-radius:var(--radius);font:inherit;color:var(--text);font-size:.82rem;font-family:var(--mono-font);box-sizing:border-box;width:100%;padding:.45rem .55rem;transition:border-color .12s,box-shadow .12s}.ts-field select{font-family:var(--ui-font)}.ts-field select:focus,.ts-field input:focus,.ts-custom-input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #4cc9f026}.ts-custom-input{resize:vertical;min-height:56px;font-size:.78rem}.ts-ticker-chips{border:1px solid var(--line);background:var(--panel-3);border-radius:var(--radius);flex-wrap:wrap;gap:.28rem;max-height:68px;padding:.35rem;display:flex;overflow-y:auto}.ts-chip{font-family:var(--mono-font);background:var(--panel);border:1px solid var(--line);color:var(--text-muted);border-radius:3px;padding:.1rem .4rem;font-size:.68rem}.ts-run-btn{background:var(--accent);color:#04121b;border-radius:var(--radius);height:34px;font:inherit;cursor:pointer;border:none;padding:0 1rem;font-size:.8rem;font-weight:600;transition:background .12s,transform 50ms}.ts-run-btn:hover{background:#6ed6f6}.ts-run-btn:active{transform:translateY(1px)}.ts-run-btn:disabled{opacity:.55;cursor:not-allowed;background:var(--panel-3);color:var(--text-muted)}.ts-filters-grid{grid-template-columns:repeat(3,1fr);gap:.55rem;display:grid}.ts-filter{background:var(--panel-3);border:1px solid var(--line);border-radius:var(--radius);gap:.3rem;padding:.5rem .6rem;display:grid}.ts-filter-label{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.35rem;font-size:.68rem;font-weight:600;display:flex}.ts-filter-hint{border:1px solid var(--line-strong);background:var(--panel);width:13px;height:13px;color:var(--text-dim);cursor:help;text-transform:none;letter-spacing:0;border-radius:50%;justify-content:center;align-items:center;font-size:.58rem;font-weight:700;display:inline-flex}.ts-filter-hint:hover{color:var(--text);border-color:var(--accent)}.ts-filter-inputs{align-items:center;gap:.35rem;display:flex}.ts-filter-inputs input{border:1px solid var(--line-strong);background:var(--panel);min-width:64px;font-family:var(--mono-font);color:var(--text);box-sizing:border-box;border-radius:4px;flex:1;padding:.35rem .5rem;font-size:.78rem}.ts-filter-inputs input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #4cc9f026}.ts-filter-sep{color:var(--text-dim);font-family:var(--mono-font);font-size:.85rem}.ts-results-section{min-height:200px}.ts-table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-3);max-height:480px;overflow:auto}.ts-table{border-collapse:collapse;width:100%;font-family:var(--mono-font);font-variant-numeric:tabular-nums;font-size:.78rem}.ts-table thead{z-index:2;background:var(--panel);position:sticky;top:0}.ts-th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:.5rem .6rem;font-size:.66rem;font-weight:700;transition:color .1s}.ts-th:hover{color:var(--text)}.ts-th.active{color:var(--accent)}.ts-th--right{text-align:right}.ts-th--left{text-align:left}.ts-sort-arrow{color:var(--accent);margin-left:.25rem;font-size:.55rem;display:inline-block}.ts-td{border-bottom:1px solid var(--line);color:var(--text);white-space:nowrap;padding:.5rem .6rem}.ts-td--right{text-align:right}.ts-td--left{text-align:left}.ts-row{cursor:pointer;transition:background 80ms}.ts-row:hover{background:var(--panel)}.ts-row:hover .ts-symbol{color:var(--accent)}.ts-pos{color:#86efac}.ts-neg{color:#fca5a5}.ts-symbol-cell{flex-direction:column;gap:.05rem;min-width:0;display:flex}.ts-symbol{color:var(--text);letter-spacing:0;font-weight:700;transition:color .1s}.ts-symbol-name{font-family:var(--ui-font);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:.66rem;overflow:hidden}.ts-empty{text-align:center;color:var(--text-dim);font-family:var(--ui-font);padding:2rem 1rem;font-style:italic}.ts-errors{color:var(--text-muted);margin-top:.6rem;font-size:.75rem}.ts-errors summary{cursor:pointer;color:var(--neg);padding:.3rem 0}.ts-errors ul{background:var(--panel-3);border:1px solid var(--line);border-radius:var(--radius);max-height:140px;margin:.3rem 0 0;padding:.4rem .6rem .4rem 1.4rem;overflow-y:auto}.ts-errors li{font-family:var(--mono-font);padding:.12rem 0;font-size:.72rem}.ts-errors strong{color:var(--text);font-weight:600}.ts-open-btn{border:1px solid var(--line-strong);background:var(--panel-2);color:var(--text-muted);border-radius:var(--radius);font:inherit;cursor:pointer;white-space:nowrap;align-items:center;gap:.35rem;padding:.45rem .7rem;font-size:.78rem;font-weight:500;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.ts-open-btn:hover{background:var(--panel-3);color:var(--text);border-color:var(--accent)}.ts-open-btn svg{flex-shrink:0;width:13px;height:13px}@media (width<=820px){.ts-universe-row{grid-template-columns:1fr 1fr}.ts-field--grow,.ts-run-btn{grid-column:1/-1}.ts-filters-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.ts-overlay{padding:1vh .5rem}.ts-dialog{max-height:98vh}.ts-universe-row,.ts-filters-grid{grid-template-columns:1fr}.ts-th,.ts-td{padding:.4rem .45rem;font-size:.72rem}.ts-symbol-name{max-width:100px}}.ts-dialog--gate{margin:auto;max-width:380px!important}.ts-gate{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.85rem;padding:3rem 2rem 2.5rem;display:flex}.ts-gate-icon{font-size:2.5rem;line-height:1}.ts-gate-title{color:var(--text);margin:0;font-size:1.1rem;font-weight:600}.ts-gate-body{color:var(--text-muted);max-width:280px;margin:0;font-size:.83rem;line-height:1.55}.ts-gate-btn{background:var(--surface,#1a1a2e);border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--text);cursor:pointer;align-items:center;gap:.5rem;margin-top:.5rem;padding:.55rem 1.2rem;font-size:.85rem;font-weight:500;transition:border-color .12s,background .12s;display:inline-flex}.ts-gate-btn:hover{border-color:var(--accent);background:#4cc9f00f}.ts-gate-btn:focus{outline:none;box-shadow:0 0 0 3px #4cc9f026}.panel-empty{background:var(--panel);border:1px dashed var(--line-strong);border-radius:var(--radius-lg);min-height:140px;color:var(--text-muted);justify-content:center;align-items:center;padding:1.25rem 1rem;display:flex}.panel-empty--compact{min-height:80px;padding:.75rem 1rem}.panel-empty--error{color:#fca5a5;background:#ef44440d;border-color:#ef444459}.panel-empty-body{text-align:center;flex-direction:column;align-items:center;gap:.4rem;max-width:360px;display:flex}.panel-empty-title{color:var(--text);margin:0;font-size:.88rem;font-weight:600}.panel-empty--error .panel-empty-title{color:#fecaca}.panel-empty-hint{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.4}.panel-empty--error .panel-empty-hint{color:#fca5a5}.panel-empty-action{background:var(--accent);border-radius:var(--radius);color:#0a0e1a;cursor:pointer;border:none;margin-top:.35rem;padding:.4rem .85rem;font-size:.78rem;font-weight:600;transition:opacity .12s}.panel-empty-action:hover{opacity:.85}.panel-empty-action:focus-visible{outline:none;box-shadow:0 0 0 3px #4cc9f040}.panel-empty--loading{border-style:solid;border-color:var(--line);background:var(--panel)}.panel-empty-skeleton{flex-direction:column;gap:.5rem;width:100%;max-width:640px;display:flex}.skel-bar{background:linear-gradient(90deg, var(--panel-2) 0%, #ffffff0a 50%, var(--panel-2) 100%);background-size:200% 100%;border-radius:4px;height:10px;animation:1.4s ease-in-out infinite skel-pulse}.skel-bar--sm{width:30%}.skel-bar--lg{width:55%}.skel-chart{border-radius:var(--radius);background:linear-gradient(90deg, var(--panel-2) 0%, #ffffff08 50%, var(--panel-2) 100%);background-size:200% 100%;height:100px;margin-top:.35rem;animation:1.4s ease-in-out infinite skel-pulse}@keyframes skel-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skel-bar,.skel-chart{animation:none}}.panel-empty-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=600px){.home-nav{padding:0 1rem}.home-hero{padding:4rem 1.25rem 3rem}.home-features{padding:1.5rem 1.25rem 3rem}.home-disclaimer{width:calc(100% - 2.5rem);padding:1rem 1.25rem}}.home-wrap{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.home-nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#0a0e14d9;justify-content:space-between;align-items:center;height:56px;padding:0 2rem;display:flex;position:sticky;top:0}.home-nav-brand{align-items:center;gap:.6rem;text-decoration:none;display:flex}.home-nav-name{color:var(--text);font-size:.875rem;font-weight:600}.home-concepts{display:grid}.home-concept{text-align:center}.home-concept-label{font-weight:700}.home-concepts-heading{text-align:center}.home-nav-links{align-items:center;gap:1.25rem;display:flex}.home-nav-link{color:var(--text-muted);font-size:.875rem;text-decoration:none;transition:color .15s}.home-nav-link:hover{color:var(--text)}.home-nav-cta{background:var(--accent);color:#0a0e14;border-radius:var(--radius);align-items:center;padding:.4rem .9rem;font-size:.8125rem;font-weight:700;text-decoration:none;transition:opacity .15s;display:inline-flex}.home-nav-cta:hover{opacity:.85}.home-hero{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:760px;margin:0 auto;padding:6rem 2rem 4rem;display:flex}.home-hero-badge{border:1px solid var(--accent);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;border-radius:99px;margin-bottom:1.75rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.home-hero-title{color:var(--text);margin:0 0 1.25rem;font-size:clamp(2.25rem,5vw,3.75rem);font-weight:700;line-height:1.15}.home-hero-accent{color:var(--accent)}.home-hero-sub{color:var(--text-muted);max-width:540px;margin:0 0 2.5rem;font-size:1.0625rem;line-height:1.7}.home-hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.home-btn{border-radius:var(--radius);align-items:center;padding:.65rem 1.5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:opacity .15s,background .15s;display:inline-flex}.home-btn--primary{background:var(--accent);color:#0a0e14}.home-btn--primary:hover{opacity:.87}.home-btn--ghost{color:var(--text-muted);border:1px solid var(--line-strong);background:0 0}.home-btn--ghost:hover{color:var(--text);border-color:var(--text-dim)}.home-features{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;width:100%;max-width:1100px;margin:0 auto;padding:2rem 2rem 4rem;display:grid}.home-feature{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.5rem}.home-feature-icon{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);width:44px;height:44px;color:var(--accent);justify-content:center;align-items:center;margin-bottom:1rem;display:flex}.home-feature h3{color:var(--text);margin:0 0 .5rem;font-size:.9375rem;font-weight:600}.home-feature p{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.65}.home-disclaimer{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-lg);width:calc(100% - 4rem);max-width:760px;margin:0 auto 3rem;padding:1.25rem 2rem}.home-disclaimer p{color:var(--text-muted);text-align:center;margin:0;font-size:.8125rem;line-height:1.7}.home-disclaimer strong{color:var(--accent-warm)}.home-inline-link{color:var(--accent);text-decoration:none}.home-inline-link:hover{text-decoration:underline}.home-footer{border-top:1px solid var(--line);color:var(--text-dim);justify-content:center;align-items:center;gap:.75rem;padding:1.5rem 2rem;font-size:.8rem;display:flex}.home-footer-sep{color:var(--line-strong)}.home-footer-link{color:var(--text-dim);text-decoration:none;transition:color .15s}.home-footer-link:hover{color:var(--text-muted)}.hero-mark{background:var(--accent);color:#0a0e14;letter-spacing:.08em;border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.65rem;font-weight:800;display:inline-flex}@media (width<=600px){.home-nav{padding:0 1rem}.home-hero{padding:4rem 1.25rem 3rem}.home-features{padding:1.5rem 1.25rem 3rem}.home-disclaimer{width:calc(100% - 2.5rem);padding:1rem 1.25rem}}.about-wrap{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.about-article{flex:1;width:min(760px,100% - 4rem);margin:3rem auto 4rem}.about-header{margin-bottom:3rem}.about-tag{background:var(--panel-2);border:1px solid var(--line);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border-radius:99px;margin-bottom:1rem;padding:.2rem .6rem;font-size:.7rem;font-weight:600;display:inline-block}.about-header h1{color:var(--text);margin:0 0 1rem;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;line-height:1.2}.about-lead{color:var(--text-muted);margin:0;font-size:1.05rem;line-height:1.7}.about-section{margin-bottom:2.5rem}.about-section h2{color:var(--text);border-bottom:1px solid var(--line);margin:0 0 .75rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:600}.about-section p{color:var(--text-muted);margin:.75rem 0;font-size:.9375rem;line-height:1.75}.about-section ul{margin:.75rem 0;padding-left:1.4rem}.about-section ul li{color:var(--text-muted);margin-bottom:.35rem;font-size:.9375rem;line-height:1.7}.about-section strong{color:var(--text)}.about-callout{border-radius:var(--radius-lg);margin:1.25rem 0;padding:1rem 1.25rem;font-size:.875rem;line-height:1.7}.about-callout--warn{background:color-mix(in srgb, var(--accent-warm) 8%, var(--panel-2));border:1px solid color-mix(in srgb, var(--accent-warm) 30%, transparent);color:var(--text-muted)}.about-callout--warn strong{color:var(--accent-warm)}.about-link{color:var(--accent);font-size:.9rem;text-decoration:none}.about-link:hover{text-decoration:underline}@media (width<=600px){.about-article{width:calc(100% - 2.5rem);margin:2rem auto 3rem}}.legal-wrap{width:min(860px,100% - 2rem);margin:2rem auto 4rem}.legal-back{color:var(--accent);margin-bottom:1.5rem;font-size:.875rem;text-decoration:none;display:inline-block}.legal-back:hover{text-decoration:underline}.legal-article{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);color:var(--text);padding:2rem 2.5rem;line-height:1.75}.legal-article h1,.legal-article h2,.legal-article h3{color:var(--text);margin-top:1.75rem;margin-bottom:.5rem;line-height:1.3}.legal-article h1{margin-top:0;font-size:1.5rem}.legal-article h2{font-size:1.15rem}.legal-article h3{font-size:1rem}.legal-article p{color:var(--text-muted);margin:.75rem 0}.legal-article a{color:var(--accent);text-decoration:none}.legal-article a:hover{text-decoration:underline}.legal-placeholder{text-align:center;padding:2rem 0;font-style:italic;color:var(--text-dim)!important}.legal-placeholder code{font-family:var(--mono-font);background:var(--panel-2);border-radius:var(--radius);padding:.1em .35em;font-size:.85em}.app-footer{text-align:center;color:var(--text-dim);justify-content:center;align-items:center;gap:1rem;padding:1.5rem 1rem 2rem;font-size:.8rem;display:flex}.app-footer a{color:var(--text-dim);text-decoration:none}.app-footer a:hover{color:var(--text-muted);text-decoration:underline}
