:root{color-scheme:light dark;--paper:#f7f4ed;--panel:#fcfaf5;--ink:#102d26;--muted:#6b766d;--line:#d8d2c5;--green:#164c3b;--green-soft:#e7ede4;--amber:#805c24;--amber-soft:#f1e9d9;--red:#a04a3d;--red-soft:#f3e6df;--focus:#27664f;--font:Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible,.signal-table-scroll:focus-visible{outline:2px solid var(--focus);outline-offset:5px}[hidden]{display:none!important}.page{max-width:1200px;margin:0 auto;padding:0 52px}.masthead{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none;font-size:13px;letter-spacing:.13em;font-weight:600}.brand-mark{width:48px;height:48px;flex-shrink:0;object-fit:contain;border-radius:50%;background:#fff}.brand-subtitle{display:block;font-size:8px;letter-spacing:.2em;color:var(--muted);font-weight:400;margin-top:3px}.hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:33px 0 30px}.hero>div:first-child{min-width:0}.eyebrow{margin:0 0 9px;font-size:9px;letter-spacing:.2em;color:var(--muted)}h1{font-family:Georgia,"Times New Roman",serif;font-size:44px;font-weight:400;letter-spacing:-1.9px;line-height:1.15;margin:0}.title-period{color:var(--green)}.subtitle{margin:8px 0 0;color:var(--muted);font-size:12px;letter-spacing:.06em}.hero-status{flex-shrink:0;text-align:right;align-self:flex-end;padding-bottom:2px}.status{display:inline-flex;gap:8px;align-items:center;font-size:12px;margin:0 0 11px}.status-dot{height:6px;width:6px;border-radius:50%;background:currentColor}.status-good{color:var(--green)}.status-warning{color:var(--amber)}.status-error{color:var(--red)}.status-neutral{color:var(--muted)}.update-row{display:flex;justify-content:flex-end;align-items:center;gap:16px;font-size:10px;color:var(--muted)}.refresh-button{display:flex;align-items:center;gap:4px;padding:3px 0;border:0;background:none;color:var(--ink);cursor:pointer;font-size:10px}.refresh-button:hover{color:var(--green)}.refresh-button svg{width:15px;height:15px}.refresh-button[aria-busy="true"]{opacity:.5;cursor:progress}.notice{border:1px solid var(--red);background:var(--red-soft);color:var(--red);padding:11px 14px;font-size:12px;margin-bottom:18px}
.dashboard-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:18px}.panel{min-width:0;border:1px solid var(--line);background:var(--panel);padding:22px 25px 18px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}h2{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;letter-spacing:.02em;margin:0}.heading-secondary{color:var(--muted);font-size:10px;letter-spacing:.08em}.bitcoin-mark{height:28px;width:28px;flex-shrink:0}.section-index{font-size:8px;letter-spacing:.12em;color:var(--muted)}.tag{font-size:10px;line-height:1.5;padding:3px 8px}.tag-good{color:var(--green);background:var(--green-soft)}.tag-warning{color:var(--amber);background:var(--amber-soft)}.tag-error{color:var(--red);background:var(--red-soft)}.tag-neutral{color:var(--muted);background:var(--paper)}.small-label{color:var(--muted);font-size:10px;letter-spacing:.03em;margin:0}.price-line{display:flex;align-items:baseline;gap:10px;margin:5px 0 26px}.price{font-family:Georgia,"Times New Roman",serif;font-size:46px;letter-spacing:-1.4px;font-variant-numeric:tabular-nums;line-height:1.15}.currency{color:var(--muted);font-size:9px;letter-spacing:.1em}.quote-details{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:0;padding-bottom:19px;border-bottom:1px solid var(--line)}dt{font-size:11px;color:var(--muted)}dd{margin:0;font-size:12px;font-variant-numeric:tabular-nums}.quote-details dd{margin-top:5px}.panel-footnote{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:10px;margin-top:13px}.source-dot{width:4px;height:4px;border-radius:50%;background:var(--muted)}.source-note{font-size:10px;color:var(--muted);margin:5px 0 0;line-height:1.65}.detail-list{margin:0}.detail-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:10px 0;border-bottom:1px solid var(--line)}.detail-list>div:first-child{padding-top:0}.detail-list>div:last-child{border:0}.detail-list dd{text-align:right}.value-good{color:var(--green)}.value-warning{color:var(--amber)}.value-error{color:var(--red)}.value-neutral{color:var(--muted)}.runtime-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:21px;border-top:1px solid var(--line);padding-top:12px}.numeric{font-size:11px;font-variant-numeric:tabular-nums}
.profits-panel,.signals-panel{grid-column:1/-1}.profits-panel .panel-heading{margin-bottom:22px}.profit-stats{display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:25px}.profit-stats>div{min-width:0;padding-left:26px;border-left:1px solid var(--line)}.profit-stats>div:first-child{padding-left:0;border:0}.profit-value-line{display:flex;align-items:baseline;gap:8px;margin-top:8px;flex-wrap:wrap}.profit-value{font-family:Georgia,"Times New Roman",serif;font-size:33px;letter-spacing:-.7px;font-variant-numeric:tabular-nums;line-height:1.15}.profit-primary .profit-value{font-size:39px}.profits-footnote{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:22px;padding-top:8px}.profits-footnote .source-note{margin:0}.signals-panel .panel-heading{margin-bottom:18px}.signals-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px}.received-count{display:flex;gap:10px;align-items:baseline}.stat-value{font-size:33px;font-family:Georgia,"Times New Roman",serif;line-height:1.2;letter-spacing:-.7px;font-variant-numeric:tabular-nums}.stat-label{font-size:10px;color:var(--muted)}.signals-context{font-size:10px;color:var(--muted);text-align:right}.signals-context p{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:13px;margin:0 0 5px}.signals-context p:last-child{margin:0}.signals-context strong{color:var(--ink);font-weight:400;font-variant-numeric:tabular-nums}.signal-table-scroll{max-width:100%;overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;-webkit-overflow-scrolling:touch}.signal-table{width:100%;border-collapse:collapse;text-align:left;font-size:11px}.signal-table th{padding:12px 12px 12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:400;white-space:nowrap}.signal-table td{padding:15px 18px 15px 0;border-bottom:1px solid var(--line);vertical-align:middle}.signal-table th:last-child,.signal-table td:last-child{padding-right:0}.signal-table td:nth-child(3),.signal-table td:nth-child(4),.signal-table td:nth-child(5){font-variant-numeric:tabular-nums;white-space:nowrap;font-size:10px}.signal-table th:first-child{min-width:83px}.signal-table th:nth-child(2){min-width:185px}.signal-table th:nth-child(3){min-width:124px}.signal-table th:nth-child(4),.signal-table th:nth-child(5){min-width:154px}.signal-table th:nth-child(6){min-width:125px}.signal-table th:last-child{min-width:235px}.signal-table tbody tr:last-child td{border-bottom:0}.signal-source{display:inline-block;padding:4px 7px;border:1px solid var(--line);border-radius:5px;font-size:9px;line-height:1.3;white-space:nowrap;background:var(--panel)}.signal-source-strategy{color:var(--green)}.signal-source-diagnostic,.signal-source-unknown{color:var(--muted);background:var(--paper)}.signal-direction{display:flex;align-items:center;gap:7px;white-space:nowrap}.signal-timeframe{padding:4px 7px;border:1px solid var(--line);border-radius:5px;font-size:9px;color:var(--muted);line-height:1.3;white-space:nowrap;font-variant-numeric:tabular-nums;background:var(--panel)}.signal-price{font-variant-numeric:tabular-nums;white-space:nowrap}.direction{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:5px;font-size:10px;font-weight:500;line-height:1.3;white-space:nowrap}.direction::before{font-size:12px;line-height:1}.direction-buy::before{content:"↗"}.direction-sell::before{content:"↘"}.direction-close::before{content:"−"}.direction-buy{background:var(--green-soft);color:var(--green)}.direction-sell{background:var(--red-soft);color:var(--red)}.direction-close,.direction-unknown{background:var(--paper);color:var(--muted)}.execution-result{display:flex;align-items:center;gap:7px;line-height:1.7}.execution-result::before{content:"";width:4px;height:4px;flex:0 0 4px;background:currentColor;border-radius:50%}.signal-table .empty-row td{padding:31px 0;color:var(--muted);text-align:center;font-size:11px;white-space:normal}.signals-note{margin-top:12px}.footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);margin-top:27px;padding:18px 0 24px;font-size:8px;letter-spacing:.11em;color:var(--muted)}.footer-divider{padding:0 8px}.footer>span:last-child{font-size:9px;letter-spacing:.04em}.data-stale .price,.data-stale .stat-value,.data-stale .profit-value{color:var(--muted)}
.strategy-parameters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:17px;border-bottom:1px solid var(--line)}
.strategy-parameters>div{min-width:0}.strategy-parameters strong{display:block;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:28px;line-height:1.3;margin-top:5px;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.parameters-note{margin:9px 0 21px}
.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 18px;margin:0}.metric-grid>div{min-width:0}.metric-grid dt{font-size:10px;line-height:1.5}.metric-grid dd{font-size:17px;margin-top:5px;line-height:1.4;overflow-wrap:anywhere}.unit{font-size:8px;color:var(--muted);letter-spacing:.02em;margin-left:3px}
.plan-strip{border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.plan-strip p{font-size:12px;margin:5px 0 3px;line-height:1.65}.plan-strip .source-note{display:block}.position-panel>.source-note:last-child{margin-top:10px}
.risk-summary{padding-bottom:18px;margin-bottom:21px;border-bottom:1px solid var(--line)}.risk-summary p{font-size:18px;margin:6px 0 3px;line-height:1.4}.risk-summary .source-note{display:block}.volatility-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:20px;padding-top:12px}.volatility-line strong{font-weight:400;font-size:15px;font-variant-numeric:tabular-nums;margin-left:10px}
.farming-panel{grid-column:1/-1}.farming-primary{display:grid;grid-template-columns:1.1fr 1.1fr 1fr;gap:22px;margin-bottom:23px}.farming-primary>div{min-width:0;padding-left:22px;border-left:1px solid var(--line)}.farming-primary>div:first-child{border:0;padding-left:0}.farming-value-line{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin:7px 0 0}.farming-value{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:33px;line-height:1.25;letter-spacing:-.7px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.farming-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;margin:0;border-top:1px solid var(--line)}.farming-details>div{display:flex;align-items:baseline;justify-content:space-between;gap:14px;min-width:0;border-bottom:1px solid var(--line);padding:11px 0}.farming-details dt{font-size:10px}.farming-details dd{font-size:12px;text-align:right;overflow-wrap:anywhere}.farming-footnote{display:flex;justify-content:space-between;align-items:baseline;gap:14px;margin-top:11px}.farming-footnote .source-note{margin:0}.data-stale .farming-value{color:var(--muted)}
@media(max-width:850px){.strategy-parameters .small-label{font-size:9px}.strategy-parameters strong{font-size:26px}.metric-grid{gap:16px 12px}.metric-grid dd{font-size:15px}.position-panel .tag,.risk-panel .tag{font-size:9px}.farming-value{font-size:29px}.farming-primary{gap:18px}.farming-primary>div{padding-left:18px}.farming-footnote{flex-direction:column;gap:3px}}
@media(max-width:620px){.strategy-parameters strong{font-size:27px}.metric-grid{gap:19px 16px}.metric-grid dd{font-size:17px}.metric-grid dt{font-size:10px}.risk-summary p{font-size:17px}.farming-primary{grid-template-columns:1fr 1fr;gap:18px 15px}.farming-primary>div{border:0;padding-left:0}.farming-primary>div:first-child{grid-column:1/-1}.farming-primary>div:last-child{border-left:1px solid var(--line);padding-left:16px}.farming-value{font-size:28px}.farming-primary>div:first-child .farming-value{font-size:36px}.farming-details{grid-template-columns:1fr;gap:0}.farming-details>div{padding:11px 0}.farming-details dt{font-size:10px}.farming-details dd{font-size:12px}.volatility-line .tag{font-size:9px}.volatility-line strong{font-size:13px}}
@media(max-width:370px){.strategy-parameters{gap:9px}.strategy-parameters .small-label{font-size:8px}.strategy-parameters strong{font-size:24px}.metric-grid{gap:17px 12px}.metric-grid dd{font-size:15px}.metric-grid dt{font-size:9px}.position-panel .tag,.risk-panel .tag{font-size:8px;padding:3px 5px}.farming-value{font-size:24px}.farming-details dt{font-size:9px}.farming-details dd{font-size:11px}.volatility-line{gap:7px}.volatility-line strong{margin-left:5px}.risk-summary p{font-size:16px}}
@media(prefers-color-scheme:dark){:root{--paper:#111714;--panel:#151d18;--ink:#e9eee9;--muted:#98a59b;--line:#39433e;--green:#93bc9e;--green-soft:#233c2e;--amber:#d6b57a;--amber-soft:#3a3020;--red:#e09889;--red-soft:#382622;--focus:#a4d2b4}.title-period{color:var(--green)}}
@media(min-width:1300px){.page{padding:0 38px}.hero{padding-top:40px;padding-bottom:34px}}
@media(max-width:850px){.page{padding:0 28px}.panel{padding:20px}.price{font-size:39px}.section-index{font-size:7px;letter-spacing:.05em}.quote-details{gap:5px}.quote-details dt{font-size:10px}.quote-details dd{font-size:11px}.profit-stats{gap:18px}.profit-stats>div{padding-left:18px}.profit-value,.profit-primary .profit-value{font-size:30px}.profits-footnote{flex-direction:column;gap:4px}}
@media(max-width:620px){.page{padding:0 20px}.masthead{height:85px}.brand{font-size:10px;gap:10px;letter-spacing:.1em}.brand-subtitle{font-size:7px;letter-spacing:.12em}.brand-mark{height:41px;width:41px}.hero{padding:25px 0 24px;align-items:flex-start;flex-direction:column;gap:14px}h1{font-size:34px;letter-spacing:-1.7px}.eyebrow{font-size:8px;margin-bottom:8px}.subtitle{font-size:11px}.hero-status{align-self:flex-end;max-width:none;padding-top:0}.status{font-size:10px;gap:6px;margin-bottom:7px}.update-row{font-size:8px;gap:8px;flex-wrap:wrap}.refresh-button{font-size:9px}.dashboard-grid{grid-template-columns:1fr;gap:14px}.panel{padding:20px 21px}.panel-heading{margin-bottom:21px}.price{font-size:46px}.quote-details dt,.quote-details dd{font-size:11px}.runtime-bottom{margin-top:13px}.section-index{font-size:8px;letter-spacing:.08em}.profit-stats{grid-template-columns:1fr 1fr;gap:20px 15px}.profit-primary{grid-column:1/-1}.profit-stats>div{border:0;padding-left:0}.profit-primary .profit-value{font-size:39px}.profit-stats>div:last-child{border-left:1px solid var(--line);padding-left:18px}.profit-value{font-size:25px}.profits-panel .panel-heading{gap:8px}.profits-panel .tag{font-size:9px;padding:3px 6px}.profits-footnote{margin-top:19px}.signals-summary{align-items:flex-start;gap:13px}.received-count{flex-direction:column;gap:3px}.signals-context{padding-top:4px;font-size:9px}.signals-context p{gap:8px}.stat-value{font-size:31px}.signal-table th:nth-child(3){min-width:123px}.signal-table th:nth-child(4),.signal-table th:nth-child(5){min-width:153px}.signal-table th:last-child{min-width:245px}.footer{margin-top:22px;flex-direction:column;gap:7px;padding-bottom:25px;font-size:7px}.notice{font-size:11px;padding:10px 12px}}
@media(max-width:370px){.page{padding:0 15px}h1{font-size:29px}.status{font-size:9px}.hero{gap:8px}.brand-subtitle{font-size:6px}.panel{padding:19px}.price{font-size:41px}.profit-value{font-size:22px}.profits-panel h2{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
