:root{
  --fusion-header:44px;
  --bg:#0e1014;--panel:#15181e;--panel2:#1b1f27;--elevated:#222733;
  --border:#292f3a;--border2:#3a424f;--text:#f2f4f7;--muted:#8b939f;--muted2:#c0c5ce;
  --accent:#8da8ff;--accent2:#c0ceff;--accentSoft:rgba(141,168,255,.12);--warning:#9fb5ff;
  --up:#22b889;--down:#ef5f70
}
html[data-theme="light"]{
  color-scheme:light;--bg:#f3f5f9;--panel:#fff;--panel2:#f3f5f9;--elevated:#e9edf4;
  --border:#dfe3ea;--border2:#cbd1dc;--text:#171b24;--muted:#7b8492;--muted2:#404855;
  --accent:#5d73e8;--accent2:#465cd2;--accentSoft:rgba(93,115,232,.1);--warning:#5d73e8;
  --up:#07956d;--down:#da4057
}
html,body{width:100%;height:100%;overflow:hidden}
body{height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 78% 9%,rgba(106,126,191,.1),transparent 30%),var(--bg);letter-spacing:.01em}
button:focus-visible,select:focus-visible,input:focus-visible{outline-color:rgba(141,168,255,.62)!important}
::selection{background:rgba(141,168,255,.28)}

/* 浮动全局顶栏 */
#appHeader{height:var(--fusion-header);flex:0 0 var(--fusion-header);display:flex;align-items:center;gap:12px;margin:10px 12px 0;padding:0 10px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel) 86%,transparent);box-shadow:0 15px 45px rgba(0,0,0,.22);backdrop-filter:blur(18px);z-index:240}
.globalBrand{display:flex;align-items:center;gap:9px;min-width:auto}.globalMark{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:0;background:transparent;color:var(--text);box-shadow:none}.klyneOrbitLogo{width:100%;height:100%;display:block;overflow:visible}.klyneOrbitLogo .orbitRing{fill:none;stroke:currentColor;stroke-width:5}.klyneOrbitLogo .orbitSlash{fill:none;stroke:var(--accent);stroke-width:5;stroke-linecap:round}.klyneOrbitLogo .orbitDot{fill:var(--accent2)}.brandMark{padding:1px!important;border:0!important;background:transparent!important;color:var(--text)!important;box-shadow:none!important}.globalBrand b{display:block;font-size:12px;letter-spacing:.13em}.klyneWordmark em{position:relative;color:var(--accent2);font-style:normal}.klyneWordmark em::after{content:"";position:absolute;left:1px;right:0;bottom:-3px;height:1.5px;border-radius:2px;background:var(--accent)}.globalBrand small{display:none}
.globalSearch{width:min(280px,32vw);height:30px;display:flex;align-items:center;gap:7px;margin-left:auto;padding:0 10px;color:var(--muted);background:var(--panel2);border:1px solid var(--border);border-radius:8px}.globalSearch input{width:100%;min-width:0;border:0;outline:0;color:var(--text);background:transparent;font-size:11px}.globalNav{display:none}.globalActions{margin-left:0;display:flex;align-items:center;gap:5px}.globalActions>button{height:29px;min-width:30px;padding:0 7px;border:1px solid var(--border);border-radius:7px;background:transparent;color:var(--muted2);cursor:pointer}#globalLive{display:flex;align-items:center;gap:6px;margin-right:5px;color:var(--up);font-size:8px;letter-spacing:.07em;text-transform:uppercase}#globalLive i{width:6px;height:6px;border-radius:50%;background:var(--up);box-shadow:0 0 10px var(--up)}#globalLive.warn{color:var(--warning)}#globalLive.warn i{background:var(--warning);box-shadow:0 0 10px var(--warning)}

/* 主画布 */
#appShell{min-width:0;min-height:0;position:relative;flex:1;display:flex;padding:10px 12px 12px;overflow:hidden}
#main{min-width:0;min-height:0;width:100%;flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden;border:1px solid var(--border);border-radius:15px;background:color-mix(in srgb,var(--panel) 78%,var(--bg));box-shadow:0 22px 70px rgba(0,0,0,.3)}
#topbar{min-height:58px;flex:0 0 58px;padding:7px 13px;gap:10px;flex-wrap:nowrap;border:0;background:transparent;box-shadow:none;z-index:12}.instrument{height:36px;display:flex;align-items:center;gap:8px;padding-right:12px;border-right:1px solid var(--border)}.instrument .assetLogo{width:28px;height:28px;flex-basis:28px;margin-right:-2px}.assetLogo{width:20px;height:20px;display:grid;place-items:center;flex:0 0 20px;border-radius:50%;overflow:hidden;background:var(--panel2);box-shadow:0 0 0 1px color-mix(in srgb,var(--border2) 80%,transparent)}.assetLogo img{width:100%;height:100%;display:block;object-fit:cover}#symlabel{font-size:14px;color:var(--text);font-weight:680}#price{font-size:25px;font-weight:760;letter-spacing:-.035em}#change{font-size:10px;font-weight:650;padding:4px 6px;border-radius:5px}#btnSidebar{width:30px;height:30px;padding:0;display:grid;place-items:center;flex:0 0 30px;border-color:var(--border);border-radius:7px;background:var(--panel2);color:var(--muted2)}#tools{margin-left:auto;display:flex;gap:5px}#tools .btn{height:30px;display:flex;align-items:center;padding:0 9px;border-color:var(--border);border-radius:7px;background:var(--panel2);color:var(--muted2)}#btnData::before{color:var(--accent2)}#btnAlert::before{color:var(--accent2)}
#charts{min-width:0;min-height:0;flex:1;display:flex;flex-direction:column;overflow:hidden;background:transparent}
#drawToolbar{position:relative;left:auto;top:auto;z-index:14;display:flex;flex:0 0 41px;align-items:center;width:auto;min-height:41px;margin:0 10px 6px;padding:4px 6px;gap:3px;overflow:visible;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel) 86%,transparent);box-shadow:0 12px 36px rgba(0,0,0,.2);backdrop-filter:blur(14px)}
#drawToolbar button{height:30px;border-radius:7px}#tfButton{height:30px!important;background:var(--panel2)!important}#drawFavorites{height:32px;margin:0 2px;padding:2px 4px;gap:4px;background:transparent;border-color:transparent}#drawFavorites button{height:28px}#drawMore{height:30px}.toolbarFeature{height:30px!important}#drawToolbar button:hover,#drawToolbar button.on{color:var(--accent2)!important;border-color:color-mix(in srgb,var(--accent) 40%,var(--border))!important;background:var(--accentSoft)!important}#drawToolbar>button[data-draw].on,#drawFavorites button.on,#drawToolbar #btnInd.on{color:#eef1ff!important;background:color-mix(in srgb,var(--accent) 78%,#3b4f9e)!important;border-color:var(--accent)!important;box-shadow:0 5px 16px rgba(70,88,180,.24)!important}#drawToolbar #btnInd.on::before{color:#eef1ff!important}#tfButton:hover,#tfButton.on{color:var(--accent2)!important;border-color:color-mix(in srgb,var(--accent) 38%,var(--border))!important;background:var(--accentSoft)!important}
#drawUtilityGroup{min-width:0;display:flex;align-items:center;gap:2px;margin-left:auto;padding:2px;border:1px solid var(--border);border-radius:9px;background:color-mix(in srgb,var(--bg) 55%,transparent)}#drawUtilityGroup .toolbarUtilityBtn{width:auto!important;min-width:0;flex:0 0 auto;height:28px!important;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 7px!important;border:1px solid transparent;border-radius:6px;color:var(--muted2);background:transparent;font-size:10px!important;font-weight:620!important;white-space:nowrap;-webkit-text-stroke:0!important;box-shadow:none!important}#drawUtilityGroup .toolbarButtonIcon{width:16px;display:grid;place-items:center;color:#aab5c7;font-size:15px;font-weight:900;line-height:1;-webkit-text-stroke:.35px currentColor;text-shadow:0 0 1px currentColor}.toolbarSvg{width:16px;height:16px;flex:0 0 16px;color:#aab5c7}.toolbarSvg path,.toolbarSvg circle{fill:none;stroke:currentColor;stroke-width:2.25;stroke-linecap:round;stroke-linejoin:round}.lockSvg .lockBody{fill:currentColor;stroke:none}.lockSvg .lockHole{fill:var(--bg);stroke:none}.magnetSvg{width:17px;height:17px}.magnetSvg path{stroke-width:2.65}.toolbarCaret{margin-left:1px;color:var(--muted);font-size:9px;font-weight:900}.magnetStatus{width:5px;height:5px;border-radius:50%;background:var(--muted);box-shadow:none}#drawMagnet.on .magnetStatus{background:var(--accent);box-shadow:0 0 8px var(--accent)}#drawMagnet.on{color:var(--accent2)!important;border-color:color-mix(in srgb,var(--accent) 42%,var(--border))!important;background:var(--accentSoft)!important}#drawMagnetWrap{position:relative;display:flex;align-items:center}#drawMagnetMenu{position:absolute;z-index:240;right:0;top:36px;width:236px;padding:8px;border:1px solid var(--border2);border-radius:11px;background:color-mix(in srgb,var(--panel) 97%,transparent);box-shadow:0 20px 55px rgba(0,0,0,.5);backdrop-filter:blur(18px);display:none}#drawMagnetMenu.open{display:block}.magnetMenuTitle{margin:2px 4px 7px;color:var(--text);font-size:10px;font-weight:650}.magnetModeOption{width:100%!important;height:40px!important;display:grid!important;grid-template-columns:28px minmax(0,1fr) 17px!important;align-items:center!important;text-align:left!important;padding:0 7px!important;border:1px solid transparent!important;border-radius:7px!important;color:var(--muted2)!important;background:transparent!important;box-shadow:none!important}.magnetModeOption:hover{background:var(--panel2)!important}.magnetModeOption.on{border-color:color-mix(in srgb,var(--accent) 20%,transparent)!important;background:var(--accentSoft)!important}.magnetModeIcon{font-size:15px;font-weight:800;color:var(--muted2)}.magnetModeOption b{display:block;color:var(--text);font-size:10px;font-weight:650}.magnetModeOption small{display:block;margin-top:1px;color:var(--muted);font-size:8px;font-weight:500}.magnetModeCheck{width:14px;height:14px;display:grid;place-items:center;border:1px solid var(--border2);border-radius:50%;color:transparent;font-size:8px}.magnetModeOption.on .magnetModeCheck{border-color:var(--accent);color:#fff;background:var(--accent)}.magnetModeFoot{display:flex;align-items:center;gap:7px;margin-top:6px;padding:8px 7px 2px;border-top:1px solid var(--border);color:var(--muted);font-size:8px}.magnetModeFoot i{width:7px;height:7px;border-radius:2px;background:var(--accent)}#drawToolbar #btnFullscreen::before{content:none!important}
#tfMenu,#drawMoreMenu{border-color:var(--border2);background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:0 20px 55px rgba(0,0,0,.4);backdrop-filter:blur(18px)}#tfMenu .tfMenuItem:hover,.drawMenuRow:hover{background:var(--accentSoft);border-color:color-mix(in srgb,var(--accent) 24%,transparent)}#tfMenu .tfMenuItem.on{color:#eef1ff;background:var(--accent);border-color:var(--accent);box-shadow:none}#drawMoreMenu .drawMenuTool.on,.indicatorChip::after,#drawToolbar #btnInd::before,#drawToolbar #btnFullscreen::before{color:var(--accent2)}#drawMoreMenu .drawFavToggle.on,.star:hover,.star.on{color:var(--accent2)}
#charts{position:relative}#chartStage{min-width:0;min-height:0;flex:1;background:transparent;overflow:hidden}#mainChart{min-width:0;overflow:hidden}.subpane2{height:112px;background:transparent;border-color:var(--border)}.indicatorChip{background:color-mix(in srgb,var(--panel) 80%,transparent);border-color:var(--border);box-shadow:0 8px 22px rgba(0,0,0,.16)}.indicatorChip:hover{color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:var(--accentSoft)}

