@font-face{font-family:Inter;font-style:normal;font-weight:400;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:400;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:400;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:400;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:400;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:400;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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;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;font-style:normal;font-weight:500;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:500;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:500;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:500;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:500;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:500;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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:500;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;font-style:normal;font-weight:600;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:600;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:600;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:600;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:600;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:600;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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;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;font-style:normal;font-weight:700;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:700;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:700;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:700;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:700;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:700;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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:700;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_8b3a0b{font-family:Inter,Inter Fallback;font-style:normal}.__variable_8b3a0b{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-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:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_6d24ac{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_6d24ac{--font-jetbrains:"JetBrains Mono","JetBrains Mono Fallback"}:root{--brand-50:#F5F8FE;--brand-100:#EAEFFB;--brand-200:#C9D6F5;--brand-600:#3260E0;--brand-700:#2752C4;--brand-800:#1E419E;--accent-100:#FFF4CC;--accent-500:#FFD23F;--accent-600:#E5B82E;--accent-900:#6B5500;--bg-page:#FBFAF7;--bg-surface:#FFFFFF;--bg-sunken:#F4F2EC;--text-1:#0E1830;--text-2:#4A5468;--text-3:#8290A8;--on-brand:#FFFFFF;--border-subtle:#E8E5DC;--border-default:#D5D2C8;--border-strong:#B8B4A6;--success:#1E9E5A;--warning:#D89614;--danger:#D14343;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--s-20:80px;--s-24:96px;--r-sm:4px;--r-md:8px;--r-lg:12px;--r-xl:20px;--r-pill:999px;--font:var(--font-noto-tc,"Noto Sans TC"),var(--font-inter,"Inter"),system-ui,sans-serif;--font-mono:var(--font-jetbrains,"JetBrains Mono"),ui-monospace,monospace}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg-page);color:var(--text-1);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit}button{font:inherit}.mono{font-family:var(--font-mono);font-size:11px;letter-spacing:.02em;color:var(--text-3);text-transform:uppercase}.wf{font-family:var(--font);background:var(--bg-page);color:var(--text-1);min-height:100vh;display:flex;flex-direction:column}.wf-scroll{flex:1 1;display:flex;flex-direction:column}.nav{gap:var(--s-4);padding:var(--s-3) var(--s-8);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle)}.nav,.nav-left{display:flex;align-items:center}.nav-left{gap:var(--s-3);min-width:200px}.nav-center{flex:1 1;display:flex;justify-content:center}.nav-right{gap:var(--s-2);min-width:240px;justify-content:flex-end}.nav-right,.subnav{display:flex;align-items:center}.subnav{gap:var(--s-1);padding:0 var(--s-8);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle)}.subnav a{padding:var(--s-3) var(--s-4);font-size:14px;color:var(--text-2);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:var(--s-2)}.subnav a.on{color:var(--brand-700);border-bottom-color:var(--brand-600);font-weight:600}.subnav a:hover:not(.on),.wm{color:var(--text-1)}.wm{display:inline-flex;align-items:center;gap:var(--s-5);text-decoration:none}.wm-chop{position:relative;display:grid;place-items:center;flex:none;transform:rotate(-6deg);transform-origin:center}.wm-chop-frame{display:grid;place-items:center;width:100%;height:100%;border:2px solid var(--brand-600);background:transparent;padding:4px;border-radius:2px}.wm-chop-inner{display:grid;place-items:center;width:100%;height:100%;background:var(--brand-600);color:#FFFFFF;font-weight:700;font-family:var(--font);line-height:1;border-radius:1px}.wm-md .wm-chop{width:36px;height:36px}.wm-md .wm-chop-inner{font-size:16px}.wm-lg .wm-chop{width:64px;height:64px}.wm-lg .wm-chop-frame{padding:6px;border-width:2.5px}.wm-lg .wm-chop-inner{font-size:28px}.wm-sm .wm-chop{width:28px;height:28px}.wm-sm .wm-chop-frame{padding:3px;border-width:1.5px}.wm-sm .wm-chop-inner{font-size:12px}.wm-text{display:flex;flex-direction:column;line-height:1;gap:4px}.wm-zh{font-weight:700;font-size:17px;letter-spacing:.04em;color:var(--text-1);display:inline-flex;align-items:baseline;gap:4px}.wm-zh:after{content:"";display:inline-block;border-radius:50%;background:var(--accent-500);align-self:flex-end;flex:none}.wm-md .wm-zh:after,.wm-zh:after{width:5px;height:5px;margin-bottom:3px}.wm-lg .wm-zh:after{width:8px;height:8px;margin-bottom:5px;margin-left:2px}.wm-sm .wm-zh:after{width:4px;height:4px;margin-bottom:2px}.wm-en{font-size:10px;color:var(--text-2);letter-spacing:.18em;font-weight:500;text-transform:uppercase}.wm-md .wm-zh{font-size:18px}.wm-lg .wm-zh{font-size:28px}.wm-lg .wm-en{font-size:12px}.search{display:flex;align-items:stretch;width:min(560px,100%);height:44px;border:1px solid var(--border-default);border-radius:var(--r-pill);background:var(--bg-surface);overflow:hidden}.search-slot{flex:1 1;display:flex;flex-direction:column;justify-content:center;padding:var(--s-1) var(--s-5);cursor:text;background:transparent;border:none;border-right:1px solid var(--border-subtle);text-align:left;font:inherit;color:inherit}.search-slot .label{font-family:var(--font-mono);font-size:9px;text-transform:uppercase;color:var(--text-3);letter-spacing:.08em}.search-slot .val{font-size:14px;color:var(--text-1)}.search-slot .val.placeholder{color:var(--text-3)}.search-btn{border:none;background:var(--brand-600);color:var(--on-brand);padding:0 var(--s-6);font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:var(--s-2)}.search-btn svg{display:block}.search-btn:hover{background:var(--brand-700)}.btn{font-size:14px;font-weight:500;border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-1);padding:var(--s-2) var(--s-4);border-radius:var(--r-md);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:var(--s-2)}.btn:hover{background:var(--bg-sunken)}.btn-primary{background:var(--brand-600);color:var(--on-brand);border-color:var(--brand-600);font-weight:600}.btn-primary:hover{background:var(--brand-700);border-color:var(--brand-700)}.btn-ghost{border-color:transparent}.btn-ghost:hover{background:var(--bg-sunken)}.icon-btn{width:36px;height:36px;border-radius:var(--r-md);border:1px solid var(--border-subtle);background:var(--bg-surface);display:grid;place-items:center;position:relative;cursor:pointer;color:var(--text-2);padding:0;line-height:0}.icon-btn svg{display:block}.icon-btn:hover{background:var(--bg-sunken);color:var(--text-1)}.avatar{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3) var(--s-1) var(--s-1);border:1px solid var(--border-subtle);border-radius:var(--r-pill);cursor:pointer;background:var(--bg-surface);position:relative}.avatar:hover{background:var(--bg-sunken)}.avatar-circle{width:30px;height:30px;border-radius:50%;background:var(--brand-100);color:var(--brand-800);display:grid;place-items:center;font-weight:700;font-size:13px}.avatar-burger{display:flex;flex-direction:column;gap:3px;padding:0 2px}.avatar-burger span{display:block;width:14px;height:1.5px;background:var(--text-1)}.bubble{background:var(--danger);color:var(--on-brand);font-size:10px;font-weight:700;border-radius:var(--r-pill);padding:1px 6px;min-width:18px;height:16px;text-align:center;display:inline-flex;align-items:center;justify-content:center;line-height:1}.bubble-corner{position:absolute;top:-4px;right:-4px;border:1.5px solid var(--bg-surface)}.dd{position:absolute;top:calc(100% + var(--s-2));right:0;width:240px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:var(--s-2);box-shadow:0 8px 24px rgba(14,24,48,.1);z-index:5}.dd-item{display:flex;justify-content:space-between;align-items:center;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);font-size:13px;cursor:pointer;color:var(--text-1);text-decoration:none}.dd-item:hover{background:var(--bg-sunken)}.dd-divider{height:1px;background:var(--border-subtle);margin:var(--s-1) var(--s-2)}.dd-locale{display:flex;align-items:center;justify-content:space-between;padding:var(--s-2) var(--s-3) var(--s-1)}.dd-locale .label{font-family:var(--font-mono);font-size:9px;color:var(--text-3);letter-spacing:.1em;text-transform:uppercase}.dd-locale .switch{display:inline-flex;border:1px solid var(--border-default);border-radius:var(--r-pill);padding:2px;font-size:11px}.dd-locale .switch a,.dd-locale .switch button,.dd-locale .switch span{padding:3px 9px;border-radius:var(--r-pill);cursor:pointer;color:var(--text-2);text-decoration:none;background:transparent;border:none;font:inherit;line-height:1}.dd-locale .switch .on{background:var(--brand-600);color:var(--on-brand)}.hero{position:relative;background:var(--bg-page);border-bottom:1px solid var(--border-subtle);padding:var(--s-16) var(--s-8) var(--s-12);display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-5)}.hero:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--accent-500)}.hero-title{font-size:52px;font-weight:700;line-height:1.1;letter-spacing:-.01em;color:var(--text-1);max-width:820px;margin:0}.hero-title em{font-style:normal;background-image:linear-gradient(transparent 62%,var(--accent-500) 62%,var(--accent-500) 92%,transparent 92%);padding:0 .1em}.hero-sub{font-size:17px;color:var(--text-2);max-width:580px;line-height:1.55;margin:0}.hero-search{width:min(720px,100%)}.hero-search .search{height:64px;width:100%;box-shadow:0 12px 24px -16px rgba(14,24,48,.25)}.hero-search .search-slot .label{font-size:10px}.hero-search .search-slot .val{font-size:16px}.cat-strip{padding:var(--s-12) var(--s-8) var(--s-8);background:var(--bg-page)}.cat-strip-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--s-6);border-bottom:1px solid var(--text-1);padding-bottom:var(--s-3)}.cat-strip-head .h{font-size:28px;font-weight:700;letter-spacing:-.01em}.cat-strip-head .h em{font-style:normal;background-image:linear-gradient(transparent 62%,var(--accent-500) 62%,var(--accent-500) 92%,transparent 92%);padding:0 .15em}.cat-strip-head .meta{font-family:var(--font-mono);font-size:11px;color:var(--text-2);letter-spacing:.16em;text-transform:uppercase}.cat-carousel{position:relative;margin:0 calc(var(--s-8) * -1);padding:0 var(--s-8)}.cat-scroller{position:relative;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:2px 0 var(--s-3)}.cat-scroller::-webkit-scrollbar{display:none}.cat-track{list-style:none;margin:0;padding:0;display:flex;gap:0;border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);border-left:1px solid var(--border-subtle);width:max-content}.cat-card{background:var(--bg-surface);border-right:1px solid var(--border-subtle);padding:var(--s-5) var(--s-5);display:flex;flex-direction:column;cursor:pointer;text-decoration:none;color:var(--text-1);position:relative;min-height:132px;flex:0 0 168px;scroll-snap-align:start;transition:background .12s}.cat-card:hover{background:var(--accent-500)}.cat-card .cat-name{font-weight:700;font-size:22px;line-height:1.1;margin-bottom:4px}.cat-card .cat-meta{font-size:11px;color:var(--text-2);letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-mono);margin-top:auto}.cat-fade{position:absolute;top:0;bottom:0;width:64px;pointer-events:none;transition:opacity .16s;z-index:1}.cat-fade-l{left:0;background:linear-gradient(to right,var(--bg-page) 20%,rgba(251,250,247,0))}.cat-fade-r{right:0;background:linear-gradient(to left,var(--bg-page) 20%,rgba(251,250,247,0))}.cat-paddle{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:40px;height:40px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-1);font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.06);transition:opacity .16s,transform .12s;font-family:var(--font)}.cat-paddle:hover{background:var(--accent-500)}.cat-paddle-prev{left:var(--s-2)}.cat-paddle-next{right:var(--s-2)}.cat-paddle.is-disabled{opacity:0;pointer-events:none}.section-band{background:var(--bg-page);padding:var(--s-12) var(--s-8) var(--s-10);border-bottom:1px solid var(--border-subtle)}.section-band .band-head{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;grid-gap:var(--s-6);gap:var(--s-6);margin-bottom:var(--s-6);padding-bottom:var(--s-3);border-bottom:1px solid var(--text-1)}.section-band .band-h{font-size:28px;font-weight:700;letter-spacing:-.01em}.section-band .band-h em{font-style:normal;background-image:linear-gradient(transparent 62%,var(--accent-500) 62%,var(--accent-500) 92%,transparent 92%);padding:0 .15em}.section-band .cards{padding:0}.cards{padding:var(--s-3) var(--s-8) var(--s-6);display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--s-5);gap:var(--s-5)}.cards.cards-1{grid-template-columns:1fr}.card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3);position:relative;text-decoration:none;color:inherit}.card-clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;outline:none}.card-clickable:hover{transform:translateY(-2px);box-shadow:0 8px 24px -12px rgba(14,24,48,.18);border-color:var(--border-default)}.card-clickable:focus-visible{border-color:var(--brand-600);box-shadow:0 0 0 3px var(--brand-100)}.card-clickable:active{transform:translateY(0)}.card-pic{width:100%;aspect-ratio:4/3;border-radius:var(--r-md);background:var(--bg-sunken);border:1px dashed var(--border-default);position:relative;overflow:hidden;flex-shrink:0;background-image:repeating-linear-gradient(45deg,transparent 0 10px,rgba(0,0,0,.025) 10px 11px)}.card-pic-label{position:absolute;left:var(--s-3);bottom:var(--s-3);font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;color:var(--text-3);background:rgba(255,255,255,.85);padding:2px 6px;border-radius:var(--r-sm)}.card-tags-overlay{position:absolute;top:var(--s-3);left:var(--s-3);margin:0}.card-tags{display:flex;gap:var(--s-2);flex-wrap:wrap}.card-pic-actions{position:absolute;top:var(--s-3);right:var(--s-3);display:inline-flex;gap:var(--s-2);align-items:center}.pic-btn{width:32px;height:32px;border:none;background:rgba(255,255,255,.92);border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--text-2);padding:0;line-height:0;box-shadow:0 1px 2px rgba(0,0,0,.08),0 0 0 1px rgba(14,24,48,.04);transition:color .12s,background .12s}.pic-btn svg{display:block}.pic-btn:hover{background:#fff}.pic-like.is-liked,.pic-like:hover{color:var(--danger)}.pic-like.is-liked svg{fill:currentColor}.card-id{display:flex;flex-direction:column;gap:4px;min-width:0}.card-name-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s-3)}.card-name{font-size:17px;font-weight:700;color:var(--text-1)}.card-meta{display:flex;gap:var(--s-2);font-size:12px;flex-wrap:wrap}.card-loc,.card-meta{align-items:center;color:var(--text-2)}.card-loc{display:inline-flex;gap:4px}.card-loc svg{display:block;flex:none}.card-dot,.card-loc svg{color:var(--text-3)}.card-subjects{color:var(--text-2)}.card-title{font-size:14px;color:var(--text-1);line-height:1.5;padding-top:var(--s-1)}.card-price{font-weight:700;font-size:16px;color:var(--text-1);white-space:nowrap}.card-price .cur{font-size:11px;font-weight:600;color:var(--text-2);margin-right:1px}.card-price .per{font-weight:400;color:var(--text-3);font-size:11px}.endorse{display:inline-flex;align-items:baseline;gap:5px;margin-top:2px;font-size:12px;line-height:1;white-space:nowrap;color:var(--text-2)}.endorse-num{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-1)}.endorse-word{color:var(--text-2);font-weight:500}.tag{display:inline-flex;align-items:center;padding:3px 8px;border-radius:var(--r-sm);font-size:11px;font-weight:600}.tag-free{background:var(--accent-500);color:var(--accent-900)}.tag-amb{background:var(--brand-600);color:var(--on-brand)}.status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-pill);font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.status-badge-new{background:var(--bg-sunken);color:var(--text-2)}.status-badge-recommended{background:var(--brand-100);color:var(--brand-800)}.status-badge-super-tutor{background:var(--accent-500);color:var(--accent-900)}.status-badge-ambassador{background:var(--brand-600);color:var(--on-brand)}.footer{border-top:2px solid var(--text-1);padding:var(--s-8);display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:var(--s-6);gap:var(--s-6);background:var(--bg-page);flex-shrink:0}.footer-mark{display:flex;align-items:center;gap:var(--s-4)}.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:var(--s-3)}.footer-links{display:flex;gap:var(--s-5)}.footer-links a{color:var(--text-1);text-decoration:none;font-size:13px;font-weight:500}.footer-links a:hover{color:var(--brand-700);text-decoration:underline}.footer-cr{font-family:var(--font-mono);font-size:10px;color:var(--text-3);letter-spacing:.12em;text-transform:uppercase}.hamburger{width:32px;height:32px;border:1px solid var(--border-subtle);border-radius:var(--r-md);display:grid;place-items:center;cursor:pointer;background:var(--bg-surface)}.hamburger span{display:block;width:16px;height:1.5px;background:var(--text-1);position:relative}.hamburger span:after,.hamburger span:before{content:"";position:absolute;left:0;right:0;height:1.5px;background:var(--text-1)}.hamburger span:before{top:-5px}.hamburger span:after{top:5px}.mobile-search-row{padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--border-subtle);background:var(--bg-page)}.mobile-search-row .search{height:40px;width:100%}.wf-desktop{display:contents}.wf-mobile{display:none}@media (max-width:768px){.wf-desktop{display:none}.wf-mobile{display:contents}.nav{padding:var(--s-2) var(--s-4);gap:var(--s-2)}.nav-left{min-width:0;flex:1 1;justify-content:center;display:flex}.nav-right{min-width:0;gap:var(--s-2)}.wm-md .wm-chop{width:36px;height:36px}.wm-md .wm-chop-inner{font-size:16px}.wm-zh{font-size:18px}.wm-en{display:none}.subnav{padding:0 var(--s-2);overflow-x:auto}.subnav a{padding:var(--s-2) var(--s-3);font-size:13px;flex-shrink:0}.cards{grid-template-columns:1fr;gap:var(--s-3);padding-left:var(--s-4);padding-right:var(--s-4)}.card{padding:var(--s-4)}.section-band{padding:var(--s-5) var(--s-4)}.section-band .band-head{grid-template-columns:1fr;gap:var(--s-2)}.section-band .band-h{font-size:22px}.footer{flex-direction:column;padding:var(--s-4);gap:var(--s-3);grid-template-columns:1fr}.footer,.footer-right{align-items:flex-start}.hero{padding:var(--s-10) var(--s-4) var(--s-8)}.hero-title{font-size:32px}.hero-sub{font-size:15px}.hero-search .search{height:48px;flex-direction:column;border-radius:var(--r-xl)}.hero-search .search-slot{border-right:none;border-bottom:1px solid var(--border-subtle);padding:var(--s-2) var(--s-4)}.hero-search .search-btn{padding:var(--s-3);justify-content:center;border-radius:0 0 var(--r-xl) var(--r-xl)}.cat-strip{padding:var(--s-5) var(--s-4)}.cat-strip-head .h{font-size:22px}.cat-carousel{margin:0 calc(var(--s-4) * -1);padding:0 var(--s-4)}.cat-paddle{display:none}.cat-card{flex-basis:140px;min-height:116px;padding:var(--s-4)}.cat-card .cat-name{font-size:18px}.cat-fade{width:32px}}.cw-send{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;border:1px solid var(--brand-600);background:var(--bg-surface);color:var(--brand-600);border-radius:8px;font-weight:600;cursor:pointer;transition:background-color .12s ease,color .12s ease}.cw-send:hover{background-color:var(--brand-600);color:var(--bg-surface)}.cw-send:focus-visible{outline:2px solid var(--brand-600);outline-offset:2px}.cw-send:disabled{opacity:.6;cursor:not-allowed}.cw-send svg{width:16px;height:16px}.liked-card{display:flex;flex-direction:column;gap:8px}.empty-state{padding:48px 16px;text-align:center;color:var(--ink-2,#666)}