@import "https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Rajdhani:wght@300;400;600;700&display=swap";:root{--bull:#0af;--bull-glow:#0c6;--bear:#ff33df;--bear-glow:#f35;--bg:#050810;--panel:#080d1a;--panel-2:#0a1226;--border:#0d1e3a;--border-bright:#1a3a6a;--text:#8aa4c8;--text-bright:#c8dff5;--mono:"Share Tech Mono", monospace;--sans:"Rajdhani", sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}html.light{--bull:#07c;--bull-glow:#084;--bear:#c0a;--bear-glow:#c14;--bg:#f0ede8;--panel:#faf8f5;--panel-2:#f5f2ec;--border:#d8d2c8;--border-bright:#b0a898;--text:#6b7280;--text-bright:#1e2535}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--text-bright);font-family:var(--sans);overscroll-behavior:none;overflow:hidden}body:before{content:"";pointer-events:none;z-index:1000;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000012 2px 4px);transition:opacity .3s;position:fixed;inset:0}html.light body:before{background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000006 2px 4px)}body:after{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#0064c80a 1px,#0000 1px),linear-gradient(90deg,#0064c80a 1px,#0000 1px);background-size:40px 40px;transition:opacity .3s;position:fixed;inset:0}html.light body:after{background-image:linear-gradient(#0050a006 1px,#0000 1px),linear-gradient(90deg,#0050a006 1px,#0000 1px)}.app{z-index:1;height:100dvh;max-height:100dvh;padding:calc(8px + var(--safe-top)) 8px calc(8px + var(--safe-bottom));flex-direction:column;gap:6px;display:flex;position:relative;overflow:hidden}.header{background:var(--panel);border:1px solid var(--border);border-top:2px solid var(--bull);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.logo{font-family:var(--mono);letter-spacing:4px;color:var(--bull);text-shadow:0 0 12px #00aaffb3,0 0 28px #00aaff4d;font-size:18px}.logo span{color:var(--bear);text-shadow:0 0 12px #ff33dfb3,0 0 28px #ff33df4d}.header-right{align-items:center;gap:10px;display:flex}.last-updated{font-family:var(--mono);color:var(--text);letter-spacing:1px;font-size:10px}.refresh-btn{font-family:var(--mono);letter-spacing:2px;border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;min-height:32px;padding:6px 10px;font-size:11px;transition:all .15s}.refresh-btn:hover,.refresh-btn:active{border-color:var(--bull);color:var(--bull)}.controls{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;display:flex}.btn-group{background:var(--panel);border:1px solid var(--border);gap:2px;padding:2px;display:flex}.btn{font-family:var(--mono);letter-spacing:1.5px;color:var(--text);cursor:pointer;background:0 0;border:none;min-height:34px;padding:7px 11px;font-size:11px;transition:all .15s}.btn:hover{color:var(--text-bright);background:#00aaff14}.btn.active{color:var(--bull);text-shadow:0 0 10px #00aaff80;background:#00aaff26}.label{font-family:var(--mono);color:var(--text);letter-spacing:2px;padding:0 4px;font-size:9px}.toggle-btn{font-family:var(--mono);letter-spacing:1.5px;border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;min-height:34px;padding:7px 10px;font-size:9px;transition:all .15s}.toggle-btn.on{color:var(--bull);background:#00aaff14;border-color:#0af6}.main{flex:1;grid-template-columns:1fr 240px;gap:8px;min-height:0;display:grid}.chart-panel{background:var(--panel);border:1px solid var(--border);flex-direction:column;min-height:0;display:flex;overflow:hidden}.chart-header{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.price-block{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.asset-label{font-family:var(--mono);color:var(--text);letter-spacing:2px;font-size:12px}.asset-price{font-family:var(--mono);color:var(--text-bright);letter-spacing:1px;font-size:22px}.price-change{font-family:var(--mono);font-size:13px}.price-change.up{color:var(--bull-glow)}.price-change.down{color:var(--bear)}.legend{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.legend span{font-family:var(--mono);letter-spacing:1px;font-size:10px}.chart-wrap{flex:1;min-height:0}.side-panel{flex-direction:column;gap:6px;min-height:0;padding-right:2px;display:flex;overflow:hidden auto}.side-panel::-webkit-scrollbar{width:4px}.side-panel::-webkit-scrollbar-track{background:0 0}.side-panel::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:2px}.info-card{background:var(--panel);border:1px solid var(--border);flex-shrink:0;padding:8px 10px}.card-label{font-family:var(--mono);letter-spacing:2.5px;color:var(--text);margin-bottom:6px;font-size:9px}.state-card{background:linear-gradient(180deg, var(--panel) 0%, var(--panel-2) 100%);border:1px solid var(--border);border-left:2px solid var(--bull);padding:10px 12px;box-shadow:inset 4px 0 10px -4px #00aaff4d}.state-row{justify-content:center;align-items:center;gap:14px;padding:6px 0;display:flex}.state-display{font-family:var(--mono);letter-spacing:5px;text-align:center;min-width:90px;font-size:28px;font-weight:700;transition:all .3s}.state-display.bull{color:var(--bull);text-shadow:0 0 18px #00aaffd9,0 0 36px #00aaff73}.state-display.bear{color:var(--bear);text-shadow:0 0 18px #ff33dfd9,0 0 36px #ff33df73}.state-display.neutral{color:#fff;text-shadow:0 0 10px #ffffff4d}.arrow{font-family:var(--mono);opacity:0;pointer-events:none;-webkit-user-select:none;user-select:none;will-change:transform, opacity, filter;font-size:22px;font-weight:700;line-height:1;transition:opacity .25s}.arrow.up{color:var(--bull-glow);text-shadow:0 0 8px #00cc66f2,0 0 18px #0c69,0 0 30px #00cc6659}.arrow.down{color:var(--bear-glow);text-shadow:0 0 8px #ff3355f2,0 0 18px #f359,0 0 30px #ff335559}.state-row.bull .arrow.up,.state-row.bear .arrow.down{opacity:1}.state-row.bull .arrow.up.left{animation:1.2s ease-in-out infinite bullPulseL}.state-row.bull .arrow.up.right{animation:1.2s ease-in-out infinite bullPulseR}.state-row.bear .arrow.down.left{animation:1.2s ease-in-out infinite bearPulseL}.state-row.bear .arrow.down.right{animation:1.2s ease-in-out infinite bearPulseR}@keyframes bullPulseL{0%,to{filter:brightness(.85);transform:translateY(2px)scale(.95)}50%{filter:brightness(1.3);transform:translateY(-6px)scale(1.15)}}@keyframes bullPulseR{0%,to{filter:brightness(.85);transform:translateY(2px)scale(.95)}50%{filter:brightness(1.3);transform:translateY(-6px)scale(1.15)}}@keyframes bearPulseL{0%,to{filter:brightness(.85);transform:translateY(-2px)scale(.95)}50%{filter:brightness(1.3);transform:translateY(6px)scale(1.15)}}@keyframes bearPulseR{0%,to{filter:brightness(.85);transform:translateY(-2px)scale(.95)}50%{filter:brightness(1.3);transform:translateY(6px)scale(1.15)}}@media (prefers-reduced-motion:reduce){.arrow{animation:none!important}}.state-bar{background:var(--border);width:100%;height:3px;margin-top:8px;overflow:hidden}.state-bar-fill{height:100%;transition:width .5s,background .3s}.stats-grid{grid-template-columns:1fr 1fr;gap:4px;display:grid}.stat{border:1px solid var(--border);background:#0000004d;padding:5px 7px}html.light .stat{background:#0000000a}.stat-label{font-family:var(--mono);letter-spacing:1.5px;color:var(--text);margin-bottom:3px;font-size:8.5px}.stat-value{font-family:var(--mono);color:var(--text-bright);font-size:12px}.params-list{flex-direction:column;gap:2px;display:flex}.param-row{font-family:var(--mono);justify-content:space-between;align-items:center;margin-top:3px;font-size:10.5px;display:flex}.param-name{color:var(--text);letter-spacing:1px}.param-val{color:var(--text-bright)}.slider{appearance:none;background:var(--border);cursor:pointer;border:none;outline:none;width:100%;height:4px}.slider::-webkit-slider-thumb{appearance:none;background:var(--bull);cursor:pointer;border:2px solid #0a1226;border-radius:50%;width:18px;height:18px;box-shadow:0 0 8px #00aaffb3}.slider::-moz-range-thumb{background:var(--bull);cursor:pointer;border:2px solid #0a1226;border-radius:50%;width:18px;height:18px;box-shadow:0 0 8px #00aaffb3}.reset-btn{font-family:var(--mono);letter-spacing:2px;border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:0 0;min-height:32px;margin-top:8px;padding:7px 0;font-size:9px;transition:all .15s}.reset-btn:hover,.reset-btn:active{border-color:var(--bull);color:var(--bull)}.with-dominance{grid-template:"chart side"1fr"dom side"220px/1fr 240px}.with-dominance .chart-panel{grid-area:chart}.with-dominance .dominance-panel{grid-area:dom}.with-dominance .side-panel{grid-area:side}.dominance-panel{background:var(--panel);border:1px solid var(--border);border-top:2px solid #f7931a;flex-direction:column;min-height:0;display:flex;overflow:hidden}.dominance-header{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;display:flex}.dom-value{font-family:var(--mono);color:#f7931a;letter-spacing:1px;text-shadow:0 0 12px #f7931a80;font-size:20px}.dom-chart-wrap{flex:1;min-height:0}.dom-toggle.on{color:#f7931a!important;background:#f7931a14!important;border-color:#f7931a80!important}.signal-log{background:var(--panel);border:1px solid var(--border);border-left:2px solid var(--bull);flex-shrink:1;min-height:90px;max-height:280px;padding:8px 10px;overflow-y:auto;box-shadow:inset 4px 0 10px -4px #0af3}.signal-log::-webkit-scrollbar{width:4px}.signal-log::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:2px}.signal-entry{font-family:var(--mono);border-bottom:1px solid #0d1e3a80;justify-content:space-between;gap:6px;padding:5px 0;font-size:10px;transition:background .1s;display:flex}.signal-entry.active{background:#ffffff0f;border-left:2px solid;padding-left:6px}.sig-date{color:var(--text)}.sig-state.bull{color:var(--bull)}.sig-state.bear{color:var(--bear)}.sig-state.neutral{color:#fff}.sig-state.nwe-buy{color:#00e5cc}.sig-state.nwe-sell{color:#f46}.nwe-state-card{background:linear-gradient(180deg, var(--panel) 0%, var(--panel-2) 100%);border:1px solid var(--border);border-left:2px solid #00e5cc;padding:8px 12px}.nwe-state-card .card-label{color:#00e5cc;opacity:.75}.nwe-state-row{justify-content:center;align-items:center;padding:4px 0;display:flex}.nwe-state-display{font-family:var(--mono);letter-spacing:4px;text-align:center;font-size:20px;font-weight:700;transition:all .3s}.nwe-state-display.buy{color:#00e5cc;text-shadow:0 0 14px #00e5cccc,0 0 28px #00e5cc59}.nwe-state-display.sell{color:#f46;text-shadow:0 0 14px #f46c,0 0 28px #ff446659}.nwe-state-display.none{color:var(--text);opacity:.4;text-shadow:none}.nwe-state-meta{font-family:var(--mono);color:var(--text);letter-spacing:1px;border-top:1px solid var(--border);justify-content:space-between;margin-top:4px;padding-top:4px;font-size:10px;display:flex}.nwe-log{border-left:2px solid #00e5cc}.st-state-card{background:linear-gradient(180deg, var(--panel) 0%, var(--panel-2) 100%);border:1px solid var(--border);border-left:2px solid #fff;padding:8px 12px}.st-state-card .card-label{color:#fff;opacity:.75}.st-state-row{justify-content:center;align-items:center;padding:4px 0;display:flex}.st-state-display{font-family:var(--mono);letter-spacing:4px;text-align:center;font-size:20px;font-weight:700;transition:all .3s}.st-state-display.buy{color:#0c6;text-shadow:0 0 14px #0c6c,0 0 28px #00cc6659}.st-state-display.sell{color:#ff33df;text-shadow:0 0 14px #ff33dfcc,0 0 28px #ff33df59}.st-state-display.none{color:var(--text);opacity:.4;text-shadow:none}.st-state-meta{font-family:var(--mono);color:var(--text);letter-spacing:1px;border-top:1px solid var(--border);justify-content:space-between;margin-top:4px;padding-top:4px;font-size:10px;display:flex}.st-log{border-left:2px solid #fff}.sig-state.st-buy{color:#0c6}.sig-state.st-sell{color:#ff33df}.overlay{flex-direction:column;justify-content:center;align-items:center;gap:14px;height:100%;padding:20px;display:flex}.spinner{border:2px solid var(--border);border-top-color:var(--bull);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{font-family:var(--mono);color:var(--text);letter-spacing:3px;font-size:12px;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.error-text{font-family:var(--mono);color:var(--bear);letter-spacing:2px;text-align:center;font-size:12px}.error-hint{font-family:var(--mono);color:var(--text);text-align:center;margin-top:10px;font-size:10px;line-height:1.8}details.info-card>summary{cursor:pointer;justify-content:space-between;align-items:center;padding:0;list-style:none;display:flex}details.info-card>summary::-webkit-details-marker{display:none}details.info-card>summary:after{content:"+";font-family:var(--mono);color:var(--text);font-size:16px;transition:transform .2s}details.info-card[open]>summary:after{content:"−"}details.info-card>summary .card-label{margin-bottom:0}details.info-card>.details-body{margin-top:8px}.disclaimer-backdrop{z-index:2000;-webkit-backdrop-filter:blur(6px);padding:16px;padding-top:calc(16px + var(--safe-top));padding-bottom:calc(16px + var(--safe-bottom));background:radial-gradient(#050810eb 0%,#050810fa 100%);justify-content:center;align-items:center;animation:.35s fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.disclaimer-backdrop.hide{animation:.35s forwards fadeOut}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0;visibility:hidden}}.disclaimer-modal{background:linear-gradient(180deg, var(--panel) 0%, var(--panel-2) 100%);border:1px solid var(--border);border-top:2px solid var(--bull);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);width:100%;max-width:560px;padding:24px 26px 20px;position:relative;box-shadow:0 0 60px #00aaff26,0 0 120px #ff33df14}.disclaimer-modal:before{content:"";pointer-events:none;clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,0 100%);background-image:linear-gradient(#0064c80d 1px,#0000 1px),linear-gradient(90deg,#0064c80d 1px,#0000 1px);background-size:20px 20px;position:absolute;inset:0}.disclaimer-modal>*{z-index:1;position:relative}.disc-logo{font-family:var(--mono);letter-spacing:6px;color:var(--bull);text-shadow:0 0 16px #00aaffb3,0 0 32px #00aaff4d;margin-bottom:4px;font-size:22px}.disc-logo span{color:var(--bear);text-shadow:0 0 16px #ff33dfb3,0 0 32px #ff33df4d}.disc-tag{font-family:var(--mono);letter-spacing:3px;color:var(--text);border-bottom:1px solid var(--border);margin-bottom:18px;padding-bottom:12px;font-size:10px}.disc-title{font-family:var(--mono);letter-spacing:2.5px;color:var(--bear);text-shadow:0 0 8px #ff33df66;margin-bottom:14px;font-size:13px}.disc-body{font-family:var(--sans);color:var(--text-bright);margin-bottom:14px;font-size:14px;line-height:1.55}.disc-body p{margin-bottom:10px}.disc-body strong{color:var(--bull);letter-spacing:.5px;font-weight:600}.disc-body .warn{color:var(--bear);font-weight:600}.disc-bullets{border:1px solid var(--border);background:#00000040;margin:0 0 14px;padding:10px 12px;list-style:none}html.light .disc-bullets{background:#0000000a}.disc-bullets li{font-family:var(--mono);letter-spacing:.5px;color:var(--text-bright);padding:4px 0 4px 16px;font-size:11px;line-height:1.5;position:relative}.disc-bullets li:before{content:"▸";color:var(--bull);position:absolute;left:0}.disc-checkbox-row{border:1px solid var(--border);cursor:pointer;background:#0000004d;align-items:flex-start;gap:10px;margin-bottom:14px;padding:10px;transition:border-color .15s;display:flex}html.light .disc-checkbox-row{background:#0000000a}.disc-checkbox-row:hover{border-color:var(--border-bright)}.disc-checkbox-row.checked{border-color:#00aaff80}.disc-checkbox{appearance:none;border:1.5px solid var(--text);cursor:pointer;background:0 0;flex-shrink:0;width:18px;height:18px;margin-top:1px;transition:all .15s;position:relative}.disc-checkbox:checked{background:var(--bull);border-color:var(--bull);box-shadow:0 0 10px #0af9}.disc-checkbox:checked:after{content:"✓";color:#fff;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex;position:absolute;inset:0}html.light .disc-checkbox:checked:after{color:#fff}.disc-checkbox-label{font-family:var(--mono);letter-spacing:1px;color:var(--text-bright);-webkit-user-select:none;user-select:none;font-size:11px;line-height:1.5}.disc-actions{gap:10px;display:flex}.disc-btn{font-family:var(--mono);letter-spacing:2.5px;cursor:pointer;border:1px solid var(--border);color:var(--text);background:0 0;flex:1;min-height:44px;padding:12px 14px;font-size:12px;transition:all .2s}.disc-btn.decline:hover{border-color:var(--bear);color:var(--bear)}.disc-btn.accept{color:var(--bull);background:#00aaff0f;border-color:#0af6}.disc-btn.accept:not(:disabled):hover{text-shadow:0 0 10px #0af9;background:#00aaff2e;box-shadow:0 0 16px #00aaff59}.disc-btn:disabled{opacity:.35;cursor:not-allowed}.disc-copyright{font-family:var(--mono);letter-spacing:1.5px;color:var(--text);text-align:center;border-top:1px solid var(--border);opacity:.7;margin-top:14px;padding-top:12px;font-size:9px;line-height:1.7}.declined-screen{z-index:1500;background:var(--bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:20px;display:flex;position:fixed;inset:0}.declined-screen .msg{font-family:var(--mono);letter-spacing:3px;color:var(--bear);text-shadow:0 0 12px #ff33df80;font-size:14px}.declined-screen .sub{font-family:var(--mono);letter-spacing:2px;color:var(--text);font-size:11px}.app-footer{text-align:center;font-family:var(--mono);letter-spacing:1.5px;color:var(--text);opacity:.55;flex-shrink:0;padding:4px 8px 0;font-size:9px;line-height:1.5}.app-footer span{color:var(--bear);opacity:.8}@media (width<=760px){.app{padding:calc(6px + var(--safe-top)) 6px calc(6px + var(--safe-bottom));gap:5px;height:100dvh;overflow:hidden auto}.header{padding:7px 10px}.logo{letter-spacing:3px;font-size:15px}.last-updated{display:none}.controls{gap:4px}.label{display:none}.btn{letter-spacing:1px;min-height:36px;padding:7px 9px;font-size:10.5px}.toggle-btn{min-height:36px;padding:7px 8px;font-size:9px}.main{flex:none;grid-template-columns:1fr;gap:5px}.chart-panel{height:58vh;min-height:360px;max-height:560px}.chart-header{gap:6px;padding:7px 10px}.asset-price{font-size:19px}.legend{gap:8px}.legend span{font-size:9px}.legend .legend-extra{display:none}.side-panel{gap:5px;overflow:visible}.signal-log{max-height:240px}.with-dominance{grid-template:auto/1fr}.with-dominance .chart-panel,.with-dominance .dominance-panel,.with-dominance .side-panel{grid-area:unset}.dominance-panel{height:220px}.dom-value{font-size:17px}.state-display{letter-spacing:6px;min-width:110px;font-size:32px}.arrow{font-size:26px}.state-row{gap:18px;padding:8px 0}.slider{height:6px}.slider::-webkit-slider-thumb{width:22px;height:22px}.slider::-moz-range-thumb{width:22px;height:22px}.param-row{margin-top:5px;font-size:11.5px}.stat-value{font-size:13px}.stat-label{font-size:9px}.disclaimer-modal{padding:18px 18px 16px}.disc-logo{letter-spacing:4px;font-size:18px}.disc-title{letter-spacing:2px;font-size:12px}.disc-body{font-size:13px}.disc-bullets li{font-size:10.5px}.disc-actions{flex-direction:column-reverse}.disc-btn{font-size:11px}.app-footer{font-size:8.5px}}@media (width<=380px){.logo{letter-spacing:2px;font-size:13px}.btn{padding:6px 7px;font-size:10px}.asset-price{font-size:17px}.state-display{letter-spacing:5px;font-size:28px}.arrow{font-size:22px}}@media (height<=500px) and (width<=900px){.chart-panel{height:72vh;min-height:280px}}html.light .disclaimer-backdrop{background:radial-gradient(#f0ede8ed 0%,#f0ede8fa 100%)}html.light .logo{text-shadow:0 0 8px #0077cc59,0 0 20px #0077cc26}html.light .logo span{text-shadow:0 0 8px #cc00aa59,0 0 20px #cc00aa26}html.light .state-display.bull{text-shadow:0 0 12px #07c9,0 0 24px #0077cc40}html.light .state-display.bear{text-shadow:0 0 12px #c0a9,0 0 24px #cc00aa40}html.light .state-display.neutral{color:var(--text-bright);text-shadow:none}html.light .nwe-state-display.buy{text-shadow:0 0 10px #00b4a099,0 0 20px #00b4a040}html.light .nwe-state-display.sell{text-shadow:0 0 10px #dc1e4699,0 0 20px #dc1e4640}html.light .state-card{box-shadow:inset 4px 0 10px -4px #0077cc26}html.light .signal-log{box-shadow:inset 4px 0 10px -4px #0077cc1a}html.light .arrow.up{text-shadow:0 0 8px #008844e6,0 0 16px #00884480}html.light .arrow.down{text-shadow:0 0 8px #cc1144e6,0 0 16px #cc114480}html.light .disc-modal-bg{box-shadow:0 0 40px #0077cc1a,0 0 80px #cc00aa0f}html.light .sig-state.neutral{color:var(--text-bright)}.theme-toggle-btn{font-family:var(--mono);letter-spacing:2px;border:1px solid var(--border);color:var(--text);cursor:pointer;text-transform:uppercase;background:0 0;min-height:32px;padding:6px 10px;font-size:9px;transition:all .15s}.theme-toggle-btn:hover{border-color:var(--bull);color:var(--bull)}.cs-page{z-index:1;overscroll-behavior:contain;height:100dvh;padding:calc(10px + var(--safe-top)) 12px calc(10px + var(--safe-bottom));flex-direction:column;gap:12px;display:flex;position:relative;overflow-y:auto}.cs-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:10px;display:flex}.cs-back{font-family:var(--mono);letter-spacing:2px;color:var(--text);font-size:9px;text-decoration:none}.cs-back:hover{color:var(--bull)}.cs-title{letter-spacing:4px;color:var(--text-bright);margin:4px 0 2px;font-size:22px;font-weight:700}.cs-title span{color:var(--bull)}.cs-subtitle{font-family:var(--mono);letter-spacing:1px;color:var(--text);font-size:10px}.cs-header-right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cs-live{font-family:var(--mono);color:var(--text-bright);flex-direction:column;font-size:12px;line-height:1.3;display:flex}.cs-live em{letter-spacing:1px;color:var(--text);font-size:8px;font-style:normal}.cs-state{flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:60px 20px;display:flex}.cs-diagnostics{flex-direction:column;gap:6px;display:flex}.cs-diagnostic{border-left:3px solid var(--border-bright);background:var(--panel);flex-wrap:wrap;align-items:baseline;gap:10px;padding:8px 10px;display:flex}.cs-diagnostic-title{font-family:var(--mono);letter-spacing:2px;white-space:nowrap;color:var(--text-bright);font-size:10px}.cs-diagnostic-message{color:var(--text);font-size:13px;line-height:1.5}.cs-diagnostic.is-info{border-left-color:var(--bull)}.cs-diagnostic.is-warning{border-left-color:#ffb020}.cs-diagnostic.is-warning .cs-diagnostic-title{color:#ffb020}.cs-diagnostic.is-critical{border-left-color:var(--bear)}.cs-diagnostic.is-critical .cs-diagnostic-title{color:var(--bear)}.cs-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;display:grid}.cs-metric{background:var(--panel);border:1px solid var(--border);padding:8px 10px}.cs-metric-wide{grid-column:span 2}.cs-metric-label{font-family:var(--mono);letter-spacing:1.5px;color:var(--text);margin-bottom:4px;font-size:8px}.cs-metric-value{font-family:var(--mono);color:var(--text-bright);overflow-wrap:anywhere;font-size:15px}.cs-metric-value.is-warn{color:#ffb020}.cs-metric-value.is-bad{color:var(--bear)}.cs-main{grid-template-columns:minmax(0,1fr) 300px;gap:12px;display:grid}.cs-chart-panel{background:var(--panel);border:1px solid var(--border);flex-direction:column;gap:6px;padding:10px;display:flex}.cs-chart-legend{font-family:var(--mono);letter-spacing:1px;flex-wrap:wrap;align-items:center;gap:14px;font-size:9px;display:flex}.cs-chart-legend .btn-group{margin-right:4px}.cs-side{background:var(--panel);border:1px solid var(--border);max-height:640px;padding:10px;overflow-y:auto}.cs-chart-host{width:100%;height:520px;position:relative;overflow:hidden}.cs-chart-canvas{width:100%;height:100%}.cs-taut-string{pointer-events:none;z-index:3;position:absolute;top:0;left:0}.cs-vline{opacity:.55;pointer-events:none;z-index:2;border-left:1px dashed;width:0;position:absolute;top:0}.cs-vline-label{white-space:nowrap;font-family:var(--mono);letter-spacing:.5px;font-size:9px;position:absolute;top:2px;left:4px}.cs-vline-label-low{top:auto;bottom:20px}.cs-end-dot{pointer-events:none;z-index:4;background:0 0;border:2px solid #8b5cf6;border-radius:50%;width:11px;height:11px;margin:-6px 0 0 -6px;position:absolute}.cs-end-label{white-space:nowrap;font-family:var(--mono);color:#8b5cf6;align-items:baseline;gap:5px;font-size:9px;display:flex;position:absolute;top:-4px;left:14px}.cs-end-label em{opacity:.65;font-style:normal}.cs-current-dot{pointer-events:none;z-index:4;background:#f7931a;border-radius:50%;width:9px;height:9px;margin:-5px 0 0 -5px;position:absolute;box-shadow:0 0 8px #f7931acc}.cs-pin{cursor:grab;touch-action:none;z-index:5;background:#8b5cf6;border:2px solid #fff;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;position:absolute;box-shadow:0 0 12px #8b5cf6e6}.cs-pin:focus-visible{outline:2px solid var(--bull);outline-offset:3px}.cs-pin.is-dragging{cursor:grabbing;transform:scale(1.15)}.cs-pin-label{white-space:nowrap;pointer-events:none;font-family:var(--mono);color:#fff;background:#141928eb;border:1px solid #8b5cf6;align-items:baseline;gap:6px;padding:3px 6px;font-size:10px;display:flex;position:absolute;top:-6px;left:20px}.cs-pin-label em{opacity:.7;font-style:normal}.cs-controls{flex-direction:column;gap:14px;display:flex}.cs-control-block{flex-direction:column;gap:6px;display:flex}.cs-select,.cs-input{font-family:var(--mono);background:var(--panel-2);width:100%;color:var(--text-bright);border:1px solid var(--border);min-height:32px;padding:6px 8px;font-size:11px}.cs-checks{flex-direction:column;gap:5px;display:flex}.cs-check{cursor:pointer;font-family:var(--mono);letter-spacing:.5px;color:var(--text);align-items:center;gap:7px;font-size:10px;display:flex}.cs-note{color:var(--text);opacity:.85;margin:0;font-size:11px;line-height:1.6}.cs-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px;display:grid}.cs-pin-readout,.cs-burn,.cs-section{background:var(--panel);border:1px solid var(--border);flex-direction:column;gap:8px;padding:10px;display:flex}.cs-pin-readout.is-invalid{border-color:var(--bear)}.cs-invalid-text{color:var(--bear);margin:0;font-size:13px;line-height:1.6}.cs-pin-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;display:grid}.cs-pin-grid .stat-value em{opacity:.6;font-size:10px;font-style:normal}.cs-allocation{flex-direction:column;gap:4px;display:flex}.cs-allocation-label{font-family:var(--mono);letter-spacing:1.5px;color:var(--text);font-size:9px}.cs-allocation-ends{font-family:var(--mono);color:var(--text);opacity:.7;justify-content:space-between;font-size:9px;display:flex}.cs-table-wrap{overflow-x:auto}.cs-table{border-collapse:collapse;width:100%;min-width:720px;font-size:12px}.cs-table th{font-family:var(--mono);letter-spacing:1px;text-align:left;color:var(--text);border-bottom:1px solid var(--border-bright);white-space:nowrap;padding:6px 8px;font-size:9px}.cs-table td{border-bottom:1px solid var(--border);color:var(--text-bright);font-family:var(--mono);white-space:nowrap;padding:6px 8px}.cs-table td em{color:var(--text);font-size:10px;font-style:normal;display:block}.cs-table td.is-key{color:var(--bull)}.cs-table td.is-good{color:var(--bull-glow)}.cs-table td.is-bad{color:var(--bear)}.cs-table tr.is-open td{background:#f7931a12}.cs-flag{letter-spacing:1px;color:#ffb020;border:1px solid #ffb020;margin-left:6px;padding:1px 4px;font-size:8px}.cs-normalized{flex-direction:column;gap:8px;display:flex}.cs-normalized-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cs-legend{font-family:var(--mono);letter-spacing:1px;flex-wrap:wrap;gap:12px;font-size:9px;display:flex}.cs-svg{background:var(--panel-2);border:1px solid var(--border);width:100%;height:auto}.cs-svg-grid{stroke:var(--border);stroke-width:1px}.cs-svg-tick{fill:var(--text);font-family:var(--mono);font-size:9px}.cs-svg-reference{stroke:var(--text);stroke-width:1px;stroke-dasharray:4 4;opacity:.5}.cs-explainer{background:var(--panel)}.cs-steps{color:var(--text);flex-direction:column;gap:5px;margin:0 0 8px 18px;font-size:13px;line-height:1.5;display:flex}.cs-dump{font-family:var(--mono);color:var(--text);background:var(--panel-2);border:1px solid var(--border);white-space:pre;max-height:340px;padding:10px;font-size:10px;line-height:1.5;overflow:auto}.cs-backtest{flex-direction:column;gap:10px;display:flex}.cs-footer{font-family:var(--mono);letter-spacing:1px;color:var(--text);text-align:center;opacity:.8;padding:8px 0;font-size:9px}.cs-footer span{color:var(--bear)}@media (width<=900px){.cs-main,.cs-row{grid-template-columns:1fr}.cs-side{max-height:none}.cs-chart-host{height:380px}.cs-title{letter-spacing:2px;font-size:18px}.cs-metric-wide{grid-column:span 1}}