/* 图表基础体验：周期收藏、收线倒计时、视图设置与 OHLCV 抬头。 */
.tfFavoriteStrip{display:flex;align-items:center;gap:2px;margin-left:3px}.tfFavoriteStrip .tfFavoriteQuick{width:auto!important;min-width:30px;flex:0 0 auto!important;height:26px!important;padding:0 6px!important;border:1px solid transparent!important;border-radius:6px!important;color:var(--muted)!important;background:transparent!important;font-size:9px!important;font-weight:650!important;line-height:1!important;white-space:nowrap!important;word-break:keep-all}.tfFavoriteStrip .tfFavoriteQuick:hover{color:var(--text)!important;background:var(--panel2)!important}.tfFavoriteStrip .tfFavoriteQuick.on{border-color:color-mix(in srgb,var(--accent) 38%,var(--border))!important;color:var(--accent2)!important;background:var(--accentSoft)!important}.tfFavoriteStar{width:20px;height:24px;display:grid;place-items:center;margin-left:auto;border-radius:5px;color:var(--muted);font-size:13px;line-height:1;cursor:pointer}.tfFavoriteStar:hover,.tfFavoriteStar:focus-visible,.tfFavoriteStar.on{color:var(--accent2);background:color-mix(in srgb,var(--accent) 12%,transparent);outline:0}#tfMenu .tfMenuItem:has(.tfFavoriteStar){gap:4px}#tfMenu .tfMenuItem:has(.tfFavoriteStar)::after{margin-left:-2px}
#chartExperienceTools{position:relative;display:flex;align-items:center;gap:2px;margin-right:2px;padding-right:4px;border-right:1px solid var(--border)}#chartCountdown{height:26px;display:flex;align-items:center;gap:4px;padding:0 7px;border-radius:6px;color:var(--muted2);background:color-mix(in srgb,var(--panel2) 72%,transparent);font-size:8px;font-variant-numeric:tabular-nums;white-space:nowrap}#chartCountdown>i{width:5px;height:5px;border-radius:50%;background:var(--up);box-shadow:0 0 7px color-mix(in srgb,var(--up) 58%,transparent)}#chartCountdown>b{color:var(--muted);font-size:7px;font-weight:600}#chartCountdown>time{min-width:34px;color:var(--text);font-weight:720}#chartCountdown.replay>i{background:var(--accent);box-shadow:0 0 7px var(--accent)}#chartCountdown.replay>time{color:var(--accent2)}.chartViewWrap{position:relative;display:flex;align-items:center}#drawUtilityGroup #chartViewButton{padding:0 6px!important}#chartViewMenu{position:absolute;z-index:320;right:0;top:35px;width:292px;padding:10px;border:1px solid var(--border2);border-radius:12px;background:color-mix(in srgb,var(--panel) 97%,transparent);box-shadow:0 22px 64px rgba(0,0,0,.5);backdrop-filter:blur(20px)}#chartViewMenu[hidden]{display:none}.chartViewSection{padding:9px;border:1px solid var(--border);border-radius:9px;background:color-mix(in srgb,var(--panel2) 70%,transparent)}.chartViewSection+.chartViewSection{margin-top:7px}.chartViewSection header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.chartViewSection header span{color:var(--text);font-size:9px;font-weight:700}.chartViewSection header small{color:var(--muted);font-size:6px;letter-spacing:.12em}.chartTypeChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.chartTypeChoices>button{width:100%!important;height:34px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:5px!important;padding:0 5px!important;border:1px solid var(--border)!important;border-radius:7px!important;color:var(--muted2)!important;background:var(--panel)!important;font-size:8px!important}.chartTypeChoices>button i{font-size:13px;font-style:normal;font-weight:800}.chartTypeChoices>button.on{border-color:color-mix(in srgb,var(--accent) 60%,var(--border))!important;color:var(--accent2)!important;background:var(--accentSoft)!important}.chartDateControl{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:5px}.chartDateControl input,#chartTimezone{min-width:0;height:32px;padding:0 8px;border:1px solid var(--border);border-radius:7px;color:var(--text);background:var(--panel);font-size:8px;outline:0;color-scheme:dark}.chartDateControl input:focus,#chartTimezone:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.chartDateControl>button{width:54px!important;height:32px!important;border:1px solid color-mix(in srgb,var(--accent) 52%,var(--border))!important;color:#f5f7ff!important;background:var(--accent)!important;font-size:8px!important}.chartDateControl>button:disabled,#chartScreenshot:disabled{opacity:.5;cursor:wait}.chartZoneSection{display:grid;grid-template-columns:minmax(0,1fr) 112px;align-items:center;gap:8px}.chartZoneSection label span,.chartZoneSection label small{display:block}.chartZoneSection label span{color:var(--text);font-size:9px;font-weight:700}.chartZoneSection label small{margin-top:3px;color:var(--muted);font-size:6px}#chartTimezone{width:112px}#chartScreenshot{width:100%!important;height:42px!important;display:grid!important;grid-template-columns:28px minmax(0,1fr)!important;grid-template-rows:1fr 1fr!important;align-items:center!important;margin-top:7px!important;padding:5px 8px!important;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border))!important;border-radius:9px!important;color:var(--muted2)!important;background:linear-gradient(135deg,var(--accentSoft),color-mix(in srgb,var(--panel2) 75%,transparent))!important;text-align:left!important}#chartScreenshot>span{grid-row:1/-1;display:grid;place-items:center;color:var(--accent2);font-size:17px}#chartScreenshot>b{align-self:end;color:var(--text);font-size:8px}#chartScreenshot>small{align-self:start;color:var(--muted);font-size:6px}
#chartOhlcv{position:absolute;z-index:7;left:8px;top:39px;max-width:calc(100% - 72px);min-height:25px;display:flex;align-items:center;gap:9px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--border) 72%,transparent);border-radius:7px;color:var(--muted2);background:color-mix(in srgb,var(--panel) 78%,transparent);box-shadow:0 6px 18px rgba(0,0,0,.13);backdrop-filter:blur(9px);pointer-events:none;font-size:8px;font-variant-numeric:tabular-nums;white-space:nowrap}#chartOhlcv>time{color:var(--muted);font-size:7px}#chartOhlcv>span{display:flex;align-items:center;gap:3px}#chartOhlcv>span i{color:var(--muted);font-size:7px;font-style:normal}#chartOhlcv>span b{color:var(--text);font-weight:650}#chartOhlcv>em{padding:2px 4px;border-radius:4px;font-size:7px;font-style:normal;font-weight:720}#chartOhlcv>em.up{color:var(--up);background:color-mix(in srgb,var(--up) 10%,transparent)}#chartOhlcv>em.down{color:var(--down);background:color-mix(in srgb,var(--down) 10%,transparent)}html[data-theme="light"] .chartDateControl input,html[data-theme="light"] #chartTimezone{color-scheme:light}html[data-theme="light"] #chartOhlcv{background:rgba(255,255,255,.8)}
#status{right:16px;bottom:13px;color:var(--up);background:color-mix(in srgb,var(--panel) 74%,transparent);border-color:var(--border);box-shadow:0 5px 18px rgba(0,0,0,.16)}#banner{top:108px;color:#eef1ff;background:var(--accent);box-shadow:0 8px 25px rgba(70,88,180,.28)}

/* 图表右键菜单 */
#chartContextMenu{position:fixed;z-index:520;width:286px;display:none;padding:7px;border:1px solid var(--border2);border-radius:12px;background:color-mix(in srgb,var(--panel) 97%,transparent);box-shadow:0 24px 70px rgba(0,0,0,.5);backdrop-filter:blur(20px);user-select:none}#chartContextMenu.open{display:block;animation:contextIn .13s ease-out}@keyframes contextIn{from{opacity:0;transform:translateY(5px) scale(.985)}to{opacity:1;transform:none}}
.chartContextHead{min-height:49px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-1px -1px 6px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:9px;background:linear-gradient(135deg,var(--accentSoft),color-mix(in srgb,var(--panel2) 88%,transparent))}.chartContextHead>span{min-width:0}.chartContextHead b{display:block;overflow:hidden;color:var(--text);font-size:10px;font-weight:730;white-space:nowrap;text-overflow:ellipsis}.chartContextHead small{display:block;margin-top:3px;color:var(--muted);font-size:7px}.chartContextHead strong{color:var(--accent2);font-size:14px;font-weight:760;font-variant-numeric:tabular-nums;white-space:nowrap}
#chartContextMenu>button{width:100%;min-height:43px;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 7px;border:1px solid transparent;border-radius:8px;color:var(--muted2);background:transparent;text-align:left;cursor:pointer}#chartContextMenu>button:hover{border-color:color-mix(in srgb,var(--accent) 20%,transparent);background:var(--accentSoft)}#chartContextMenu>button>i{width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--border);border-radius:7px;color:var(--muted2);background:var(--bg);font-size:12px;font-style:normal;font-weight:800}#chartContextMenu>button span{min-width:0}#chartContextMenu>button b{display:block;color:var(--text);font-size:9px;font-weight:650}#chartContextMenu>button small{display:block;margin-top:2px;overflow:hidden;color:var(--muted);font-size:7px;white-space:nowrap;text-overflow:ellipsis}#chartContextMenu>button kbd{padding:2px 4px;border:1px solid var(--border);border-radius:4px;color:var(--muted);background:var(--bg);font:600 7px/1.2 inherit}#chartContextMenu>button.contextReplay>i{border-color:color-mix(in srgb,var(--accent) 40%,var(--border));color:var(--accent2);background:var(--accentSoft)}#chartContextMenu>button[disabled]{opacity:.38;pointer-events:none}.chartContextDivider{height:1px;margin:5px 4px;background:var(--border)}

/* K 线复盘控制器 */
#replayBar{position:absolute;left:50%;bottom:12px;z-index:75;width:min(750px,calc(100% - 28px));min-height:52px;display:grid;grid-template-columns:auto auto minmax(90px,1fr) auto auto auto;align-items:center;gap:9px;padding:7px 8px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:13px;background:color-mix(in srgb,var(--panel) 95%,transparent);box-shadow:0 18px 55px rgba(0,0,0,.42);backdrop-filter:blur(20px);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,12px) scale(.985);transition:.18s}body.replayActive #replayBar{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1)}
.replayIdentity{min-width:142px;display:flex;align-items:center;gap:8px;padding-right:9px;border-right:1px solid var(--border)}.replayIdentity>i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}.replayIdentity b{display:block;color:var(--text);font-size:9px;font-weight:720}.replayIdentity small{display:block;margin-top:3px;overflow:hidden;max-width:145px;color:var(--muted);font-size:7px;white-space:nowrap;text-overflow:ellipsis}.replayControls{display:flex;gap:3px}.replayControls button,#replayBar .replayExit{height:31px;min-width:31px;padding:0 8px;border:1px solid var(--border);border-radius:7px;color:var(--muted2);background:var(--bg);font-size:14px;font-weight:730;cursor:pointer}.replayControls button:hover,#replayBar .replayExit:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));color:var(--accent2);background:var(--accentSoft)}#replayPlay{color:#f5f7ff!important;border-color:var(--accent)!important;background:var(--accent)!important;box-shadow:0 5px 16px rgba(70,88,180,.24)}#replayProgress{width:100%;height:4px;margin:0;padding:0;border:0;accent-color:var(--accent);cursor:pointer}#replayProgressText{min-width:48px;color:var(--muted);font-size:7px;font-variant-numeric:tabular-nums;text-align:center}#replaySpeed{height:31px;padding:0 7px;border:1px solid var(--border);border-radius:7px;color:var(--text);background:var(--bg);font-size:8px;cursor:pointer}#replayBar .replayExit{font-size:8px;white-space:nowrap}body.replayActive #status{bottom:76px;color:var(--accent2)}body.replayActive #chartStage{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 24%,transparent)}

