.chart-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.chart-body.minute-mode .chart-layout{grid-template-columns:minmax(0,1fr) 184px}
.chart-modal{z-index:10000!important;overflow:hidden;overscroll-behavior:contain}
.chart-dialog{display:flex;flex-direction:column;width:min(1080px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:hidden}
.chart-head{position:relative;z-index:2;flex:0 0 auto;background:#fbfbf8}
.chart-actions{flex-wrap:wrap;padding-right:38px}
.chart-close{position:absolute;top:10px;right:10px;z-index:3;display:grid;place-items:center;width:34px;height:34px;padding:0!important;border-color:#9aa9a0!important;background:#fff!important;color:#263b30!important;font-size:20px!important;line-height:1}
.chart-close:hover,.chart-close:focus-visible{border-color:#8f332b!important;background:#bd3f35!important;color:#fff!important;outline:2px solid #fff;outline-offset:-4px}
.chart-body{min-height:0;overflow:auto;overscroll-behavior:contain}
.chart-foot{flex:0 0 auto;padding-top:7px!important;background:#fbfbf8;border-top:1px solid #e0e5e1}
.chart-canvas-wrap{height:clamp(280px,55dvh,570px);min-height:0}
.chart-canvas{cursor:crosshair!important;touch-action:none}
@media(max-width:620px){.chart-modal{padding:6px!important;place-items:stretch}.chart-dialog{width:100%;max-height:calc(100dvh - 12px);margin:auto}.chart-head{padding:11px 52px 10px 12px!important;align-items:flex-start;flex-direction:column}.chart-actions{width:100%;padding-right:0}.chart-actions button:not(.chart-close){flex:1}.chart-close{top:8px;right:8px}.chart-body{padding:9px 10px 6px!important}.chart-canvas-wrap{height:clamp(260px,48dvh,440px);min-height:0!important}.chart-foot{padding:7px 10px 9px!important}}
@media(max-height:620px){.chart-modal{padding:6px!important}.chart-dialog{max-height:calc(100dvh - 12px)}.chart-head{padding-top:9px!important;padding-bottom:9px!important}.chart-canvas-wrap{height:clamp(240px,46dvh,360px);min-height:0!important}}
.kline-toolbar{display:flex;align-items:center;gap:9px;margin-bottom:8px;color:#6d7972;font-size:9px}.kline-toolbar.hidden{display:none}.kline-toolbar>div{display:flex;gap:4px}.kline-toolbar button{border:1px solid #cdd6d0;background:#fff;color:#536159;padding:5px 8px;font-size:9px}.kline-toolbar button.active{background:#154f39;color:#fff;border-color:#154f39}.kline-toolbar small{margin-left:auto;display:flex;align-items:center;gap:5px;color:#7b857f}.signal-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.signal-dot.stage1{background:#1e6897}.signal-dot.morning{background:#13805a}
.kline-layer-controls{padding-left:7px;border-left:1px solid #d7ded9}.kline-layer-controls button{border-color:#9f8ab2;color:#70468d}.kline-layer-controls button.active{border-color:#70468d;background:linear-gradient(90deg,#16805a 0 32%,#3268b8 32% 66%,#bd3f35 66%);color:#fff}.kline-layer-controls button:focus-visible{outline:2px solid #70468d;outline-offset:2px}
.minute-insight{margin-bottom:10px;border:1px solid #d5ded8;background:linear-gradient(135deg,#f6faf7,#fbf8f0);padding:10px 12px;color:#31443a}
.minute-insight.hidden{display:none}
.minute-insight-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.minute-insight-head div{display:flex;align-items:baseline;gap:8px}.minute-insight-head b{font:700 14px serif}.minute-insight-head span{font-size:9px;color:#77827c}
.minute-insight-head>strong{padding:4px 10px;border-radius:999px;font-size:10px;background:#edf0ed}.minute-insight-head>strong.positive{color:#a33831;background:#faeae7}.minute-insight-head>strong.negative{color:#087153;background:#e6f3ed}
.minute-insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.minute-insight-grid>div{border-left:3px solid #cbd6cf;background:#fff;padding:6px 8px;min-width:0}.minute-insight-grid span,.minute-insight-grid b{display:block}.minute-insight-grid span{font-size:8px;color:#7b857f;margin-bottom:3px}.minute-insight-grid b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.minute-insight p{margin:8px 0 0;color:#5b6961;font-size:9px;line-height:1.5}.minute-insight-empty{color:#7c8780;text-align:center;padding:5px}
.minute-insight-head>strong.path-a{color:#1e6897;background:#e5f2fb}.minute-insight-head>strong.path-b{color:#a96318;background:#fff0dc}
.kline-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.kline-insight-grid>div{border-left:3px solid #cbd6cf;background:#fff;padding:6px 8px;min-width:0}.kline-insight-grid span,.kline-insight-grid b,.kline-insight-grid small{display:block}.kline-insight-grid span{font-size:8px;color:#7b857f;margin-bottom:3px}.kline-insight-grid b{font-size:9px;line-height:1.35}.kline-insight-grid small{font-size:8px;color:#838c86;margin-top:2px}
.minute-tooltip{position:absolute;z-index:6;width:136px;padding:8px 9px;border:1px solid #73877c;background:#fffffff2;box-shadow:0 5px 18px #1c35272d;pointer-events:none;font-size:9px;color:#43534a;line-height:1.5}
.minute-tooltip.hidden{display:none}.minute-tooltip b,.minute-tooltip span{display:block}.minute-tooltip>b{font:700 12px monospace;color:#173b2b;border-bottom:1px solid #e2e7e3;margin-bottom:3px}.minute-tooltip strong{font-family:monospace}
.minute-tooltip .tooltip-signal{margin-top:4px;padding-top:4px;border-top:1px solid #dce4de;color:#1e6897;font-weight:700}
.minute-tooltip .tooltip-er-title{margin-top:5px;padding-top:5px;border-top:1px solid #d8dfe6;color:#70468d;font-weight:800}.minute-tooltip .tooltip-er-signal{margin-top:3px;color:#70468d;font-weight:800}.kline-insight-grid .er-insight{border-left-color:#70468d;background:#faf7fc}
.legend-dash{display:inline-block;width:11px;border-top:1px dashed #77827c;vertical-align:middle;margin-right:4px}
.order-book{background:#fff;border:1px solid #e0e4e1;min-height:360px;padding:11px 10px;font-size:10px}
.order-book.hidden{display:none}
.book-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid #edf0ed}
.book-head b{font:700 14px serif}.book-head span{color:#77817b;font-size:9px}
.book-price{padding:10px 2px 8px;border-bottom:1px solid #edf0ed}
.book-price strong{display:block;font:700 22px monospace}.book-price small{color:#78827c}
.book-rows{padding:7px 0}.book-row{display:grid;grid-template-columns:34px 1fr 62px;gap:5px;align-items:center;height:24px;font-family:monospace}
.book-row .side{text-align:left;padding:0;grid-column:auto;border:0;background:none}.book-row .price{text-align:right}.book-row .volume{text-align:right;color:#6f7973}
.book-row.ask .side,.book-row.ask .price{color:#bd3f35}.book-row.bid .side,.book-row.bid .price{color:#14805a}
.book-divider{height:1px;background:#d9dfda;margin:3px 0}
.book-flow{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-top:1px solid #edf0ed;padding-top:8px;color:#6f7973}
.book-flow b{display:block;margin-top:2px;color:#37443d;font-family:monospace}
.book-note{margin-top:9px;color:#8a938d;font-size:8px;line-height:1.5}
.book-empty{padding:35px 4px;text-align:center;color:#8a938d;line-height:1.7}
@media(max-width:820px){.chart-body.minute-mode .chart-layout{grid-template-columns:1fr}.minute-insight-grid,.kline-insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.order-book{min-height:0}.book-rows{display:grid;grid-template-columns:1fr 1fr;column-gap:12px}.book-divider{display:none}}
@media(max-width:480px){.kline-toolbar{align-items:flex-start;flex-wrap:wrap}.kline-toolbar small{width:100%;margin-left:0}.kline-toolbar button{padding:5px 7px}.kline-layer-controls{padding-left:0;border-left:0}.minute-insight{padding:9px}.minute-insight-head{align-items:flex-start}.minute-insight-head div{display:block}.minute-insight-head span{display:block;margin-top:2px}.minute-insight-grid,.kline-insight-grid{gap:5px}.minute-insight-grid>div,.kline-insight-grid>div{padding:6px}.minute-insight p{font-size:8px}}

/* 登录与退出控件保持高对比，避免浅色背景下难以辨认 */
.account-pill{border-color:#8c9d93!important;background:#fff!important;color:#20382c!important;box-shadow:0 2px 8px #19312824}
.account-pill button{border:1px solid #8f332b!important;border-radius:5px!important;background:#bd3f35!important;color:#fff!important;padding:5px 9px!important;font-weight:700!important}
.account-pill button:hover{background:#9f2f27!important}
.auth-gate{background:linear-gradient(135deg,#d0dad4f7,#e8e5dcf8)!important}

/* 行情状态显示为可读的处理进度条 */
.live{position:relative;min-width:190px;padding-bottom:13px!important}
.live::after{content:"";position:absolute;left:10px;right:10px;bottom:6px;height:3px;border-radius:3px;background:linear-gradient(90deg,#159365 var(--live-progress,8%),#dfe5e0 var(--live-progress,8%));transition:background .25s ease}
.live.loading::after{background:linear-gradient(90deg,#d49b34 var(--live-progress,12%),#e7ebe7 var(--live-progress,12%))}
.live.failed::after{background:linear-gradient(90deg,#bd3f35 var(--live-progress,100%),#eadedc var(--live-progress,100%))}
