.chart-shell{min-height:100dvh;height:100dvh;display:flex;flex-direction:column;background:var(--surface,var(--bg,#0e1117));color:var(--text-primary);overflow:hidden}.chart-ws{flex:1 1;display:flex;min-height:0}.chart-main{flex:1 1;display:flex;flex-direction:column;min-width:0}.chart-topbar{display:flex;gap:.7rem;padding:.45rem .8rem;border-bottom:1px solid var(--border);min-height:46px}.chart-back,.chart-topbar{flex:0 0 auto;align-items:center}.chart-back{display:inline-flex;justify-content:center;width:30px;height:30px;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;text-decoration:none}.chart-back:hover{color:var(--text-primary);border-color:rgba(var(--primary-rgb),.5)}.chart-tb-sym{display:flex;align-items:baseline;gap:.5rem;min-width:0}.chart-tb-sym strong{font-size:1.05rem;font-weight:800}.chart-tb-sym .chart-tb-name{font-size:.78rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.chart-tb-price{font-size:1rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-left:.3rem}.chart-tb-trend{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;font-weight:700;padding:.15rem .5rem;border-radius:6px}.chart-tb-trend.sig-up{color:var(--success,#16a34a);background:rgba(var(--success-rgb,40,167,69),.12)}.chart-tb-trend.sig-down{color:var(--danger,#dc2626);background:rgba(var(--danger-rgb,220,53,69),.12)}.chart-tb-trend.sig-neutral{color:var(--text-muted);background:rgba(148,163,184,.14)}.chart-tb-beta{font-size:.58rem;font-weight:800;letter-spacing:.05em;padding:.1rem .35rem;border-radius:4px;background:rgba(var(--primary-rgb),.16);color:var(--primary);text-transform:uppercase}.chart-tb-market{font-size:.7rem;color:var(--text-muted);white-space:nowrap}.chart-tb-market-always,.chart-tb-market-open{color:var(--success,#16a34a)}.chart-tb-market-holiday{color:var(--danger,#dc2626)}.chart-tb-spacer{flex:1 1}.chart-tb-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;text-decoration:none;flex:0 0 auto}.chart-tb-btn:hover{color:var(--text-primary);border-color:rgba(var(--primary-rgb),.5)}.chart-tb-detail{font-size:.8rem;color:var(--primary);text-decoration:none;white-space:nowrap;padding:0 .4rem}.chart-tb-detail:hover{text-decoration:underline}.chart-info-wrap{position:relative;display:inline-flex;flex:0 0 auto}.chart-info-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:8;width:min(280px,80vw);padding:.7rem .8rem;border:1px solid var(--border);border-radius:10px;background:var(--surface,#0e1117);box-shadow:0 10px 30px rgba(0,0,0,.45)}.chart-info-pop p{margin:0;font-size:.78rem;line-height:1.45;color:var(--text-secondary)}.chart-canvas-wrap{flex:1 1;min-height:0;display:flex;flex-direction:column;padding:.3rem .5rem 0}.chart-canvas-wrap .chart-view{flex:1 1;min-height:0;gap:.4rem}.chart-canvas-wrap .cv-chart-wrap{flex:1 1;min-height:0}.chart-canvas-wrap .cv-canvas{height:100%!important;min-height:0!important}.chart-canvas-wrap .cv-note{display:none}.chart-summary{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:.3rem .9rem;padding:.4rem .8rem;border-top:1px solid var(--border)}.chart-summary .it-sum-cell{min-width:52px}.chart-aside{flex:0 0 300px;display:flex;flex-direction:column;gap:.5rem;padding:.55rem;border-left:1px solid var(--border);min-height:0;transition:flex-basis .18s,padding .18s}.chart-aside.collapsed{flex-basis:0;width:0;padding:0;overflow:hidden;border-left:0}.chart-aside-head{display:flex;gap:.3rem}.chart-aside .it-tabs{flex:0 0 auto}.chart-aside .it-list{flex:1 1}.chart-main{position:relative}.mono{flex:0 0 auto;width:28px;height:28px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;font-size:.58rem;font-weight:800;color:#fff;letter-spacing:.02em;line-height:1}.mono-crypto{padding:4px;overflow:hidden}.chart-aside .it-row{gap:.5rem;padding-left:.2rem}.chart-aside .it-row .it-row-accent{display:none}.chart-aside .it-list{flex-direction:column;overflow-y:auto;overflow-x:hidden;gap:.1rem}.chart-aside .it-group{display:block}.chart-aside .it-group-head{display:flex}.chart-aside .it-row{flex-direction:row;align-items:center;min-width:0;flex:0 0 auto;border:0;border-radius:8px}.chart-aside .it-row-main{width:auto;flex:1 1}.chart-aside .it-row-nums{width:72px;flex-direction:column;align-items:flex-end}.chart-aside .it-colhead{display:flex}@media (hover:none){.chart-aside .it-row-actions{display:inline-flex}.chart-aside .it-row-detail,.chart-aside .it-row-fav{opacity:1}}@media (max-width:1024px){.chart-topbar{gap:.4rem;padding:.4rem .55rem}.chart-tb-sym{min-width:0;flex:0 1 auto}.chart-tb-sym strong{font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-tb-sym .chart-tb-name{display:none}.chart-tb-price{font-size:.9rem;margin-left:0;flex:0 0 auto}.chart-tb-trend{flex:0 0 auto;font-size:.74rem;padding:.12rem .4rem}.chart-tb-beta,.chart-tb-detail,.chart-tb-market,.chart-topbar .it-asof{display:none}.chart-back,.chart-tb-btn{flex:0 0 auto}}@media (max-width:860px){.chart-ws{flex-direction:column}.chart-aside{flex-basis:42vh;border-left:0;border-top:1px solid var(--border);padding:.5rem .5rem .3rem}.chart-aside.collapsed{flex-basis:0;padding:0}.chart-aside .it-colhead{display:none}.chart-aside .it-row-sym small{display:inline}.chart-canvas-wrap .cv-toolbar{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:.4rem;padding-bottom:.15rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}.chart-canvas-wrap .cv-toolbar::-webkit-scrollbar{display:none}.chart-canvas-wrap .cv-group{flex:0 0 auto;flex-wrap:nowrap}.chart-canvas-wrap .cv-chip{padding:.45rem .65rem}.chart-canvas-wrap .cv-legend{font-size:.66rem;gap:.5rem;padding:.15rem .4rem;top:6px;left:8px}.chart-summary{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:.3rem .8rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}.chart-summary::-webkit-scrollbar{display:none}.chart-summary .it-sum-cell{flex:0 0 auto}}@media (min-width:861px) and (max-width:1024px){.chart-aside{flex-basis:280px}}.cv-chart-wrap.alarm-armed .cv-canvas{cursor:crosshair}.cv-pickhint{top:8px;left:50%;transform:translateX(-50%);pointer-events:none;gap:.4rem;white-space:nowrap;font-size:.74rem;font-weight:600;background:rgba(0,0,0,.55);border:1px solid rgba(var(--primary-rgb),.5);padding:.25rem .6rem;border-radius:999px}.chart-alarm-fab,.cv-pickhint{position:absolute;z-index:6;display:inline-flex;align-items:center;color:var(--primary)}.chart-alarm-fab{right:12px;bottom:12px;width:44px;height:44px;border-radius:50%;justify-content:center;border:1px solid rgba(var(--primary-rgb),.6);background:var(--surface,#0e1117);font-size:1.1rem;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.35);transition:transform .12s,background .12s,box-shadow .12s}.chart-alarm-fab:hover{background:rgba(var(--primary-rgb),.14);transform:translateY(-1px)}.chart-alarm-fab.armed{background:var(--primary);color:#12131a;box-shadow:0 0 0 4px rgba(var(--primary-rgb),.25)}.chart-alarm-pop{position:absolute;right:12px;bottom:66px;z-index:7;width:min(258px,80vw);display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border:1px solid var(--border);border-radius:12px;background:var(--surface,#0e1117);box-shadow:0 10px 30px rgba(0,0,0,.45)}.chart-alarm-pop h4{margin:0;font-size:.85rem;color:var(--text-primary)}.chart-alarm-hint{font-size:.68rem;color:var(--text-muted);line-height:1.35}.chart-alarm-row{display:flex;align-items:center;gap:.4rem}.chart-alarm-row select{flex:0 0 64px}.chart-alarm-row input{flex:1 1;min-width:0}.chart-alarm-row input,.chart-alarm-row select{padding:.4rem .5rem;font-size:.85rem;border:1px solid var(--border);border-radius:7px;background:var(--surface-light,transparent);color:var(--text-primary);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chart-alarm-ccy{color:var(--text-muted);font-size:.85rem}.chart-alarm-warn{color:var(--danger)}.chart-alarm-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.1rem}.chart-alarm-actions button{padding:.4rem .8rem;font-size:.8rem;font-weight:700;cursor:pointer;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--text-secondary)}.chart-alarm-actions .save{background:var(--primary);color:#12131a;border-color:var(--primary)}@media (max-width:860px){.chart-alarm-fab{width:40px;height:40px;right:10px;bottom:10px}.chart-alarm-pop{bottom:58px;right:10px}}.chart-teaser{position:relative;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.chart-teaser .chart-back{position:absolute;top:1rem;left:1rem}.chart-teaser-body{max-width:720px;width:100%}.chart-teaser-body h1{display:flex;align-items:center;gap:.5rem;margin:0 0 .3rem}.chart-alarm-levels{display:flex;gap:.35rem}.chart-alarm-lvl{flex:1 1;padding:.3rem 0;font-size:.74rem;font-weight:700;cursor:pointer;border:1px solid var(--border);border-radius:6px;background:var(--surface-light,transparent);color:var(--text-secondary)}.chart-alarm-lvl:hover{color:var(--primary);border-color:var(--primary)}.chart-alarm-lvl-sl{color:var(--danger);border-color:rgba(var(--danger-rgb),.4)}.chart-alarm-lvl-sl:hover{color:var(--danger);border-color:var(--danger)}.chart-alarm-lvl-tp{color:var(--success);border-color:rgba(var(--success-rgb),.4)}.chart-alarm-lvl-tp:hover{color:var(--success);border-color:var(--success)}