/* 市场列表变成按需覆盖面板 */
#sidebar{position:fixed;left:12px;top:65px;bottom:12px;width:min(296px,86vw);height:auto;padding:0 8px 9px;overflow:hidden;z-index:270;transform:translateX(0);transition:transform .22s ease,visibility 0s;background:color-mix(in srgb,var(--panel) 94%,transparent);border:1px solid var(--border2);border-radius:13px;box-shadow:0 24px 70px rgba(0,0,0,.42);backdrop-filter:blur(18px)}
#sidebar .brand{display:none}#sidebar h2{display:flex;align-items:center;height:40px;margin:0;padding:0 5px;color:var(--text);font-size:11px;letter-spacing:.02em;text-transform:none}#coinSearch{height:30px;margin:0 0 7px;padding:0 9px 0 31px;border-radius:7px;background-color:var(--bg);font-size:11px}.marketTabs{gap:3px;margin-bottom:6px;background:var(--bg);border-color:var(--border)}.marketTabs button{height:25px;padding:0 3px;background:transparent}.marketTabs button.on{color:var(--accent2)!important;background:var(--accentSoft)!important;border-color:transparent!important;box-shadow:none!important}.marketFilters{gap:4px;margin-bottom:6px}.marketFilters select{height:27px;padding:0 4px;background:var(--bg);border-radius:5px;font-size:9px}.marketFilters .btn{height:27px;padding:0 7px}.marketHead{grid-template-columns:20px minmax(0,1fr) 68px 48px;padding:4px 5px 6px;border-bottom:1px solid var(--border);font-size:8px}.coin{grid-template-columns:20px minmax(0,1fr) 68px 48px;height:34px;padding:0 5px;margin:0;border-radius:6px}.coin:hover{background:var(--panel2)}.coin.active{background:var(--accentSoft);box-shadow:inset 2px 0 var(--accent)}.coin.active::after{background:var(--accent2)}.coin .sym{min-width:0;display:flex;align-items:center;gap:7px;font-size:11px}.coin .symText{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.coin .px{font-size:10px}.coin .chg{font-size:9px}
html[data-sidebar="collapsed"] #sidebar{width:min(296px,86vw)!important;padding:0 8px 9px;border-width:1px;transform:translateX(calc(-100% - 24px));visibility:hidden;pointer-events:none}html[data-sidebar="collapsed"] #sidebar>*{opacity:1}

/* 所有数据/设置使用覆盖式抽屉 */
.drawer,#dataDrawer{position:absolute;top:10px;right:10px;bottom:10px;left:auto;width:min(350px,calc(100% - 20px));height:auto;padding:16px;overflow:auto;z-index:220;transform:translateX(calc(100% + 24px))!important;visibility:hidden!important;pointer-events:none!important;border:1px solid var(--border2);border-radius:12px;background:color-mix(in srgb,var(--panel) 95%,transparent);box-shadow:-18px 0 55px rgba(0,0,0,.32);backdrop-filter:blur(18px);transition:transform .22s ease,visibility 0s .22s!important}
.drawer.open,#dataDrawer.open{transform:translateX(0)!important;visibility:visible!important;pointer-events:auto!important;transition-delay:0s!important}.drawer h3,#dataDrawer h3{margin:-16px -16px 14px;padding:15px 16px;border-bottom:1px solid var(--border);font-size:12px}.drawer h3 .x,#dataDrawer h3 .x{display:inline;color:var(--muted2)}#dataDrawer .metric{background:var(--panel2)}#tools #btnData{display:flex}.indHelp,.ind,.drawObjectRow{border-color:var(--border)}#indList .ind.on,.drawObjectRow.active{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));box-shadow:inset 2px 0 var(--accent)}.toggle.on{background:var(--accent)}.btn.on{color:var(--accent2);border-color:var(--accent);background:var(--accentSoft);box-shadow:none}#addAlert{color:#eef1ff;background:var(--accent);box-shadow:none}

