:root{--bg:#f5f6f8;--side:#fff;--panel:#fff;--input:#fff;--button:#fff;--button-hover:#f0f3f5;--line:#dfe3e8;--table-head:#f8fafb;--row-hover:#f0f5f6;--nav-active:#e7f2f4;--notice:#edf7f8;--text:#3c4654;--strong:#111827;--muted:#6f7a87;--market-up:#d93025;--market-down:#138a45;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--bg);color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--bg:#111418;--side:#171b20;--panel:#181d22;--input:#11161b;--button:#20262d;--button-hover:#28303a;--line:#2b333d;--table-head:#151a20;--row-hover:#202b31;--nav-active:#1f363c;--notice:#172a2f;--text:#c8ced7;--strong:#f1f5f9;--muted:#8e99a8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-market-color=greenUp]{--market-up:#138a45;--market-down:#d93025}*{box-sizing:border-box}html{background:var(--bg)}body{min-width:320px;margin:0}.x-markdown-debug-panel{z-index:9999;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-user-select:none;user-select:none;background:#000000d9;border-radius:8px;width:180px;padding:12px;font-family:SF Mono,Monaco,Inconsolata,Fira Mono,Droid Sans Mono,Source Code Pro,monospace;font-size:12px;transition:box-shadow .2s;position:fixed;right:0;box-shadow:0 2px 8px #00000026}.x-markdown-debug-panel:hover{box-shadow:0 4px 12px #00000040}.x-markdown-debug-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.x-markdown-debug-row:last-child{margin-bottom:0}.x-markdown-debug-label{color:#ffffffa6;min-width:60px;font-weight:500}.x-markdown-debug-value{text-align:right;min-width:50px;font-weight:600}.x-markdown-debug-chart{margin-left:auto}.x-markdown-debug-actions{border-top:1px solid #ffffff1a;gap:8px;margin-top:12px;padding-top:12px;display:flex}.x-markdown-debug-action{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;flex:1;padding:6px 12px;font-family:inherit;font-size:11px;font-weight:500;transition:all .2s}.x-markdown-debug-action:hover{background:#ffffff26;border-color:#ffffff4d}.x-markdown-debug-action:active{transform:scale(.98)}.x-markdown-debug-record-btn.recording{background:#ff4d4f33;border-color:#ff4d4f;animation:1.5s ease-in-out infinite recording-pulse}@keyframes recording-pulse{0%,to{box-shadow:0 0 #ff4d4f66}50%{box-shadow:0 0 0 8px #ff4d4f00}}.x-markdown-debug-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#000000bf;justify-content:center;align-items:center;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.x-markdown-debug-modal{background:#1e1e1ef2;border:1px solid #ffffff1a;border-radius:12px;max-width:90vw;max-height:90vh;animation:.3s ease-out slideIn;overflow:auto;box-shadow:0 8px 32px #0006}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.x-markdown-debug-modal-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.x-markdown-debug-close-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:all .2s;display:flex}.x-markdown-debug-close-btn:hover{background:#ff4d4f4d}.x-markdown-debug-modal-content{padding:24px}.x-markdown-debug-stats-summary{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.x-markdown-debug-stat-item{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px;padding:16px}.x-markdown-debug-stat-label{color:#fff9;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:11px}.x-markdown-debug-stat-value{color:#fff;font-size:20px;font-weight:700}.x-markdown-debug-chart-full{background:#ffffff05;border:1px solid #ffffff1a;border-radius:8px}.x-markdown-debug-chart-full .fps-line,.x-markdown-debug-chart-full .memory-line{filter:drop-shadow(0 0 4px)}.x-markdown-debug-legend{justify-content:center;gap:24px;margin-top:16px;display:flex}.x-markdown-debug-legend-item{color:#fffc;align-items:center;gap:8px;font-size:13px;display:flex}.x-markdown-debug-legend-color{border-radius:2px;width:12px;height:12px}@media (width<=768px){.x-markdown-debug-stats-summary{grid-template-columns:repeat(2,1fr)}}@keyframes x-markdown-fade-in{0%{opacity:0}to{opacity:1}}.x-markdown{--text-color:inherit;--font-size:inherit;--margin-block:0 0 1em 0;--td-th-padding:.85em 1em;--pre-th-td-padding:2px 0;--border-font-weight:600;--padding-ul-ol:0 0 0 1em;--margin-ul-ol:0 0 1em 1.8em;--margin-li:.25em 0;--margin-pre:1em 0;--padding-code-inline:.2em .4em;--margin-code-inline:0 .2em;--code-inline-text:.85em;--small-border-radius:2px;--image-margin:.5em 0;--hr-margin:1.5em 0;--table-margin:1em 0;font-size:var(--font-size);width:100%;color:var(--text-color);line-height:1.57143}xmd-tail{display:inline}.xmd-tail{color:inherit;font-size:inherit;line-height:inherit}.x-markdown p,.x-markdown div,.x-markdown span,.x-markdown li{word-break:break-word;overflow-wrap:break-word}.x-markdown pre,.x-markdown code{word-break:break-word;overflow-wrap:break-word;white-space:pre-wrap}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-th) th,.x-markdown:not(.x-md-disable-all):not(.x-md-disable-td) td{padding:var(--td-th-padding)}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-th) th{font-weight:var(--border-font-weight)}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-table) pre table{box-shadow:none}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-td) pre td,.x-markdown:not(.x-md-disable-all):not(.x-md-disable-th) pre th{padding:var(--pre-th-td-padding);text-align:left;border:none}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-p) p{margin:var(--margin-block)}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-p) p:first-child{margin-top:0}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-p) p:last-child{margin-bottom:0}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-ul) ul,.x-markdown:not(.x-md-disable-all):not(.x-md-disable-ol) ol{margin:var(--margin-ul-ol);padding:var(--padding-ul-ol)}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-ul) ul:first-child,.x-markdown:not(.x-md-disable-all):not(.x-md-disable-ol) ol:first-child{margin-top:0}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-ul) ul:last-child,.x-markdown:not(.x-md-disable-all):not(.x-md-disable-ol) ol:last-child{margin-bottom:0}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-ol):not(.x-md-disable-li) ol>li{list-style:decimal}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-ul):not(.x-md-disable-li) ul>li{list-style:outside}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-li) li{margin:var(--margin-li)}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-li) li:first-child{margin-top:0}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-li) li:last-child{margin-bottom:0}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-pre) pre{margin:var(--margin-pre);overflow-x:auto}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-pre) pre:first-child{margin-top:0}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-pre) pre:last-child{margin-bottom:0}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-code) code{padding:var(--padding-code-inline);margin:var(--margin-code-inline);font-size:var(--code-inline-text);border-radius:var(--small-border-radius)}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-code) pre code{font-size:inherit;border-radius:0;margin:0;padding:0;line-height:2}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-img) img{max-width:100%;height:auto;margin:var(--image-margin)}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-hr) hr{margin:var(--hr-margin)}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-table) table:not(pre){margin:var(--table-margin);border-collapse:collapse;width:max-content;max-width:100%;display:block;overflow:auto}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-table) table:not(pre):first-child{margin-top:0}.x-markdown:not(.x-md-disable-all):not(.x-md-disable-table) table:not(pre):last-child{margin-bottom:0}.x-markdown .inline-katex .katex-display{text-align:initial;vertical-align:middle;margin:0;display:inline-block}.x-markdown .inline-katex .katex-display>.katex{text-align:initial;white-space:normal;display:inline-block}.x-markdown .inline-katex .katex-display>.katex>.katex-html{display:inline-block;position:static}.x-markdown .inline-katex .katex-display>.katex>.katex-html>.tag{position:static}.x-markdown .block-katex{margin:1em 0;display:block}.app-shell{background:var(--bg);min-height:100dvh;color:var(--text);grid-template-columns:248px minmax(0,1fr);display:grid}.app-shell,.sidebar,.workspace,.page{min-width:0}.sidebar{border-right:1px solid var(--line);background:var(--side);box-sizing:border-box;flex-direction:column;gap:18px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.brand{border-bottom:1px solid var(--line);align-items:center;gap:12px;min-width:0;padding:8px 8px 14px;display:flex}.brand>div{min-width:0}.brand-mark{color:#fff;background:#1f7a8c;border-radius:8px;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.brand h1{letter-spacing:0;margin:0;font-size:18px;line-height:1.2}.brand p{color:var(--muted);margin:3px 0 0;font-size:12px}.brand.compact{border-bottom:0;flex:1;gap:8px;padding:0}.brand.compact .brand-mark{flex:0 0 32px;width:32px;height:32px}.brand.compact h1{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.sidebar nav{flex-direction:column;gap:4px;display:flex}.sidebar a{min-height:38px;color:var(--text);border-radius:6px;align-items:center;gap:10px;padding:0 10px;font-size:14px;text-decoration:none;display:flex}.sidebar a.active{color:var(--strong);background:var(--nav-active)}.sidebar-footer{color:var(--muted);margin-top:auto;font-size:12px;position:relative}.icp-filing,.sidebar .icp-filing{min-height:auto;color:var(--muted);text-align:center;margin-top:10px;padding:4px 0;font-size:12px;text-decoration:none;display:block}.icp-filing:hover{color:var(--strong);text-decoration:underline}.account-menu summary{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:6px;list-style:none;display:flex}.account-menu{position:relative}.account-menu summary::-webkit-details-marker{display:none}.account-menu summary:hover,.account-menu[open] summary{background:var(--button-hover)}.account-avatar{color:#fff;background:#1f7a8c;border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;font-size:11px;font-weight:700;display:grid}.account-avatar-wrap{flex:0 0 48px;position:relative}.account-vip-badge{color:#5f4300;background:linear-gradient(135deg,#fff1a8,#e9b933);border:1px solid #f4c84a;border-radius:999px;align-items:center;gap:2px;padding:2px 5px;font-size:9px;font-weight:800;line-height:1;display:inline-flex;position:absolute;bottom:-3px;right:-10px;box-shadow:0 2px 6px #8b63003d}.account-copy{min-width:0}.account-copy strong,.account-copy small{display:block}.account-copy strong{color:var(--strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-copy small{color:var(--muted);margin-top:3px}.account-popover{z-index:10;border:1px solid var(--line);background:var(--panel);border-radius:8px;gap:6px;width:210px;padding:9px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 12px 32px #0f1f2e29}.account-popover a,.account-popover button{width:100%;min-height:34px;color:var(--strong);border-radius:6px;justify-content:flex-start;align-items:center;gap:7px;padding:7px 10px;text-decoration:none;display:flex}.account-email{color:var(--strong);text-overflow:ellipsis;white-space:nowrap;padding:4px 6px;overflow:hidden}.sidebar-error{color:var(--market-down);line-height:1.4}.mobile-topbar{display:none}.navigation-drawer .ant-drawer-body{flex-direction:column;padding:12px;display:flex}.navigation-drawer .ant-menu{border-inline-end:0}.navigation-drawer-footer{border-top:1px solid var(--line);margin-top:auto;padding-top:12px;position:relative}.etf-detail-drawer .ant-drawer-header{padding:12px 16px}.etf-detail-drawer .ant-drawer-body{padding:12px}.etf-detail-content{min-width:0}.workspace{box-sizing:border-box;width:100%;min-width:0;padding:24px}.page{max-width:1480px;margin:0 auto}.page-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.page-header>*{min-width:0}.page-header h2{letter-spacing:0;margin:0;font-size:24px;line-height:1.2}.page-header p{color:var(--muted);margin:6px 0 0;font-size:13px}.page-header-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}button,input,select{font:inherit}button{border:1px solid var(--line);min-height:34px;color:var(--strong);background:var(--button);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:7px 11px;display:inline-flex}button:hover{background:var(--button-hover)}button:disabled{opacity:.55;cursor:not-allowed}.primary-button{color:#fff;background:#1f7a8c;border-color:#1f7a8c}.primary-button:hover{background:#176575}input,select{box-sizing:border-box;border:1px solid var(--line);min-height:34px;color:var(--strong);background:var(--input);border-radius:6px;padding:6px 9px}.toolbar,.preset-row,.tag-row,.button-row,.chart-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.toolbar input{width:150px}.toolbar-group,.form-actions{align-items:center;gap:8px;display:flex}.toolbar-group{width:100%;min-width:0}.toolbar-group input{flex:150px;min-width:0}.form-actions{justify-content:flex-end;margin:-4px 0 14px}.preset-row button,.tag-row button{min-height:30px;font-size:12px}.tag-row>span{color:var(--muted);font-size:12px}.tag-row button span{min-width:0;color:var(--strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tag-row button small{color:var(--muted);font-size:12px}.tag-row button svg{color:var(--muted);flex:none}.segmented{border:1px solid var(--line);background:var(--input);border-radius:6px;align-items:center;display:inline-flex;overflow:hidden}.segmented button{border:none;border-right:1px solid var(--line);background:0 0;border-radius:0;min-height:32px;font-size:13px}.segmented button:last-child{border-right:none}.segmented button.active{color:#fff;background:#1f7a8c}.split-grid{grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:14px;display:grid}.table-panel,.chart-panel,.detail-panel,.settings-list,.empty-state,.error-box,.notice{border:1px solid var(--line);background:var(--panel);border-radius:8px}.table-panel,.chart-panel,.detail-panel,.settings-list{margin-bottom:14px;padding:14px;overflow-x:auto}.panel-title{color:var(--strong);margin-bottom:10px;font-size:14px;font-weight:650}.data-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:13px}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:right;padding:9px 10px}.data-table th:first-child,.data-table td:first-child,.data-table th:nth-child(2),.data-table td:nth-child(2){text-align:left}.data-table th{color:var(--muted);background:var(--table-head);-webkit-user-select:none;user-select:none;font-weight:600}.data-table tbody tr:hover,.selected-row{background:var(--row-hover)}.compact th,.compact td{padding:7px 9px}.etf-table th{cursor:pointer}.etf-table th span{color:color-mix(in srgb, var(--muted), transparent 35%);font-weight:500}.etf-table tbody tr{cursor:pointer}.etf-identity-cell,.etf-identity-cell small{display:block}.etf-identity-cell small{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;overflow:hidden}.mobile-table{table-layout:fixed;min-width:0}.mobile-table th,.mobile-table td{text-overflow:ellipsis;padding:9px 6px;overflow:hidden}.mobile-table .column-code{width:40%}.mobile-table .column-price,.mobile-table .column-change_pct,.mobile-table .column-premium{width:20%}.qdii-table th:first-child,.qdii-table td:first-child,.qdii-table th:nth-child(2),.qdii-table td:nth-child(2){text-align:left}.qdii-fund-panel{max-height:620px;overflow:auto}.qdii-fund-panel thead th{z-index:1;position:sticky;top:0}.status-pill{border-radius:999px;justify-content:center;align-items:center;min-width:62px;padding:3px 8px;font-size:12px;font-weight:650;display:inline-flex}.status-pill.buyable{color:var(--market-up);background:color-mix(in srgb, var(--market-up), transparent 88%)}.status-pill.paused{color:var(--market-down);background:color-mix(in srgb, var(--market-down), transparent 88%)}.strong-cell{color:var(--strong);font-weight:700}.code-cell{color:var(--strong);align-items:center;gap:7px;font-weight:650;display:inline-flex}.exchange-badge{text-align:center;min-width:24px;color:var(--muted);background:color-mix(in srgb, var(--muted), transparent 88%);border-radius:5px;padding:2px 4px;font-size:11px;line-height:1.2}.exchange-badge.positive{color:var(--market-up);background:color-mix(in srgb, var(--market-up), transparent 88%)}.exchange-badge.negative{color:var(--market-down);background:color-mix(in srgb, var(--market-down), transparent 88%)}.positive{color:var(--market-up)}.negative{color:var(--market-down)}.stat-grid{grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin:12px 0 14px;display:grid}.stat{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:12px}.stat span{color:var(--muted);font-size:12px;display:block}.stat strong{color:var(--strong);margin-top:5px;font-size:18px;display:block}.stat strong.positive{color:var(--market-up)}.stat strong.negative{color:var(--market-down)}.form-grid{grid-template-columns:repeat(4,minmax(150px,1fr));gap:10px;margin-bottom:14px;display:grid}.form-grid label{color:var(--muted);flex-direction:column;gap:5px;font-size:12px;display:flex}.form-grid input,.form-grid select{width:100%}.detail-header,.settings-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.detail-header{border-bottom:1px solid var(--line);margin-bottom:12px;padding-bottom:12px}.detail-header h3{margin:0;font-size:18px}.detail-header span,.settings-row span{color:var(--muted);margin-top:5px;font-size:12px;display:block}.detail-metrics{border-bottom:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px 16px;margin-bottom:12px;padding-bottom:12px;display:grid}.detail-metrics div{min-width:0}.detail-metrics span{color:var(--muted);font-size:12px;display:block}.detail-metrics strong{color:var(--strong);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:13px;font-weight:650;display:block;overflow:hidden}.detail-metrics strong.positive{color:var(--market-up)}.detail-metrics strong.negative{color:var(--market-down)}.chart-wrap{min-width:0}.chart-info{min-height:30px;color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;padding:0 2px 8px;font-size:12px;display:flex}.chart-info strong{color:var(--strong);font-size:13px}.chart-host{width:100%;height:var(--chart-height,320px)}.ma-legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:8px;font-size:12px;display:flex}.series-legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:10px;font-size:12px;display:flex}.series-legend span{align-items:center;gap:5px;display:inline-flex}.series-legend i{border-radius:999px;width:18px;height:3px}.ma5{color:#2f80ed}.ma10{color:#f2994a}.ma20{color:#9b51e0}.ma60{color:#00a6a6}.ma120{color:#d94880}.ma250{color:#6f7f12}.vix-legend .spy{color:#2f80ed}.vix-legend .qqq{color:#f0a638}.vix-legend .vix{color:#ff4d45}.settings-list{flex-direction:column;gap:14px;display:flex}.settings-actions,.monitor-login-actions{align-items:center;gap:8px;display:flex}.monitor-login{text-align:center;align-content:center;place-items:center;gap:10px;min-height:360px;display:grid}.monitor-login h3,.monitor-login p,.monitor-section h3,.monitor-section p{margin:0}.monitor-login p,.monitor-section p{color:var(--muted);font-size:13px}.monitor-login .error-box{width:min(520px,100%);margin:4px 0 0}.monitor-section{overflow:visible}.monitor-section-header,.monitor-service-state,.monitor-rule-title,.premium-alert,.premium-alert-values{justify-content:space-between;align-items:center;gap:12px;display:flex}.monitor-section-header{margin-bottom:14px}.monitor-section-header h3{color:var(--strong);font-size:17px}.monitor-section-header p{margin-top:5px}.monitor-toggle.active{color:#fff;background:#1f7a8c;border-color:#1f7a8c}.monitor-service-state{color:var(--muted);justify-content:flex-start;margin-bottom:12px;font-size:12px}.monitor-service-state span:first-child,.monitor-status-pill{color:#1f7a8c;background:#1f7a8c1f;border-radius:999px;padding:4px 8px;font-size:12px}.vip-gate-notice{color:#8a6500;background:#f4c84a1f;border:1px solid #d6a41473;border-radius:7px;align-items:center;gap:7px;margin-bottom:12px;padding:9px 11px;font-size:12px;display:flex}.vip-gate-notice svg{flex:none}.stream-error{color:var(--muted);margin:-4px 0 12px;font-size:12px}.monitor-rule-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.monitor-rule{border:1px solid var(--line);background:var(--input);border-radius:8px;flex-direction:column;gap:12px;padding:14px;display:flex}.monitor-rule.subscribed{border-color:#1f7a8c99}.monitor-rule-title>div strong,.monitor-rule-title>div span,.monitor-rule-metrics span,.monitor-rule-metrics strong{display:block}.monitor-rule-title>div strong{color:var(--strong)}.monitor-rule-title>div span,.monitor-rule small{color:var(--muted);margin-top:3px;font-size:12px}.monitor-grade{border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700}.monitor-grade.c,.monitor-grade.pending{color:var(--muted);background:var(--button-hover)}.monitor-grade.b{color:#9a6700;background:#f0a6382e}.monitor-grade.a{color:#b54708;background:#f9731629}.monitor-grade.aplus{color:var(--market-up);background:color-mix(in srgb, var(--market-up), transparent 88%)}.monitor-grade.sell:not(.c):not(.pending){color:var(--market-down);background:color-mix(in srgb, var(--market-down), transparent 88%)}.monitor-direction-grades,.monitor-subscription-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.monitor-direction-grade{border:1px solid var(--line);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.monitor-direction-grade>span{color:var(--muted);font-size:12px}.monitor-rule-metrics{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.monitor-rule-metrics span{color:var(--muted);font-size:11px}.monitor-rule-metrics strong{color:var(--strong);margin-top:4px;font-size:13px}.monitor-subscription-actions{margin-top:auto}.monitor-subscription-actions>button{width:100%}.premium-form{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:10px;margin-bottom:14px;display:grid}.premium-form label{color:var(--muted);flex-direction:column;gap:5px;font-size:12px;display:flex}.premium-alert-list{gap:8px;display:grid}.premium-alert{border:1px solid var(--line);background:var(--input);border-radius:8px;padding:11px 12px}.premium-alert>div:first-child strong,.premium-alert>div:first-child span,.premium-alert-values span,.premium-alert-values strong{display:block}.premium-alert>div:first-child strong,.premium-alert-values strong{color:var(--strong)}.premium-alert>div:first-child span,.premium-alert-values span{color:var(--muted);margin-top:3px;font-size:12px}.premium-alert-values{justify-content:flex-start;min-width:290px}.premium-alert-state{color:#1f7a8c;white-space:nowrap;background:#1f7a8c1f;border-radius:999px;padding:4px 8px;font-size:12px}.premium-alert-state.triggered{color:var(--market-up);background:color-mix(in srgb, var(--market-up), transparent 88%)}.qdii-news{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:14px}.news-header,.news-search{align-items:center;gap:10px;display:flex}.news-header{justify-content:space-between;margin-bottom:12px}.news-search input{width:260px}.news-grid{grid-template-columns:minmax(280px,.42fr) minmax(0,.58fr);gap:14px;display:grid}.news-list{flex-direction:column;gap:8px;min-width:0;max-height:560px;display:flex;overflow:auto}.news-list button{text-align:left;white-space:normal;flex-direction:column;justify-content:center;align-items:flex-start;width:100%;min-height:72px}.news-list button.active{background:#1f7a8c1f;border-color:#1f7a8c}.news-list strong{color:var(--strong);line-height:1.35}.news-list span{color:var(--muted);font-size:12px}.news-detail{border:1px solid var(--line);background:var(--input);border-radius:8px;min-width:0;padding:14px}.news-detail p{color:var(--text);white-space:pre-wrap;margin:0;font-size:14px;line-height:1.75}.link-button{border:1px solid var(--line);min-height:34px;color:var(--strong);background:var(--button);border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:7px 11px;text-decoration:none;display:inline-flex}.link-button:hover{background:var(--button-hover)}.link-button.primary-button{color:#fff;background:#1f7a8c;border-color:#1f7a8c}.settings-row{border-bottom:1px solid var(--line);min-height:58px;padding-bottom:14px}.settings-row:last-child{border-bottom:none;padding-bottom:0}.settings-row strong{color:var(--strong)}.account-membership,.membership-entry{color:#8a6500;background:#f4c84a1f;border-color:#d6a41480}.account-membership:hover,.membership-entry:hover{background:#f4c84a38}.membership-title{color:var(--strong);align-items:center;gap:8px;display:inline-flex}.membership-title svg{color:#d6a414}.membership-modal .ant-modal-body{max-height:calc(100dvh - 150px);overflow-y:auto}.redemption-modal .ant-modal-body{max-height:calc(100dvh - 160px);overflow-y:auto}.membership-hero{text-align:center;background:linear-gradient(135deg,#1f7a8c1f,#f4c84a1f);border-radius:10px;margin:-4px -4px 18px;padding:18px}.membership-hero>span{color:#1f7a8c;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.membership-hero h3{color:var(--strong);margin:8px 0 4px;font-size:22px}.membership-hero p,.membership-coming,.feedback-hint,.redemption-tip{color:var(--muted)}.membership-hero p{margin:0;font-size:13px}.membership-plans{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.membership-plan{border:1px solid var(--line);min-height:142px;color:var(--text);background:var(--panel);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex;position:relative;overflow:hidden}.membership-plan:hover{background:#26a9b70f;border-color:#26a9b7;box-shadow:0 8px 24px #1f7a8c1a}.membership-plan>strong{color:var(--strong);font-size:17px}.membership-plan>small{color:var(--muted)}.membership-plan-badge{color:#fff;background:#f05a3c;border-radius:9px 0 8px;padding:4px 9px;font-size:11px;font-weight:700;position:absolute;top:0;left:0}.membership-price{color:#26a9b7;font-size:34px;font-weight:750;line-height:1}.membership-price small{margin-right:3px;font-size:16px}.membership-ad{color:#b77900;text-align:center;margin:15px 0 4px;font-size:14px;font-weight:650}.membership-store-tip{color:var(--muted);text-align:center;margin:0 0 15px;font-size:12px}.benefit-table-wrap{border:1px solid var(--line);border-radius:9px;overflow-x:auto}.benefit-table{border-collapse:collapse;width:100%}.benefit-table th,.benefit-table td{border-bottom:1px solid var(--line);text-align:center;width:33.333%;padding:11px 14px}.benefit-table th{color:var(--strong);background:var(--button-hover)}.benefit-table th:first-child,.benefit-table td:first-child{text-align:left}.benefit-table th:nth-child(2),.benefit-table td:nth-child(2){background:#26a9b70f}.benefit-table tbody tr:last-child td{border-bottom:0}.benefit-enabled,.benefit-disabled{justify-content:center;align-items:center;gap:5px;display:inline-flex}.benefit-enabled{color:#1d9aa8}.benefit-disabled{color:var(--muted)}.membership-coming{text-align:center;margin:12px 0 0;font-size:12px}.feedback-hint,.redemption-tip{margin:0 0 12px;line-height:1.6}.redemption-email{color:#1f7a8c;text-align:center;overflow-wrap:anywhere;margin:-4px 0 16px;display:block}.empty-state{min-height:180px;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:8px;display:grid}.empty-state strong{color:var(--strong)}.error-box,.notice{margin-bottom:12px;padding:12px 14px}.error-box{color:var(--market-down);border-color:color-mix(in srgb, var(--market-down), transparent 68%);background:color-mix(in srgb, var(--market-down), transparent 92%)}.notice{color:var(--strong);background:var(--notice)}.loading{min-height:48px;color:var(--muted);align-items:center;gap:8px;display:flex}.spin{animation:.9s linear infinite spin}.app-loading{min-height:100vh;color:var(--muted);background:var(--bg);place-items:center;display:grid}.auth-page{grid-template-columns:minmax(380px,.9fr) minmax(460px,1.1fr);min-height:100vh;display:grid}.auth-intro{color:#ffffffe6;background:radial-gradient(circle at 15% 85%,#1f7a8c8c,#0000 36%),#10212f;flex-direction:column;justify-content:space-between;padding:clamp(40px,6vw,88px);display:flex}.auth-logo{color:#fff;background:#1f7a8c;border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.auth-eyebrow{color:#ffffff8c;letter-spacing:2px;font-size:12px}.auth-intro h1{margin:20px 0;font-size:clamp(36px,4vw,58px);line-height:1.18}.auth-intro p{color:#ffffffad;font-size:17px}.auth-intro small{color:#ffffff94;align-items:center;gap:8px;display:flex}.auth-panel{background:var(--bg);place-items:center;padding:32px;display:grid}.auth-card{border:1px solid var(--line);background:var(--panel);border-radius:10px;width:min(420px,100%);padding:30px;box-shadow:0 18px 50px #0f1f2e1a}.auth-home{color:var(--muted);align-items:center;gap:6px;margin-bottom:18px;font-size:13px;text-decoration:none;display:inline-flex}.auth-card h2{color:var(--strong);margin:26px 0 6px;font-size:28px}.auth-card>p{color:var(--muted);margin:0 0 24px}.auth-tabs{background:var(--button-hover);border-radius:7px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.auth-tabs a{min-height:34px;color:var(--strong);background:0 0;border:0;border-radius:6px;place-items:center;text-decoration:none;display:grid}.auth-tabs a.active{color:#fff;background:#1f7a8c}.auth-card label{color:var(--strong);margin-top:16px;font-size:13px;display:block}.auth-input{border:1px solid var(--line);min-height:42px;color:var(--muted);background:var(--input);border-radius:6px;align-items:center;gap:9px;margin-top:7px;padding:0 11px;display:flex}.auth-input input{border:0;outline:0;width:100%;min-height:40px;padding:0}.auth-code-row{grid-template-columns:1fr 116px;gap:8px;display:grid}.auth-code-button{color:#1f7a8c;background:0 0;border:1px solid #1f7a8c;border-radius:6px;align-self:end;min-height:42px;margin-top:7px}.auth-code-button:hover:not(:disabled){color:#fff;background:#1f7a8c}.auth-code-button:disabled{opacity:.55}.auth-submit{width:100%;margin-top:22px}.auth-error{border:1px solid color-mix(in srgb, var(--market-down), transparent 65%);color:var(--market-down);background:color-mix(in srgb, var(--market-down), transparent 92%);border-radius:6px;margin-bottom:16px;padding:10px 12px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ai-pending-dot{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.ai-answer-pending .spin,.ai-answer-pending-dots i{animation:none}}@media (width<=991px){.app-shell{grid-template-rows:auto 1fr;grid-template-columns:1fr}.mobile-topbar{z-index:20;min-height:52px;padding:calc(8px + env(safe-area-inset-top)) 12px 8px;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--side), transparent 4%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:9px;display:grid;position:sticky;top:0}.mobile-nav-trigger{width:40px;min-height:40px;padding:0}.account-menu.compact summary{width:40px;min-height:40px;padding:1px}.account-menu.compact .account-copy,.account-menu.compact .account-vip-badge{display:none}.account-menu.compact .account-avatar-wrap,.account-menu.compact .account-avatar{flex-basis:34px;width:34px;height:34px}.account-menu.compact .account-popover{inset:calc(100% + 8px) 0 auto auto}.workspace{padding:16px}.split-grid,.news-grid,.premium-form{grid-template-columns:1fr}.form-grid,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dense-table-panel{position:relative}.dense-table-panel:before{width:fit-content;color:var(--muted);content:"左右滑动查看更多";margin-bottom:7px;font-size:11px;display:block;position:sticky;left:0}.dense-table-panel .data-table th:first-child,.dense-table-panel .data-table td:first-child{z-index:1;background:var(--panel);position:sticky;left:0}.dense-table-panel .data-table th:first-child{z-index:2;background:var(--table-head)}}@media (width<=800px){.auth-page{display:block}.auth-intro{display:none}.auth-panel{min-height:100vh;padding:20px}}@media (width<=575px){.workspace{padding:12px}.form-grid{grid-template-columns:1fr}button,input,select{min-height:42px}.page-header{gap:10px;margin-bottom:14px}.page-header h2{font-size:20px}.page-header p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.page-header,.detail-header,.settings-row,.monitor-section-header,.premium-alert,.premium-alert-values{flex-direction:column;align-items:stretch}.premium-alert-values{min-width:0}.premium-alert>button,.monitor-toggle,.settings-actions,.settings-actions .link-button{width:100%}.settings-actions{flex-direction:column;align-items:stretch}.membership-plans{grid-template-columns:1fr}.membership-plan{min-height:112px}.news-search,.news-search input,.news-search button{width:100%}.returns-toolbar,.toolbar-group{align-items:stretch}.returns-toolbar{flex-direction:column}.preset-row,.tag-row{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.preset-row>button,.tag-row>button{flex:none}.toolbar-group input{width:auto}.form-actions .primary-button{width:100%}.news-header{flex-direction:column;align-items:stretch}.news-search{flex-direction:column}.segmented{width:100%}.segmented button{flex:1 1 0;min-width:0}.page-header-actions{flex-wrap:nowrap;justify-content:flex-start;width:100%}.page-header-actions>span{flex:auto;min-width:0}.page-header-actions>span .primary-button{width:100%}.chart-panel,.detail-panel,.table-panel,.settings-list{padding:10px}.chart-host{height:min(var(--chart-height,320px), 280px)}.chart-info{gap:7px}.news-list{max-height:280px}.ant-modal{max-width:calc(100vw - 24px);margin:12px auto}.ant-modal .ant-modal-content{padding:16px}.ant-modal .ant-modal-footer{display:flex}.ant-modal .ant-modal-footer button{flex:1 1 0}}.ai-page{flex-direction:column;height:calc(100dvh - 48px);min-height:560px;display:flex}.ai-page-header{flex:none}.ai-page-actions{flex:none;align-items:center;gap:8px;display:flex}.ai-history-mobile-trigger{display:none}.ai-session-badge{color:#1f7a8c;background:#1f7a8c1a;border:1px solid #1f7a8c61;border-radius:999px;flex:none;padding:5px 10px;font-size:12px;font-weight:600}.ai-workspace{flex:1;gap:14px;min-height:0;display:flex}.ai-history-panel{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-direction:column;flex:0 0 270px;width:270px;min-height:0;display:flex;overflow:hidden}.ai-history-heading{border-bottom:1px solid var(--line);flex:none;padding:15px 16px 12px}.ai-history-heading strong,.ai-history-heading span{display:block}.ai-history-heading strong{color:var(--strong);font-size:14px}.ai-history-heading span{color:var(--muted);margin-top:3px;font-size:11px}.ai-history-list{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.ai-history-list>.ant-conversations{flex:1;min-height:0;overflow-y:auto}.ai-history-list>.ant-empty{margin:auto 12px}.ai-history-state{color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:8px;margin:auto;padding:20px;font-size:12px;display:flex}.ai-history-error{flex-direction:column}.ai-history-more{flex:none;margin:6px 12px 12px}.ai-chat-column{flex:1;min-width:0;min-height:0;display:flex;position:relative}.ai-thread-loading{z-index:5;color:var(--muted);background:color-mix(in srgb, var(--panel), transparent 12%);justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.ai-chat-panel{border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden;box-shadow:0 10px 30px #0f1f2e0f}.ai-login-notice{color:var(--strong);background:var(--notice);border:1px solid #1f7a8c4d;border-radius:8px;flex:none;justify-content:space-between;align-items:center;gap:16px;margin:14px 16px 0;padding:12px 14px;display:flex}.ai-login-notice>div{min-width:0}.ai-login-notice strong,.ai-login-notice span{display:block}.ai-login-notice span{color:var(--muted);margin-top:3px;font-size:12px}.ai-model-control{border-bottom:1px solid var(--line);min-height:56px;color:var(--muted);background:color-mix(in srgb, var(--panel), var(--bg) 16%);flex:none;align-items:center;gap:14px;padding:10px clamp(16px,4vw,48px);font-size:12px;display:flex}.ai-model-control label{color:var(--strong);align-items:center;gap:9px;font-weight:600;display:flex}.ai-model-control .ant-select{width:280px;font-weight:400}.ai-model-control .quota-empty,.ai-model-control .ai-model-error{color:var(--market-down)}.ant-modal .ai-model-control{background:0 0;min-height:auto;margin-bottom:12px;padding:0 0 14px}.ai-message-area{flex:1;min-height:0;display:flex;overflow:hidden}.ai-message-list{width:100%;height:100%}.ai-message-scroll{padding:24px clamp(18px,4vw,56px)}.ai-avatar{border:1px solid var(--line);width:32px;height:32px;color:var(--text);background:var(--button);border-radius:8px;place-items:center;display:grid}.ai-avatar-agent{color:#fff;background:#1f7a8c;border-color:#1f7a8c}.ai-answer{min-width:0;max-width:100%;color:var(--text);gap:12px;display:grid}.ai-answer-text,.ai-user-message{overflow-wrap:anywhere;line-height:1.75}.ai-user-message{white-space:pre-wrap}.ai-markdown{line-height:1.75}.ai-markdown>:last-child{margin-bottom:0}.ai-markdown table{max-width:100%;display:block;overflow-x:auto}.ai-answer-pending{min-height:28px;color:var(--muted);align-items:center;gap:8px;display:flex}.ai-answer-pending svg{color:#1f7a8c;flex:none}.ai-answer-pending-dots{align-items:center;gap:3px;display:inline-flex}.ai-answer-pending-dots i{background:currentColor;border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite ai-pending-dot}.ai-answer-pending-dots i:nth-child(2){animation-delay:.15s}.ai-answer-pending-dots i:nth-child(3){animation-delay:.3s}.ai-message-error,.ai-tool-error{color:var(--market-down)}.ai-message-error{border:1px solid color-mix(in srgb, var(--market-down), transparent 68%);background:color-mix(in srgb, var(--market-down), transparent 92%);border-radius:6px;padding:9px 11px}.ai-tool-details{gap:10px;display:grid}.ai-tool-details strong{color:var(--strong);margin-bottom:5px;font-size:12px;display:block}.ai-tool-details pre{border:1px solid var(--line);max-height:240px;color:var(--text);background:var(--bg);white-space:pre-wrap;border-radius:6px;margin:0;padding:9px 10px;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.ai-welcome{flex-direction:column;justify-content:center;align-items:center;gap:18px;width:min(760px,100%);min-height:100%;margin:auto;padding:28px;display:flex;overflow:auto}.ai-welcome-icon{color:#1f7a8c;background:#1f7a8c1f;border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.ai-composer{border-top:1px solid var(--line);background:color-mix(in srgb, var(--panel), var(--bg) 24%);flex:none;padding:15px clamp(16px,4vw,48px) 12px}.ai-sender{max-width:900px;margin:0 auto}.ai-composer>span{max-width:900px;color:var(--muted);text-align:center;margin:7px auto 0;font-size:11px;display:block}.premium-selector-summary{color:var(--muted);margin-bottom:12px;font-size:13px}.premium-selector-groups{gap:10px;max-height:min(58vh,560px);display:grid;overflow-y:auto}.premium-selector-group{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:12px}.premium-selector-group>label{color:var(--strong)}.premium-selector-group>label span:last-child{color:var(--muted);margin-left:6px;font-size:12px}.premium-selector-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin-top:11px;display:grid}.premium-selector-items label{min-width:0;color:var(--text);font-size:13px}.premium-selector-items label span span:first-child{color:#1f7a8c;margin-right:6px;font:600 12px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.premium-analysis-window{z-index:900;border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-direction:column;width:min(680px,100vw - 32px);height:min(560px,100dvh - 32px);display:flex;position:fixed;overflow:hidden;box-shadow:0 22px 65px #0a182647}.premium-analysis-header{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel), #1f7a8c 6%);cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:7px 9px 7px 14px;display:flex}.premium-analysis-header>div{align-items:center;gap:8px;min-width:0;display:flex}.premium-analysis-header strong{color:var(--strong);font-size:14px}.premium-analysis-header span{color:var(--muted);font-size:12px}.premium-analysis-header button{background:0 0;border:0;width:32px;min-height:32px;padding:0}.premium-analysis-body{flex:1;min-height:0;display:flex;overflow:hidden}.premium-analysis-messages{width:100%;height:100%}.premium-analysis-scroll{padding:20px 22px}.premium-analysis-loading{color:var(--muted);justify-items:center;gap:9px;margin:auto;font-size:13px;display:grid}.premium-analysis-loading svg{color:#1f7a8c}.premium-analysis-window>footer{border-top:1px solid var(--line);color:var(--muted);background:var(--bg);text-align:center;flex:none;padding:8px 14px;font-size:11px}@media (width<=991px){.ai-page{height:calc(100dvh - 89px - env(safe-area-inset-top));min-height:0}.ai-history-panel{display:none}.ai-history-mobile-trigger{display:inline-flex}.ai-workspace{gap:0}.ai-history-drawer .ai-history-list{height:100%}}@media (width<=575px){.ai-page{height:calc(100dvh - 81px - env(safe-area-inset-top));min-height:0}.ai-page-header{margin-bottom:12px}.ai-session-badge{align-self:flex-start}.ai-page-actions{align-items:flex-start}.ai-login-notice{flex-direction:column;align-items:stretch;gap:10px;margin:10px 10px 0}.ai-login-notice .link-button{width:100%}.ai-model-control{flex-direction:column;align-items:stretch;gap:6px;padding:10px}.ai-model-control label{flex-direction:column;align-items:stretch;gap:5px}.ai-model-control .ant-select{width:100%}.ai-message-scroll{padding:16px 12px}.ai-welcome{padding:20px 14px}.ai-composer{padding:11px 10px 9px}.premium-selector-items{grid-template-columns:1fr}.premium-analysis-window{height:min(620px,100dvh - 24px)}.premium-analysis-scroll{padding:15px 12px}}@media (width<=991px) and (height<=500px){.page-header p{display:none}.page-header{margin-bottom:10px}.form-grid{row-gap:6px;margin-bottom:8px}.form-actions{margin:-2px 0 8px}.chart-host{height:min(var(--chart-height,320px), 230px)}}.rotation-entry{border:1px solid color-mix(in srgb, #1f7a8c 28%, var(--line));background:linear-gradient(115deg, var(--panel) 35%, var(--notice));color:var(--text);border-radius:12px;justify-content:space-between;gap:24px;padding:32px 36px;text-decoration:none;transition:border-color .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.rotation-entry:before{content:"";background:#1f7a8c;border-radius:0 3px 3px 0;width:3px;position:absolute;inset:28px auto 28px 0}.rotation-entry:hover{border-color:#1f7a8c;box-shadow:0 8px 24px #1f7a8c12}.rotation-entry:focus-visible{outline-offset:4px;outline:2px solid #1f7a8c}.rotation-entry-eyebrow,.rotation-entry-features,.rotation-entry-features>span,.rotation-entry-action{align-items:center;gap:8px;display:flex}.rotation-entry-eyebrow{color:var(--text);font-size:12px;font-weight:600}.rotation-entry-eyebrow>svg{color:#1f7a8c}.rotation-entry-eyebrow>span{border-left:1px solid var(--line);color:var(--muted);letter-spacing:2px;margin-left:8px;padding-left:16px;font-size:10px}.rotation-entry h3{color:var(--strong);letter-spacing:-.5px;margin:18px 0 12px;font-size:clamp(23px,2.5vw,32px);font-weight:600;line-height:1.4}.rotation-entry h3>span{margin-left:14px;font-weight:400;display:inline-block}.rotation-entry p{color:var(--muted);margin:0;font-size:13px;line-height:1.9}.rotation-entry-features{flex-wrap:wrap;gap:12px 24px;margin-top:24px;font-size:12px}.rotation-entry-features svg{color:var(--muted)}.rotation-entry-aside{flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:center;gap:24px;display:flex}.rotation-entry-orbit{background:radial-gradient(circle, var(--panel) 35%, transparent 36% 56%, #1f7a8c12 57% 58%, transparent 59%);color:#1f7a8c;border:1px solid #1f7a8c2e;border-radius:50%;place-items:center;width:120px;height:120px;display:grid}.rotation-entry-action{color:#fff;background:#1f7a8c;border-radius:6px;justify-content:center;padding:10px 18px;font-size:13px;font-weight:600}@media (width<=600px){.rotation-entry{flex-direction:column;gap:22px;padding:24px}.rotation-entry h3>span{margin-left:0;display:block}.rotation-entry-aside{align-items:stretch}.rotation-entry-orbit{display:none}.rotation-entry-features{gap:12px 16px;margin-top:20px}}@media (prefers-reduced-motion:reduce){.rotation-entry{transition:none}}.rotation-summary{flex-wrap:wrap;gap:20px 40px;display:flex}.rotation-card .ant-card-head-wrapper{flex-wrap:wrap;gap:12px;padding:12px 0}.rotation-card .ant-card-head-title{white-space:normal;flex:210px}.rotation-card .ant-card-extra{margin-inline-start:0}.rotation-card .ant-switch{min-height:0}.rotation-summary>div{gap:8px;display:grid}.rotation-summary strong{font-size:18px}.rotation-summary span,.rotation-note{opacity:.8}.rotation-heatmap{container-type:inline-size}.rotation-heatmap-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.rotation-heatmap-heading p,.rotation-heatmap-hint{color:var(--muted);margin:6px 0 12px;font-size:12px}.rotation-heatmap-legend{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.rotation-heatmap-legend i{background:linear-gradient(90deg,#1e69af52,#1e69af0a);border-radius:3px;width:48px;height:8px}.rotation-heatmap-legend i:last-of-type{background:linear-gradient(90deg,#be372a0a,#be372a52)}.rotation-heatmap-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.rotation-heatmap-card{border:1px solid var(--line);border-radius:10px;min-width:0;padding:10px}.rotation-heatmap-card.is-held{border-color:var(--accent,#1f7a8c)}.rotation-heatmap-card header{justify-content:space-between;align-items:center;line-height:20px;display:flex}.rotation-heatmap-card small{color:var(--accent,#1f7a8c);font-size:11px}.rotation-heatmap-name{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin-bottom:8px;font-size:11px;overflow:hidden}.rotation-heatmap-cells{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid}.rotation-heatmap-cell{min-height:0;color:var(--text);cursor:pointer;font-variant-numeric:tabular-nums;border:0;border-radius:5px;gap:2px;padding:7px 2px;display:grid}.rotation-heatmap-cell span{white-space:nowrap;font-size:10px}.rotation-heatmap-cell strong{font-size:19px;line-height:1.3}.rotation-heatmap-cell.is-missing{background:var(--line);color:var(--muted)}.rotation-heatmap-cell:hover{box-shadow:inset 0 0 0 1px}.rotation-heatmap-cell:focus-visible{outline:2px solid var(--accent,#1f7a8c);outline-offset:2px}.rotation-pair-detail{overflow-wrap:anywhere;max-width:min(390px,100vw - 56px);font-size:12px}.rotation-pair-detail p{margin:4px 0}.rotation-pair-detail>div{border-top:1px solid var(--line);margin-top:10px;padding-top:8px}@container (width<=899px){.rotation-heatmap-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@container (width<=559px){.rotation-heatmap-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.rotation-heatmap-card{padding:7px}.rotation-heatmap-cell strong{font-size:17px}}@container (width<=289px){.rotation-heatmap-grid{grid-template-columns:1fr}}
