@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_d8ebd1{font-family:Inter,Inter Fallback;font-style:normal}.__variable_d8ebd1{--font-sans:"Inter","Inter Fallback"}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/35f3de0ebb1cfc70-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e6099e249fd938cc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Instrument Serif Fallback";src:local("Times New Roman");ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.00%;size-adjust:83.94%}.__className_eb6a5a{font-family:"Instrument Serif","Instrument Serif Fallback";font-weight:400;font-style:normal}.__variable_eb6a5a{--font-serif:"Instrument Serif","Instrument Serif Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9f0762{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_9f0762{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root,:root[data-theme=dark]{color-scheme:dark;--bg:#0b0c0b;--bg-glow:rgba(217,192,143,.055);--surface:#121412;--surface-2:#181b18;--surface-3:#20241f;--line:rgba(238,232,218,.085);--line-2:rgba(238,232,218,.17);--ink:#f1ede3;--ink-2:#b9b5a8;--ink-3:#8c897d;--accent:#d9c08f;--accent-ink:#15110a;--accent-soft:rgba(217,192,143,.11);--good:#6cc99b;--warn:#e3b341;--serious:#e8894f;--crit:#e66767;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--div-neg:#d95926;--div-pos:#3987e5;--div-mid:#20241f;--shadow:0 24px 60px -24px rgba(0,0,0,.8)}:root[data-theme=light]{color-scheme:light;--bg:#f5f2ea;--bg-glow:rgba(125,100,48,.06);--surface:#fbf9f4;--surface-2:#f1eee5;--surface-3:#e8e4d8;--line:rgba(32,28,18,.1);--line-2:rgba(32,28,18,.2);--ink:#17150f;--ink-2:#514e44;--ink-3:#6f6c60;--accent:#7d6430;--accent-ink:#fbf9f4;--accent-soft:rgba(125,100,48,.1);--good:#1a7f56;--warn:#96700a;--serious:#b9531f;--crit:#c23b3a;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--div-neg:#eb6834;--div-pos:#2a78d6;--div-mid:#e8e4d8;--shadow:0 24px 50px -28px rgba(50,40,20,.35)}*{box-sizing:border-box;margin:0}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{background:var(--bg);color:var(--ink);min-height:100vh;font-family:var(--font-sans),"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}ul{list-style:none;padding:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}::selection{background:var(--accent);color:var(--accent-ink)}.serif{font-family:var(--font-serif),"Songti SC","Noto Serif SC","STSong",serif;font-weight:400}.mono{font-family:var(--font-mono),ui-monospace,Menlo,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.muted{color:var(--ink-3)}.soft{color:var(--ink-2)}.small{font-size:12px}.eyebrow,.tiny{font-size:11px}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.pos{color:var(--good)}.neg{color:var(--serious)}.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.rail{position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:28px;padding:26px 18px 20px;border-right:1px solid var(--line)}.brand{display:block;padding:0 10px}.brand b{display:block;font-size:23px;line-height:1.05;letter-spacing:-.01em;font-weight:400}.brand i{color:var(--accent)}.brand span{display:block;margin-top:8px;font-size:10.5px;letter-spacing:.18em;color:var(--ink-3)}.nav{flex-direction:column;gap:1px;flex:1 1}.nav,.nav a{display:flex}.nav a{align-items:center;gap:11px;padding:8px 10px;border-radius:7px;color:var(--ink-2);transition:color .15s,background .15s}.nav a svg{width:15px;height:15px;stroke-width:1.6;opacity:.8;flex:none}.nav a.on,.nav a:hover{color:var(--ink)}.nav a.on svg{color:var(--accent);opacity:1}.rail-foot{padding:0 10px;display:flex;align-items:center;justify-content:space-between}.icon-btn{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;color:var(--ink-2);transition:.15s}.icon-btn:hover{color:var(--ink);border-color:var(--line-2)}.icon-btn svg{width:14px;height:14px}.main{min-width:0;display:flex;flex-direction:column;background:radial-gradient(900px 420px at 18% -8%,var(--bg-glow),transparent 70%)}.notice{display:flex;align-items:center;gap:9px;padding:9px 44px;font-size:12px;color:var(--ink-2);border-bottom:1px solid var(--line)}.notice svg{width:13px;height:13px;color:var(--warn);flex:none}.notice b{color:var(--warn);font-weight:500}.page{padding:44px 44px 80px;max-width:1360px;width:100%}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;flex-wrap:wrap}.head h1{text-wrap:balance;font-size:38px;line-height:1.15;letter-spacing:-.012em;margin-top:8px}.head p{color:var(--ink-2);margin-top:10px;max-width:62ch}.back{display:inline-flex;align-items:center;gap:6px;color:var(--ink-3);font-size:12px;margin-bottom:14px}.back:hover{color:var(--ink)}.back svg{width:13px;height:13px}.grid{display:grid;grid-gap:20px;gap:20px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-side{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.g-form{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}.mt{margin-top:20px}.mt-l{margin-top:44px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:22px;min-width:0}.card.flush{padding:0;overflow:hidden}.card-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px}.flush>.card-h{padding:20px 22px 0;margin-bottom:12px}.card-h h2,.sec-h h2{font-size:18px;letter-spacing:-.005em}.card-h a{font-size:12px;color:var(--ink-3)}.card-h a:hover{color:var(--ink)}.sec-h{display:flex;justify-content:space-between;align-items:baseline;margin:44px 0 16px;gap:12px}.sec-h h2{font-size:22px}.hero{padding:6px 0 36px}.hero h1{font-size:clamp(32px,4.4vw,58px);line-height:1.14;letter-spacing:-.018em;max-width:15em;margin-top:14px;text-wrap:balance}.hero h1 em{font-style:normal;color:var(--accent)}.hero p{color:var(--ink-2);max-width:58ch;margin-top:16px;font-size:15px}.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line-2);border-bottom:1px solid var(--line)}.kpi{padding:18px 20px 20px 0}.kpi+.kpi{padding-left:20px;border-left:1px solid var(--line)}.kpi .v{font-size:32px;line-height:1.15;margin-top:8px;letter-spacing:-.03em}.kpi .l{font-size:12px}.kpi .l,.kpi .n{color:var(--ink-3)}.kpi .n{font-size:11px;margin-top:2px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th{text-align:left;font-weight:400;font-size:11px;color:var(--ink-3);padding:10px 12px;white-space:nowrap;border-bottom:1px solid var(--line-2)}td:first-child,th:first-child{padding-left:22px}td:last-child,th:last-child{padding-right:22px}td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr.link{cursor:pointer;transition:background .12s}tbody tr.link:hover{background:var(--surface-2)}.r{text-align:right}.cell-title{display:block;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-sub{display:block;font-size:11.5px;color:var(--ink-3);margin-top:1px}.seal{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:5px;font-size:12px;border:1px solid;line-height:1}.seal.A{color:var(--good);background:color-mix(in srgb,var(--good) 12%,transparent)}.seal.B{color:var(--accent)}.seal.C{color:var(--ink-3);border-style:dashed}.tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;white-space:nowrap}.tag svg{width:13px;height:13px;stroke-width:1.9}.tag.deep_dive{color:var(--good)}.tag.watch{color:var(--ink-2)}.tag.risk{color:var(--crit)}.tag.downgrade{color:var(--serious)}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:99px;font-size:11px;border:1px solid var(--line-2);color:var(--ink-2);white-space:nowrap}.chip.demo{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.chip.stale{color:var(--serious);border-color:color-mix(in srgb,var(--serious) 45%,transparent)}.chip.good{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent)}.chip svg{width:11px;height:11px}.mkt{display:inline-block;font-size:10.5px;letter-spacing:.06em;padding:1px 5px;border-radius:4px;background:var(--surface-3);color:var(--ink-2)}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:20px}.seg{display:inline-flex;max-width:100%;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.seg button{padding:4px 11px;border-radius:6px;font-size:12.5px;color:var(--ink-2);transition:.12s;white-space:nowrap}.input,.seg button.on,.seg button:hover,.select{color:var(--ink)}.input,.select{height:32px;padding:0 10px;font-size:12.5px;border-radius:8px;border:1px solid var(--line);background:var(--surface);min-width:0}.input:hover,.select:hover{border-color:var(--line-2)}.input::placeholder{color:var(--ink-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 16px;font-size:13px;border-radius:8px;background:var(--ink);color:var(--bg);font-weight:500;transition:.15s;white-space:nowrap}.btn:hover{opacity:.88}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line-2);font-weight:400}.btn.ghost:hover{background:var(--surface-2);opacity:1}.btn svg{width:14px;height:14px}.field{display:flex;flex-direction:column;gap:7px}.field>label{font-size:12px;color:var(--ink-3)}.skeleton{background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 50%,var(--surface) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:12px}@keyframes shimmer{to{background-position:-200% 0}}.state{padding:56px 24px;text-align:center;color:var(--ink-2)}.state h3{font-size:20px;color:var(--ink);margin-bottom:8px}.state code{font-size:12px;color:var(--ink-2);background:var(--surface-3);padding:2px 7px;border-radius:5px}.chart{position:relative;width:100%}.chart svg{display:block;overflow:visible}.chart text{font-size:10.5px;fill:var(--ink-3);font-family:var(--font-mono),monospace}.tip{position:absolute;z-index:20;pointer-events:none;min-width:130px;padding:8px 11px;font-size:12px;background:var(--surface-3);border:1px solid var(--line-2);border-radius:8px;box-shadow:var(--shadow);white-space:nowrap}.tip .t{font-size:11px;color:var(--ink-3);margin-bottom:3px}.tip .row{align-items:center;justify-content:space-between}.legend,.tip .row{display:flex;gap:14px}.legend{flex-wrap:wrap;font-size:12px;color:var(--ink-2);margin-bottom:10px}.legend i{display:inline-block;width:12px;height:2px;margin-right:6px;vertical-align:middle;border-radius:2px}.bar-row{display:grid;grid-template-columns:minmax(70px,130px) minmax(0,1fr) 54px;align-items:center;grid-gap:12px;gap:12px;padding:5px 0;font-size:12.5px}.bar-track{height:6px;border-radius:4px;background:var(--surface-3);overflow:hidden}.bar-fill{height:100%;border-radius:4px;background:var(--accent);transition:width .5s cubic-bezier(.2,.7,.2,1)}.heat{display:grid;grid-gap:3px;gap:3px;min-width:380px}.heat .hd{font-size:11px;color:var(--ink-3);text-align:center;padding-bottom:5px}.heat .rl{font-size:12.5px;color:var(--ink-2);padding-right:14px}.heat .rl,.heat-cell{display:flex;align-items:center}.heat-cell{height:44px;border-radius:5px;flex-direction:column;justify-content:center;font-size:12px;transition:transform .12s,box-shadow .12s;color:var(--ink)}.scale{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--ink-3);margin-top:14px}.scale i{display:block;width:130px;height:6px;border-radius:4px;background:linear-gradient(90deg,var(--div-neg),var(--div-mid),var(--div-pos))}.rows>*{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.rows>:last-child{border-bottom:0;padding-bottom:0}.rows>:first-child{padding-top:0}.rows a:hover .cell-title,a.row:hover .cell-title{color:var(--accent)}.evidence{display:flex;flex-direction:column}.ev{display:grid;grid-template-columns:26px minmax(0,1fr);grid-gap:12px;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.ev:last-child{border-bottom:0}.ev-meta{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-top:6px;font-size:11.5px;color:var(--ink-3)}.ev-meta a{text-decoration:underline;text-underline-offset:2px}.check{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px}.check:last-child{border-bottom:0}.check svg{width:15px;height:15px;flex:none;margin-top:3px}.check.pass svg{color:var(--good)}.check.warn svg{color:var(--warn)}.check.fail svg{color:var(--crit)}.callout{padding:14px 16px;border-left:2px solid var(--accent);background:var(--accent-soft);border-radius:0 8px 8px 0;font-size:13px;color:var(--ink-2)}.callout b{color:var(--ink);font-weight:500}.code{font-family:var(--font-mono),monospace;font-size:11.5px;color:var(--ink-2);background:var(--surface-2);border-radius:8px;padding:12px 14px;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.pain{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:14px;gap:14px}.pain h3{font-size:20px;line-height:1.3}.quote{font-family:var(--font-serif),"Songti SC",serif;font-size:14px;padding-left:14px;border-left:1px solid var(--line-2);color:var(--ink-2)}.quote small{display:block;font-family:var(--font-mono),monospace;font-size:10.5px;color:var(--ink-3);margin-top:4px}.sev{display:inline-flex;gap:2px}.sev i{width:12px;height:3px;border-radius:2px;background:var(--surface-3)}.sev i.on{background:var(--serious)}.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.facts .v{font-size:17px}.facts .l{font-size:11px;color:var(--ink-3)}.stages{display:flex;flex-direction:column}.stage{display:grid;grid-template-columns:22px minmax(0,1fr) auto;grid-gap:12px;gap:12px;padding:10px 0;position:relative}.stage .dot{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--line-2);margin:5px 0 0 5px;background:var(--surface);z-index:1}.stage:not(:last-child):before{content:"";position:absolute;left:10px;top:24px;bottom:-8px;width:1px;background:var(--line-2)}.stage.succeeded .dot{background:var(--good);border-color:var(--good)}.stage.running .dot{border-color:var(--accent);background:var(--accent);animation:pulse 1.1s infinite}.stage.failed .dot{background:var(--crit);border-color:var(--crit)}@keyframes pulse{50%{box-shadow:0 0 0 5px var(--accent-soft)}}.log{max-height:220px;overflow:auto;font-family:var(--font-mono),monospace;font-size:11.5px;line-height:1.75;color:var(--ink-2)}.log .error{color:var(--crit)}.log .warn{color:var(--warn)}.progress{height:2px;background:var(--surface-3);border-radius:2px;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent);transition:width .4s}.pickers{display:flex;flex-wrap:wrap;gap:6px}.pick{padding:5px 12px;border:1px solid var(--line-2);border-radius:7px;font-size:12.5px;color:var(--ink-2);transition:.12s}.pick.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.window-strip{position:relative;height:26px;margin:14px 0 6px;border-radius:5px;background:var(--surface-3);overflow:hidden}.window-strip .prep{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--accent) 28%,transparent)}.window-strip .sell{position:absolute;top:0;bottom:0;background:var(--accent)}.window-strip .now{position:absolute;top:0;bottom:0;width:1.5px;background:var(--ink)}.article{max-width:720px}.article .lead{font-family:var(--font-serif),"Songti SC",serif;font-size:19px;line-height:1.65;color:var(--ink)}.article h2{font-size:24px;margin:40px 0 12px}.prose{color:var(--ink-2);font-size:14.5px;line-height:1.85}.prose p,.prose ul{margin:10px 0}.prose ul{list-style:disc;padding-left:18px}.prose strong{color:var(--ink);font-weight:500}.prose table{margin:14px 0;font-size:13px}.prose td,.prose th{padding:7px 10px!important}.drop{border:1px dashed var(--line-2);border-radius:12px;padding:32px 20px;text-align:center;color:var(--ink-2);cursor:pointer;display:block;transition:.15s}.drop.over,.drop:hover{border-color:var(--accent);background:var(--accent-soft)}@media (max-width:1080px){.g-form,.g-side,.g3{grid-template-columns:minmax(0,1fr)}.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi:nth-child(4){border-left:0;padding-left:0}.kpi:nth-child(n+4){border-top:1px solid var(--line)}}@media (max-width:780px){.shell{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.rail{position:-webkit-sticky;position:sticky;top:0;z-index:30;height:auto;padding:12px 16px 0;gap:10px;border-right:0;border-bottom:1px solid var(--line);background:var(--bg)}.brand{padding:0}.brand b{font-size:18px}.brand span{display:none}.rail-foot{position:absolute;top:10px;right:16px;padding:0}.rail-foot>span{display:none}.nav{flex:none;flex-direction:row;overflow-x:auto;overflow-y:hidden;gap:2px;margin:0 -16px;padding:0 16px 8px;scrollbar-width:none}.nav a{padding:5px 10px;white-space:nowrap;flex:none}.nav a svg{display:none}.page{padding:28px 16px 60px}.notice{padding:8px 16px}.g2{grid-template-columns:minmax(0,1fr)}.head h1{font-size:28px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi{padding:14px 12px 14px 0}.kpi+.kpi{padding-left:12px}.kpi:nth-child(odd){border-left:0;padding-left:0}.kpi:nth-child(4){border-left:1px solid var(--line);padding-left:12px}.kpi:nth-child(n+3){border-top:1px solid var(--line)}.kpi .v{font-size:26px}.hide-sm{display:none}td:first-child,th:first-child{padding-left:14px}td:last-child,th:last-child{padding-right:14px}.cell-title{max-width:170px}.card{padding:16px}.flush>.card-h{padding:16px 16px 0}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.asin-link{display:inline-flex;align-items:center;gap:3px;color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-underline-offset:2px}.asin-link:hover{-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.no-link{font-size:10.5px;color:var(--ink-3);opacity:.8}:root{--ease:cubic-bezier(.16,1,.3,1);--t-fast:180ms;--t-mid:340ms;--t-slow:760ms}@keyframes enter{0%{opacity:0;transform:translate3d(0,14px,0)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes row-in{0%{opacity:0;transform:translate3d(0,6px,0)}to{opacity:1;transform:none}}@keyframes draw{0%{stroke-dashoffset:1;opacity:.2}to{stroke-dashoffset:0;opacity:1}}@keyframes grow-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes pop{0%{opacity:0;transform:scale(.3)}to{transform:scale(1)}}@keyframes cell-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}.head{animation:enter var(--t-slow) var(--ease) backwards}.reveal{transition:opacity var(--t-mid) var(--ease)}.reveal.refreshing{opacity:.5}.reveal>*,.reveal>.grid>*{animation:enter var(--t-slow) var(--ease) backwards}.reveal>:nth-child(2){animation-delay:70ms}.reveal>:nth-child(3){animation-delay:.14s}.reveal>:nth-child(4){animation-delay:.21s}.reveal>:nth-child(5){animation-delay:.28s}.reveal>:nth-child(n+6){animation-delay:.34s}.reveal>.grid{animation:none}.reveal>.grid>:first-child{animation-delay:.12s}.reveal>.grid>:nth-child(2){animation-delay:.19s}.reveal>.grid>:nth-child(3){animation-delay:.26s}.reveal>.grid>:nth-child(4){animation-delay:.32s}.reveal>.grid>:nth-child(n+5){animation-delay:.38s}.hero h1{animation:enter 1s var(--ease) backwards}.hero p{animation:enter 1s var(--ease) 90ms backwards}tbody tr{animation:row-in var(--t-mid) var(--ease) backwards}tbody tr:nth-child(2){animation-delay:25ms}tbody tr:nth-child(3){animation-delay:50ms}tbody tr:nth-child(4){animation-delay:75ms}tbody tr:nth-child(5){animation-delay:.1s}tbody tr:nth-child(6){animation-delay:125ms}tbody tr:nth-child(7){animation-delay:.15s}tbody tr:nth-child(8){animation-delay:175ms}tbody tr:nth-child(n+9){animation-delay:.2s}.nav,.seg{position:relative;isolation:isolate}.ink{position:absolute;left:0;top:0;z-index:-1;pointer-events:none;will-change:transform}.ink.armed{transition:transform var(--t-mid) var(--ease),width var(--t-mid) var(--ease),height var(--t-mid) var(--ease),opacity var(--t-fast)}.nav .ink{border-radius:7px}.nav .ink,.seg .ink{background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line)}.seg .ink{border-radius:6px}.nav a{transition:color var(--t-fast)}.nav a svg{transition:color var(--t-mid),opacity var(--t-mid),transform var(--t-mid) var(--ease)}.nav a:hover svg{transform:translate3d(1px,0,0);opacity:1}.seg button{transition:color var(--t-fast)}.card{transition:border-color var(--t-mid) var(--ease),background-color var(--t-mid) var(--ease)}.card:hover{border-color:var(--line-2)}a.card{transition:transform var(--t-mid) var(--ease),border-color var(--t-mid) var(--ease),box-shadow var(--t-mid) var(--ease)}a.card:hover{transform:translate3d(0,-3px,0);box-shadow:var(--shadow)}.btn{transition:transform var(--t-fast) var(--ease),opacity var(--t-fast),background-color var(--t-fast)}.btn:active:not(:disabled),.icon-btn:active,.pick:active,.seg button:active{transform:scale(.97)}.pick{transition:background-color var(--t-fast),color var(--t-fast),border-color var(--t-fast),transform var(--t-fast) var(--ease)}.icon-btn svg{transition:transform .6s var(--ease)}.icon-btn:hover svg{transform:rotate(40deg)}tbody tr.link{transition:background-color var(--t-fast)}.asin-link,.back,.card-h a,.cell-title{transition:color var(--t-fast)}.back svg{transition:transform var(--t-mid) var(--ease)}.back:hover svg{transform:translate3d(-3px,0,0)}.input,.select{transition:border-color var(--t-fast)}.input:focus,.select:focus{outline:none;border-color:var(--accent)}.drop{transition:border-color var(--t-mid) var(--ease),background-color var(--t-mid) var(--ease)}.skeleton{animation-duration:1.8s;animation-timing-function:ease-in-out}.chart .draw{stroke-dasharray:1;animation:draw 1.1s var(--ease) backwards}.chart .draw[stroke-dasharray="4 4"]{stroke-dasharray:4 4}svg .draw.quick{stroke-dasharray:1;animation:draw .8s var(--ease) backwards}.fade-in{animation:fade var(--t-fast) ease}.glide{transition:transform 90ms linear}.tip{animation:fade var(--t-fast) ease;will-change:transform}.bar-fill{transform-origin:left center;animation:grow-x .9s var(--ease) backwards;transition:width var(--t-slow) var(--ease)}.pop{transform-box:fill-box;transform-origin:center;animation:pop .7s var(--ease) backwards;transition:fill-opacity var(--t-fast),transform var(--t-mid) var(--ease)}.pop:hover{transform:scale(1.25)}.heat-cell{animation:cell-in .6s var(--ease) backwards;transition:transform var(--t-mid) var(--ease),box-shadow var(--t-mid) var(--ease)}a.heat-cell:hover{transform:scale(1.05);box-shadow:0 8px 22px -8px rgba(0,0,0,.6),0 0 0 1px var(--line-2);position:relative;z-index:2}.window-strip .prep,.window-strip .sell{transform-origin:left center;animation:grow-x 1s var(--ease) backwards}.window-strip .sell{animation-delay:.16s}.progress i{transition:width var(--t-slow) var(--ease)}.stage .dot{transition:background-color var(--t-mid),border-color var(--t-mid)}.stage>div{transition:color var(--t-mid)}.stage.pending>div{color:var(--ink-3)}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}@property --vt-r{syntax:"<length>";inherits:true;initial-value:0}::view-transition-new(root){--vt-feather:160px;z-index:2;-webkit-mask-image:radial-gradient(circle at var(--vt-x,0) var(--vt-y,0),#000 calc(var(--vt-r) - var(--vt-feather)),transparent var(--vt-r));mask-image:radial-gradient(circle at var(--vt-x,0) var(--vt-y,0),#000 calc(var(--vt-r) - var(--vt-feather)),transparent var(--vt-r))}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.theme-switching *,.theme-switching :after,.theme-switching :before{transition:none!important}.field .seg{align-self:flex-start}.table-wrap{overflow-y:hidden}