/* 预警中心：把复杂表单拆成清晰的创建流程与状态卡片 */
#alertDrawer{width:min(390px,calc(100% - 20px));padding:16px 14px;scrollbar-gutter:stable}
#alertDrawer h3{align-items:center;margin:-16px -14px 14px;padding:13px 14px 12px}
.alertDrawerTitle{display:flex;flex-direction:column;gap:2px}.alertDrawerTitle b{font-size:13px;font-weight:730;letter-spacing:.02em}.alertDrawerTitle small{color:var(--muted);font-size:7px;font-weight:650;letter-spacing:.14em}
#btnAlert{position:relative}#btnAlert[data-count]::after{content:attr(data-count);min-width:15px;height:15px;display:grid;place-items:center;margin-left:1px;padding:0 3px;border-radius:8px;color:#fff;background:var(--down);font-size:7px;font-weight:800;line-height:1;box-shadow:0 0 0 2px var(--panel)}
.alertHero{min-height:64px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:10px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:11px;background:linear-gradient(135deg,var(--accentSoft),color-mix(in srgb,var(--panel2) 92%,transparent))}
.alertHeroIcon{width:36px;height:36px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:10px;color:var(--accent2);background:color-mix(in srgb,var(--accent) 12%,var(--panel));font-size:23px;font-weight:900;transform:rotate(-15deg)}
.alertHero>span:nth-child(2){min-width:0}.alertHero b{display:block;color:var(--text);font-size:11px;font-weight:700}.alertHero small{display:block;margin-top:4px;overflow:hidden;color:var(--muted);font-size:8px;white-space:nowrap;text-overflow:ellipsis}.alertHero em{display:flex;align-items:center;gap:5px;padding:5px 6px;border:1px solid color-mix(in srgb,var(--up) 22%,var(--border));border-radius:12px;color:var(--up);background:color-mix(in srgb,var(--up) 7%,transparent);font-size:7px;font-style:normal;font-weight:650;white-space:nowrap}.alertHero em i{width:5px;height:5px;border-radius:50%;background:var(--up);box-shadow:0 0 7px var(--up)}
.alertBuilder{padding:12px;border:1px solid var(--border);border-radius:11px;background:color-mix(in srgb,var(--panel2) 78%,var(--bg))}.alertSectionTitle{display:flex;align-items:center;justify-content:space-between;margin:1px 1px 8px;color:var(--muted2);font-size:9px;font-weight:680;letter-spacing:.035em}.alertSectionTitle:not(:first-child){margin-top:15px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--border) 72%,transparent)}.alertSectionTitle small{width:18px;height:18px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--muted);font-size:7px;font-weight:650}
.alertFormGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.alertControl{min-width:0;display:flex;flex-direction:column;gap:5px;margin:0}.alertControlWide{grid-column:1/-1}.alertControl>span{color:var(--muted);font-size:8px;font-weight:560;letter-spacing:.025em}.alertControl>small{margin-top:-2px;color:var(--muted);font-size:7px}.alertControl input,.alertControl select{width:100%;height:33px;min-width:0;padding:0 9px;border:1px solid var(--border);border-radius:7px;color:var(--text);background:var(--bg);font-size:10px;font-variant-numeric:tabular-nums;outline:0;transition:border-color .15s,box-shadow .15s,background .15s}.alertControl select{padding-right:24px}.alertControl input::placeholder{color:color-mix(in srgb,var(--muted) 78%,transparent)}.alertControl input:hover,.alertControl select:hover{border-color:var(--border2)}.alertControl input:focus,.alertControl select:focus{border-color:color-mix(in srgb,var(--accent) 65%,var(--border));background:color-mix(in srgb,var(--bg) 88%,var(--accentSoft));box-shadow:0 0 0 3px var(--accentSoft)}
.alertChannels{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:0}.alertChannels label{position:relative;height:31px;display:flex;align-items:center;gap:7px;margin:0;padding:0 8px;border:1px solid var(--border);border-radius:7px;color:var(--muted2);background:var(--bg);font-size:8px;cursor:pointer;transition:.15s}.alertChannels label:hover{border-color:var(--border2);color:var(--text)}.alertChannels input{position:absolute;opacity:0;pointer-events:none}.alertChannels label i{width:14px;height:14px;display:grid;place-items:center;border:1px solid var(--border2);border-radius:4px;color:transparent;background:var(--panel2);font-size:8px;font-style:normal;font-weight:900}.alertChannels label:has(input:checked){border-color:color-mix(in srgb,var(--accent) 36%,var(--border));color:var(--accent2);background:var(--accentSoft)}.alertChannels input:checked+i{border-color:var(--accent);color:#fff;background:var(--accent)}.alertWebhook{margin-top:7px}
#addAlert{height:36px;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:11px;border:1px solid color-mix(in srgb,var(--accent) 82%,#fff);border-radius:8px;color:#f5f7ff;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 88%,#5369cc),color-mix(in srgb,var(--accent) 72%,#4457b8));font-size:10px;font-weight:720;letter-spacing:.025em;box-shadow:0 7px 18px rgba(70,88,180,.18);transition:transform .15s,filter .15s,box-shadow .15s}#addAlert span{font-size:15px;font-weight:450;line-height:1}#addAlert:hover{filter:brightness(1.08);box-shadow:0 9px 23px rgba(70,88,180,.25)}#addAlert:active{transform:translateY(1px)}
.alertListHead{display:flex;align-items:center;justify-content:space-between;margin:17px 2px 7px}.alertListHead>span{color:var(--text);font-size:10px;font-weight:700}.alertListHead small{padding:3px 6px;border:1px solid var(--border);border-radius:8px;color:var(--muted);background:var(--panel2);font-size:7px}
#alertList{display:flex;flex-direction:column;gap:7px}.aitem.alertCard{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:0;padding:10px 9px 9px 11px;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel2) 84%,var(--bg));font-size:10px}.aitem.alertCard::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:2px;border-radius:0 2px 2px 0;background:var(--up)}.aitem.alertCard.off::before{background:var(--muted)}.aitem.alertCard.expired::before,.aitem.alertCard.error::before{background:var(--down)}.alertCardMain{min-width:0}.alertCardTitle{display:flex;align-items:center;gap:6px;min-width:0}.alertCardSymbol{color:var(--text);font-size:11px;font-weight:760}.alertCardType{overflow:hidden;color:var(--muted2);font-size:8px;white-space:nowrap;text-overflow:ellipsis}.alertStateDot{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--up);box-shadow:0 0 7px color-mix(in srgb,var(--up) 72%,transparent)}.off .alertStateDot{background:var(--muted);box-shadow:none}.expired .alertStateDot,.error .alertStateDot{background:var(--down);box-shadow:0 0 7px color-mix(in srgb,var(--down) 64%,transparent)}.alertCardRule{display:flex;align-items:baseline;gap:5px;margin-top:7px;color:var(--muted);font-size:8px}.alertCardRule strong{color:var(--text);font-size:14px;font-weight:730;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.alertCardMeta{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.alertCardMeta span{padding:3px 5px;border-radius:5px;color:var(--muted);background:var(--bg);font-size:7px}.alertCardError{margin-top:6px;color:var(--down);font-size:7px}.alertCardActions{display:flex;align-items:flex-start;gap:4px}.alertCardActions button{width:27px;height:27px;display:grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:6px;color:var(--muted2);background:var(--bg);font-size:11px;cursor:pointer}.alertCardActions button:hover{color:var(--text);border-color:var(--border2)}.alertCardActions .alertDelete:hover{color:var(--down);border-color:color-mix(in srgb,var(--down) 38%,var(--border));background:color-mix(in srgb,var(--down) 7%,var(--bg))}.alertEmpty{min-height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);background:color-mix(in srgb,var(--panel2) 55%,transparent);text-align:center}.alertEmpty i{width:27px;height:27px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--accent2);background:var(--accentSoft);font-size:13px;font-style:normal}.alertEmpty b{color:var(--muted2);font-size:9px;font-weight:650}.alertEmpty small{font-size:7px}
.alertFootnote{display:flex;align-items:flex-start;gap:7px;margin:11px 2px 2px!important;color:var(--muted)!important;font-size:7px!important;line-height:1.55!important}.alertFootnote i{width:15px;height:15px;display:grid;place-items:center;flex:0 0 15px;border:1px solid var(--border);border-radius:50%;color:var(--muted2);font-size:8px;font-style:normal;font-weight:700}
.alertComboToggle{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px;border:1px dashed var(--border2);border-radius:8px;color:var(--muted2);background:color-mix(in srgb,var(--bg) 78%,transparent);cursor:pointer}.alertComboToggle input{position:absolute;opacity:0}.alertComboToggle>i{width:22px;height:22px;display:grid;place-items:center;flex:0 0 22px;border:1px solid var(--border2);border-radius:6px;color:var(--accent2);font-size:13px;font-style:normal}.alertComboToggle b,.alertComboToggle small{display:block}.alertComboToggle b{font-size:8px}.alertComboToggle small{margin-top:2px;color:var(--muted);font-size:7px}.alertComboToggle:has(input:checked){border-style:solid;border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:var(--accentSoft)}.alertComboToggle:has(input:checked)>i{color:#fff;border-color:var(--accent);background:var(--accent)}.alertSecondary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px;padding:9px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:8px;background:color-mix(in srgb,var(--accentSoft) 55%,var(--bg))}.alertSecondary[hidden]{display:none}
.alertCenterTabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:15px 0 8px;padding:3px;border:1px solid var(--border);border-radius:9px;background:var(--bg)}.alertCenterTabs button{height:28px;border:0;border-radius:6px;color:var(--muted);background:transparent;font-size:8px;font-weight:650;cursor:pointer}.alertCenterTabs button.on{color:var(--text);background:var(--panel2);box-shadow:0 2px 8px rgba(0,0,0,.12)}.alertManage{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:6px}.alertManage[hidden]{display:none}.alertManage input,.alertManage select{height:31px;min-width:0;padding:0 8px;border:1px solid var(--border);border-radius:7px;color:var(--text);background:var(--bg);font-size:8px;outline:0}.alertManage>div{grid-column:1/-1;display:flex;gap:5px}.alertManage button,#alertClearHistory{height:27px;padding:0 8px;border:1px solid var(--border);border-radius:6px;color:var(--muted2);background:var(--panel2);font-size:7px;cursor:pointer}.alertManage button:hover,#alertClearHistory:hover{color:var(--text);border-color:var(--border2)}.alertManage button:first-child:hover{color:var(--warning)}
.alertCardGroup{max-width:72px;overflow:hidden;padding:2px 4px;border:1px solid var(--border);border-radius:5px;color:var(--accent2);background:var(--accentSoft);font-size:7px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.alertCard.enhanced .alertCardActions{flex-direction:column}.alertCard.enhanced .alertCardMeta{margin-top:5px}.alertComboRule{display:flex;align-items:center;gap:6px;margin-top:6px;padding:5px 6px;border-left:2px solid var(--accent);border-radius:0 5px 5px 0;color:var(--muted2);background:var(--accentSoft);font-size:7px}.alertComboRule i{color:var(--accent2);font-size:6px;font-style:normal;font-weight:800;letter-spacing:.06em}
#alertHistory{display:flex;flex-direction:column;gap:7px}#alertHistory[hidden],#alertClearHistory[hidden]{display:none}.alertHistoryItem{padding:9px 10px;border:1px solid var(--border);border-radius:9px;background:color-mix(in srgb,var(--panel2) 84%,var(--bg))}.alertHistoryItem header,.alertHistoryItem header>span,.alertHistoryItem footer{display:flex;align-items:center}.alertHistoryItem header{justify-content:space-between}.alertHistoryItem header>span{gap:5px}.alertHistoryItem header i{width:6px;height:6px;border-radius:50%;background:var(--up);box-shadow:0 0 7px color-mix(in srgb,var(--up) 60%,transparent)}.alertHistoryItem.test header i{background:var(--accent2)}.alertHistoryItem header b{font-size:10px}.alertHistoryItem header em{padding:2px 4px;border-radius:4px;color:var(--muted);background:var(--bg);font-size:6px;font-style:normal}.alertHistoryItem time{color:var(--muted);font-size:7px}.alertHistoryItem p{margin:7px 0;color:var(--muted2);font-size:8px;line-height:1.45}.alertHistoryItem footer{gap:5px}.alertHistoryItem footer span{padding:2px 4px;border-radius:4px;color:var(--muted);background:var(--bg);font-size:6px}#alertClearHistory{width:100%;margin-top:8px;color:var(--down)}
#priceAxisAlert{position:absolute;right:2px;z-index:14;height:22px;display:flex;align-items:center;gap:2px;padding:0 5px;transform:translateY(-50%);border:1px solid color-mix(in srgb,var(--accent) 55%,var(--border));border-radius:5px;color:var(--accent2);background:color-mix(in srgb,var(--panel) 92%,transparent);box-shadow:0 3px 12px rgba(0,0,0,.18);font-size:7px;font-weight:650;cursor:pointer;opacity:.3;transition:opacity .15s,transform .15s}#priceAxisAlert:hover,#priceAxisAlert:focus-visible{opacity:1;transform:translateY(-50%) translateX(-2px)}#priceAxisAlert span{font-size:11px}
html[data-theme="light"] .alertHero{background:linear-gradient(135deg,var(--accentSoft),#fff)}html[data-theme="light"] .alertBuilder,html[data-theme="light"] .aitem.alertCard{background:color-mix(in srgb,var(--panel2) 60%,#fff)}html[data-theme="light"] #addAlert{color:#fff!important}

/* 行情扫描器 */
#scannerDrawer{width:min(450px,calc(100% - 20px));padding:16px 14px;scrollbar-gutter:stable}.scannerDrawerTitle{display:flex;flex-direction:column;gap:2px}.scannerDrawerTitle b{font-size:13px;font-weight:730}.scannerDrawerTitle small{color:var(--muted);font-size:7px;letter-spacing:.14em}.scannerHero{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));border-radius:10px;background:linear-gradient(135deg,var(--accentSoft),color-mix(in srgb,var(--panel2) 92%,transparent))}.scannerPulse{width:34px;height:34px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:10px;background:var(--panel)}.scannerPulse i{width:12px;height:12px;border:2px solid var(--accent2);border-radius:50%;box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 10%,transparent)}.scannerHero b,.scannerHero small{display:block}.scannerHero b{font-size:10px}.scannerHero small{margin-top:3px;color:var(--muted);font-size:7px}.scannerHero button{height:29px;padding:0 10px;border:1px solid var(--accent);border-radius:7px;color:#fff;background:var(--accent);font-size:8px;font-weight:650;cursor:pointer}.scannerHero button:disabled{opacity:.55}
.scannerBuilder{margin-top:9px;padding:11px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel2) 78%,var(--bg))}.scannerGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.scannerGrid label{display:flex;flex-direction:column;gap:5px}.scannerGrid label.wide{grid-column:1/-1}.scannerGrid span,.scannerConditionHead{color:var(--muted);font-size:7px}.scannerGrid select,.scannerGrid input,.scannerCondition select,.scannerCondition input,.scannerPreset select,.scannerPreset input,.scannerResultsHead select{height:31px;min-width:0;padding:0 8px;border:1px solid var(--border);border-radius:7px;color:var(--text);background:var(--bg);font-size:8px;outline:0}.scannerConditionHead{display:flex;align-items:center;justify-content:space-between;margin:12px 0 6px;padding-top:10px;border-top:1px solid var(--border)}.scannerConditionHead button{border:0;color:var(--accent2);background:transparent;font-size:7px;cursor:pointer}.scannerCondition{display:grid;grid-template-columns:minmax(82px,1.2fr) minmax(76px,1fr) minmax(58px,.8fr) 18px 24px;gap:5px;align-items:center;margin-top:5px}.scannerCondition>span{text-align:center}.scannerCondition>[data-remove]{width:24px;height:27px;border:1px solid var(--border);border-radius:6px;color:var(--muted);background:var(--bg);cursor:pointer}.scannerCondition>[data-remove]:hover{color:var(--down)}
.scannerPreset{display:grid;grid-template-columns:minmax(0,1fr) minmax(90px,.8fr) auto auto;gap:5px;margin-top:8px}.scannerPreset button{height:31px;padding:0 8px;border:1px solid var(--border);border-radius:7px;color:var(--muted2);background:var(--panel2);font-size:7px;cursor:pointer}.scannerResultsHead{display:flex;align-items:center;justify-content:space-between;margin:15px 1px 7px;color:var(--muted);font-size:8px}.scannerResultsHead b{color:var(--text);font-size:11px}.scannerResultsHead select{height:27px}.scannerResult{position:relative;width:100%;display:grid;grid-template-columns:minmax(94px,1fr) 74px minmax(132px,1.25fr) 10px;align-items:center;gap:7px;margin-bottom:6px;padding:8px 8px;border:1px solid var(--border);border-radius:9px;color:var(--text);background:color-mix(in srgb,var(--panel2) 82%,var(--bg));text-align:left;cursor:pointer;transition:border-color .15s,transform .15s}.scannerResult:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));transform:translateX(-2px)}.scannerAsset{display:flex;align-items:center;gap:7px;min-width:0}.scannerAsset .assetLogo{width:25px;height:25px;flex:0 0 25px}.scannerAsset b,.scannerAsset small,.scannerPrimary b,.scannerPrimary small{display:block}.scannerAsset b{font-size:10px}.scannerAsset small,.scannerPrimary small{margin-top:2px;color:var(--muted);font-size:6px}.scannerPrimary{text-align:right}.scannerPrimary b{font-size:10px}.scannerSignals{display:grid;grid-template-columns:1fr 1fr;gap:3px}.scannerSignals em{padding:2px 4px;border-radius:4px;color:var(--muted2);background:var(--bg);font-size:6px;font-style:normal;white-space:nowrap}.scannerResult>i{color:var(--muted);font-size:15px;font-style:normal}.scannerEmpty{min-height:110px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);text-align:center}.scannerEmpty i{font-size:18px;font-style:normal}.scannerEmpty b{color:var(--muted2);font-size:9px}.scannerEmpty small,.scannerFootnote{font-size:7px}.scannerFootnote{margin:9px 2px 0;color:var(--muted);line-height:1.5}.scannerResult .up{color:var(--up)}.scannerResult .down{color:var(--down)}
html[data-theme="light"] .scannerHero{background:linear-gradient(135deg,var(--accentSoft),#fff)}html[data-theme="light"] .scannerBuilder,html[data-theme="light"] .scannerResult{background:color-mix(in srgb,var(--panel2) 58%,#fff)}

/* 合约数据：扫描式信息层级、等宽数字与独立买卖色 */
#dataDrawer{width:min(420px,calc(100% - 20px));padding:16px 14px;scrollbar-gutter:stable}
#dataDrawer h3{display:flex;align-items:center;justify-content:space-between;margin:-16px -14px 15px;padding:14px 14px 13px}
.contractDrawerTitle{display:flex;flex-direction:column;gap:3px}.contractDrawerTitle b{font-size:13px;font-weight:720;letter-spacing:.02em}.contractDrawerTitle small{color:var(--muted);font-size:9px;font-weight:520;letter-spacing:.04em}.contractMetricGrid{gap:8px;margin:10px 0 4px}.contractMetric{position:relative;min-height:58px;padding:10px 11px!important;overflow:hidden;border-color:color-mix(in srgb,var(--border) 88%,transparent)!important;border-radius:9px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--panel2) 94%,transparent),color-mix(in srgb,var(--bg) 88%,transparent))!important}.contractMetric::after{content:"";position:absolute;right:-16px;bottom:-20px;width:54px;height:54px;border-radius:50%;background:var(--accentSoft);opacity:.35}.contractMetric label{position:relative;z-index:1;margin-bottom:6px!important;color:var(--muted)!important;font-size:9px!important;font-weight:560;letter-spacing:.04em}.contractMetric strong{position:relative;z-index:1;font-size:13px!important;font-weight:700!important;letter-spacing:-.01em}.contractMetric.accent strong{color:var(--accent2)!important}.contractMetric.positive strong{color:var(--up)!important}.contractMetric.negative strong{color:var(--down)!important}.contractMetric.range strong{font-size:12px!important}
.contractGroupHead{display:flex;align-items:center;justify-content:space-between;margin:18px 1px 8px!important;padding:0!important;border:0!important;color:var(--text)!important;font-size:10px!important;font-weight:700!important;letter-spacing:.035em}.contractGroupHead small{color:var(--muted);font-size:8px;font-weight:520;letter-spacing:.02em}
.orderbookSection{padding:0 1px}.contractDepth{display:block!important;overflow:hidden;border:1px solid var(--border);border-radius:7px;background:color-mix(in srgb,var(--panel2) 92%,var(--bg));font:500 10px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace}.depthTableHead,.contractDepth .row{display:grid;grid-template-columns:minmax(82px,1.15fr) minmax(58px,.85fr) minmax(58px,.85fr);align-items:center;gap:8px;padding:0 9px}.depthTableHead{height:25px;border-bottom:1px solid var(--border);color:var(--muted);font-size:8px}.depthTableHead span:not(:first-child),.contractDepth .row span:not(:first-child){text-align:right}.depthSide{min-width:0;padding:3px 0;background:transparent}.contractDepth .row{position:relative;height:23px;overflow:hidden;color:var(--muted2)}.contractDepth .row::before{content:"";position:absolute;z-index:0;inset:1px 0 1px auto;width:var(--depth);pointer-events:none}.contractDepth .askSide .row::before{background:linear-gradient(90deg,transparent,rgba(239,95,112,.14))}.contractDepth .bidSide .row::before{background:linear-gradient(90deg,transparent,rgba(34,184,137,.14))}.depthPrice,.depthSize,.depthCumulative{position:relative;z-index:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.depthPrice{font-weight:620}.askSide .depthPrice{color:var(--down)}.bidSide .depthPrice{color:var(--up)}.depthSize{color:var(--text);text-align:right}.depthCumulative{color:var(--muted);text-align:right}.depthMidPrice{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 9px;border-block:1px solid var(--border);background:var(--bg)}.depthMidPrice strong{font-size:16px;font-weight:760;letter-spacing:-.03em}.depthMidPrice span{color:var(--muted);font-size:8px;text-align:right}.contractOverview{margin-top:14px;border:1px solid var(--border);border-radius:7px;background:color-mix(in srgb,var(--panel2) 72%,transparent)}.contractOverview summary{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 10px;color:var(--text);cursor:pointer;list-style:none}.contractOverview summary::-webkit-details-marker{display:none}.contractOverview summary::after{content:"⌄";color:var(--muted);transition:transform .16s}.contractOverview[open] summary::after{transform:rotate(180deg)}.contractOverview summary span{font-size:10px;font-weight:700}.contractOverview summary small{margin-left:auto;color:var(--muted);font-size:8px}.contractOverview[open] summary{border-bottom:1px solid var(--border)}.contractOverview .contractMetricGrid{padding:0 9px 9px}.whaleToggle{position:relative;gap:6px!important}.whaleToggle input{position:absolute;opacity:0;pointer-events:none}.whaleToggle i{position:relative;width:28px;height:16px;display:inline-block;border:1px solid var(--border2);border-radius:10px;background:var(--elevated);transition:.16s}.whaleToggle i::after{content:"";position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:var(--muted);transition:.16s}.whaleToggle input:checked+i{border-color:var(--accent);background:var(--accent)}.whaleToggle input:checked+i::after{left:14px;background:#fff}.whaleToggle input:focus-visible+i{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}
.contractFlow{padding:12px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel2) 90%,var(--bg))}.flowSummary{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:9px}.flowSummary span{display:flex;flex-direction:column;gap:2px}.flowSummary span:last-child{text-align:right}.flowSummary b{font-size:16px;font-weight:760;letter-spacing:-.025em}.flowSummary small{color:var(--muted);font-size:8px}.flowBar{height:7px;display:flex;overflow:hidden;border-radius:5px;background:var(--border)}.flowBar i{display:block;height:100%}.flowBuy{background:var(--up)}.flowSell{flex:1;background:var(--down)}.flowHint{margin-top:7px;color:var(--muted);font-size:8px;text-align:center}.flowHint b{color:var(--text);font-weight:680}
.contractTradeList{max-height:220px;overflow:auto;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel2) 90%,var(--bg));font-size:9px}.contractTableHead,.contractTradeList .tradeRow{display:grid!important;grid-template-columns:58px minmax(64px,1fr) minmax(45px,.72fr) minmax(61px,.9fr);align-items:center;gap:7px;padding:0 9px!important}.contractTableHead{position:sticky;top:0;z-index:2;height:28px;border-bottom:1px solid var(--border);color:var(--muted);background:color-mix(in srgb,var(--panel2) 97%,transparent);font-size:8px}.contractTradeList .tradeRow{min-height:26px;border-bottom:1px solid color-mix(in srgb,var(--border) 58%,transparent);color:var(--muted2)!important}.contractTradeList .tradeRow:last-child{border-bottom:0}.contractTableHead span:not(:first-child),.contractTradeList .tradeRow span:not(:first-child){text-align:right}.contractTradeList .tradeRow span:first-child{color:var(--muted)}.contractTradeList .tradeRow.up span:nth-child(2){color:var(--up)}.contractTradeList .tradeRow.down span:nth-child(2){color:var(--down)}.largeTradeDot,.liquidationDot{width:5px;height:5px;display:inline-block;margin-right:4px;border-radius:50%;background:var(--accent);box-shadow:0 0 7px color-mix(in srgb,var(--accent) 70%,transparent)}.liquidationDot{background:var(--down);box-shadow:0 0 7px color-mix(in srgb,var(--down) 70%,transparent)}.contractEmptyState{min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--muted);text-align:center}.contractEmptyState i{width:22px;height:22px;display:block;border:1px solid var(--border2);border-radius:50%;background:radial-gradient(circle,var(--muted) 1px,transparent 2px)}.contractEmptyState b{color:var(--muted2);font-size:9px;font-weight:640}.contractEmptyState small{font-size:8px}.contractError{grid-column:1/-1;padding:18px;border:1px solid color-mix(in srgb,var(--down) 38%,var(--border));border-radius:9px;color:var(--down);background:color-mix(in srgb,var(--down) 8%,var(--panel2));font-size:10px;text-align:center}

