:root{color-scheme:light;--bg-body: #f5f7f3;--bg-shell: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(245, 247, 243, .98));--surface-rail: #fbfcfa;--surface-topbar: rgba(255, 255, 255, .82);--surface-panel: rgba(255, 255, 255, .7);--surface-dock: rgba(250, 252, 249, .94);--surface-card: #fff;--surface-subtle: #eef3ef;--surface-hover: #eef6f1;--surface-inverse: #152321;--ticker-bg: #101b19;--text-primary: #16201f;--text-heading: #172421;--text-secondary: #65736f;--text-muted: #75817d;--text-body: #273633;--text-inverse: #fff;--ticker-text: #f5fbf7;--ticker-subtle: rgba(237, 247, 242, .56);--ticker-muted: rgba(255, 255, 255, .66);--border: #dfe5df;--border-soft: #e1e7e1;--accent: #0f8f7f;--accent-strong: #0f756c;--accent-soft: #e4f3ed;--accent-border: #cce4da;--accent-hover: #9ee7d3;--brand-bg: #152321;--route-gradient: linear-gradient(90deg, #9dd2c3, #45ad98, #0f8f7f, #084c4c);--inset-line: rgba(255, 255, 255, .05);--blockquote-border: #d6ded8;--code-bg: #eef3ef;--pre-bg: #111d1b;--pre-text: #f5faf7;--table-head: #f4f7f4}html[data-theme=dark]{color-scheme:dark;--bg-body: #07110f;--bg-shell: linear-gradient(180deg, rgba(9, 18, 16, .98), rgba(5, 12, 11, .99));--surface-rail: #0b1715;--surface-topbar: rgba(10, 21, 19, .88);--surface-panel: rgba(10, 22, 19, .82);--surface-dock: rgba(8, 18, 16, .95);--surface-card: #101f1c;--surface-subtle: #142722;--surface-hover: #17362f;--surface-inverse: #183f38;--ticker-bg: #07110f;--text-primary: #e7f4ef;--text-heading: #f1fbf7;--text-secondary: #9cb6ae;--text-muted: #7f9991;--text-body: #c9ded7;--text-inverse: #f5fffb;--ticker-text: #ecfff9;--ticker-subtle: rgba(220, 247, 239, .6);--ticker-muted: rgba(228, 250, 244, .66);--border: #24413b;--border-soft: #1d342f;--accent: #32d3bd;--accent-strong: #55e0cc;--accent-soft: #123a34;--accent-border: #2b6d61;--accent-hover: #96f5e4;--brand-bg: #32d3bd;--route-gradient: linear-gradient(90deg, #29776c, #32b09d, #65dcc8, #b0fff0);--inset-line: rgba(164, 235, 218, .1);--blockquote-border: #315a51;--code-bg: #142722;--pre-bg: #050d0c;--pre-text: #e7f4ef;--table-head: #13231f}*{box-sizing:border-box}body{margin:0;min-width:1420px;background:var(--bg-body);color:var(--text-primary);font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif;letter-spacing:0}.login-shell{min-height:100vh;background:#f7f8f6;color:#172421;display:grid;place-items:center;padding:32px}.login-panel{width:min(420px,100%);border:1px solid #dfe5df;border-radius:8px;background:#fff;box-shadow:0 18px 48px #14232114;display:grid;gap:18px;padding:28px}.login-brand{display:grid;gap:10px}.login-brand p{margin:0;color:#65736f;font-size:13px}.login-access-note{color:#0f756c;font-size:13px;font-weight:700}.brand-lockup{display:block;object-fit:contain}.brand-link{border-radius:6px;display:inline-flex;width:fit-content}.brand-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.login-brand-logo{width:280px}.login-footer{align-items:center;border-top:1px solid #e1e7e1;color:#65736f;display:flex;font-size:13px;gap:8px;padding-top:16px}.login-shell .ant-form-item-label>label,.login-shell .ant-input,.login-shell .ant-input-affix-wrapper,.login-shell .ant-input-group-addon{-webkit-text-fill-color:#172421;color:#172421}.login-shell .ant-input,.login-shell .ant-input-affix-wrapper,.login-shell .ant-input-group-addon{background:#fff!important;border-color:#dfe5df}.login-shell .ant-input-affix-wrapper input,.login-shell .ant-input-group-wrapper input,.login-shell input.ant-input{-webkit-text-fill-color:#172421!important;background:#fff!important;caret-color:#0f8f7f;color:#172421!important}.login-shell input.ant-input:-webkit-autofill,.login-shell input.ant-input:-webkit-autofill:hover,.login-shell input.ant-input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:#172421!important;border-color:#dfe5df;transition:background-color 9999s ease-out}.login-shell .ant-input::placeholder{color:#a7b0ad}.login-shell .ant-btn-primary{background:#0f8f7f;border-color:#0f8f7f;box-shadow:0 2px #0f8f7f1f}.login-shell .ant-btn-primary:not(:disabled):hover{background:#0f756c;border-color:#0f756c}.app-shell{height:100vh;display:grid;grid-template-columns:230px minmax(520px,1fr) 660px;grid-template-rows:56px minmax(0,1fr) 112px;background:var(--bg-shell);overflow:hidden}.nav-rail{grid-row:1 / span 3;border-right:1px solid var(--border);background:var(--surface-rail);display:flex;flex-direction:column;align-items:center;gap:16px;padding:12px 0}.brand{width:34px;height:34px;border-radius:8px;background:var(--brand-bg);color:var(--text-inverse);display:grid;place-items:center;font-weight:760}.rail-icon{width:36px;height:36px;display:grid;place-items:center;padding:10px;border-radius:8px;color:var(--text-secondary)}.rail-icon.active{background:var(--accent-soft);color:var(--accent)}.topbar{grid-column:1 / span 3;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 20px;background:var(--surface-topbar);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.api-page-shell{min-height:100vh;background:var(--bg-shell);color:var(--text-primary)}.api-page-topbar{align-items:center;background:var(--surface-topbar);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;min-height:60px;padding:0 24px}.api-brand,.topbar-brand{align-items:center;display:flex;gap:12px;min-width:0}.api-brand-logo{width:156px}html[data-theme=dark] .api-brand-logo,html[data-theme=dark] .topbar-logo{filter:drop-shadow(0 0 10px rgba(50,211,189,.3))}.api-page-topbar h1,.api-page-heading h2{color:var(--text-heading);margin:0}.api-page-topbar h1{font-size:17px;line-height:1.2}.api-page-topbar span,.api-page-heading p,.api-docs p{color:var(--text-secondary);font-size:13px}.api-page-content{display:grid;gap:18px;margin:0 auto;max-width:1120px;padding:28px 24px 48px}.api-page-heading{align-items:end;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding-bottom:18px}.api-page-heading h2{font-size:24px}.api-page-heading p{margin:7px 0 0}.api-token-create,.api-token-list,.api-permission-summary,.api-permission-region,.api-docs section{background:var(--surface-panel);border:1px solid var(--border);border-radius:8px;padding:18px}.api-token-create .ant-form{gap:10px}.api-token-create .ant-form-item{margin-inline-end:0}.api-token-create .ant-input{min-width:300px}.api-token-secret{margin-top:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.api-permission-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.api-permission-summary>div{border-right:1px solid var(--border-soft);display:grid;gap:4px;min-width:0}.api-permission-summary>div:last-child{border-right:0}.api-permission-summary strong{color:var(--text-heading);font-size:22px;line-height:1.1}.api-permission-summary span,.api-permission-region-head span{color:var(--text-secondary);font-size:12px}.api-permission-list,.api-permission-region{display:grid;gap:12px}.api-permission-region-head{align-items:start;display:flex;justify-content:space-between;gap:12px}.api-permission-region-actions{align-items:center;display:flex;flex-shrink:0;gap:8px}.api-permission-region h3{color:var(--text-heading);font-size:16px;margin:0 0 4px}.api-permission-fields{display:grid;gap:10px}.api-permission-fields>div{display:grid;gap:6px}.api-permission-fields>div>span{color:var(--text-secondary);font-size:12px}.api-permission-tags{display:flex;flex-wrap:wrap;gap:8px}.api-permission-note{background:#f8faf8;border-left:3px solid var(--accent);color:var(--text-secondary);font-size:12px;line-height:1.6;padding:8px 10px}.api-permission-module-table-wrap{border:1px solid var(--border-soft);border-radius:8px;overflow:auto}.api-permission-module-table{border-collapse:collapse;min-width:560px;width:100%}.api-permission-module-table th,.api-permission-module-table td{border-bottom:1px solid var(--border-soft);font-size:12px;line-height:1.45;padding:8px 10px;text-align:left;vertical-align:top}.api-permission-module-table th{background:var(--table-head);color:var(--text-secondary);font-weight:700;white-space:nowrap}.api-permission-module-table tr:last-child td{border-bottom:0}.api-permission-module-table code{background:var(--surface-subtle);border-radius:5px;color:var(--text-body);display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11px;max-width:420px;overflow-wrap:anywhere;padding:2px 5px}.empty.compact{padding:12px;text-align:left}.api-docs h3{color:var(--text-heading);font-size:15px;margin:0 0 12px}.api-docs ul{color:var(--text-body);margin:0;padding-left:18px}.api-docs li{line-height:1.75}.compact-list{padding-left:16px!important}.api-docs pre{background:var(--pre-bg);border-radius:8px;color:var(--pre-text);margin:0;overflow:auto;padding:14px;white-space:pre-wrap}.endpoint-list{display:grid;gap:12px}.endpoint-doc{border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-card);display:grid;gap:10px;padding:14px}.endpoint-title{align-items:center;display:flex;gap:8px;min-width:0}.endpoint-title code{white-space:normal;word-break:break-all}.topbar h1{margin:0;font-size:17px;line-height:1.2}.topbar-logo{width:170px}.topbar-actions{align-items:center;display:flex;gap:10px}.user-chip{min-width:132px;display:grid;gap:3px;text-align:right}.user-chip strong{color:var(--text-heading);font-size:13px;line-height:1}.user-chip span{color:var(--text-secondary);font-size:11px;line-height:1}.permission-toast{position:fixed;right:18px;top:68px;z-index:20;max-width:360px}.auto-refresh-control,.theme-toggle-control{align-items:center;border:1px solid var(--border);border-radius:8px;display:flex;gap:8px;min-height:32px;padding:3px 4px 3px 8px}.theme-toggle-control{padding-right:10px}.auto-refresh-control>span:not(.ant-switch),.theme-toggle-control>span:not(.ant-switch){color:var(--text-body);font-size:12px;white-space:nowrap}.auto-refresh-control .ant-segmented{background:var(--surface-subtle)}.auto-refresh-control .ant-segmented-disabled{opacity:.52}.topbar span,.area-head span,.workspace-head span,.left-panel p{color:var(--text-secondary);font-size:12px}.left-panel,.right-panel{min-height:0;overflow:auto;background:var(--surface-panel)}.left-panel{border-right:1px solid var(--border);padding:18px 16px}.right-panel{border-left:1px solid var(--border);padding:18px 22px 22px}.news-dock{grid-column:1 / span 3;min-width:0;border-top:1px solid var(--border);background:var(--surface-dock);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:grid;grid-template-rows:52px 59px;overflow:hidden}.latest-news-row,.ticker-row{min-width:0;display:grid;align-items:center}.latest-news-row{grid-template-columns:142px minmax(0,1fr);gap:14px;padding:8px 16px 7px 18px;border-bottom:1px solid var(--border-soft)}.latest-news-title,.ticker-label{min-width:0;display:grid;gap:4px}.latest-news-title strong,.ticker-label strong{font-size:13px;line-height:1;color:var(--text-heading)}.latest-news-title span{width:fit-content;max-width:118px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent-strong);background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:8px;padding:3px 8px;font-size:12px;line-height:1}.latest-news-list{min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:center}.news-chip,.ticker-item{min-width:0;border:0;background:transparent;font:inherit;color:inherit;cursor:pointer;text-align:left}.news-chip{height:35px;border-radius:8px;padding:4px 9px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:16px 13px;column-gap:7px;align-items:center;transition:background .18s ease,color .18s ease}.news-chip:hover{background:var(--surface-hover)}.news-chip span,.ticker-item span{color:var(--accent-strong);font-size:11px;font-variant-numeric:tabular-nums;line-height:1}.news-chip strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-heading);font-size:13px;line-height:1.2}.news-chip em{grid-column:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:11px;font-style:normal;line-height:1}.ticker-row{grid-template-columns:204px minmax(0,1fr);gap:12px;padding:7px 16px 7px 18px}.ticker-label{height:44px;border-radius:10px;background:var(--surface-inverse);color:var(--text-inverse);padding:7px 8px 7px 12px;align-content:center;grid-template-columns:minmax(86px,1fr) auto;grid-template-rows:auto auto;column-gap:10px;row-gap:3px;box-shadow:0 1px #ffffff14 inset}.ticker-label strong{grid-column:1;grid-row:1;min-width:0;color:var(--text-inverse);font-size:14px;line-height:1.05;letter-spacing:0}.ticker-label span{grid-column:1;grid-row:2;min-width:0;color:var(--ticker-muted);font-size:12px;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ticker-all-button{grid-column:2;grid-row:1 / span 2;align-self:center;min-width:72px;height:32px;border:1px solid rgba(255,255,255,.34);border-radius:9px;background:#ffffff14;color:var(--text-inverse);cursor:pointer;font:inherit;font-size:13px;font-weight:650;line-height:1;padding:0 10px;white-space:nowrap}.ticker-all-button:hover:not(:disabled){background:#ffffff29;border-color:#ffffff80}.ticker-all-button:disabled{cursor:not-allowed;opacity:.42}.ticker-viewport{min-width:0;height:44px;border-radius:8px;background:var(--ticker-bg);box-shadow:inset 0 0 0 1px var(--inset-line);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;display:flex;align-items:center}.ticker-viewport::-webkit-scrollbar{display:none}.ticker-track{display:flex;align-items:center;width:max-content;animation:ticker-scroll 240s linear infinite}.ticker-viewport:hover .ticker-track,.ticker-viewport:focus-within .ticker-track{animation-play-state:paused}.ticker-item{flex:0 0 auto;height:44px;display:flex;align-items:center;gap:8px;padding:0 18px;color:var(--ticker-text);white-space:nowrap}.ticker-item:after{content:"";width:4px;height:4px;border-radius:999px;background:var(--accent);margin-left:7px}.ticker-item:hover strong{color:var(--accent-hover)}.ticker-item strong{max-width:460px;overflow:hidden;text-overflow:ellipsis;color:var(--ticker-text);font-size:13px;line-height:1;transition:color .18s ease}.ticker-item em{color:var(--ticker-subtle);font-size:11px;font-style:normal;line-height:1}.ticker-loading,.news-empty{color:var(--text-muted);font-size:12px}.ticker-loading{width:100%;display:grid;place-items:center}.ticker-all-list .ant-list-item{cursor:pointer}.ticker-all-list .ant-list-item:hover{background:var(--surface-hover)}@keyframes ticker-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}.left-panel section{border-top:1px solid var(--border);padding:18px 0}.left-panel section:first-child{border-top:0;padding-top:0}h2{margin:0;font-size:14px;font-weight:740}.left-panel p{margin:7px 0 14px;line-height:1.55}.left-panel section:first-child .ant-segmented{background:transparent;display:grid;gap:8px;width:100%}.left-panel section:first-child .ant-segmented-group{display:grid;gap:8px;width:100%}.left-panel section:first-child .ant-segmented-item{border:1px solid var(--border);border-radius:8px;box-sizing:border-box;min-height:46px;width:100%}.left-panel section:first-child .ant-segmented-item-label{align-items:center;box-sizing:border-box;display:flex;font-size:15px;font-weight:720;gap:9px;justify-content:flex-start;min-height:46px;padding:0 16px;width:100%}.left-panel section:first-child .ant-segmented-item-selected{background:var(--surface-inverse);border-color:var(--surface-inverse);color:var(--text-inverse)}.area-summary{display:grid;gap:8px;border:1px solid var(--border);background:var(--surface-card);border-radius:8px;padding:12px}.area-summary strong{font-size:24px;line-height:1}.area-summary span{color:var(--text-secondary);font-size:12px}.map-workspace{min-height:0;position:relative;overflow:hidden;padding:0}.workspace-head{position:absolute;z-index:2;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;gap:20px;align-items:flex-start;pointer-events:none}.map-range-control{display:grid;gap:8px}.map-range-control .ant-segmented{background:var(--surface-subtle)}.map-workspace>.map-range-control{left:50%;max-width:min(680px,calc(100% - 48px));position:absolute;top:108px;transform:translate(-50%);width:680px;z-index:3}.map-workspace>.map-range-control .route-range-picker{background:var(--surface-topbar);border-radius:8px}.workspace-head h2{font-size:22px;margin-bottom:6px}.workspace-metrics{display:flex;gap:26px}.workspace-metrics div{min-width:66px}.workspace-metrics strong{display:block;font-size:24px;line-height:1}.workspace-metrics span{display:block;color:var(--text-secondary);font-size:12px;margin-top:7px}.china-map{width:100%;height:100%;min-height:0}.china-map svg path{vector-effect:non-scaling-stroke}.area-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--border)}.area-head h2{font-size:24px;line-height:1.1;margin-bottom:7px}.count-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 0}.count-strip div{border:1px solid var(--border);background:var(--surface-card);border-radius:8px;padding:11px 12px}.count-strip strong{display:block;font-size:22px;line-height:1}.count-strip span{display:block;color:var(--text-secondary);font-size:12px;margin-top:7px}.route-descriptions{padding:14px 0}.route-summary{display:grid;gap:10px;padding:6px 0 16px}.route-summary div{border:1px solid var(--border);border-radius:8px;background:var(--surface-card);padding:12px}.route-summary span,.route-legend span{color:var(--text-secondary);font-size:12px}.route-summary strong{display:block;font-size:20px;line-height:1;margin:8px 0}.route-summary p{margin:0;color:var(--text-body);font-size:13px;line-height:1.45}.price-metric-grid{display:grid;gap:10px;padding:14px 0}.price-metric-grid div{border:1px solid var(--border);background:var(--surface-card);border-radius:8px;padding:12px}.price-metric-grid span,.spot-ready-list span{color:var(--text-secondary);font-size:12px}.price-metric-grid strong{display:block;font-size:22px;line-height:1;margin:8px 0}.price-metric-grid p{margin:0;color:var(--text-body);font-size:13px;line-height:1.45}.capture-metric-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.price-metric-grid .metric-current{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent)}.peak-spread-hour-control{margin:12px 0 4px}.node-price-workbench{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;min-height:0;padding-top:14px}.node-price-browser,.node-price-detail{align-content:start;display:grid;gap:12px;min-width:0}.node-price-filter-panel,.node-price-results{display:grid;gap:10px;min-width:0}.node-price-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.node-price-search{grid-column:1 / -1}.node-price-stat-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.node-price-stat-row div{background:var(--surface-card);border:1px solid var(--border);border-radius:8px;min-width:0;padding:9px 10px}.node-price-stat-row strong{color:var(--text-heading);display:block;font-size:16px;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-price-stat-row span{color:var(--text-secondary);display:block;font-size:11px;margin-top:5px}.node-price-list{background:var(--surface-card);border:1px solid var(--border);border-radius:8px;max-height:min(320px,calc(100vh - 500px));min-height:188px;overflow:auto}.node-price-list .ant-list-item{border-block-end-color:var(--border-soft)!important;padding:0!important}.node-price-row button{background:transparent;border:0;color:inherit;cursor:pointer;display:grid;gap:8px;padding:10px 11px;text-align:left;width:100%}.node-price-row button:hover .node-price-row-main strong{color:var(--accent-strong)}.node-price-row-selected{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.node-price-row-main{display:grid;gap:4px}.node-price-row-main strong{color:var(--text-heading);font-size:13px;line-height:1.35;overflow-wrap:anywhere}.node-price-row-main em,.node-price-row-foot{color:var(--text-secondary);font-size:11px;font-style:normal;line-height:1.2;overflow-wrap:anywhere}.node-price-row-meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.node-price-row-meta .ant-tag{margin-inline-end:0}.node-price-selected-summary{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));border-radius:8px;display:grid;gap:8px;min-width:0;padding:12px}.node-price-selected-summary span,.node-price-kpi-grid span{color:var(--text-secondary);font-size:12px}.node-price-selected-summary strong{color:var(--text-heading);font-size:15px;line-height:1.35;overflow-wrap:anywhere}.node-price-selected-summary em{color:var(--text-secondary);font-size:11px;font-style:normal;line-height:1.25;overflow-wrap:anywhere}.node-price-selected-summary div{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.node-price-selected-summary .ant-tag{margin-inline-end:0}.node-price-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.node-price-kpi-grid div{background:var(--surface-card);border:1px solid var(--border);border-radius:8px;min-width:0;padding:10px}.node-price-kpi-grid .node-price-kpi-primary{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent)}.node-price-kpi-grid strong{color:var(--text-heading);display:block;font-size:18px;line-height:1.15;margin:7px 0;overflow-wrap:anywhere}.node-price-kpi-grid p{color:var(--text-body);font-size:12px;line-height:1.35;margin:0;overflow-wrap:anywhere}.node-price-detail .time-series-panel{border-top:1px solid var(--border)}.node-price-detail .time-series-panel .section-head{align-items:flex-start;flex-direction:column;min-width:0}.node-price-detail .time-series-panel .section-head .ant-segmented,.node-price-detail .map-range-control .ant-segmented{max-width:100%;overflow-x:auto;scrollbar-width:none;width:100%}.node-price-detail .time-series-panel .section-head .ant-segmented::-webkit-scrollbar,.node-price-detail .map-range-control .ant-segmented::-webkit-scrollbar{display:none}.node-price-detail .time-series-panel .section-head .ant-segmented-group,.node-price-detail .map-range-control .ant-segmented-group{min-width:max-content}.node-price-detail .time-series-panel>.ant-segmented{max-width:100%;width:100%}.node-price-detail .time-series-panel .ant-segmented-item-label{padding-inline:8px}.node-price-detail .time-series-panel .segmented-date-label{flex-direction:column;gap:1px;line-height:1.05;min-width:74px}.node-price-detail .map-range-control{min-width:0}.node-price-detail .route-chart{height:250px}.node-price-empty-select{border:1px dashed var(--border);border-radius:8px;display:grid;min-height:280px;place-items:center}.route-legend{display:grid;gap:10px;border-top:1px solid var(--border);padding-top:16px}.spot-ready-list{display:grid;gap:8px;border-top:1px solid var(--border);padding-top:16px}.route-gradient{height:10px;border-radius:999px;background:var(--route-gradient)}.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.time-series-panel{display:grid;gap:12px;border-top:1px solid var(--border);padding-top:16px}.route-range-picker{width:100%}.segmented-date-label{align-items:center;display:inline-flex;gap:5px;min-width:108px;justify-content:center;white-space:nowrap}.segmented-date-label em{color:var(--text-secondary);font-size:10px;font-style:normal;font-variant-numeric:tabular-nums}.range-caption{color:var(--text-secondary);font-size:12px;line-height:1}.route-chart{height:260px;width:100%}.content-list .ant-list-item{cursor:pointer;padding:14px 0!important}.content-list .ant-list-item:hover .ant-list-item-meta-title{color:var(--accent)}.content-list .ant-list-item-meta-title{margin-bottom:5px!important;line-height:1.35!important}.content-list .ant-list-item-meta-description{font-size:12px!important}.center-state{min-height:100vh;display:grid;place-items:center;padding:32px}.permission-panel{min-height:260px;display:grid;align-items:start;padding-top:8px}.drawer-loading{min-height:240px;display:grid;place-items:center}.content-detail-drawer .ant-drawer-header{padding-right:22px}.content-detail-drawer .ant-drawer-header-title{align-items:flex-start;min-width:0}.content-detail-drawer .ant-drawer-title{color:var(--text-heading);line-height:1.45;overflow-wrap:anywhere;white-space:normal}.content-detail-drawer .ant-drawer-body{overflow-x:hidden}.detail-view{display:grid;gap:22px}.detail-view section{display:grid;gap:8px}.ai-section{border-top:1px solid var(--border);padding-top:16px}.body-entry{align-items:start;border-top:1px solid var(--border);padding-top:16px}.body-entry .ant-btn{width:fit-content}.body-modal .ant-modal-body{padding:10px 22px 22px}.body-modal .ant-modal-content{overflow:hidden}.body-modal-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:22px;max-height:76vh;min-height:420px;overflow:hidden}.body-modal-layout-no-toc{grid-template-columns:minmax(0,1fr)}.body-toc{border-right:1px solid var(--border);display:flex;flex-direction:column;gap:8px;overflow:auto;padding:4px 14px 4px 0}.body-toc strong{color:var(--text-heading);font-size:13px;margin-bottom:4px}.body-toc a,.body-toc span{color:var(--text-secondary);font-size:12px;line-height:1.45}.body-toc a{border-radius:6px;padding:4px 6px;text-decoration:none}.body-toc a:hover{background:var(--surface-hover);color:var(--accent-strong)}.body-toc .toc-level-2{padding-left:16px}.body-toc .toc-level-3{padding-left:28px}.body-modal-content{min-width:0;overflow:auto;padding-right:8px}.markdown-body{line-height:1.72;color:var(--text-body);font-size:15px;overflow-wrap:anywhere}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body blockquote,.markdown-body table,.markdown-body pre{margin:0 0 12px}.markdown-body ul,.markdown-body ol{padding-left:22px}.markdown-body blockquote{border-left:3px solid var(--blockquote-border);color:var(--text-secondary);padding-left:12px}.markdown-body code{background:var(--code-bg);border-radius:4px;padding:1px 4px}.markdown-body pre{background:var(--pre-bg);border-radius:8px;color:var(--pre-text);overflow:auto;padding:12px}.markdown-body pre code{background:transparent;padding:0}.markdown-body table{border-collapse:collapse;font-size:13px;width:max-content}.markdown-table-wrap{max-width:100%;margin:0 0 12px;overflow-x:auto}.markdown-body th,.markdown-body td{border:1px solid var(--border);min-width:92px;padding:7px 9px;vertical-align:top}.markdown-body th{background:var(--table-head);font-weight:700}.external-links,.tag-row{margin-top:10px}.ant-segmented-vertical{width:100%}body:has(.official-page){min-width:0;background:#fbfcf8}.official-page{background:radial-gradient(circle at 50% 6%,rgba(76,205,184,.18),transparent 34%),linear-gradient(180deg,#fbfcf8,#f7faf5 42%,#fff);color:#12211e;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;min-height:100vh;overflow:hidden}.official-page a{color:inherit;text-decoration:none}.official-nav{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbfcf8c7;border-bottom:1px solid rgba(20,40,36,.08);display:flex;height:72px;justify-content:space-between;left:0;padding:0 clamp(22px,5vw,72px);position:fixed;right:0;top:0;z-index:20}.official-nav-brand{align-items:center;display:inline-flex;gap:10px;font-size:18px;font-weight:760}.official-nav-brand img{height:38px;object-fit:contain;width:auto}.official-nav-links{align-items:center;color:#4d625d;display:flex;font-size:14px;gap:28px}.official-nav-links a:hover{color:#0f8f7f}.official-nav-cta,.official-nav-download,.official-primary,.official-secondary{align-items:center;border-radius:999px;display:inline-flex;font-weight:700;justify-content:center;line-height:1;min-height:44px;padding:0 22px}.official-nav-cta,.official-primary{background:#10231f;color:#f8fffc!important;box-shadow:0 16px 36px #0d2a252e}.official-nav-download{background:#ffffffb8;border:1px solid rgba(15,143,127,.22);color:#12312c;min-height:40px;padding:0 18px}.official-nav-download:hover{background:#ecf9f4eb;border-color:#0f8f7f61}.official-secondary{background:#ffffffb8;border:1px solid rgba(15,143,127,.22);color:#12312c}.official-hero{align-content:start;display:grid;gap:44px;min-height:auto;padding:136px clamp(22px,5vw,72px) 84px;position:relative}.official-hero:before{content:none}.official-hero-copy{margin:0 auto;max-width:980px;position:relative;text-align:center;z-index:2}.official-eyebrow,.official-kicker{color:#0f8f7f;font-size:14px;font-weight:800;letter-spacing:0;margin:0 0 18px}.official-hero h1,.official-problem h2,.official-section-copy h2,.official-drawer h2,.official-final h2{color:#10211e;letter-spacing:0;margin:0}.official-hero h1{font-size:clamp(48px,6vw,82px);line-height:1.08;margin-left:auto;margin-right:auto;max-width:980px}.official-hero h1 span{display:inline}.official-hero-copy>p:not(.official-eyebrow):not(.official-hero-note),.official-problem>p:not(.official-kicker),.official-section-copy p:not(.official-kicker),.official-final p{color:#536963;font-size:clamp(17px,1.55vw,22px);line-height:1.75;margin:24px auto 0;max-width:780px}.official-hero-copy>.official-hero-note{color:#0f8f7f;font-size:clamp(13px,1.05vw,15px);font-weight:400;line-height:1.5;margin-top:12px}.official-actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:34px}.official-hero-visual{isolation:isolate;margin:0 auto;max-width:1480px;perspective:1400px;position:relative;width:min(100%,1480px)}.official-hero-visual:before{background:radial-gradient(ellipse at center,rgba(28,190,166,.16),transparent 62%);border-radius:50%;content:"";filter:blur(10px);height:360px;left:10%;position:absolute;right:10%;top:8%;z-index:-1}.official-hero-visual img,.official-product-stage img{border:1px solid rgba(24,55,49,.11);box-shadow:0 34px 100px #1e3e382e;display:block;width:100%}.official-hero-visual img{border-radius:18px;transform:none;transform-origin:center top}.official-problem{padding:132px clamp(22px,8vw,120px);position:relative;text-align:center}.official-problem h2{font-size:clamp(42px,6vw,86px);line-height:1.08;margin:0 auto;max-width:1050px}.official-problem>p{margin-left:auto;margin-right:auto}.official-signal-flow{display:grid;gap:1px;grid-template-columns:repeat(3,minmax(0,1fr));margin:74px auto 0;max-width:1120px;position:relative}.official-signal-flow:before{background:linear-gradient(90deg,transparent,#0f8f7f,transparent);content:"";height:1px;left:8%;position:absolute;right:8%;top:-30px}.official-signal{background:#ffffff94;border-top:1px solid rgba(15,143,127,.2);display:grid;gap:10px;min-height:126px;padding:28px;text-align:left}.official-signal span{color:#10231f;font-size:22px;font-weight:800}.official-signal small{color:#60756f;font-size:14px;line-height:1.7}.official-capability{display:grid;gap:52px;padding:118px clamp(22px,5vw,72px)}.official-section-copy{margin:0 auto;max-width:920px;text-align:center}.official-section-copy h2,.official-drawer h2,.official-final h2{font-size:clamp(40px,5.7vw,82px);line-height:1.08}.official-section-copy p,.official-final p{margin-left:auto;margin-right:auto}.official-product-stage{margin:0 auto;max-width:1420px;position:relative;width:100%}.official-product-stage img{border-radius:16px}.official-product-label{background:#ffffffe0;border:1px solid rgba(15,143,127,.2);border-radius:999px;box-shadow:0 16px 40px #163c351f;color:#0f655c;font-size:14px;font-weight:800;padding:10px 14px;position:absolute}.label-one{left:9%;top:14%}.label-two{right:8%;top:36%}.label-three{left:44%;top:6%}.official-intelligence{align-items:center;display:grid;gap:44px;grid-template-columns:minmax(0,.92fr) minmax(520px,1fr);min-height:920px;padding:104px clamp(22px,6vw,96px);position:relative}.official-intelligence:before{background:linear-gradient(180deg,#fff,#f3f8f4);content:"";inset:0;position:absolute;z-index:0}.official-doc-map,.official-policy-media,.official-drawer{position:relative;z-index:1}.official-policy-media{border:1px solid rgba(15,143,127,.16);border-radius:20px;box-shadow:0 34px 96px #1c443d24;margin:0 auto;max-width:760px;overflow:hidden;width:100%}.official-policy-media img{display:block;height:auto;width:100%}.official-doc-map{aspect-ratio:1 / 1.05;background:radial-gradient(circle at 58% 35%,rgba(15,143,127,.22),transparent 20%),radial-gradient(circle at 34% 62%,rgba(15,143,127,.18),transparent 24%),linear-gradient(135deg,#e5eee8,#f9fbf8);border:1px solid rgba(15,143,127,.18);border-radius:48% 52% 46% 54%;box-shadow:inset 0 0 0 1px #fffc,0 30px 80px #2248411f;margin:0 auto;max-width:620px;width:100%}.official-doc-map:before,.official-doc-map:after{border:1px solid rgba(15,143,127,.18);border-radius:inherit;content:"";inset:9%;position:absolute}.official-doc-map:after{inset:21%}.official-doc-region{background:#ffffffd1;border:1px solid rgba(15,143,127,.22);border-radius:12px;box-shadow:0 12px 32px #1b403924;color:#114841;font-weight:800;padding:10px 12px;position:absolute}.region-a{right:20%;top:28%}.region-b{bottom:22%;left:22%}.region-c{bottom:34%;right:28%}.official-drawer{background:#ffffffd1;border:1px solid rgba(27,55,50,.1);border-radius:12px;box-shadow:0 36px 90px #1f3e3929;display:grid;gap:22px;padding:clamp(28px,5vw,60px)}.official-drawer-meta{color:#647a74;display:flex;flex-wrap:wrap;font-size:14px;gap:14px}.official-drawer section{border-top:1px solid rgba(15,143,127,.16);display:grid;gap:8px;padding-top:18px}.official-drawer h3{color:#132420;font-size:20px;margin:0}.official-drawer p{color:#4f6660;font-size:16px;line-height:1.75;margin:0}.official-flow{background:radial-gradient(circle at 18% 50%,rgba(15,143,127,.13),transparent 26%),linear-gradient(180deg,#fbfcf8,#fff)}.official-flow-stage img{filter:saturate(1.06) contrast(1.01)}.official-flow-strip{background:#ffffffdb;border:1px solid rgba(15,143,127,.18);border-radius:999px;bottom:24px;box-shadow:0 18px 42px #1c443d21;color:#114941;display:flex;font-size:14px;font-weight:800;gap:8px;left:50%;padding:10px;position:absolute;transform:translate(-50%)}.official-flow-strip span{background:#edf6f2;border-radius:999px;padding:9px 14px;white-space:nowrap}.official-api{background:radial-gradient(circle at 50% 28%,rgba(15,143,127,.13),transparent 30%),linear-gradient(180deg,#fff,#f3f9f6 48%,#fff);padding:124px clamp(22px,6vw,96px)}.official-api-schematic{align-items:center;display:grid;gap:22px;grid-template-columns:minmax(230px,1fr) 96px minmax(280px,1.08fr) 96px minmax(230px,1fr);margin:72px auto 0;max-width:1360px}.official-api-node,.official-api-core{background:#ffffffbd;border:1px solid rgba(15,143,127,.18);border-radius:18px;box-shadow:0 24px 70px #19423a1a;display:grid;gap:14px;min-height:250px;padding:30px}.official-api-core{background:linear-gradient(180deg,#fffffff0,#eaf8f3e6);border-color:#0f8f7f52;box-shadow:0 30px 82px #0f8f7f2e}.official-api-node span,.official-api-core span{color:#0f8f7f;font-weight:900}.official-api-node strong,.official-api-core strong{color:#10231f}.official-api-node p,.official-api-core p{color:#546b65;margin:0}.official-api-rail{display:grid;gap:11px}.official-api-rail span{background:linear-gradient(90deg,#0f8f7f1f,#0f8f7f);border-radius:999px;height:2px;position:relative}.official-api-rail span:after{border:solid #0f8f7f;border-width:0 2px 2px 0;content:"";height:8px;position:absolute;right:0;top:-3px;transform:rotate(-45deg);width:8px}.official-api-rail span:nth-child(2){opacity:.7;transform:translate(12px)}.official-api-rail span:nth-child(3){opacity:.42;transform:translate(24px)}.official-scenes{background:linear-gradient(180deg,#fff,#f7fbf7 48%,#fff);padding:126px clamp(22px,5vw,72px)}.official-scene-list{display:grid;gap:52px;margin:72px auto 0;max-width:1460px}.official-scene{align-items:stretch;background:#ffffffc2;border:1px solid rgba(15,143,127,.16);border-radius:24px;box-shadow:0 30px 86px #1a40391c;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);min-height:560px;overflow:hidden}.official-scene:nth-child(2n){grid-template-columns:minmax(390px,.82fr) minmax(0,1.18fr)}.official-scene:nth-child(2n) .official-scene-media{order:2}.official-scene-media{min-height:100%;overflow:hidden;position:relative}.official-scene-media:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.18)),radial-gradient(circle at 30% 22%,rgba(255,255,255,.18),transparent 26%);content:"";inset:0;pointer-events:none;position:absolute}.official-scene-media img{height:100%;object-fit:cover;transform:scale(1.01);transition:transform .7s ease;width:100%}.official-scene:hover .official-scene-media img{transform:scale(1.035)}.official-scene-copy{align-content:center;display:grid;gap:0;padding:clamp(34px,5vw,72px)}.official-scene-copy span{color:#0f8f7f;font-size:14px;font-weight:900;letter-spacing:.08em}.official-scene-copy h3{color:#10231f;font-size:clamp(32px,4vw,58px);line-height:1.08;margin:0}.official-scene-copy p{color:#526963;font-size:18px;line-height:1.8;margin:24px 0 0}.official-scene-copy ul{border-top:1px solid rgba(15,143,127,.18);display:grid;gap:12px;list-style:none;margin:24px 0 0;padding:24px 0 0}.official-scene-copy li{align-items:center;color:#183530;display:flex;font-size:15px;font-weight:800;gap:10px}.official-scene-copy li:before{background:#0f8f7f;border-radius:999px;content:"";flex:0 0 auto;height:7px;width:7px}.official-workflow{padding:120px clamp(22px,7vw,112px)}.official-workflow-list{border-top:1px solid rgba(15,143,127,.22);margin-top:68px}.official-workflow-item{align-items:center;border-bottom:1px solid rgba(15,143,127,.18);display:grid;gap:24px;grid-template-columns:80px minmax(160px,.4fr) minmax(0,1fr);padding:32px 0}.official-workflow-item span{color:#8ba19b;font-size:18px;font-weight:800}.official-workflow-item strong{color:#10231f;font-size:clamp(24px,3vw,42px)}.official-workflow-item p{color:#536963;font-size:18px;line-height:1.7;margin:0}.official-final{align-items:center;background:radial-gradient(circle at 50% 0,rgba(15,143,127,.16),transparent 32%),#fbfcf8;display:flex;flex-direction:column;min-height:760px;padding:140px 22px;text-align:center}.official-final-logo{height:auto;margin-bottom:30px;max-width:min(320px,72vw);width:260px}.official-final h2{max-width:920px}.official-final p{max-width:760px}@media(max-width:900px){.official-nav{gap:12px;height:62px;padding:0 18px}.official-nav-brand{flex:1 1 auto;min-width:0;overflow:hidden}.official-nav-brand img{height:34px;max-width:150px}.official-nav-links{flex:0 0 auto;gap:0;min-width:0}.official-nav-cta{font-size:13px;min-height:40px;padding:0 16px;white-space:nowrap}.official-nav-links a:not(.official-nav-cta):not(.official-nav-download){display:none}.official-nav-download{font-size:13px;min-height:40px;padding:0 14px;white-space:nowrap}.official-hero{gap:34px;padding-bottom:64px;padding-top:104px}.official-hero h1{font-size:clamp(34px,9.8vw,42px);line-height:1.1}.official-hero h1 span{display:block}.official-flow-strip{align-items:stretch;border-radius:16px;bottom:auto;flex-direction:column;left:18px;right:18px;top:calc(100% - 18px);transform:none;white-space:normal}.official-problem,.official-capability,.official-intelligence,.official-api,.official-scenes,.official-workflow,.official-final{padding-left:18px;padding-right:18px}.official-signal-flow,.official-intelligence,.official-api-schematic,.official-scene,.official-scene:nth-child(2n),.official-workflow-item{grid-template-columns:1fr}.official-scene{border-radius:18px;min-height:auto}.official-scene:nth-child(2n) .official-scene-media{order:0}.official-scene-media{aspect-ratio:16 / 10}.official-scene-copy{padding:30px 22px 34px}.official-intelligence{min-height:auto}.official-doc-map{max-width:420px}.official-api-schematic{gap:18px;margin-top:46px}.official-api-node,.official-api-core{min-height:auto;padding:24px}.official-api-rail{align-items:stretch;display:flex;gap:6px;height:48px;justify-content:center;justify-self:center;transform:none;width:44px}.official-api-rail span{background:linear-gradient(180deg,#0f8f7f1f,#0f8f7f);height:100%;width:2px}.official-api-rail span:after{inset:auto auto 0 -3px;transform:rotate(45deg)}.official-api-rail span:nth-child(2),.official-api-rail span:nth-child(3){transform:none}.official-product-label{display:none}}@media(max-width:420px){.official-nav-brand img{height:30px;max-width:132px}.official-nav-cta{font-size:12px;min-height:36px;padding:0 12px}.official-nav-download{font-size:12px;min-height:36px;padding:0 10px}}.official-page{--official-type-small: 14px;--official-type-body: 18px;--official-type-title: 56px;--official-leading-small: 1.5;--official-leading-body: 1.75;--official-leading-title: 1.08}.official-page,.official-page *{font-size:var(--official-type-body)!important;line-height:var(--official-leading-body)!important}.official-page :where(.official-nav-brand,.official-nav-links,.official-nav-cta,.official-nav-download,.official-primary,.official-secondary,.official-eyebrow,.official-kicker,.official-hero-note,.official-product-label,.official-drawer-meta,.official-flow-strip,.official-api-node span,.official-api-core span,.official-scene-copy span,.official-workflow-item span){font-size:var(--official-type-small)!important;line-height:var(--official-leading-small)!important}.official-page :where(p:not(.official-eyebrow):not(.official-kicker):not(.official-hero-note),small,li,.official-signal span,.official-drawer h3,.official-hero-metrics,.official-hero-metrics strong,.official-workflow-item p){font-size:var(--official-type-body)!important;line-height:var(--official-leading-body)!important}.official-page :where(h1,h1 *,h2,h2 *,.official-section-copy h2,.official-section-copy h2 *,.official-drawer h2,.official-drawer h2 *,.official-final h2,.official-final h2 *,.official-scene-copy h3,.official-scene-copy h3 *,.official-workflow-item strong){font-size:var(--official-type-title)!important;line-height:var(--official-leading-title)!important}.official-hero-copy>.official-eyebrow,.official-problem>.official-kicker,.official-section-copy>.official-kicker,.official-drawer>.official-kicker,.official-scene-copy>span,.official-final>.official-kicker{margin:0 0 18px!important}.official-hero h1,.official-problem h2,.official-section-copy h2,.official-final h2{margin:0 auto!important}.official-drawer h2,.official-scene-copy h3{margin:0!important}.official-hero h1+p,.official-problem h2+p,.official-section-copy h2+p,.official-scene-copy h3+p,.official-final h2+p{margin-top:24px!important}@media(max-width:900px){.official-page{--official-type-small: 12px;--official-type-body: 16px;--official-type-title: 38px}}
