:root{color-scheme:dark;--bg:#071427;--paper:rgba(7,28,50,0.8);--ink:#e8f2ff;--muted:#94abc7;--accent:#3f8cff;--accent-soft:rgba(63,140,255,0.16);--line:rgba(76,125,196,0.35);--warn:#d43b2a;--success:#29c48a;--radius-lg:4px;--radius-md:4px;--shadow-soft:0 6px 20px rgba(1,10,24,0.35);--shadow-card:0 10px 28px rgba(1,12,30,0.45)}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Source Han Sans SC,PingFang SC,Microsoft YaHei,Noto Sans CJK SC,sans-serif}body{min-height:100vh;background:radial-gradient(1100px 600px at 8% -8%,rgba(63,140,255,.2),transparent 55%),radial-gradient(900px 540px at 95% 8%,rgba(41,196,138,.16),transparent 58%),linear-gradient(180deg,#061326,#081a30 48%,#071427)}a{color:inherit;text-decoration:none}.page-shell{max-width:1320px;margin:0 auto;padding:40px 24px 64px;animation:fade-in-up .36s ease-out both}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(520px,100%);display:grid;grid-gap:18px;gap:18px;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:linear-gradient(135deg,rgba(8,31,57,.94),rgba(6,24,44,.9));padding:32px}.auth-card h1{margin:0;font-size:clamp(2rem,5vw,3.4rem);line-height:.98}.auth-form{display:grid;grid-gap:14px;gap:14px}.auth-form label{display:grid;grid-gap:8px;gap:8px}.auth-form input,.filter-item input,.filter-item select{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 12px}.auth-submit{border:1px solid var(--accent);background:var(--accent);color:#f9f8f2;padding:12px 16px;cursor:pointer}.auth-submit:disabled{opacity:.7;cursor:wait}.compact-note{margin-top:4px}.hero{display:grid;grid-gap:18px;gap:18px;padding:32px;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:linear-gradient(180deg,rgba(8,31,57,.92),rgba(6,24,44,.88))}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;padding:10px 12px;border:.5px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(90deg,rgba(11,39,68,.92),rgba(8,31,57,.9))}.topbar-actions{display:inline-flex;align-items:center;gap:8px}.userguide-anchor{position:relative;display:inline-flex}.userguide-bubble{position:absolute;right:0;top:calc(100% + 8px);width:min(320px,82vw);padding:10px 12px;border:.5px solid var(--line);border-radius:8px;background:#ffffff;box-shadow:0 8px 24px rgba(0,0,0,.08);opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease;z-index:20}.userguide-bubble h4{margin:0 0 6px;font-size:13px}.userguide-bubble p{margin:4px 0;font-size:12px;color:var(--muted);line-height:1.4}.userguide-anchor:focus-within .userguide-bubble,.userguide-anchor:hover .userguide-bubble{opacity:1;pointer-events:auto;transform:translateY(0)}.auth-caption{margin-top:10px}.hero h1{font-size:clamp(1.6rem,3.2vw,2.4rem);line-height:1.12}.hero h1,.hero p{margin:0;max-width:760px}.hero p{color:var(--muted);font-size:1.05rem}.grid,.hero-badges{display:grid;grid-gap:16px;gap:16px}.hero-badges{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.card-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:28px}.card-grid.compact{margin-top:16px}.card,.metric-card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(7,30,54,.9),rgba(6,24,45,.86));border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:20px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.card:hover,.metric-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}.active-card{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-soft)}.card h2,.card h3,.metric-card h2{margin-top:0}.muted{color:var(--muted)}.section-title{margin:36px 0 12px;font-size:1.02rem;letter-spacing:.06em;color:#a8c4ea;text-transform:uppercase}.comparison-table{width:100%;border-collapse:collapse}.comparison-table td,.comparison-table th{border-bottom:1px solid rgba(90,136,202,.22);padding:11px 10px;text-align:left}.comparison-table th{font-weight:700;color:#d4e5ff;background:rgba(15,49,84,.9);position:-webkit-sticky;position:sticky;top:0;z-index:1}.comparison-table td{color:#dce9fb}.comparison-table tbody tr{background:rgba(9,32,58,.55);transition:background .14s ease}.comparison-table tbody tr:nth-child(2n){background:rgba(8,28,51,.62)}.comparison-table tbody tr:hover{background:rgba(22,73,124,.52)}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.92rem;border:.5px solid #d3e3ff}.range-switch{display:flex;gap:10px;flex-wrap:wrap}.filter-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:18px}.filter-item{display:grid;grid-gap:8px;gap:8px}.range-button{border:.5px solid var(--line);background:rgba(14,43,74,.9);color:var(--ink);padding:8px 14px;cursor:pointer;border-radius:10px;transition:all .14s ease}.range-button:hover{border-color:var(--accent);background:rgba(24,65,109,.95)}.range-button.active{background:var(--accent);color:#ffffff;border-color:var(--accent);box-shadow:0 2px 4px rgba(22,93,255,.25)}.tag-group{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;align-items:center}.tag-group-label{min-width:120px;color:var(--muted);font-size:.94rem}.tag-button{border:1px solid var(--line);background:rgba(11,39,68,.86);color:var(--ink);padding:8px 12px;cursor:pointer}.tag-button.active{background:var(--accent-soft);color:#dceaff;border-color:var(--accent)}.dashboard-board{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:24px}.panel-block{border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:linear-gradient(180deg,rgba(8,32,58,.9),rgba(6,24,45,.86));padding:18px;display:grid;grid-gap:16px;gap:16px}.panel-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.mini-card h4,.panel-header h3{margin:0}.panel-pill{white-space:nowrap}.panel-cards{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.mini-card{border:.5px solid var(--line);border-radius:var(--radius-md);background:rgba(9,34,61,.9);padding:12px;display:grid;grid-gap:8px;gap:8px}.mini-card h4,.mini-card strong{color:#f2f8ff}.mini-card .muted{color:#c6d7ee}.panel-chart-wrap,.series-table{display:grid;grid-gap:10px;gap:10px}.panel-chart-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.panel-chart{width:100%;height:190px;border:1px solid rgba(99,144,206,.25);background:linear-gradient(180deg,rgba(20,76,138,.08),rgba(20,76,138,.02)),repeating-linear-gradient(90deg,rgba(125,166,221,.08),rgba(125,166,221,.08) 1px,transparent 0,transparent 24px)}.panel-chart-main{fill:none;stroke:#66a8ff;stroke-width:2.6;filter:drop-shadow(0 0 6px rgba(102,168,255,.6))}.panel-chart-overlay{fill:none;stroke:#f3c067;stroke-width:2;stroke-dasharray:6 4;filter:drop-shadow(0 0 5px rgba(243,192,103,.4))}.panel-chart-area{opacity:.9}.panel-chart-dot{fill:#b8d8ff;stroke:#66a8ff;stroke-width:1;filter:drop-shadow(0 0 4px rgba(102,168,255,.7))}.series-row{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line)}.footer-note{margin-top:32px;padding:16px 20px;border-left:4px solid var(--warn);border-radius:0 12px 12px 0;background:#fff4f1;color:#5d2d1c}.status-error{color:var(--warn);font-weight:600}.status-good{color:var(--success);font-weight:600}.status-warn{color:#b36b00;font-weight:600}@media (max-width:720px){.page-shell{padding:24px 16px 48px}.auth-card,.hero{padding:24px}.series-row{flex-direction:column}}.auth-form input,.filter-item select,.workspace-form input,.workspace-form select{border:.5px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 12px;border-radius:4px}.auth-form input:focus,.filter-item select:focus,.workspace-form input:focus,.workspace-form select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(22,93,255,.12)}.workspace-panel{display:grid;grid-gap:20px;gap:20px}.workspace-shell{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.95fr);grid-gap:18px;gap:18px;align-items:start}.workspace-main,.workspace-side{display:grid;grid-gap:10px;gap:10px;align-content:start}.split-panel{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);grid-gap:12px;gap:12px;align-items:start}.split-span{grid-column:1/-1}.split-left{grid-column:1}.split-right{grid-column:2}.workspace-form{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.selection-block,.workspace-form label{display:grid;grid-gap:8px;gap:8px}.workspace-form-wide{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.inline-actions,.option-row{display:flex;gap:10px;flex-wrap:wrap}.checkbox-row{display:inline-flex;gap:6px;align-items:center;min-height:30px;white-space:nowrap}.checkbox-row input{margin:0}.signal-switches{grid-column:1/-1;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.workspace-submit{grid-column:1/-1;justify-self:start;min-width:180px}.strategy-actions{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));grid-gap:8px;gap:8px}.strategy-actions .auth-submit,.strategy-actions .range-button{width:100%;white-space:nowrap;min-height:34px}.strategy-card{display:grid;grid-gap:12px;gap:12px;overflow:hidden}.strategy-card-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.detail-table{border:.5px solid var(--line);border-radius:4px;overflow:hidden;background:#ffffff}.detail-row{grid-gap:10px;gap:10px;border-bottom:1px solid #e8f0ed}.detail-row:last-child{border-bottom:0}.detail-row-head{background:#f6fbf9;color:#2c4b3f}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.footer-note-success{border-left-color:var(--accent);background:#eef8ef;color:#16451f}.detail-panel{display:grid;grid-gap:16px;gap:16px}.detail-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.tab-strip{display:flex;gap:10px;flex-wrap:wrap}.detail-section{display:grid;grid-gap:16px;gap:16px}.detail-span{grid-column:1/-1}.spark-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.spark-card{border:1px solid var(--line);background:rgba(216,235,219,.35);padding:12px;display:grid;grid-gap:6px;gap:6px}.spark-card em,.spark-card span{color:var(--muted);font-style:normal}.detail-table{display:grid;grid-gap:8px;gap:8px}.detail-row{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr));padding:10px 12px;border:1px solid var(--line);background:rgba(255,255,255,.7)}.detail-row-head{background:var(--accent-soft);color:var(--accent);font-weight:700}.detail-row-four{grid-template-columns:repeat(4,minmax(0,1fr))}.template-strip{display:flex;gap:10px;flex-wrap:wrap}.template-description,.template-hint{margin:0}.template-detail-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.template-detail-card{min-height:100%}.template-compact{border:.5px solid var(--line);border-radius:4px;padding:10px 12px;background:#fbfcff;display:grid;grid-gap:6px;gap:6px}.template-compact p{margin:0;font-size:13px;line-height:1.5}.history-panel{gap:18px}.empty-state{border:1px dashed var(--line);background:rgba(216,235,219,.2);padding:20px}.empty-state h3{margin-top:0}.advanced-grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.advanced-grid label{display:grid;grid-gap:8px;gap:8px}.label-with-help{display:inline-flex;align-items:center;gap:8px}.help-tip{position:relative;display:inline-grid;place-items:center;width:18px;height:18px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:.78rem;font-weight:700;cursor:help}.help-tip:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);width:min(260px,60vw);padding:10px 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:10;box-shadow:0 10px 30px rgba(19,32,25,.08)}.help-tip:focus-visible:after,.help-tip:hover:after{opacity:1}.decision-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.decision-card,.decision-table-card{min-height:100%;border-color:rgba(126,170,230,.34);background:linear-gradient(180deg,rgba(10,36,65,.94),rgba(7,27,50,.9))}.decision-card .muted,.decision-table-card .muted{color:#cfe0f5}.decision-card h4,.decision-table-card h3{color:#f1f7ff}.status-good{color:var(--accent)}.status-warn{color:#946200}.chart-stack{display:grid;grid-gap:16px;gap:16px;margin-bottom:18px}.chart-card{border:1px solid rgba(86,132,198,.35);background:linear-gradient(180deg,rgba(8,32,58,.94),rgba(6,24,45,.9));padding:16px;box-shadow:inset 0 0 0 1px rgba(85,130,195,.14)}.chart-header{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px;border-bottom:1px dashed rgba(99,144,206,.26);padding-bottom:8px}.chart-header h4{margin:0;color:#dbe9ff}.chart-legend{display:flex;gap:12px;flex-wrap:wrap}.legend-item{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.92rem}.legend-swatch{width:18px;height:3px;display:inline-block;border-radius:999px}.series-chart{width:100%;height:auto;display:block}.chart-line{stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.equity-line{stroke:#66a8ff;background:#66a8ff}.benchmark-line{stroke:#f3c067;background:#f3c067}.drawdown-line{stroke:var(--warn);background:var(--warn)}.drawdown-card{background:linear-gradient(180deg,rgba(8,32,58,.94),rgba(128,32,26,.2))}.chart-focus-line{stroke:rgba(19,32,25,.18);stroke-width:1;stroke-dasharray:4 4}.chart-focus-point{stroke-width:3;fill:var(--paper)}.chart-hitbox{fill:transparent;cursor:crosshair}.validation-note{border:1px solid rgba(143,45,25,.28);background:rgba(143,45,25,.08);padding:12px 14px;color:var(--warn)}.validation-note p{margin:0}.validation-note p+p{margin-top:8px}.data-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 10px}.data-panel{border:.5px solid var(--line);border-radius:4px;padding:14px;background:rgba(8,30,54,.55);box-shadow:0 6px 18px rgba(0,0,0,.22)}.data-panel .muted{color:#b8cbe4}.data-panel .card,.data-panel .mini-card,.data-panel .panel-block{border-color:rgba(126,170,230,.34)}.data-panel h2,.data-panel h3,.data-panel h4,.data-panel strong{color:#edf5ff}.data-panel .series-row strong{color:#ffffff}.legal-note{margin-top:24px;border:none;background:transparent;color:#7f9cc0;text-align:center;font-size:12px;padding:8px 0 0}.panel-toggle-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.page-shell{padding:20px 16px 30px}.hero{gap:10px;padding:14px}.topbar{gap:8px;padding:6px 8px}.userguide-bubble{width:min(300px,88vw)}.hero h1{font-size:clamp(1.2rem,2.2vw,1.65rem)}.hero p,.muted{font-size:12px}.card-grid,.dashboard-board,.detail-grid{gap:10px}.card,.metric-card,.mini-card,.panel-block{padding:10px}.section-title{margin:14px 0 8px;font-size:12px}.range-button,.tag-button{padding:4px 8px;font-size:12px}@media (max-width:720px){.split-panel,.workspace-shell{grid-template-columns:1fr}.split-left,.split-right,.split-span{grid-column:1}.strategy-actions{grid-template-columns:1fr}}.pill{padding:3px 8px;font-size:11px}.filter-grid,.workspace-form,.workspace-panel{gap:8px}.comparison-table td,.comparison-table th,.detail-row{padding:6px;font-size:12px}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal-panel{background:linear-gradient(180deg,rgba(8,32,58,.98),rgba(6,24,45,.96));border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);max-width:900px;width:100%;max-height:85vh;overflow:auto;display:grid;grid-gap:0;gap:0}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;background:inherit;z-index:2}.modal-header h3{margin:0}.modal-body{padding:16px 18px}.panel-actions{display:inline-flex;gap:8px;align-items:center}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table td,.data-table th{border-bottom:1px solid rgba(90,136,202,.22);padding:8px 10px;text-align:left}.data-table th{font-weight:700;color:#d4e5ff;background:rgba(15,49,84,.9);position:-webkit-sticky;position:sticky;top:0}.data-table tbody tr:nth-child(2n){background:rgba(8,28,51,.62)}.data-table tbody tr:hover{background:rgba(22,73,124,.52)}@media (max-width:720px){.modal-panel{max-height:92vh;padding:12px}.data-table td,.data-table th{padding:6px;font-size:12px}}.badge-default{background:rgba(125,166,221,.15);color:#a8c4ea;border:.5px solid rgba(125,166,221,.35)}.badge-success{background:rgba(41,196,138,.15);color:#29c48a;border:.5px solid rgba(41,196,138,.35)}.badge-warn{background:rgba(243,192,103,.15);color:#f3c067;border:.5px solid rgba(243,192,103,.35)}.badge-error{background:rgba(212,59,42,.15);color:#d43b2a;border:.5px solid rgba(212,59,42,.35)}.badge-info{background:rgba(63,140,255,.15);color:#3f8cff;border:.5px solid rgba(63,140,255,.35)}.badge-muted{background:rgba(148,171,199,.12);color:#94abc7;border:.5px solid rgba(148,171,199,.3)}