/* 浅色主题保持冷白与蓝色 */
html[data-theme="light"] body{background:radial-gradient(circle at 78% 9%,rgba(93,115,232,.08),transparent 30%),var(--bg)}html[data-theme="light"] #appHeader,html[data-theme="light"] #main,html[data-theme="light"] #sidebar,html[data-theme="light"] .drawer,html[data-theme="light"] #dataDrawer,html[data-theme="light"] #drawToolbar{background:color-mix(in srgb,var(--panel) 92%,transparent)}html[data-theme="light"] .globalMark{color:var(--text);background:transparent}html[data-theme="light"] #drawToolbar>button[data-draw].on,html[data-theme="light"] #drawFavorites button.on,html[data-theme="light"] #drawToolbar #btnInd.on,html[data-theme="light"] #tfMenu .tfMenuItem.on,html[data-theme="light"] #addAlert,html[data-theme="light"] #banner{color:#fff!important}html[data-theme="light"] #status{background:rgba(255,255,255,.82)}html[data-theme="light"] .metric{background:var(--panel2)}

body.chartFullscreen #appHeader{display:none}body.chartFullscreen #appShell{padding:0}body.chartFullscreen #main.mobileFullscreen{z-index:300;border:0;border-radius:0}body.chartFullscreen #sidebar{display:none}

