*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,PingFang SC,Arial,sans-serif;background:#f0f2f5;color:#1a2733}.header{background:linear-gradient(135deg,#1b4965,#2e6a8e);color:#fff;padding:16px 24px}.header h1{font-size:20px;font-weight:700}.header .sub{font-size:12.5px;opacity:.85;margin-top:3px}.container{max-width:1200px;margin:0 auto;padding:18px 16px}.tabs{display:flex;gap:8px;margin-bottom:16px}.tab{padding:9px 20px;background:#fff;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;color:#7a8896;box-shadow:0 1px 3px #0000000f;transition:all .15s}.tab.active{background:#1b4965;color:#fff}.overview{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.ov-card{flex:1;min-width:150px;background:#fff;border-radius:10px;padding:12px 16px;box-shadow:0 1px 4px #0000000f}.ov-card .label{font-size:12px;color:#7a8896}.ov-card .value{font-size:20px;font-weight:700;color:#1b4965;margin-top:3px}.main{display:flex;flex-wrap:wrap;gap:16px}.sidebar{width:230px;flex-shrink:0;background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f;overflow:hidden}.sidebar .s-title{font-size:13px;font-weight:600;padding:11px 14px;background:#f7f9fb;border-bottom:1px solid #eef1f4;color:#42505e}.stock-item{padding:10px 14px;cursor:pointer;border-bottom:1px solid #f2f4f6;transition:background .15s}.stock-item:hover{background:#f0f6fa}.stock-item.active{background:#e3f0f7;border-left:3px solid #1b4965}.stock-item .name{font-size:14px;font-weight:600}.stock-item .meta{font-size:11.5px;color:#8593a0;margin-top:2px}.content{flex:1;min-width:320px}.stats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.stat{flex:1;min-width:110px;background:#fff;border-radius:9px;padding:11px 14px;box-shadow:0 1px 4px #0000000f}.stat .label{font-size:11.5px;color:#7a8896}.stat .value{font-size:18px;font-weight:700;margin-top:3px}.up{color:#c0392b}.down{color:#2d8a4e}#chart,#stratChart,#etfChart{width:100%;height:460px;background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f;padding:8px}.loading{text-align:center;padding:60px;color:#8593a0;font-size:14px}.foot{text-align:center;color:#9aa7b3;font-size:12px;margin-top:18px;line-height:1.6}.orders-box{background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f;padding:14px 16px;margin-top:14px}.orders-box h3{font-size:15px;margin-bottom:4px;color:#12354a}.orders-box .asof{font-size:12px;color:#8593a0;margin-bottom:10px}table.orders{width:100%;border-collapse:collapse;font-size:13px}table.orders th{text-align:left;padding:8px 10px;background:#f5f7f9;border-bottom:2px solid #e8ecef;color:#42505e}table.orders td{padding:8px 10px;border-bottom:1px solid #f0f2f4}.badge{padding:2px 9px;border-radius:4px;font-size:12px;font-weight:600}.b-buy{background:#fde8e8;color:#c0392b}.b-sell{background:#e6f4ec;color:#2d8a4e}.b-hold{background:#eef1f4;color:#7a8896}.hide{display:none}.chart-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12.5px;color:#7a8896;flex-wrap:wrap}.pan-btn{padding:5px 14px;background:#fff;border:1px solid #d5dce2;border-radius:6px;cursor:pointer;font-size:15px;line-height:1;color:#42505e;-webkit-user-select:none;user-select:none}.pan-btn:hover{background:#eef4f8;border-color:#1b4965;color:#1b4965}.pan-btn:active{background:#dce9f1}.toolbar-hint{color:#9aa7b3}.action-board{background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f;margin-bottom:14px;overflow:hidden}.signal-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:15px 16px;border-bottom:1px solid #edf0f2}.signal-title{font-size:18px;font-weight:750;color:#17384d}.signal-meta{font-size:11.5px;color:#7d8b96;margin-top:5px;line-height:1.6}.signal-chip{flex:0 0 auto;padding:7px 12px;border-radius:18px;font-size:12px;font-weight:700;background:#e8f3ec;color:#26734a}.signal-chip.trade{background:#fff0dd;color:#a75e14}.signal-body{padding:14px 16px}.signal-instruction{padding:10px 12px;background:#f6f9fb;border-radius:7px;font-size:13px;color:#415667;margin-bottom:11px}.usage-list{margin:10px 0 0 20px;color:#5d6d79;font-size:12px;line-height:1.75}.rank-tag{display:inline-block;padding:2px 7px;border-radius:4px;font-size:11px}.rank-in{background:#e8f3ec;color:#26734a}.rank-watch{background:#eef1f4;color:#687681}.strategy-blueprint{background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f;padding:16px;margin-bottom:14px}.strategy-blueprint h2{font-size:16px;color:#12354a;margin-bottom:4px}.strategy-blueprint .bp-sub{font-size:12px;color:#7a8896;margin-bottom:14px}.strategy-flow{display:flex;align-items:stretch;gap:7px;overflow-x:auto;padding-bottom:5px}.flow-node{flex:1;min-width:135px;border:1px solid #dce5eb;border-radius:9px;padding:11px 12px;background:#f9fbfc}.flow-node .step{font-size:10.5px;color:#6f8291;letter-spacing:.3px}.flow-node .name{font-size:13.5px;font-weight:700;color:#1b4965;margin:4px 0}.flow-node .desc{font-size:11.5px;color:#5f6f7c;line-height:1.5}.flow-arrow{align-self:center;color:#6d91a8;font-size:20px;flex:0 0 auto}.strategy-detail{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;margin:14px 0}.strategy-panel{background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f;padding:15px 16px}.strategy-panel h3{font-size:14px;color:#12354a;margin-bottom:10px}.rule-list{display:grid;gap:7px}.rule-row{display:grid;grid-template-columns:80px 145px 1fr;gap:8px;align-items:center;padding:8px 9px;background:#f7f9fb;border-radius:7px;font-size:11.8px}.rule-row .r-name{font-weight:650;color:#264b61}.rule-row .r-cond{color:#ad6421;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.rule-row .r-desc{color:#6e7d88}.factor-row{display:grid;grid-template-columns:92px 1fr 42px;gap:9px;align-items:center;margin:10px 0}.factor-label{font-size:12px;color:#42505e}.factor-track{height:10px;border-radius:6px;background:#e9eef2;overflow:hidden}.factor-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,#2e6a8e,#62a4c6)}.factor-weight{font-size:12px;font-weight:700;color:#1b4965;text-align:right}.factor-note{grid-column:2/4;font-size:10.8px;color:#81909b;margin-top:-5px}.execution-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.exec-pill{padding:7px 10px;border-radius:7px;background:#edf4f8;color:#31566d;font-size:11.5px}@media (max-width:760px){.strategy-detail{grid-template-columns:1fr}.rule-row{grid-template-columns:1fr;gap:3px}}
