:root{color-scheme:dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;--bg: #0b1016;--panel: #111923;--panel-raised: #182230;--border: #2a394b;--border-soft: #202d3b;--text: #e7edf5;--text-muted: #a8b6c8;--text-subtle: #8595aa;--accent: #60a5fa;--accent-strong: #2563eb;--up: #ff6b75;--down: #45d6a0;--warning: #f4c76b;--chip: #28d7dd;background:var(--bg);color:var(--text)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overflow:hidden}body{background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.58}button,input,select,textarea{outline:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:0 0 0 3px #60a5fa47;border-color:var(--accent)!important}.app-shell{height:100dvh;display:grid;grid-template-rows:56px auto auto minmax(0,1fr) 34px;gap:1px;background:var(--bg);padding:0 8px 8px}.topbar{display:flex;align-items:center;gap:12px;min-width:0;padding:6px 12px;border-bottom:1px solid var(--border-soft)}.brand{min-width:158px;display:flex;align-items:center;gap:10px;font-size:19px;letter-spacing:-.02em}.logo{width:30px;color:var(--accent);font-size:29px;font-weight:900;font-style:italic;line-height:1}.search-box{position:relative;width:min(320px,28vw);min-width:190px}.search-box input{width:100%;height:42px;padding:0 42px 0 14px;border:1px solid var(--border);border-radius:8px;background:#0e151d;font-size:16px}.search-box>span{position:absolute;right:14px;top:9px;color:var(--text-subtle);font-size:21px;pointer-events:none}.search-results{position:absolute;z-index:60;top:calc(100% + 6px);left:0;width:100%;max-height:min(420px,70dvh);overflow:auto;border:1px solid var(--border);border-radius:10px;background:var(--panel-raised);box-shadow:0 20px 50px #00000073}.search-results button{min-height:50px;width:100%;display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:8px;padding:10px 12px;border:0;border-bottom:1px solid var(--border-soft);background:transparent;text-align:left}.search-results button:last-child{border-bottom:0}.search-results button:hover{background:#60a5fa1a}.search-results small{color:var(--text-subtle)}.mobile-search-trigger{display:none}.toolbar-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.segmented{height:42px;display:flex;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#0e151d}.segmented button{min-width:64px;border:0;border-right:1px solid var(--border);background:transparent;color:var(--text-muted)}.segmented button:last-child{border-right:0}.segmented button.active{background:#60a5fa26;color:#dcebff;box-shadow:inset 0 -2px var(--accent)}.toolbar-button,.toolbar-select{height:42px;min-width:76px;padding:0 14px;border:1px solid var(--border);border-radius:8px;background:#0e151d;color:var(--text-muted)}.toolbar-button:hover,.toolbar-button.selected{border-color:#41607e;background:#142131;color:var(--text)}.toolbar-button:disabled{color:var(--text-subtle)}.quote-card,.strategy-summary,.statusbar{border:1px solid var(--border-soft);background:#111923db}.quote-card{min-height:56px;display:flex;align-items:center;gap:24px;padding:6px 14px}.quote-identity{display:flex;align-items:center;gap:24px;min-width:360px}.quote-identity h1{margin:0 0 1px;font-size:17px;font-weight:600}.quote-identity>div>span{color:var(--text-subtle);font-size:12px;font-variant-numeric:tabular-nums}.latest-price{display:flex;align-items:baseline;gap:12px}.latest-price b{font-size:25px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.latest-price span{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.up{color:var(--up)!important}.down{color:var(--down)!important}.strategy-summary{min-height:58px;display:grid;grid-template-columns:minmax(280px,1fr) auto;align-items:center;gap:14px;padding:5px 14px}.strategy-title-row{min-width:0;display:flex;align-items:center;gap:9px}.strategy-name{max-width:340px;min-height:36px;overflow:hidden;padding:0;border:0;background:transparent;color:var(--text);font-weight:600;text-align:left;text-overflow:ellipsis;white-space:nowrap}.strategy-name span{margin-left:7px;color:var(--text-subtle)}.kind-badge{flex:0 0 auto;padding:4px 8px;border:1px solid var(--border);border-radius:6px;color:var(--text-subtle);font-size:12px}.kind-badge.user{border-color:#60a5fa66;color:#a9d0ff}.visibility-toggle,.edit-strategy{min-height:36px;padding:0 9px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);font-size:12px}.visibility-toggle[aria-pressed=true]{color:#bcebd7;border-color:#45d6a059}.edit-strategy{color:#a9d0ff}.strategy-state{min-width:150px;display:flex;align-items:baseline;justify-content:flex-end;gap:10px;padding-left:14px;border-left:1px solid var(--border-soft)}.strategy-state span{color:var(--text-subtle);font-size:11px}.strategy-state b{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.signal-positive{color:var(--chip)}.c90{color:var(--text)}.c70{color:#c084fc}.inline-error{grid-column:1 / -1;display:flex;gap:10px;color:#ff9da5;font-size:13px}.inline-error button{padding:0;border:0;background:transparent;color:#bbd9ff;text-decoration:underline}.chart-panel{position:relative;min-height:0;overflow-x:hidden;overflow-y:auto;border:1px solid var(--border-soft);background:#0c1219;scrollbar-color:#34475c #0c1219;scrollbar-width:thin}.chart-wrap{position:relative;width:100%;height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.chart-wrap.many-panes{height:auto}.chart-headline{min-height:40px;display:flex;align-items:center;border-bottom:1px solid var(--border-soft)}.main-detail-toggle{flex:0 0 auto;margin:0 8px;min-height:32px;padding:0 9px;border:1px solid #344a62;border-radius:6px;background:#152234;color:#b8d6f7;font-size:12px}.chart-actions{flex:0 0 auto;display:flex;gap:5px}.chart-actions button{min-height:32px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:#111a24;color:var(--text-muted);font-size:12px}.selected-bar{min-width:0;min-height:40px;flex:1;display:flex;align-items:center;gap:14px;overflow-x:auto;padding:4px 10px;color:var(--text-muted);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;scrollbar-width:none}.selected-bar::-webkit-scrollbar{display:none}.selected-bar b{color:var(--text);font-weight:600}.indicator-accessibility{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.chart{width:100%;height:100%;min-height:280px}.chart-loading{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:10px;background:#0b1016c7;color:var(--text-muted)}.chart-loading span{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-banner{position:absolute;z-index:6;top:18px;left:50%;display:flex;gap:12px;align-items:center;transform:translate(-50%);padding:10px 12px;border:1px solid #7d3742;border-radius:8px;background:#351b23;color:#ffb3ba}.error-banner button{border:1px solid #91505a;border-radius:6px;background:transparent}.statusbar{min-height:34px;display:flex;align-items:center;gap:20px;padding:4px 12px;color:var(--text-subtle);font-size:12px;font-variant-numeric:tabular-nums}.statusbar strong{margin-left:auto;color:var(--warning);font-weight:500}.sheet-backdrop{position:fixed;inset:0;z-index:39;width:100%;height:100%;padding:0;border:0;background:#00000085}.strategy-menu{position:fixed;z-index:40;top:72px;right:18px;width:380px;max-height:calc(100dvh - 90px);overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--panel-raised);box-shadow:0 24px 64px #00000085}.strategy-menu>header{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border)}.strategy-menu>header div{display:grid;gap:2px}.strategy-menu>header span{color:var(--text-subtle);font-size:11px}.strategy-menu>header button{width:40px;height:40px;border:0;background:transparent;color:var(--text-muted);font-size:24px}.strategy-menu-content{max-height:calc(100dvh - 150px);overflow-y:auto;padding-bottom:10px}.strategy-menu-content>p{margin:0;padding:12px 14px 6px;color:var(--text-subtle);font-size:11px;letter-spacing:.08em}.strategy-row{min-height:54px;display:grid;grid-template-columns:1fr auto;align-items:center;border-left:3px solid transparent}.strategy-row.active{border-left-color:var(--accent);background:#60a5fa17}.strategy-row>button{min-height:48px;padding:8px 14px;border:0;background:transparent;text-align:left}.strategy-row>button>span{display:flex;align-items:flex-start;gap:8px;white-space:normal}.strategy-row>button>span i{width:16px;flex:0 0 16px;color:var(--accent);font-style:normal}.strategy-row small{display:block;margin-top:3px;color:var(--text-subtle);font-size:11px}.strategy-row .row-edit{min-width:54px;padding:8px 12px;color:#a9d0ff;text-align:center}.empty-strategies{padding:10px 14px 14px;color:var(--text-subtle);font-size:13px}.strategy-actions{display:grid;grid-template-columns:1fr auto auto;gap:7px;margin:8px 12px 0;padding-top:12px;border-top:1px solid var(--border)}.strategy-actions button{min-height:42px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:#111a24}.strategy-actions .primary-action{border-color:#60a5fa75;color:#c7e0ff}.transfer-notice{margin:10px 12px 0;color:#84dfb9;font-size:12px;line-height:1.5}.mobile-search-panel{display:none}.drawer-backdrop{position:fixed;inset:0;z-index:70;background:#0000008f}.strategy-drawer{position:absolute;right:0;top:0;width:min(560px,94vw);height:100dvh;display:grid;grid-template-rows:auto auto auto minmax(220px,1fr) auto auto;overflow:hidden;padding:0 20px;border-left:1px solid var(--border);background:var(--panel);box-shadow:-24px 0 64px #0000007a}.strategy-drawer>header{min-height:72px;display:flex;align-items:center;justify-content:space-between;margin:0 -20px;padding:12px 20px;border-bottom:1px solid var(--border)}.strategy-drawer>header div{display:grid;gap:3px}.strategy-drawer h2{margin:0;font-size:20px}.strategy-drawer>header span{color:var(--text-subtle);font-size:12px}.icon-button{width:44px;height:44px;border:0;background:transparent;color:var(--text-muted);font-size:28px;font-weight:300}.drawer-fields{display:grid;grid-template-columns:1fr 180px;gap:12px;padding:16px 0}.drawer-fields label{display:grid;gap:7px;color:var(--text-muted);font-size:13px}.drawer-fields input,.drawer-fields select{min-height:42px;padding:8px 11px;border:1px solid var(--border);border-radius:8px;background:#0e151d;font-size:15px}.editor-heading{min-height:44px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.editor-heading strong{color:#a9d0ff;font-size:14px}.editor-heading label{display:flex;align-items:center;gap:7px;color:var(--text-muted);font-size:13px}.editor-heading input,.apply-row input{width:18px;height:18px;accent-color:var(--accent-strong)}.editor-shell{min-height:0;display:grid;grid-template-columns:42px minmax(0,1fr);overflow:hidden;border:1px solid var(--border);border-top:0;background:#0c131b}.line-rail{padding-top:12px;overflow:hidden;color:#708197;text-align:right;font:13px/22px ui-monospace,SFMono-Regular,Menlo,Consolas,PingFang SC,monospace}.line-rail span{display:block;padding-right:10px}.editor-shell textarea{min-width:0;resize:none;overflow:auto;padding:12px;border:0;border-left:1px solid var(--border-soft);background:transparent;color:#e2a8ed;font:14px/22px ui-monospace,SFMono-Regular,Menlo,Consolas,PingFang SC,monospace;font-variant-ligatures:none;tab-size:2;white-space:pre}.editor-shell.wrap-lines{grid-template-columns:1fr}.editor-shell.wrap-lines .line-rail{display:none}.editor-shell.wrap-lines textarea{border-left:0;white-space:pre-wrap;overflow-wrap:anywhere}.validation{min-height:62px;display:grid;align-content:center;gap:4px;padding:10px 4px;color:var(--text-subtle);font-size:13px}.validation strong{font-weight:500}.validation.pending{color:var(--warning)}.validation.error{color:#ff909a}.validation span{padding-left:17px}.apply-row{min-height:48px;display:flex;align-items:center;gap:10px;color:var(--text-muted);font-size:14px}.strategy-drawer>footer{min-height:calc(68px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -20px;padding:10px 20px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--panel)}.strategy-drawer>footer button{min-width:100px;min-height:44px;border-radius:8px}.secondary{border:1px solid var(--border);background:#111a24;color:var(--text-muted)}.primary{min-width:160px!important;border:1px solid #3b82f6;background:var(--accent-strong);color:#fff}@media(max-width:1050px){.brand{min-width:42px}.brand strong{display:none}.search-box{width:min(300px,32vw)}.strategy-summary{grid-template-columns:minmax(220px,1fr) auto}}@media(max-width:767px){html,body,#root{min-height:100%;height:auto}html,body{overflow-x:hidden;overflow-y:auto}.app-shell{min-height:100dvh;height:auto;display:block;padding:0 0 calc(8px + env(safe-area-inset-bottom))}.topbar{min-height:104px;display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:48px 48px;gap:4px 8px;padding:5px 12px;background:#0c1219}.brand{min-width:0}.logo{width:32px}.desktop-search{display:none}.mobile-search-trigger{min-width:0;min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#0e151d;text-align:left}.mobile-search-trigger span{color:var(--text-muted);font-size:13px;font-variant-numeric:tabular-nums}.mobile-search-trigger b{overflow:hidden;font-size:15px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.toolbar-actions{grid-column:1 / -1;width:100%;margin:0;display:grid;grid-template-columns:minmax(112px,1fr) minmax(88px,.8fr) minmax(68px,.65fr) minmax(68px,.65fr);gap:6px}.segmented,.toolbar-button,.toolbar-select{width:100%;height:42px;min-width:0;padding:0 7px}.segmented button{min-width:0;flex:1}.quote-card{min-height:72px;display:flex;padding:7px 12px;border-left:0;border-right:0}.quote-identity{min-width:0;justify-content:space-between;gap:12px}.quote-identity h1{font-size:17px}.latest-price{display:grid;justify-items:end;gap:0}.latest-price b{font-size:25px}.latest-price span{font-size:12px}.strategy-summary{min-height:92px;display:block;padding:5px 10px;border-left:0;border-right:0}.strategy-title-row{gap:7px}.strategy-name{min-width:0;flex:1;font-size:14px}.kind-badge{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visibility-toggle,.edit-strategy{min-width:54px;min-height:44px;padding:0 8px}.strategy-state{min-width:0;min-height:36px;justify-content:flex-start;gap:8px;margin-top:1px;padding:3px 2px 0;border:0;border-top:1px solid var(--border-soft)}.inline-error{margin-top:8px}.chart-panel{height:740px;min-height:740px;overflow-x:hidden;overflow-y:auto;border-left:0;border-right:0}.chart-wrap{min-height:738px}.chart-headline{min-height:76px;display:grid;grid-template-rows:46px 30px}.chart-headline:has(.main-detail-toggle){grid-template-columns:auto minmax(0,1fr)}.chart-headline .main-detail-toggle{grid-row:1;grid-column:1;margin:0 0 0 6px;padding:0 5px;min-height:40px;font-size:11px}.chart-headline:has(.main-detail-toggle) .chart-actions{grid-column:2;gap:2px;padding-left:2px;padding-right:4px}.chart-headline:has(.main-detail-toggle) .chart-actions button{min-width:32px;padding:0 3px;font-size:11px}.chart-headline .selected-bar{grid-column:1 / -1}.chart-actions{display:flex;gap:4px}.chart-headline .chart-actions{grid-row:1;justify-content:flex-end;padding:1px 8px;border-bottom:1px solid var(--border-soft)}.chart-actions button{min-width:44px;min-height:44px;padding:0 5px}.chart-headline .selected-bar{grid-row:2;min-height:30px;gap:9px;padding:3px 10px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.selected-bar::-webkit-scrollbar{display:none}.chart-legend{gap:12px}.chart{min-height:560px}.statusbar{min-height:56px;display:flex;flex-wrap:wrap;gap:4px 12px;padding:7px 12px;border-left:0;border-right:0;line-height:1.4}.statusbar strong{margin-left:auto;white-space:normal}.strategy-menu{inset:auto 0 0;width:100%;max-height:80dvh;border-radius:14px 14px 0 0;border-bottom:0;padding-bottom:env(safe-area-inset-bottom)}.strategy-menu-content{max-height:calc(80dvh - 58px - env(safe-area-inset-bottom))}.strategy-actions{grid-template-columns:1fr auto auto}.strategy-actions button{min-height:46px}.mobile-search-panel{position:fixed;inset:0;z-index:80;display:block;overflow-y:auto;padding:max(10px,env(safe-area-inset-top)) 12px calc(12px + env(safe-area-inset-bottom));background:var(--bg)}.mobile-search-panel>header{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:8px}.mobile-search-panel input{min-width:0;height:48px;padding:0 14px;border:1px solid var(--accent);border-radius:9px;background:#0e151d;font-size:16px}.mobile-search-panel header button{min-height:48px;border:0;background:transparent;color:#a9d0ff}.mobile-search-panel .search-results{position:static;width:100%;max-height:none;margin-top:10px;box-shadow:none}.mobile-search-panel>p{padding:18px 4px;color:var(--text-subtle);font-size:13px}.strategy-drawer{width:100vw;max-width:none;height:100dvh;grid-template-rows:auto auto auto minmax(0,1fr) auto auto;padding:0 16px;border-left:0}.strategy-drawer>header{min-height:64px;margin:0 -16px;padding:max(8px,env(safe-area-inset-top)) 16px 8px}.strategy-drawer>header span{display:none}.drawer-fields{grid-template-columns:1fr;gap:10px;padding:12px 0}.drawer-fields label{grid-template-columns:76px minmax(0,1fr);align-items:center}.drawer-fields input,.drawer-fields select{min-width:0;min-height:44px;font-size:16px}.editor-shell textarea{font-size:16px;line-height:24px}.validation{min-height:58px;max-height:112px;overflow-y:auto}.apply-row{min-height:52px}.strategy-drawer>footer{margin:0 -16px;padding-right:16px;padding-left:16px}.strategy-drawer>footer button{flex:1}}@media(max-width:359px),(max-height:620px)and (max-width:767px){.chart-panel{height:680px;min-height:680px}.chart-wrap{min-height:678px}.kind-badge{display:none}.strategy-drawer>header{min-height:54px}.drawer-fields{padding:8px 0}.validation{min-height:48px}}@media(max-height:620px)and (min-width:768px)and (max-width:900px){html,body,#root{min-height:100%;height:auto}html,body{overflow-x:hidden;overflow-y:auto}.app-shell{height:auto;min-height:100dvh;grid-template-rows:auto auto auto minmax(520px,1fr) auto}.chart-panel{min-height:520px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