@media(max-width:900px){
  :root{--fusion-header:42px}#appHeader{height:var(--fusion-header);flex-basis:var(--fusion-header);margin:6px 6px 0;padding:0 8px;border-radius:10px}.globalBrand b{font-size:11px}.globalMark{width:27px;height:27px}.globalSearch{display:none}.globalActions{margin-left:auto}#globalLive{margin-right:1px}.globalActions #globalSettings{display:none}
  #appShell{padding:6px}#main{width:100%;flex:0 0 100%;border-radius:12px}#topbar{min-height:60px;flex-basis:auto;padding:7px 9px;gap:8px;flex-wrap:wrap}.instrument{border-right:0}.instrument .assetLogo{width:25px;height:25px;flex-basis:25px}#price{font-size:21px}#tools{margin-left:auto}#status{right:12px;bottom:10px}
  #sidebar{left:6px;top:55px;bottom:6px;width:min(296px,88vw)}html[data-sidebar="collapsed"] #sidebar{width:min(296px,88vw)!important}
  .drawer,#dataDrawer{z-index:280}
}
@media(max-width:600px){
  #appHeader{padding-top:env(safe-area-inset-top);height:calc(var(--fusion-header) + env(safe-area-inset-top));flex-basis:calc(var(--fusion-header) + env(safe-area-inset-top))}.globalActions>button{height:27px}#globalLive{font-size:7px}
  #topbar{min-height:64px;padding-top:7px}#symlabel{font-size:12px}#tools{width:100%;justify-content:flex-end}#drawToolbar{flex:0 0 86px;min-height:86px;margin:0 5px 5px;padding-left:max(6px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right));flex-wrap:wrap;align-content:center;backdrop-filter:none;-webkit-backdrop-filter:none}.mobileFullscreen{top:0!important}
  #drawMoreMenu{position:fixed;left:8px;right:8px;top:var(--draw-menu-top,140px);width:auto;max-height:calc(100dvh - var(--draw-menu-top,140px) - 8px)}
  .drawer,#dataDrawer{position:fixed;left:0;right:0;top:auto;bottom:0;width:100%;height:min(72dvh,640px);padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));border:1px solid var(--border2);border-bottom:0;border-radius:16px 16px 0 0;transform:translateY(105%)!important}.drawer.open,#dataDrawer.open{transform:translateY(0)!important}#dataDrawer{height:min(82dvh,720px)}#dataDrawer h3{margin-left:calc(-1 * max(16px,env(safe-area-inset-left)));margin-right:calc(-1 * max(16px,env(safe-area-inset-right)));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.contractMetric{min-height:54px}.contractDepth{font-size:9px}.depthTableHead,.contractDepth .row{grid-template-columns:minmax(72px,1.15fr) minmax(46px,.85fr) minmax(46px,.85fr);gap:4px;padding-inline:6px!important}.contractTableHead,.contractTradeList .tradeRow{grid-template-columns:54px minmax(58px,1fr) minmax(40px,.68fr) minmax(56px,.86fr);gap:5px;padding:0 7px!important}
  #alertDrawer,#scannerDrawer{width:100%;max-width:none;height:min(84dvh,760px)}.scannerCondition{grid-template-columns:minmax(75px,1.15fr) minmax(68px,1fr) minmax(50px,.75fr) 14px 23px;gap:3px}.scannerPreset{grid-template-columns:1fr 1fr}.scannerPreset button{grid-row:2}.scannerResult{grid-template-columns:minmax(82px,1fr) 64px minmax(104px,1.2fr) 8px;gap:4px;padding:7px 6px}.scannerSignals{gap:2px}.scannerSignals em{padding:2px;font-size:5.5px}#priceAxisAlert{opacity:.72}
}
@media(orientation:portrait) and (max-width:600px) and (max-height:700px){
  html,body{height:auto;min-height:100dvh;overflow-x:hidden;overflow-y:auto}body{align-items:stretch}#appHeader{position:sticky;top:0;width:auto;z-index:260}#appShell{width:100%;height:720px;min-height:720px;flex:0 0 720px;overflow:visible}#main{height:708px;min-height:708px;overflow:visible}#sidebar{position:fixed}body.chartFullscreen{height:100dvh;min-height:100dvh;overflow:hidden}body.chartFullscreen #appShell,body.chartFullscreen #main{height:100dvh;min-height:100dvh;flex-basis:100dvh}
}
@media(max-width:350px){#drawFavorites{flex:0 1 76px;max-width:76px}#drawMagnet{margin-left:0}}
@media(orientation:landscape) and (max-width:1000px) and (max-height:600px){
  html,body{height:auto;min-height:100dvh;overflow-x:hidden;overflow-y:auto}body{align-items:stretch}#appHeader{position:sticky;top:0;width:auto;z-index:260}#appShell{width:100%;height:600px;min-height:600px;flex:0 0 600px;overflow:visible}#main{height:588px;min-height:588px;overflow:visible}#sidebar{position:fixed}body.chartFullscreen{height:100dvh;min-height:100dvh;overflow:hidden}body.chartFullscreen #appShell{height:100dvh;min-height:100dvh;flex-basis:100dvh}
}

/* 已确认的双层工具栏：窄屏时把辅助操作独立成第二行，桌面宽屏仍保持单行。 */
@media(max-width:1100px){
  #drawToolbar{flex:0 0 82px;min-height:82px;flex-wrap:wrap;align-content:center}
  #drawToolbar #tfs,#drawToolbar>button[data-draw],#drawFavorites,.drawMoreWrap,#btnInd,#btnReplay,#btnWorkspace{order:1}
  #drawToolbar::after{content:"";order:1;flex:0 0 100%;height:0}
  #drawUtilityGroup{order:2;width:100%;margin-left:0;justify-content:flex-start}
  #drawMagnetMenu{left:0;right:auto}
  .tfFavoriteStrip .tfFavoriteExtra{display:none}
}
@media(max-width:600px){
  #drawToolbar{flex:0 0 96px;min-height:96px;gap:3px}
  #drawUtilityGroup{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  #drawUtilityGroup::-webkit-scrollbar{display:none}
  #drawMagnet{margin-left:0!important;box-shadow:none!important}
  #drawMagnetMenu{position:fixed;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));top:auto;bottom:max(8px,env(safe-area-inset-bottom));width:auto;max-height:72dvh;overflow:auto;border-radius:14px}
  #btnFullscreen{display:inline-flex!important}
  #chartCountdown>b{display:none}#chartCountdown{padding-inline:6px}
  #chartViewMenu{position:fixed;left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));top:auto;bottom:max(8px,env(safe-area-inset-bottom));width:auto;max-height:82dvh;overflow:auto;border-radius:14px}
  #chartOhlcv{left:6px;right:54px;top:37px;max-width:none;min-height:42px;display:flex;flex-wrap:wrap;align-content:center;gap:3px 8px;padding:4px 7px;white-space:normal}
  #chartOhlcv>time{flex:1 0 calc(100% - 54px)}#chartOhlcv>span{font-size:7px}#chartOhlcv>em{margin-left:auto}
}
@media(max-width:390px){.tfFavoriteStrip .tfFavoriteQuick:nth-of-type(n+3){display:none}.chartZoneSection{grid-template-columns:1fr 104px}#chartTimezone{width:104px}}
@media(max-width:700px){
  #chartContextMenu{width:min(286px,calc(100vw - 16px))}
  #replayBar{left:8px;right:8px;bottom:8px;width:auto;min-height:88px;grid-template-columns:auto minmax(76px,1fr) auto auto;grid-template-rows:auto auto;gap:6px;padding:7px;transform:translateY(12px) scale(.985)}body.replayActive #replayBar{transform:none}
  .replayIdentity{grid-column:1/3;min-width:0;padding-right:0;border-right:0}.replayIdentity small{max-width:180px}.replayControls{grid-column:3/5;justify-content:flex-end}#replayProgress{grid-column:1/3}#replayProgressText{display:none}#replaySpeed{grid-column:3}#replayBar .replayExit{grid-column:4;padding:0 7px}body.replayActive #status{bottom:105px}
}
@media(orientation:landscape) and (max-width:1000px) and (max-height:600px){#chartViewMenu{position:fixed;left:auto;right:max(8px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));bottom:auto;width:min(292px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto}#chartOhlcv{top:35px}}

/* 复盘训练系统 */
#btnReplay{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}#btnReplay>span{font-size:13px;font-weight:850}
#replayDrawer{width:min(400px,calc(100% - 20px));padding:16px 14px;scrollbar-gutter:stable}.replayDrawerTitle b{display:block;color:var(--text);font-size:13px}.replayDrawerTitle small{display:block;margin-top:2px;color:var(--muted);font-size:7px;letter-spacing:.15em}
.replaySetupHero{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:11px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:11px;background:linear-gradient(135deg,var(--accentSoft),color-mix(in srgb,var(--panel2) 80%,transparent))}.replaySetupHero>i{width:34px;height:34px;display:grid;place-items:center;flex:0 0 34px;border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:10px;color:var(--accent2);background:var(--panel);font-size:18px;font-style:normal;font-weight:800}.replaySetupHero>span{min-width:0;margin-right:auto}.replaySetupHero b{display:block;color:var(--text);font-size:11px}.replaySetupHero small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.replaySetupHero em{padding:4px 6px;border:1px solid color-mix(in srgb,var(--up) 35%,var(--border));border-radius:5px;color:var(--up);background:color-mix(in srgb,var(--up) 8%,transparent);font-size:7px;font-style:normal;white-space:nowrap}
.replaySetupCard{margin-bottom:10px;padding:11px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel2) 72%,transparent)}.replaySetupHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.replaySetupHead span{color:var(--text);font-size:10px;font-weight:700}.replaySetupHead small{color:var(--muted);font-size:7px}.replaySetupCard>input[type="range"]{width:100%;height:4px;margin:4px 0 11px;accent-color:var(--accent)}.replayStartDate{display:flex;align-items:center;justify-content:space-between;gap:8px}.replayStartDate span,.replayConfigGrid label>span,.replayNote>span{color:var(--muted);font-size:8px}.replayStartDate input{width:190px;height:30px;padding:0 7px;border:1px solid var(--border);border-radius:7px;color:var(--text);background:var(--panel);font-size:8px;color-scheme:dark}html[data-theme="light"] .replayStartDate input{color-scheme:light}.replayQuickStarts{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:8px}.replayQuickStarts button{height:27px;border:1px solid var(--border);border-radius:6px;color:var(--muted2);background:var(--panel);font-size:7px;cursor:pointer}.replayQuickStarts button:hover{border-color:color-mix(in srgb,var(--accent) 38%,var(--border));color:var(--accent2);background:var(--accentSoft)}
.replayConfigGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.replayConfigGrid label{display:flex;flex-direction:column;gap:4px}.replayConfigGrid input,.replayConfigGrid select{width:100%;height:31px;padding:0 8px;border:1px solid var(--border);border-radius:7px;color:var(--text);background:var(--panel);font-size:8px}.replayNote{display:flex;flex-direction:column;gap:5px;margin-top:8px}.replayNote textarea{width:100%;height:54px;resize:vertical;padding:7px 8px;border:1px solid var(--border);border-radius:7px;color:var(--text);background:var(--panel);font:inherit;font-size:8px;line-height:1.45;outline:0}.replayNote textarea:focus,.replayConfigGrid input:focus,.replayStartDate input:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}#replayStart{width:100%;height:35px;margin-top:9px;border:1px solid var(--accent);border-radius:8px;color:#f7f8ff;background:var(--accent);font-size:9px;font-weight:720;cursor:pointer;box-shadow:0 7px 18px color-mix(in srgb,var(--accent) 20%,transparent)}#replayStart:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}
.replayHistoryHead{display:flex;align-items:center;justify-content:space-between;margin:16px 1px 8px;color:var(--text);font-size:10px;font-weight:700}.replayHistoryHead button{height:24px;padding:0 7px;border:1px solid var(--border);border-radius:6px;color:var(--muted);background:transparent;font-size:7px;cursor:pointer}.replayHistoryHead button.armed{border-color:var(--down);color:white;background:var(--down)}#replayHistory{display:flex;flex-direction:column;gap:7px}.replayHistoryEmpty{padding:22px 10px;border:1px dashed var(--border);border-radius:9px;color:var(--muted);font-size:8px;line-height:1.6;text-align:center}.replayHistoryItem{position:relative;padding:9px 34px 9px 10px;border:1px solid var(--border);border-radius:9px;background:color-mix(in srgb,var(--panel2) 72%,transparent)}.replayHistoryItem header{display:flex;align-items:center;justify-content:space-between;gap:8px}.replayHistoryItem header b{color:var(--text);font-size:9px}.replayHistoryItem header em{font-size:9px;font-style:normal;font-weight:700}.replayHistoryItem header em.up{color:var(--up)}.replayHistoryItem header em.down{color:var(--down)}.replayHistoryItem p{margin-top:5px;color:var(--muted);font-size:7px;line-height:1.45}.replayHistoryItem footer{display:flex;gap:5px;margin-top:7px}.replayHistoryItem footer span{padding:3px 5px;border-radius:4px;color:var(--muted2);background:var(--panel);font-size:7px}.replayHistoryDelete{position:absolute;top:8px;right:7px;width:22px;height:22px;border:1px solid var(--border);border-radius:6px;color:var(--muted);background:var(--panel);cursor:pointer}.replayHistoryDelete:hover{color:var(--down);border-color:color-mix(in srgb,var(--down) 45%,var(--border))}.replayFootnote{display:flex;gap:7px;margin:11px 2px 0;color:var(--muted);font-size:7px;line-height:1.5}.replayFootnote i{width:15px;height:15px;display:grid;place-items:center;flex:0 0 15px;border:1px solid var(--border);border-radius:50%;font-style:normal}

#replayBar{width:min(860px,calc(100% - 28px));grid-template-columns:auto auto minmax(100px,1fr) auto auto auto}.replayPaperPanel{grid-column:1/-1;display:flex;align-items:center;gap:9px;padding-top:7px;border-top:1px solid var(--border)}.replayPaperStats{min-width:0;display:flex;align-items:center;gap:13px;flex:1}.replayPaperStats>span{display:flex;flex-direction:column;gap:2px;min-width:68px}.replayPaperStats small{color:var(--muted);font-size:6px}.replayPaperStats b{color:var(--text);font-size:9px;font-variant-numeric:tabular-nums}.replayPaperStats b.up{color:var(--up)}.replayPaperStats b.down{color:var(--down)}#replayPosition{margin-left:auto;padding:4px 7px;border:1px solid var(--border);border-radius:5px;color:var(--muted2);background:var(--bg);font-size:7px;font-style:normal;white-space:nowrap}#replayPosition.long{border-color:color-mix(in srgb,var(--up) 40%,var(--border));color:var(--up);background:color-mix(in srgb,var(--up) 8%,var(--bg))}#replayPosition.short{border-color:color-mix(in srgb,var(--down) 40%,var(--border));color:var(--down);background:color-mix(in srgb,var(--down) 8%,var(--bg))}.replayTradeActions{display:flex;gap:4px}.replayTradeActions button{height:29px;padding:0 12px;border:1px solid var(--border);border-radius:7px;color:var(--muted2);background:var(--bg);font-size:8px;font-weight:700;cursor:pointer}.replayTradeActions button[data-replay-trade="long"]{border-color:color-mix(in srgb,var(--up) 42%,var(--border));color:var(--up)}.replayTradeActions button[data-replay-trade="short"]{border-color:color-mix(in srgb,var(--down) 42%,var(--border));color:var(--down)}.replayTradeActions button[data-replay-trade="close"]{color:var(--accent2)}.replayTradeActions button:disabled{opacity:.35;cursor:not-allowed}.replayTradeActions button:not(:disabled):hover{background:var(--accentSoft)}body.replayActive #status{bottom:116px}

@media(max-width:700px){
  #replayBar{min-height:138px;grid-template-columns:auto minmax(76px,1fr) auto auto}.replayPaperPanel{flex-direction:column;align-items:stretch;gap:6px}.replayPaperStats{gap:7px}.replayPaperStats>span{min-width:0;flex:1}.replayPaperStats>span:nth-child(3){display:none}#replayPosition{margin-left:0}.replayTradeActions{display:grid;grid-template-columns:1fr 1fr 1fr}.replayTradeActions button{padding:0 7px}body.replayActive #status{bottom:153px}
}

/* 多图布局与工作区 */
#workspaceGrid{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;flex:1;gap:5px;padding:5px;background:var(--bg);overflow:hidden}
#workspaceGrid[data-layout="2"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}
#workspaceGrid[data-layout="4"]{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.workspaceCell{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:1px solid transparent;border-radius:8px;background:color-mix(in srgb,var(--panel) 72%,var(--bg));transition:border-color .16s,box-shadow .16s}
.workspaceCell.active{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent)}
.workspacePrimary #chartStage{flex:1;min-height:0}.workspacePrimary #subPanes{flex:0 0 auto}
#workspaceGrid[data-layout="4"] .workspacePrimary #subPanes{display:none}
.workspacePanelBadge{position:absolute;z-index:8;top:7px;right:62px;display:none;align-items:center;gap:5px;height:22px;padding:0 7px;border:1px solid var(--border);border-radius:6px;color:var(--muted2);background:color-mix(in srgb,var(--panel) 90%,transparent);font-size:8px;font-weight:700;pointer-events:none;backdrop-filter:blur(8px)}
.workspacePanelBadge i{width:5px;height:5px;border-radius:50%;background:var(--accent)}
#workspaceGrid:not([data-layout="1"]) .workspacePanelBadge{display:flex}
.workspaceAux{border-color:var(--border)}
.workspaceAuxHeader{height:34px;flex:0 0 34px;display:flex;align-items:center;gap:6px;padding:0 7px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--panel) 88%,transparent)}
.workspaceAuxIdentity{display:flex;align-items:center;gap:6px;min-width:0;margin-right:auto}.workspaceAuxIdentity img{width:18px;height:18px;border-radius:50%;object-fit:cover}.workspaceAuxIdentity span{display:block;overflow:hidden;color:var(--text);font-size:9px;font-weight:750;white-space:nowrap;text-overflow:ellipsis}.workspaceAuxIdentity small{display:block;margin-top:1px;color:var(--muted);font-size:7px}
.workspaceAuxHeader select{height:24px;max-width:84px;padding:0 20px 0 6px;border:1px solid var(--border);border-radius:5px;color:var(--muted2);background:var(--panel2);font-size:8px;cursor:pointer}
.workspaceAuxChart{position:relative;min-width:0;min-height:0;flex:1;overflow:hidden}.workspaceAuxChart>div{width:100%;height:100%}
.workspaceAuxLoading{position:absolute;inset:0;z-index:4;display:grid;place-items:center;color:var(--muted);background:color-mix(in srgb,var(--bg) 78%,transparent);font-size:9px}.workspaceAuxLoading[hidden]{display:none}
.workspaceAuxStatus{width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 3px color-mix(in srgb,var(--muted) 12%,transparent)}.workspaceAux.live .workspaceAuxStatus{background:var(--up);box-shadow:0 0 0 3px color-mix(in srgb,var(--up) 14%,transparent)}
#btnWorkspace{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}#btnWorkspace>span{font-size:13px;font-weight:800}
.workspaceDrawerTitle b{display:block;color:var(--text);font-size:13px}.workspaceDrawerTitle small{display:block;margin-top:2px;color:var(--muted);font-size:7px;letter-spacing:.15em}
.workspaceSection{margin-top:13px;padding:11px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel2) 72%,transparent)}
.workspaceSectionHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;color:var(--text);font-size:10px;font-weight:720}.workspaceSectionHead small{color:var(--muted);font-size:7px;font-weight:500}.workspaceSectionHead button{height:24px;padding:0 8px;border:1px solid var(--border);border-radius:6px;color:var(--accent2);background:var(--accentSoft);font-size:8px;cursor:pointer}
.workspaceLayoutChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.workspaceLayoutChoices>button{display:flex;flex-direction:column;align-items:center;gap:7px;padding:9px 5px 7px;border:1px solid var(--border);border-radius:8px;color:var(--muted2);background:var(--panel);font-size:8px;font-weight:650;cursor:pointer}.workspaceLayoutChoices>button.on{border-color:color-mix(in srgb,var(--accent) 65%,var(--border));color:var(--accent2);background:var(--accentSoft)}
.layoutGlyph{width:31px;height:22px;display:grid;gap:2px;padding:2px;border:1px solid currentColor;border-radius:4px}.layoutGlyph b{display:block;border-radius:1px;background:currentColor;opacity:.72}.layoutOne{grid-template:1fr/1fr}.layoutTwo{grid-template:1fr/repeat(2,1fr)}.layoutFour{grid-template:repeat(2,1fr)/repeat(2,1fr)}
.workspaceSyncChoices{display:grid;grid-template-columns:1fr 1fr;gap:7px}.workspaceSyncChoices>button{display:flex;align-items:center;gap:8px;min-height:47px;padding:7px 8px;border:1px solid var(--border);border-radius:8px;color:var(--muted);background:var(--panel);text-align:left;cursor:pointer}.workspaceSyncChoices>button>i{width:17px;height:17px;display:grid;place-items:center;flex:0 0 17px;border:1px solid var(--border2);border-radius:5px;color:transparent;font-size:9px;font-style:normal}.workspaceSyncChoices>button.on{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:var(--accentSoft)}.workspaceSyncChoices>button.on>i{border-color:var(--accent);color:white;background:var(--accent)}.workspaceSyncChoices b{display:block;color:var(--text);font-size:9px}.workspaceSyncChoices small{display:block;margin-top:2px;color:var(--muted);font-size:7px;line-height:1.3}
.workspaceCurrent{display:flex;gap:7px}.workspaceCurrent select{min-width:0;height:32px;flex:1;padding:0 8px;border:1px solid var(--border);border-radius:7px;color:var(--text);background:var(--panel);font-size:9px}.workspaceCurrent button,.workspaceActions button{height:32px;padding:0 11px;border:1px solid var(--border);border-radius:7px;color:var(--muted2);background:var(--panel);font-size:8px;cursor:pointer}.workspaceCurrent button{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));color:white;background:var(--accent)}
.workspaceNameEditor{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:5px;margin-top:7px}.workspaceNameEditor[hidden]{display:none}.workspaceNameEditor input{min-width:0;height:30px;padding:0 8px;border:1px solid color-mix(in srgb,var(--accent) 48%,var(--border));border-radius:7px;color:var(--text);background:var(--panel);font-size:9px;outline:0}.workspaceNameEditor button{height:30px;padding:0 8px;border:1px solid var(--border);border-radius:7px;color:var(--muted2);background:var(--panel);font-size:8px;cursor:pointer}.workspaceNameEditor #workspaceNameConfirm{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));color:white;background:var(--accent)}
.workspaceMeta{margin-top:8px;color:var(--muted);font-size:7px;line-height:1.5}.workspaceActions{display:flex;gap:7px;margin-top:9px}.workspaceActions button{flex:1}.workspaceActions .danger{color:var(--down)}
.workspaceActions .danger.armed{border-color:var(--down);color:white;background:var(--down)}
.workspaceFootnote{display:flex;gap:7px;margin:11px 2px 0;color:var(--muted);font-size:7px;line-height:1.5}.workspaceFootnote i{width:15px;height:15px;display:grid;place-items:center;flex:0 0 15px;border:1px solid var(--border);border-radius:50%;font-style:normal}
html[data-theme="light"] .workspaceCell{background:rgba(255,255,255,.78)}

@media(max-width:1100px){#btnWorkspace{padding-inline:8px!important}#btnWorkspace>span{font-size:13px}.workspaceAuxHeader select{max-width:68px}}
@media(max-width:700px){
  #workspaceGrid:not([data-layout="1"]){display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  #workspaceGrid:not([data-layout="1"]) .workspaceCell{min-height:300px;flex:0 0 min(48dvh,390px)}
  #workspaceGrid:not([data-layout="1"]) .workspacePrimary{min-height:360px;flex-basis:min(56dvh,460px)}
  .workspaceSyncChoices{grid-template-columns:1fr}
  .workspaceAuxHeader select{max-width:78px}
}

/* 应用与数据：为桌面 App 迁移准备的统一备份、回滚与诊断面板 */
#appDrawer{width:min(430px,calc(100% - 20px));padding:16px 14px;scrollbar-gutter:stable}.appDrawerTitle{display:flex;flex-direction:column;gap:2px}.appDrawerTitle b{color:var(--text);font-size:13px;font-weight:740}.appDrawerTitle small{color:var(--muted);font-size:7px;letter-spacing:.15em}
.appPlatformHero{display:grid;grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:10px;padding:11px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:11px;background:linear-gradient(135deg,var(--accentSoft),color-mix(in srgb,var(--panel2) 86%,transparent))}.appPlatformMark{width:37px;height:37px;display:grid;place-items:center;padding:5px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:11px;color:var(--text);background:var(--panel)}.appPlatformHero b,.appPlatformHero small{display:block}.appPlatformHero b{color:var(--text);font-size:10px}.appPlatformHero small{margin-top:3px;color:var(--muted);font-size:7px;line-height:1.4}.appPlatformHero em{padding:4px 6px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--border));border-radius:5px;color:var(--accent2);background:var(--accentSoft);font-size:7px;font-style:normal;font-weight:750;letter-spacing:.08em}
.appSettingsCard,.appImportPreview{margin-bottom:9px;padding:11px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--panel2) 76%,transparent)}.appImportPreview{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:linear-gradient(145deg,var(--accentSoft),color-mix(in srgb,var(--panel2) 84%,transparent))}.appImportPreview[hidden]{display:none}.appSettingsHead{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:9px}.appSettingsHead span{min-width:0}.appSettingsHead b,.appSettingsHead small{display:block}.appSettingsHead b{color:var(--text);font-size:10px;font-weight:720}.appSettingsHead small{margin-top:3px;color:var(--muted);font-size:7px;line-height:1.4}.appSettingsHead>i{width:22px;height:22px;display:grid;place-items:center;flex:0 0 22px;border:1px solid var(--border);border-radius:6px;color:var(--muted);background:var(--bg);font-size:7px;font-style:normal;font-weight:750}
.appPrivacyOption{min-height:46px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;margin-bottom:9px;padding:7px 8px;border:1px solid var(--border);border-radius:8px;background:var(--panel);cursor:pointer}.appPrivacyOption>input{position:absolute;opacity:0;pointer-events:none}.appPrivacyOption>i{width:17px;height:17px;display:grid;place-items:center;border:1px solid var(--border2);border-radius:5px;color:transparent;background:var(--bg);font-size:9px;font-style:normal}.appPrivacyOption>input:checked+i{border-color:var(--accent);color:white;background:var(--accent)}.appPrivacyOption b,.appPrivacyOption small{display:block}.appPrivacyOption b{color:var(--muted2);font-size:8px}.appPrivacyOption small{margin-top:3px;color:var(--muted);font-size:7px;line-height:1.35}
.appPrimaryActions,.appSecondaryActions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.appPrimaryActions button,.appPrimaryActions label,.appSecondaryActions button,.appQuietAction,#appConfirmImport{height:32px;display:flex;align-items:center;justify-content:center;padding:0 9px;border:1px solid var(--border);border-radius:7px;color:var(--muted2);background:var(--panel);font:650 8px/1 inherit;text-align:center;cursor:pointer}.appPrimaryActions button{border-color:var(--accent);color:white;background:var(--accent);box-shadow:0 6px 16px color-mix(in srgb,var(--accent) 18%,transparent)}.appPrimaryActions button:disabled,.appSecondaryActions button:disabled,.appQuietAction:disabled{opacity:.42;cursor:not-allowed;box-shadow:none}.appQuietAction{width:100%;height:28px;margin-top:6px;color:var(--muted);background:transparent}.appSecondaryActions button:first-child{color:var(--down)}.appSecondaryActions button.armed,#appConfirmImport.armed{border-color:var(--down);color:white;background:var(--down)}
.appImportCounts{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.appImportCounts>span,.appDiagnosticGrid>span{min-width:0;padding:7px;border:1px solid var(--border);border-radius:7px;background:color-mix(in srgb,var(--panel) 82%,transparent)}.appImportCounts small,.appImportCounts b,.appDiagnosticGrid small,.appDiagnosticGrid b{display:block}.appImportCounts small,.appDiagnosticGrid small{overflow:hidden;color:var(--muted);font-size:6px;white-space:nowrap;text-overflow:ellipsis}.appImportCounts b{margin-top:4px;color:var(--text);font-size:12px;font-variant-numeric:tabular-nums}.appImportPreview>p{margin:8px 1px;color:var(--muted2);font-size:7px;line-height:1.5}#appConfirmImport{width:100%;border-color:color-mix(in srgb,var(--accent) 55%,var(--border));color:white;background:var(--accent)}
.appDiagnosticGrid{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:7px}.appDiagnosticGrid b{margin-top:3px;overflow:hidden;color:var(--text);font-size:8px;white-space:nowrap;text-overflow:ellipsis}.appDiagnosticGrid b.ok{color:var(--up)}.appDiagnosticGrid b.warn{color:var(--warning)}.appSettingsFootnote{display:flex;gap:7px;margin:11px 2px 0;color:var(--muted);font-size:7px;line-height:1.55}.appSettingsFootnote i{width:15px;height:15px;display:grid;place-items:center;flex:0 0 15px;border:1px solid var(--border);border-radius:50%;font-style:normal}.appSettingsFootnote a{display:inline-block;margin-left:4px;color:var(--muted2);text-underline-offset:2px}
html[data-theme="light"] .appPlatformHero{background:linear-gradient(135deg,var(--accentSoft),#fff)}html[data-theme="light"] .appSettingsCard{background:color-mix(in srgb,var(--panel2) 58%,#fff)}
@media(max-width:900px){.globalActions #globalSettings{display:block}}
@media(max-width:600px){#appDrawer{width:100%;max-width:none;height:min(88dvh,780px)}.appImportCounts{grid-template-columns:1fr 1fr}}

/* 持久化币种标签栏：取代全局搜索、独立报价抬头和币种侧栏。 */
#appHeader .globalActions{margin-left:auto}
#topbar{min-width:0;min-height:60px;flex:0 0 60px;padding:7px 12px;gap:8px;flex-wrap:nowrap;overflow:visible}
#symbolTabsBar{min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:5px}
#symbolTabs{min-width:0;display:flex;align-items:center;gap:4px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}#symbolTabs::-webkit-scrollbar{display:none}
.symbolTab{position:relative;min-width:0;flex:0 0 clamp(168px,14vw,198px);height:40px;display:grid;grid-template-columns:22px minmax(46px,1fr) minmax(58px,auto) 18px;grid-template-rows:18px 15px;align-items:center;column-gap:6px;padding:2px 4px 2px 7px;scroll-snap-align:start;border:1px solid var(--border);border-radius:8px;color:var(--muted2);background:color-mix(in srgb,var(--panel2) 76%,transparent);cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s;outline:0}.symbolTab:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--border2));background:var(--panel2)}.symbolTab.active{border-color:color-mix(in srgb,var(--accent) 56%,var(--border));background:linear-gradient(135deg,var(--accentSoft),color-mix(in srgb,var(--panel2) 76%,transparent));box-shadow:inset 0 -2px var(--accent),0 7px 18px rgba(0,0,0,.12)}.symbolTab:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accentSoft)}
.symbolTab>.assetLogo{grid-column:1;grid-row:1/3;width:22px;height:22px;flex-basis:22px}.symbolTabMarket{grid-column:2;grid-row:1/3;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1px}.symbolTabMarket b{overflow:hidden;color:var(--text);font-size:12px;font-weight:740;letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis}.symbolTabMarket small{overflow:hidden;color:var(--muted);font-size:7.5px;white-space:nowrap;text-overflow:ellipsis}.symbolTabPrice{grid-column:3;grid-row:1;align-self:end;overflow:hidden;color:var(--text);font-size:11px;font-weight:690;font-variant-numeric:tabular-nums;letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;text-align:right}.symbolTabChange{grid-column:3;grid-row:2;align-self:start;color:var(--muted);font-size:9px;font-weight:680;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.symbolTabChange.up{color:var(--up)}.symbolTabChange.down{color:var(--down)}.symbolTabChange.replay{color:var(--accent2)}#symbolTabs #symlabel{font-size:12px;font-weight:740}#symbolTabs #price{font-size:11px;font-weight:690;letter-spacing:-.015em}#symbolTabs #change{padding:0;border-radius:0;background:transparent!important;font-size:9px;font-weight:680}
.symbolTabClose{grid-column:4;grid-row:1/3;width:18px!important;height:22px!important;display:grid!important;place-items:center!important;padding:0!important;border:0!important;border-radius:5px!important;color:var(--muted)!important;background:transparent!important;font-size:15px!important;font-weight:500!important;cursor:pointer;box-shadow:none!important}.symbolTabClose:hover{color:var(--text)!important;background:color-mix(in srgb,var(--border2) 50%,transparent)!important}
#symbolPickerWrap{position:relative;flex:0 0 auto;display:flex;align-items:center}#addSymbolTab{width:36px;height:40px;display:grid;place-items:center;padding:0;border:1px solid var(--border);border-radius:8px;color:var(--muted2);background:var(--panel2);font-size:20px;font-weight:400;cursor:pointer;transition:.15s}#addSymbolTab:hover,#addSymbolTab.on{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));color:var(--accent2);background:var(--accentSoft)}
#symbolPicker{position:fixed;z-index:560;width:360px;max-width:calc(100vw - 16px);height:min(460px,calc(100dvh - 86px));display:flex;flex-direction:column;padding:9px;border:1px solid var(--border2);border-radius:13px;background:color-mix(in srgb,var(--panel) 97%,transparent);box-shadow:0 24px 75px rgba(0,0,0,.52);backdrop-filter:blur(22px);overflow:hidden}#symbolPicker[hidden]{display:none}#symbolPicker>header{height:34px;display:flex;align-items:center;gap:8px;padding:0 2px 7px;border-bottom:1px solid var(--border)}#symbolPicker>header>span{min-width:0;margin-right:auto}#symbolPicker>header b{display:block;color:var(--text);font-size:11px;font-weight:720}#symbolPicker>header small{display:block;margin-top:1px;color:var(--muted);font-size:7px}#closeSymbolPicker{width:26px;height:26px;padding:0;border:1px solid transparent;border-radius:6px;color:var(--muted);background:transparent;font-size:17px;cursor:pointer}#closeSymbolPicker:hover{border-color:var(--border);color:var(--text);background:var(--panel2)}
#symbolPickerCategories{height:34px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;flex:0 0 34px;margin:8px 0 0;padding:3px;border:1px solid var(--border);border-radius:9px;background:color-mix(in srgb,var(--bg) 70%,transparent)}#symbolPickerCategories button{min-width:0;height:26px;padding:0 3px;border:1px solid transparent;border-radius:6px;color:var(--muted);background:transparent;font-size:8.5px;font-weight:650;white-space:nowrap;cursor:pointer;transition:.15s}#symbolPickerCategories button:hover{color:var(--text);background:var(--panel2)}#symbolPickerCategories button.on{border-color:color-mix(in srgb,var(--accent) 32%,var(--border));color:var(--accent2);background:var(--accentSoft);box-shadow:0 2px 7px rgba(0,0,0,.1)}
.symbolPickerSearch{height:36px;display:flex;align-items:center;gap:7px;flex:0 0 36px;margin:8px 0;padding:0 10px;border:1px solid var(--border);border-radius:8px;color:var(--muted);background:var(--bg)}.symbolPickerSearch:focus-within{border-color:color-mix(in srgb,var(--accent) 58%,var(--border));box-shadow:0 0 0 2px var(--accentSoft)}.symbolPickerSearch>span{font-size:15px}.symbolPickerSearch input{width:100%;min-width:0;border:0;outline:0;color:var(--text);background:transparent;font-size:10px}.symbolPickerSearch input::placeholder{color:var(--muted)}
#symbolPickerList{min-height:0;flex:1;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.symbolPickerRow{width:100%;min-height:48px;display:grid;grid-template-columns:25px minmax(86px,1fr) minmax(70px,auto) 42px;align-items:center;gap:8px;padding:5px 7px;border:1px solid transparent;border-radius:8px;color:var(--muted2);background:transparent;text-align:left;cursor:pointer}.symbolPickerRow:hover{border-color:color-mix(in srgb,var(--accent) 20%,transparent);background:var(--accentSoft)}.symbolPickerRow.opened{background:color-mix(in srgb,var(--panel2) 68%,transparent)}.symbolPickerRow>.assetLogo{width:24px;height:24px}.symbolPickerAsset,.symbolPickerQuote{min-width:0}.symbolPickerAsset b,.symbolPickerQuote b{display:block;overflow:hidden;color:var(--text);font-size:10px;font-weight:690;white-space:nowrap;text-overflow:ellipsis}.symbolPickerAsset small,.symbolPickerQuote small{display:block;margin-top:2px;overflow:hidden;color:var(--muted);font-size:7px;white-space:nowrap;text-overflow:ellipsis}.symbolPickerQuote{text-align:right;font-variant-numeric:tabular-nums}.symbolPickerQuote small.up{color:var(--up)}.symbolPickerQuote small.down{color:var(--down)}.symbolPickerRow>em{justify-self:end;padding:3px 5px;border:1px solid var(--border);border-radius:5px;color:var(--muted2);font-size:7px;font-style:normal}.symbolPickerRow.opened>em{border-color:color-mix(in srgb,var(--accent) 28%,var(--border));color:var(--accent2);background:var(--accentSoft)}.symbolPickerEmpty{height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--muted);text-align:center}.symbolPickerEmpty b{color:var(--muted2);font-size:10px}.symbolPickerEmpty small{margin-top:5px;font-size:8px}#tools{flex:0 0 auto;margin-left:0}

/* 中等桌面也采用双层工具栏，最后的删除按钮不会再越过图表边界。 */
@media(max-width:1360px){#drawToolbar{flex:0 0 82px;min-height:82px;flex-wrap:wrap;align-content:center}#drawToolbar #tfs,#drawToolbar>button[data-draw],#drawFavorites,.drawMoreWrap,#btnInd,#btnReplay,#btnWorkspace{order:1}#drawToolbar::after{content:"";order:1;flex:0 0 100%;height:0}#drawUtilityGroup{order:2;width:100%;max-width:100%;margin-left:0;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}#drawUtilityGroup::-webkit-scrollbar{display:none}}
@media(max-width:900px){#topbar{min-height:100px;flex-basis:auto;flex-wrap:wrap;align-content:center;padding:7px 9px;gap:6px}#symbolTabsBar{order:1;flex:1 0 100%;width:100%}.symbolTab{flex-basis:180px;height:42px}#addSymbolTab{height:42px}#tools{order:2;width:100%;justify-content:flex-end}}
@media(max-width:600px){#topbar{min-height:98px;padding-left:max(7px,env(safe-area-inset-left));padding-right:max(7px,env(safe-area-inset-right))}#drawToolbar{flex:0 0 112px;min-height:112px}.symbolTab{flex-basis:164px;grid-template-columns:22px minmax(43px,1fr) minmax(57px,auto) 18px;column-gap:5px;padding-left:6px}.symbolTab>.assetLogo{width:22px;height:22px}.symbolTabMarket small{display:none}.symbolTabPrice,#symbolTabs #price{font-size:9px}.symbolTabClose{width:18px!important}#addSymbolTab{width:36px}#symbolPicker{left:max(8px,env(safe-area-inset-left))!important;right:max(8px,env(safe-area-inset-right))!important;top:auto!important;bottom:max(8px,env(safe-area-inset-bottom));width:auto;max-width:none;height:min(62dvh,520px);border-radius:14px}.symbolPickerRow{grid-template-columns:24px minmax(80px,1fr) minmax(64px,auto) 40px;gap:6px}}
@media(orientation:landscape) and (max-width:1000px) and (max-height:600px){#topbar{min-height:56px;flex-basis:56px;flex-wrap:nowrap}#symbolTabsBar{order:1;flex:1 1 auto;width:auto}.symbolTab{height:40px;flex-basis:176px}#addSymbolTab{height:40px}#tools{order:2;width:auto}.symbolTabMarket small{display:none}#symbolPicker{width:min(350px,44vw);height:calc(100dvh - 62px);max-height:360px}}
