@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.p.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:Plus Jakarta Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.p.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:Plus Jakarta Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.p.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:Plus Jakarta Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6fe53d21e6e7ebd8-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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8ebc6e9dde468c4a-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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9e7b0a821b9dfcb4-s.p.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:Plus Jakarta Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/636a5ac981f94f8b-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:Plus Jakarta Sans Fallback;src:local("Arial");ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.00%;size-adjust:104.98%}.__className_8b9a22{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}.__variable_8b9a22{--font-jakarta:"Plus Jakarta Sans","Plus Jakarta Sans Fallback"}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64418ffc17e50301-s.p.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:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0e96d314a90a6138-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:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ba43ea3467e29870-s.p.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:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b7ea2ab4a8ad1f81-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:DM Mono Fallback;src:local("Arial");ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.00%;size-adjust:134.59%}.__className_d60656{font-family:DM Mono,DM Mono Fallback;font-style:normal}.__variable_d60656{--font-dm-mono:"DM Mono","DM Mono Fallback"}:root{--color-surface:#FFFFFF;--color-surface-alt:#F3F6F3;--color-surface-sunken:#F7F7F7;--color-surface-raised:#FFFFFF;--color-line:#E6E6E6;--color-line-strong:#D2D5D1;--color-input:#8C908B;--color-ink:#0D0D0D;--color-ink-muted:#575B56;--color-ink-faint:#B3B6B3;--color-ink-inverse:#FFFFFF;--color-brand:#93E85F;--color-brand-hover:#82D84E;--color-brand-soft:#B7DF9E;--color-brand-tint:#EEF8E6;--color-brand-strong:#318101;--color-brand-deep:#476337;--color-nav-bg:#0D0D0D;--color-nav-ink:#F3F6F3;--color-nav-muted:#A3A7A2;--color-nav-hover:#1B1D1B;--color-nav-active:#252825;--color-nav-line:#262826;--color-ok:#318101;--color-ok-bg:#EEF8E6;--color-ok-line:#CDE7BA;--color-warn:#8A6100;--color-warn-bg:#FFF4D6;--color-warn-line:#F2DB9C;--color-warn-solid:#D29A00;--color-danger:#B42318;--color-danger-bg:#FEF3F2;--color-danger-line:#FECDCA;--color-danger-hover:#9A1D14;--color-info:#1D4ED8;--color-info-bg:#EEF4FF;--color-info-line:#C7D7FE;--color-mute:#4A4E49;--color-mute-bg:#ECEEEB;--color-mute-line:#DADDD9;--color-scrim:rgba(13,13,13,.52);--color-code-bg:#0F1115;--color-code-ink:#E8EAED;--color-anno:#2563EB;--font-sans:"Plus Jakarta Sans Variable","Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--font-mono:"JetBrains Mono Variable","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-base:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--text-4xl:48px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(13,13,13,.06);--shadow-md:0 6px 20px rgba(13,13,13,.08),0 1px 3px rgba(13,13,13,.06);--shadow-lg:0 24px 64px rgba(13,13,13,.22),0 2px 8px rgba(13,13,13,.08);--focus-ring:0 0 0 2px #FFFFFF,0 0 0 4px #318101;--control-h-sm:32px;--control-h:40px;--control-h-lg:48px;--dur-fast:150ms;--dur:200ms;--dur-slow:250ms;--ease:cubic-bezier(.2,.8,.2,1);--z-sticky:20;--z-dropdown:40;--z-drawer:60;--z-modal:80;--z-toast:90;--z-widget:2147483647}.theme-dark{--color-surface:#171A21;--color-surface-alt:#0F1115;--color-surface-sunken:#12151B;--color-surface-raised:#1E222B;--color-line:#262B35;--color-line-strong:#353B47;--color-input:#5B6270;--color-ink:#E8EAED;--color-ink-muted:#9AA1AD;--color-ink-faint:#5E6573;--color-brand-tint:#1C2716;--color-brand-strong:#A6EE7A;--color-ok:#93E85F;--color-ok-bg:#1C2716;--color-ok-line:#2F4721;--color-warn:#F5C451;--color-warn-bg:#2A2312;--color-warn-line:#4A3D17;--color-danger:#F97066;--color-danger-bg:#2B1715;--color-danger-line:#55231F;--color-danger-hover:#FF8A80;--color-info:#84ADFF;--color-info-bg:#152036;--color-info-line:#22345A;--color-mute:#B4BAC4;--color-mute-bg:#232731;--color-mute-line:#2F3440;--color-scrim:rgba(0,0,0,.62);--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 8px 24px rgba(0,0,0,.45);--shadow-lg:0 24px 64px rgba(0,0,0,.6);--focus-ring:0 0 0 2px #0F1115,0 0 0 4px #93E85F;color-scheme:dark}.y,.y *{box-sizing:border-box}.y{font-family:var(--font-sans);font-size:var(--text-md);line-height:1.5;color:var(--color-ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}:where(.y) :where(h1,h2,h3,h4,p,ul,ol,dl,dd,figure){margin:0}:where(.y) :where(ul,ol){padding:0;list-style:none}:where(.y) :where(button,input,select,textarea){font:inherit;color:inherit}:where(.y) a{color:var(--color-brand-strong);text-decoration:none;font-weight:600}:where(.y) a:hover{text-decoration:underline}:where(.y) :focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-md)}.t-display{font-size:var(--text-3xl);line-height:44px;font-weight:800;letter-spacing:-.025em}.t-h1{font-size:var(--text-2xl);line-height:36px;letter-spacing:-.02em}.t-h1,.t-h2{font-weight:700}.t-h2{font-size:20px;line-height:28px;letter-spacing:-.01em}.t-h3{font-weight:700}.t-h3,.t-lg{font-size:var(--text-base);line-height:24px}.t-body{font-size:var(--text-md);line-height:22px}.t-sm{font-size:var(--text-sm);line-height:20px}.t-xs{font-size:var(--text-xs)}.t-label,.t-xs{line-height:16px}.t-label{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-ink-muted)}.t-mono{font-family:var(--font-mono);font-size:12.5px}.t-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--color-ink-muted)}.faint{color:var(--color-ink-faint)}.strong{font-weight:600}.bold{font-weight:700}.green{color:var(--color-brand-strong)}.red{color:var(--color-danger)}.amber{color:var(--color-warn)}.nowrap,.trunc{white-space:nowrap}.trunc{overflow:hidden;text-overflow:ellipsis}.row{align-items:center;gap:var(--space-2)}.col,.row{display:flex}.col{flex-direction:column}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.end{justify-content:flex-end}.center{justify-content:center;align-items:center}.top{align-items:flex-start}.grow{flex:1 1 auto;min-width:0}.none{flex:none}.g1{gap:4px}.g2{gap:8px}.g3{gap:12px}.g4{gap:16px}.g5{gap:20px}.g6{gap:24px}.g8{gap:32px}.g10{gap:40px}.g12{gap:48px}.grid{display:grid;grid-gap:var(--space-4);gap:var(--space-4)}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.fit-200{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.fit-280{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.fit-340{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}.fit-560{grid-template-columns:repeat(auto-fit,minmax(560px,1fr))}.mt-auto{margin-left:auto}.w-full{width:100%}.pad{padding:var(--space-6)}.i{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:middle}.i-sm{width:14px;height:14px}.i-lg{width:22px;height:22px}.i-xl{width:28px;height:28px}.logo{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:20px;letter-spacing:-.035em;line-height:1;color:inherit}.logo-mark{width:26px;height:26px;flex:none}.product-tag{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:var(--radius-pill);background:#252825;color:var(--color-brand);line-height:1.2}.product-tag.light{background:var(--color-brand-tint);color:var(--color-brand-strong)}.logo-word{display:inline-flex;align-items:center;gap:12px;color:inherit;line-height:1}.logo-word-name{font-weight:700;font-size:19px;letter-spacing:-.02em;white-space:nowrap}.logo-word-reg{font-size:9px;font-weight:600;vertical-align:super;margin-left:2px}.logo-word-product{font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--color-ink-muted)}.app{flex-wrap:wrap;align-items:stretch;min-height:900px;background:var(--color-surface-alt)}.app,.side{display:flex}.side{flex:1 1 248px;background:var(--color-nav-bg);color:var(--color-nav-ink);flex-direction:column;padding:20px 12px 16px;gap:2px}.side-brand{padding:4px 12px 20px}.side-brand,.side-site{display:flex;align-items:center;gap:10px}.side-site{margin:0 4px 16px;padding:10px 12px;border-radius:var(--radius-md);background:#171917;border:1px solid var(--color-nav-line)}.side-site .favi{width:28px;height:28px;border-radius:7px;background:#F3E3C7;color:#6B4A12;display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}.nav{display:flex;flex-direction:column;gap:2px}.nav-label{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#7D817C;padding:16px 12px 6px}.nav a{display:flex;align-items:center;gap:12px;height:40px;padding:0 12px;border-radius:var(--radius-md);color:var(--color-nav-muted);font-weight:500;font-size:14px}.nav a,.nav a:hover{text-decoration:none}.nav a:hover{background:var(--color-nav-hover);color:#FFFFFF}.nav a.on{background:var(--color-nav-active);color:#FFFFFF;font-weight:600}.nav a.on .i{color:var(--color-brand)}.nav a .badge{margin-left:auto;font-size:11px;font-weight:700;background:#33362F;color:#E3E6E2;border-radius:999px;padding:1px 7px}.nav a .badge.warn{background:#4A3D17;color:#F5C451}.side-foot{margin-top:auto;border-top:1px solid var(--color-nav-line);padding:16px 8px 0;display:flex;align-items:center;gap:10px}.side-foot .who{display:flex;flex-direction:column;min-width:0;flex:1 1}.side-foot .who b{font-size:13px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-foot .who span{font-size:12px;color:var(--color-nav-muted)}.side .btn-nav{height:36px;padding:0 10px;border-radius:var(--radius-md);border:1px solid #33362f;background:transparent;color:#E3E6E2;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;cursor:pointer}.main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column}.topbar{min-height:64px;display:flex;align-items:center;gap:12px;padding:12px 32px;border-bottom:1px solid var(--color-line);background:var(--color-surface);flex-wrap:wrap}.content{padding:32px;display:flex;flex-direction:column;gap:24px;width:100%;max-width:1320px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-head .sub{margin-top:4px}.crumbs,.page-head .sub{color:var(--color-ink-muted)}.crumbs{display:flex;align-items:center;gap:6px;font-size:13px;flex-wrap:wrap}.crumbs a{color:var(--color-ink-muted);font-weight:500}.crumbs .i{width:14px;height:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control-h);padding:0 16px;border-radius:var(--radius-md);border:1px solid transparent;font-weight:600;font-size:14px;line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.btn,.y a.btn{text-decoration:none}.btn .i{width:16px;height:16px}.btn-primary{background:var(--color-brand)}.btn-primary,.y a.btn-primary{color:#0D0D0D}.btn-primary.is-hover,.btn-primary:hover{background:var(--color-brand-hover)}.btn-dark{background:#0D0D0D;color:#FFFFFF}.y a.btn-dark{color:#fff}.btn-dark.is-hover,.btn-dark:hover{background:#262826}.btn-secondary{background:var(--color-surface-raised);border-color:var(--color-line-strong)}.btn-secondary,.y a.btn-secondary{color:var(--color-ink)}.btn-secondary.is-hover,.btn-secondary:hover{background:var(--color-surface-sunken);border-color:var(--color-input)}.btn-ghost{background:transparent}.btn-ghost,.y a.btn-ghost{color:var(--color-ink)}.btn-ghost.is-hover,.btn-ghost:hover{background:var(--color-surface-sunken)}.btn-danger{background:var(--color-danger);color:#FFFFFF}.btn-danger.is-hover,.btn-danger:hover{background:var(--color-danger-hover)}.theme-dark .btn-danger{background:#D92D20;color:#fff}.btn-danger-soft{background:var(--color-danger-bg);border-color:var(--color-danger-line);color:var(--color-danger)}.btn-link{background:none;border:0;padding:0;height:auto;color:var(--color-brand-strong)}.btn-sm{height:var(--control-h-sm);padding:0 12px;font-size:13px;gap:6px}.btn-lg{height:var(--control-h-lg);padding:0 20px;font-size:15px}.btn-block{width:100%}.btn-icon{width:var(--control-h);padding:0}.btn-icon.btn-sm{width:var(--control-h-sm)}.btn.is-disabled,.btn:disabled{opacity:.45;cursor:not-allowed}.btn.is-focus,.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-group{display:inline-flex}.btn-group .btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group .btn:last-child{border-top-left-radius:0;border-bottom-left-radius:0;border-left:1px solid rgba(13,13,13,.18);width:38px;padding:0}@media (pointer:coarse){.btn{height:44px}.btn-sm{height:40px}}.spin{width:16px;height:16px;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:y-spin .8s linear infinite;flex:none;display:inline-block}.spin-lg{width:28px;height:28px;border-width:3px}@keyframes y-spin{to{transform:rotate(1turn)}}.field{flex-direction:column;min-width:0}.field,.label{display:flex;gap:6px}.label{font-size:13px;font-weight:600;color:var(--color-ink);align-items:center}.label .opt{font-weight:400;color:var(--color-ink-muted)}.label .req{color:var(--color-danger)}.input{height:var(--control-h);width:100%;padding:0 12px;border:1px solid var(--color-input);border-radius:var(--radius-md);background:var(--color-surface-raised);font-size:14px;color:var(--color-ink);outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.input::placeholder{color:#7A7E79}textarea.input{height:auto;min-height:96px;padding:10px 12px;resize:vertical;line-height:1.5}.input.is-focus,.input:focus{border-color:var(--color-brand-strong);box-shadow:0 0 0 3px rgba(49,129,1,.2)}.input.is-error{border-color:var(--color-danger);box-shadow:0 0 0 3px rgba(180,35,24,.12)}.input.is-ok{border-color:var(--color-brand-strong)}.input.is-disabled,.input:disabled{background:var(--color-surface-sunken);color:var(--color-ink-muted);border-color:var(--color-line-strong)}.input-lg{height:48px;font-size:16px}.input-mono{font-family:var(--font-mono);font-size:13px}.help{font-size:12.5px;line-height:18px;color:var(--color-ink-muted);display:flex;gap:6px;align-items:flex-start}.help .i{width:14px;height:14px;margin-top:2px}.help.err{color:var(--color-danger)}.help.ok{color:var(--color-brand-strong)}.input-wrap{position:relative;display:flex;align-items:center}.input-wrap>.i{position:absolute;left:12px;color:var(--color-ink-muted);pointer-events:none}.input-wrap>.input{padding-left:38px}.input-wrap>.trail{position:absolute;right:6px;display:flex;align-items:center;gap:4px}.input-wrap>.input.has-trail{padding-right:44px}.input-group{display:flex;align-items:stretch;min-width:0}.input-group .addon{display:flex;align-items:center;padding:0 12px;background:var(--color-surface-sunken);border:1px solid var(--color-input);border-right:0;border-radius:var(--radius-md) 0 0 var(--radius-md);color:var(--color-ink-muted);font-size:13px;white-space:nowrap}.input-group .addon.r{border-right:1px solid var(--color-input);border-left:0}.input-group .addon.r,.input-group .input{border-radius:0 var(--radius-md) var(--radius-md) 0}.input-group .input{min-width:0}.input-group .input.l{border-radius:var(--radius-md) 0 0 var(--radius-md)}.select{position:relative;display:flex;align-items:center}.select select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:36px;cursor:pointer}.select .i{position:absolute;right:12px;pointer-events:none;color:var(--color-ink-muted)}.check{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;min-height:24px}.check input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;border:1.5px solid var(--color-input);border-radius:5px;background:var(--color-surface-raised);display:grid;place-items:center;flex:none;cursor:pointer}.check input:checked{background:var(--color-ink);border-color:var(--color-ink)}.check input:checked:after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}.check input[type=radio]{border-radius:50%}.check input[type=radio]:checked{background:var(--color-surface-raised);border:5px solid var(--color-ink)}.check input[type=radio]:checked:after{display:none}.theme-dark .check input:checked{background:var(--color-brand);border-color:var(--color-brand)}.theme-dark .check input:checked:after{border-color:#0D0D0D}.switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:14px}.switch input{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:40px;height:24px;margin:0;border-radius:999px;background:#BFC3BE;position:relative;flex:none;cursor:pointer;transition:background var(--dur) var(--ease)}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform var(--dur) var(--ease)}.switch input:checked{background:var(--color-brand-strong)}.switch input:checked:after{transform:translateX(16px)}.switch input:disabled{opacity:.45}.choice{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--color-line-strong);border-radius:var(--radius-lg);background:var(--color-surface-raised);cursor:pointer;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.choice:hover{border-color:var(--color-input)}.choice input{position:absolute;opacity:0;pointer-events:none}.choice.on{border-color:var(--color-ink);box-shadow:inset 0 0 0 1px var(--color-ink)}.choice .tick{position:absolute;top:14px;right:14px;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--color-line-strong);display:grid;place-items:center;color:transparent}.choice.on .tick{background:var(--color-ink);border-color:var(--color-ink);color:var(--color-brand)}.choice .tick .i{width:13px;height:13px;stroke-width:3}.choice .price{font-size:22px;font-weight:800;letter-spacing:-.02em}.choice .price small{font-size:13px;font-weight:500;color:var(--color-ink-muted)}.seg{background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:3px;gap:2px}.seg,.seg button{display:inline-flex}.seg button{height:32px;padding:0 12px;border:0;background:transparent;border-radius:6px;font-weight:600;font-size:13px;color:var(--color-ink-muted);cursor:pointer;align-items:center;gap:6px}.seg button.on{background:var(--color-surface-raised);color:var(--color-ink);box-shadow:var(--shadow-sm)}.otp{display:flex;gap:8px;align-items:center}.otp input{width:48px;height:56px;text-align:center;font-size:22px;font-weight:700;border:1px solid var(--color-input);border-radius:10px;font-family:var(--font-mono);background:var(--color-surface-raised);outline:none}.otp input.is-focus{border-color:var(--color-brand-strong);box-shadow:0 0 0 3px rgba(49,129,1,.2)}.otp input.is-error{border-color:var(--color-danger)}.otp .sep{width:10px;height:2px;background:var(--color-line-strong)}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);min-width:0}.card-pad{padding:24px}.card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;border-bottom:1px solid var(--color-line);flex-wrap:wrap}.card-h h2,.card-h h3{font-size:16px;font-weight:700}.card-b{padding:24px;display:flex;flex-direction:column;gap:16px}.card-f{padding:16px 24px;border-top:1px solid var(--color-line);display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.card-flat{box-shadow:none}.divider{height:1px;background:var(--color-line);border:0;margin:0}.kv{display:grid;grid-template-columns:150px minmax(0,1fr);grid-gap:12px 16px;gap:12px 16px;align-items:center}.kv dt{color:var(--color-ink-muted);font-size:13px}.kv dd{font-weight:500;min-width:0}.urlrow{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--color-line);border-radius:var(--radius-md);background:var(--color-surface-sunken)}.urlrow .k{font-size:12px;font-weight:600;color:var(--color-ink-muted);width:64px;flex:none}.urlrow .v{font-family:var(--font-mono);font-size:12.5px;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis}.chip,.urlrow .v{white-space:nowrap}.chip{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:var(--radius-pill);font-size:12px;font-weight:600;background:var(--color-surface-sunken);color:var(--color-ink-muted);border:1px solid var(--color-line);line-height:1}.chip .d{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.chip .i{width:12px;height:12px;stroke-width:2.5}.chip-ok{background:var(--color-ok-bg);color:var(--color-ok);border-color:var(--color-ok-line)}.chip-warn{background:var(--color-warn-bg);color:var(--color-warn);border-color:var(--color-warn-line)}.chip-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-line)}.chip-info{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info-line)}.chip-mute{background:var(--color-mute-bg);color:var(--color-mute);border-color:var(--color-mute-line)}.chip-dark{background:#0D0D0D;color:#fff;border-color:#0D0D0D}.chip-brand{background:var(--color-brand-soft);color:#0D0D0D;border-color:var(--color-brand-soft)}.chip-outline{background:transparent;color:var(--color-ink-muted);border:1px dashed var(--color-input)}.chip-sm{height:20px;padding:0 8px;font-size:11px}.chip-run .d{animation:y-blink 1.2s ease-in-out infinite}@keyframes y-blink{50%{opacity:.25}}.health{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500}.hdot{width:10px;height:10px;border-radius:50%;flex:none}.hdot.ok{background:#318101;box-shadow:0 0 0 3px #DDF0CF}.hdot.bad{background:#B42318;box-shadow:0 0 0 3px #FDD8D4}.hdot.warn{background:#D29A00;box-shadow:0 0 0 3px #FBEBC0}.hdot.off{background:transparent;border:2px solid #9a9e99}.theme-dark .hdot.ok{background:#93E85F;box-shadow:0 0 0 3px #22331A}.kpi{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:18px 20px;flex-direction:column;gap:6px;min-width:0;box-shadow:var(--shadow-sm)}.kpi,.kpi-l{display:flex}.kpi-l{font-size:13px;color:var(--color-ink-muted);font-weight:500;align-items:center;gap:8px}.kpi-l .i{width:16px;height:16px}.kpi-v{font-size:28px;font-weight:700;letter-spacing:-.02em;line-height:1.15;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kpi-s{font-size:12px;color:var(--color-ink-muted)}.kpi.alert-k{border-color:var(--color-danger-line)}.kpi.alert-k .kpi-v{color:var(--color-danger)}.table-wrap{overflow-x:auto;border-radius:inherit}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}.table th{text-align:left;font-size:12px;font-weight:600;color:var(--color-ink-muted);padding:10px 16px;border-bottom:1px solid var(--color-line);background:var(--color-surface-sunken);white-space:nowrap}.table th:first-child{border-top-left-radius:var(--radius-lg)}.table th:last-child{border-top-right-radius:var(--radius-lg)}.table td{padding:12px 16px;border-bottom:1px solid var(--color-line);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover td,.table tr.is-hover td{background:#FAFBF9}.theme-dark .table tbody tr:hover td{background:#1B1F27}.table .num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table .act,.table .num{text-align:right;white-space:nowrap}.table .act{width:1%}.table-dense td{padding:9px 16px}.cell-title{font-weight:600;display:block}.cell-sub{font-size:12px;color:var(--color-ink-muted);font-family:var(--font-mono);display:block}.th-sort{display:inline-flex;gap:4px}.pager,.th-sort{align-items:center}.pager{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid var(--color-line);font-size:13px;color:var(--color-ink-muted);flex-wrap:wrap}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--color-line);overflow-x:auto;scrollbar-width:none}.tab{height:44px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;font-weight:600;border:0;background:none;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;font-size:14px;cursor:pointer;text-decoration:none}.tab,.y a.tab{color:var(--color-ink-muted)}.tab:hover,.y a.tab:hover{color:var(--color-ink);text-decoration:none}.tab.on,.y a.tab.on{color:var(--color-ink);border-bottom-color:var(--color-ink)}.theme-dark .tab.on{border-bottom-color:var(--color-brand)}.tab.danger,.y a.tab.danger{color:var(--color-danger)}.tab .count{font-size:11px;background:var(--color-surface-sunken);border:1px solid var(--color-line);padding:0 7px;line-height:18px}.bar,.tab .count{border-radius:999px}.bar{height:8px;background:#E6E9E5;overflow:hidden;width:100%}.theme-dark .bar{background:#262B35}.bar>span{display:block;height:100%;background:var(--color-brand-strong);border-radius:inherit}.bar.lime>span{background:var(--color-brand)}.bar.warn>span{background:var(--color-warn-solid)}.bar.danger>span{background:var(--color-danger)}.bar.stripes>span{background-image:linear-gradient(45deg,rgba(255,255,255,.25) 25%,transparent 0,transparent 50%,rgba(255,255,255,.25) 0,rgba(255,255,255,.25) 75%,transparent 0);background-size:16px 16px;animation:y-stripes 1s linear infinite}@keyframes y-stripes{to{background-position:16px 0}}.bar-lg{height:12px}.segbar{display:flex;gap:3px}.segbar i{flex:1 1;height:10px;border-radius:3px;background:#E6E9E5}.segbar i.ok{background:var(--color-brand-strong)}.segbar i.run{background:var(--color-warn-solid)}.segbar i.bad{background:var(--color-danger)}.tl{display:flex;flex-direction:column}.tl-step{display:grid;grid-template-columns:32px minmax(0,1fr) auto;grid-column-gap:16px;column-gap:16px;grid-row-gap:8px;row-gap:8px;position:relative;padding-bottom:22px}.tl-step:before{content:"";position:absolute;left:15px;top:34px;bottom:2px;width:2px;background:var(--color-line);border-radius:2px}.tl-step:last-child{padding-bottom:0}.tl-step:last-child:before{display:none}.tl-step.done:before{background:#A9D88A}.tl-ic{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-ink-faint);position:relative;z-index:1}.tl-ic .i{width:16px;height:16px;stroke-width:2.5}.tl-step.done .tl-ic{background:var(--color-ok);border-color:var(--color-ok);color:#fff}.tl-step.run .tl-ic{background:var(--color-warn-bg);border-color:var(--color-warn-solid);color:var(--color-warn);animation:y-pulse 1.6s ease-in-out infinite}.tl-step.fail .tl-ic{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.tl-step.skip .tl-ic{border-style:dashed}@keyframes y-pulse{0%,to{box-shadow:0 0 0 0 rgba(210,154,0,.35)}50%{box-shadow:0 0 0 7px rgba(210,154,0,0)}}.tl-title{font-weight:600;display:flex;gap:10px;align-items:center;min-height:32px;flex-wrap:wrap}.tl-step.pend .tl-title{color:var(--color-ink-muted);font-weight:500}.tl-meta{font-size:12px;color:var(--color-ink-muted);font-family:var(--font-mono);align-self:center;white-space:nowrap}.tl-body{grid-column:2/4}.log{background:var(--color-code-bg);color:var(--color-code-ink);font-family:var(--font-mono);font-size:12px;line-height:1.75;border-radius:var(--radius-md);padding:12px 16px;overflow:auto;white-space:pre;margin:0}.log .ok{color:#93E85F}.log .err{color:#F97066}.log .dim{color:#7C8492}.log .warn{color:#F5C451}.log .info{color:#84ADFF}.alert{display:flex;gap:12px;padding:14px 16px;border-radius:10px;border:1px solid var(--color-line);align-items:flex-start;font-size:14px;line-height:1.5;background:var(--color-surface-sunken);color:var(--color-ink)}.alert>.i{margin-top:2px}.alert-title{font-weight:700}.alert .grow p{color:var(--color-ink-muted)}.alert-info{background:var(--color-info-bg);border-color:var(--color-info-line)}.alert-info>.i{color:var(--color-info)}.alert-ok{background:var(--color-ok-bg);border-color:var(--color-ok-line)}.alert-ok>.i{color:var(--color-ok)}.alert-warn{background:var(--color-warn-bg);border-color:var(--color-warn-line)}.alert-warn>.i{color:var(--color-warn)}.alert-danger{background:var(--color-danger-bg);border-color:var(--color-danger-line)}.alert-danger>.i{color:var(--color-danger)}.banner{display:flex;align-items:center;gap:12px;padding:12px 32px;font-size:14px;flex-wrap:wrap}.banner-warn{background:var(--color-warn-bg);border-bottom:1px solid var(--color-warn-line)}.banner-danger{background:var(--color-danger-bg);border-bottom:1px solid var(--color-danger-line)}.toast{display:flex;align-items:center;gap:12px;background:#0D0D0D;color:#fff;border-radius:var(--radius-lg);padding:12px 12px 12px 16px;box-shadow:var(--shadow-lg);font-size:14px;min-width:320px;max-width:440px}.toast .grow{display:flex;flex-direction:column}.toast small{color:#A3A7A2;font-size:12.5px}.toast .i.ok{color:#93E85F}.toast .i.bad{color:#F97066}.toast .act{color:#93E85F;font-weight:700;cursor:pointer;padding:0 8px}.toast .act,.toast .x{background:none;border:0;height:32px;border-radius:6px}.toast .x{color:#A3A7A2;width:32px;display:grid;place-items:center;cursor:pointer}.theme-dark .toast{background:#E8EAED;color:#0D0D0D}.theme-dark .toast small{color:#575B56}.theme-dark .toast .act,.theme-dark .toast .i.ok{color:#318101}.overlay{position:absolute;inset:0;background:var(--color-scrim);z-index:var(--z-modal)}.stage{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:520px;display:flex;align-items:center;justify-content:center;padding:48px 24px;background:#C9CDC8;border:1px solid var(--color-line)}.stage:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 63px,rgba(255,255,255,.18) 63px 64px),repeating-linear-gradient(90deg,transparent 0 63px,rgba(255,255,255,.18) 63px 64px)}.stage>*{position:relative}.stage.top{align-items:flex-start}.stage.right{justify-content:flex-end;padding:0;align-items:stretch}.stage.dark,.theme-dark .stage{background:#05070A;border-color:#262B35}.modal{width:100%;max-width:480px;background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-line)}.modal-sm{max-width:400px}.modal-lg{max-width:640px}.modal-xl{max-width:880px}.modal-h{padding:24px 24px 0;display:flex;gap:16px;align-items:flex-start}.modal-title{font-size:18px;font-weight:700;line-height:26px}.modal-desc{color:var(--color-ink-muted);font-size:14px;margin-top:4px}.modal-b{padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px}.modal-f{padding:16px 24px;border-top:1px solid var(--color-line);display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap;background:var(--color-surface)}.modal-f .left{margin-right:auto}.modal-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;background:var(--color-surface-sunken);color:var(--color-ink)}.modal-ic.danger{background:var(--color-danger-bg);color:var(--color-danger)}.modal-ic.ok{background:var(--color-ok-bg);color:var(--color-ok)}.modal-ic.warn{background:var(--color-warn-bg);color:var(--color-warn)}.modal-ic.brand{background:var(--color-brand);color:#0D0D0D}.x-close{margin-left:auto;margin-top:-6px;margin-right:-8px}.drawer{width:440px;max-width:100%;background:var(--color-surface);border-left:1px solid var(--color-line);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;min-height:0}.drawer-h{height:64px;display:flex;align-items:center;gap:10px;padding:0 12px 0 20px;border-bottom:1px solid var(--color-line);flex:none}.drawer-b{flex:1 1;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:16px;min-height:0}.drawer-f{padding:12px 16px 16px;border-top:1px solid var(--color-line);flex:none}.sheet{position:absolute;left:0;right:0;bottom:0;background:var(--color-surface);border-radius:20px 20px 0 0;box-shadow:var(--shadow-lg);padding:8px 20px 28px;display:flex;flex-direction:column;gap:16px;z-index:var(--z-modal)}.sheet-handle{width:40px;height:4px;border-radius:999px;background:var(--color-line-strong);margin:0 auto 4px}.menu{background:var(--color-surface-raised);border:1px solid var(--color-line);border-radius:10px;box-shadow:var(--shadow-md);padding:6px;min-width:220px;display:flex;flex-direction:column}.menu-item{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:6px;font-size:14px;border:0;background:none;text-align:left;width:100%;cursor:pointer;font-weight:500;text-decoration:none}.menu-item,.y a.menu-item{color:var(--color-ink)}.menu-item .i{width:16px;height:16px;color:var(--color-ink-muted)}.menu-item.is-hover,.menu-item:hover{background:var(--color-surface-sunken)}.menu-item.danger,.menu-item.danger .i,.y a.menu-item.danger{color:var(--color-danger)}.menu-item .meta{margin-left:auto;font-size:12px;color:var(--color-ink-muted)}.menu-item.sel .i.ck{color:var(--color-brand-strong)}.menu-item .sub{display:block;font-size:12px;color:var(--color-ink-muted);font-weight:400}.menu-item.tall{height:auto;padding:8px 10px;align-items:flex-start}.menu-sep{height:1px;background:var(--color-line);margin:6px 0}.menu-label{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-ink-muted);padding:8px 10px 4px}.tip{background:#0D0D0D;color:#fff;font-size:12px;font-weight:500;padding:6px 8px;border-radius:6px;white-space:nowrap}.hold{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 22px;border-radius:var(--radius-md);background:var(--color-danger);color:#fff;font-weight:700;font-size:15px;border:0;cursor:pointer;isolation:isolate;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.hold .fill{position:absolute;top:0;bottom:0;left:0;background:#7A1610;z-index:-1}.hold.done{background:#318101}.hold.idle-off{background:#E9B4AF;cursor:not-allowed}.hold-hint{font-size:12.5px;color:var(--color-ink-muted);text-align:center}.theme-dark .hold{background:#D92D20}.theme-dark .hold .fill{background:#8F1C14}.skel{display:block;background:linear-gradient(90deg,#ECEEEB,#F5F6F4 40%,#ECEEEB 80%);background-size:200% 100%;animation:y-shimmer 1.4s ease-in-out infinite;border-radius:6px}.theme-dark .skel{background:linear-gradient(90deg,#1E222B,#262B35 40%,#1E222B 80%);background-size:200% 100%}@keyframes y-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:56px 24px}.empty-art{width:132px;height:104px}.empty h3{font-size:18px;font-weight:700}.empty p{color:var(--color-ink-muted);max-width:400px}.code{font-family:var(--font-mono);font-size:12.5px;line-height:1.75;background:var(--color-code-bg);color:var(--color-code-ink);border-radius:10px;padding:14px 16px;overflow:auto;white-space:pre;margin:0}.tk-k{color:#C4A7FF}.tk-s{color:#A6EE7A}.tk-c{color:#6B7380;font-style:italic}.tk-f{color:#7DD3FC}.tk-t{color:#FCD34D}.tk-a{color:#F9A8D4}.tk-p{color:#9AA1AD}.ln{color:#4B5260;display:inline-block;width:32px;text-align:right;margin-right:16px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.diff{font-family:var(--font-mono);font-size:12.5px;line-height:1.8;border:1px solid var(--color-line);border-radius:10px;overflow:hidden;background:var(--color-surface)}.diff-file{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;background:var(--color-surface-sunken);border-bottom:1px solid var(--color-line);font-family:var(--font-sans);font-size:13px;font-weight:600;flex-wrap:wrap}.dl{display:grid;grid-template-columns:44px 44px 22px minmax(0,1fr);white-space:pre}.dl .n{color:#8C908B;text-align:right;padding-right:8px;border-right:1px solid var(--color-line)}.dl .n,.dl .s{-webkit-user-select:none;-moz-user-select:none;user-select:none}.dl .s{text-align:center}.dl.add{background:#EBF8E2}.dl.add .s{color:#318101;font-weight:700}.dl.del{background:#FDEEEC}.dl.del .s{color:#B42318;font-weight:700}.dl .ha{background:#C5EAAA}.dl .ha,.dl .hd{border-radius:2px}.dl .hd{background:#F9C5BF}.dl.hunk{background:#F1F4FA;color:#4A5A7A}.theme-dark .dl.add{background:#16261A}.theme-dark .dl.del{background:#2C1718}.theme-dark .dl.hunk{background:#151B2A;color:#84ADFF}.qr{display:grid;grid-template-columns:repeat(25,1fr);width:184px;height:184px;padding:12px;background:#fff;border:1px solid var(--color-line);border-radius:12px;flex:none}.qr i{display:block}.qr i.b{background:#0D0D0D}.secret{font-family:var(--font-mono);font-size:13px;letter-spacing:.08em;background:var(--color-surface-sunken);border:1px dashed var(--color-input);border-radius:8px;padding:10px 12px;align-items:center;justify-content:space-between}.secret,.stepper,.stp{display:flex;gap:8px}.stp{flex:1 1;flex-direction:column;min-width:0}.stp .b{height:4px;border-radius:999px;background:#E3E6E2}.stp.done .b,.stp.on .b{background:var(--color-brand-strong)}.stp span{font-size:12px;color:var(--color-ink-muted);font-weight:600;display:flex;align-items:center;gap:4px}.stp.on span{color:var(--color-ink)}.stp.done span{color:var(--color-brand-strong)}.chat{flex-direction:column;gap:18px}.chat,.msg{display:flex}.msg{gap:10px;align-items:flex-start;max-width:100%}.msg.me{justify-content:flex-end}.bubble{padding:10px 14px;border-radius:14px;font-size:14px;line-height:1.55;max-width:86%}.msg.me .bubble{background:#0D0D0D;color:#fff;border-bottom-right-radius:4px}.theme-dark .msg.me .bubble{background:#2A3040;color:#E8EAED}.msg.ai .body{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1 1;font-size:14px;line-height:1.6}.ai-av{width:28px;height:28px;border-radius:8px;background:#0D0D0D;display:grid;place-items:center;flex:none}.theme-dark .ai-av{background:#252A35}.ai-av svg{width:18px;height:18px}.activity{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--color-ink-muted);font-family:var(--font-mono);padding:6px 10px;background:var(--color-surface-sunken);border:1px solid var(--color-line);border-radius:8px;align-self:flex-start}.activity .i{width:14px;height:14px}.activity.done .i{color:var(--color-ok)}.caret{display:inline-block;width:7px;height:16px;background:var(--color-brand);vertical-align:-3px;margin-left:2px;animation:y-blink 1s steps(2) infinite}.change{border:1px solid var(--color-line);border-radius:12px;background:var(--color-surface);overflow:hidden}.change-h{align-items:center;gap:8px;padding:10px 14px;background:var(--color-brand-tint);font-weight:700;border-bottom:1px solid var(--color-ok-line)}.change-b,.change-h{display:flex;font-size:13px}.change-b{padding:12px 14px;flex-direction:column;gap:10px}.change-row{display:grid;grid-template-columns:90px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:baseline}.change-row .k{font-size:12px}.change-row .k,.was{color:var(--color-ink-muted)}.was{text-decoration:line-through;-webkit-text-decoration-color:rgba(180,35,24,.5);text-decoration-color:rgba(180,35,24,.5)}.now{font-weight:600}.change-f{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--color-line);flex-wrap:wrap}.change.applied .change-h{background:var(--color-surface-sunken);border-bottom-color:var(--color-line)}.quick{display:flex;flex-wrap:wrap;gap:8px}.quick button{height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--color-line-strong);background:var(--color-surface-raised);font-weight:600;font-size:13px;cursor:pointer;color:var(--color-ink)}.quick button:hover{border-color:var(--color-ink)}.composer{border:1px solid var(--color-input);border-radius:14px;padding:10px 8px 8px 14px;display:flex;flex-direction:column;gap:8px;background:var(--color-surface-raised)}.composer textarea{width:100%;border:0;resize:none;background:transparent;outline:none;color:inherit;min-height:44px;font-size:14px;line-height:1.5;padding:0}.composer .tools{display:flex;align-items:center;gap:4px}.av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:#E3EEDB;color:#2C5A10;flex:none}.av-sm{width:24px;height:24px;font-size:10px}.av-lg{width:40px;height:40px;font-size:14px}.av.b{background:#E3E8F5;color:#24407F}.av.o{background:#F6E6D6;color:#7A4313}.av.p{background:#EFE3F3;color:#633274}.av.k{background:#2A2D2A;color:#E3E6E2}.kbd{font-family:var(--font-mono);padding:1px 6px;border:solid var(--color-line-strong);border-width:1px 1px 2px;border-radius:4px;color:var(--color-ink-muted);background:var(--color-surface-raised)}.kbd,.pin{font-size:11px}.pin{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--color-anno);color:#fff;font-weight:700;font-family:var(--font-sans);flex:none}.anno{font-size:12.5px;color:#1E3A8A;background:#EFF4FF;border:1px solid #c7d7fe;border-radius:8px;padding:8px 10px;display:flex;gap:8px;align-items:flex-start;line-height:1.5}.anno b{font-weight:700}.board{background:var(--color-surface);padding:56px;gap:48px;min-height:100%}.board,.board-h{display:flex;flex-direction:column}.board-h{gap:10px;max-width:880px}.board-h .t-display{font-size:40px;line-height:48px}.sec{flex-direction:column;gap:20px}.sec,.sec-h{display:flex}.sec-h{align-items:baseline;gap:12px;border-bottom:1px solid var(--color-line);padding-bottom:12px;flex-wrap:wrap}.sec-h h2{font-size:22px;font-weight:700;letter-spacing:-.01em}.spec{font-family:var(--font-mono);font-size:11.5px;color:var(--color-ink-muted);line-height:1.6}.cap{display:flex;flex-direction:column;gap:4px}.cap b{font-size:14px}.cap span{font-size:12.5px;color:var(--color-ink-muted)}.swatch{border-radius:12px;border:1px solid var(--color-line);overflow:hidden;background:var(--color-surface)}.swatch .c{height:72px}.swatch .m{padding:10px 12px;display:flex;flex-direction:column;gap:2px}.swatch .m b{font-size:13px}.specimen{border:1px solid var(--color-line);border-radius:12px;padding:24px;background:var(--color-surface)}.specimen.alt{background:var(--color-surface-alt)}.specimen.dark{background:#0F1115;border-color:#262B35}.phone{width:390px;position:relative;overflow:hidden;background:var(--color-surface-alt);display:flex;flex-direction:column}.m-top{height:56px;display:flex;align-items:center;gap:8px;padding:0 8px 0 16px;background:#0D0D0D;flex:none}.m-top,.m-top .btn-ghost{color:#fff}.m-tabs{display:flex;gap:4px;overflow-x:auto;padding:0 12px 10px;background:#0D0D0D;flex:none;scrollbar-width:none}.m-tabs a,.y .m-tabs a{flex:none;height:36px;padding:0 14px;border-radius:999px;color:#A3A7A2;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;text-decoration:none}.m-tabs a.on,.y .m-tabs a.on{background:#252825;color:#fff}.m-body{padding:16px;display:flex;flex-direction:column;gap:14px;flex:1 1;min-height:0}.m-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.m-card{border:1px solid var(--color-line);border-radius:12px;padding:14px 16px;flex-direction:column;gap:10px}.m-bar,.m-card{background:var(--color-surface);display:flex}.m-bar{position:-webkit-sticky;position:sticky;bottom:0;padding:12px 16px 20px;border-top:1px solid var(--color-line);gap:8px;flex:none}.fab{position:absolute;right:16px;bottom:24px;height:52px;padding:0 20px;border-radius:999px;background:var(--color-brand);color:#0D0D0D;display:inline-flex;align-items:center;gap:8px;font-weight:700;border:0;box-shadow:var(--shadow-md)}.ws{flex-direction:column;background:var(--color-surface-alt);color:var(--color-ink);overflow:hidden;position:relative}.ws,.ws-top{display:flex}.ws-top{height:56px;align-items:center;gap:10px;padding:0 12px 0 16px;border-bottom:1px solid var(--color-line);background:var(--color-surface);flex:none}.ws-body{flex:1 1}.ws-body,.ws-chat{display:flex;min-height:0}.ws-chat{width:400px;flex:none;border-right:1px solid var(--color-line);background:var(--color-surface);flex-direction:column}.ws-chat-tabs{display:flex;gap:4px;padding:8px 12px 0;border-bottom:1px solid var(--color-line);flex:none}.ws-scroll{flex:1 1;overflow:hidden;padding:20px 16px;display:flex;flex-direction:column;gap:18px;min-height:0}.ws-compose{padding:12px 16px 16px;flex:none}.ws-preview{flex:1 1;display:flex;flex-direction:column;min-width:0;padding:12px;gap:12px}.urlbar{height:40px;gap:6px;padding:0 6px;background:var(--color-surface);border:1px solid var(--color-line);border-radius:10px;flex:none}.urlbar,.urlbar .url{display:flex;align-items:center}.urlbar .url{flex:1 1;min-width:0;height:28px;gap:8px;padding:0 10px;border-radius:6px;background:var(--color-surface-sunken);font-family:var(--font-mono);font-size:12.5px;color:var(--color-ink-muted)}.devframe{flex:1 1;min-height:0;display:flex;justify-content:center;align-items:flex-start;overflow:hidden;background:repeating-linear-gradient(45deg,transparent 0 10px,rgba(255,255,255,.015) 10px 20px)}.devframe .site{width:100%;height:100%;background:#fff;border-radius:10px;overflow:hidden;color:#1A1A1A;box-shadow:0 0 0 1px #262B35}.ws-panel{width:560px;flex:none;border-left:1px solid var(--color-line);background:var(--color-surface);min-height:0}.tree,.ws-panel{display:flex;flex-direction:column}.tree{font-size:13px;gap:1px}.tree a,.tree div{display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;border-radius:6px;color:var(--color-ink-muted);font-weight:500;white-space:nowrap;text-decoration:none}.tree .on{background:var(--color-surface-raised);color:var(--color-ink)}.tree .i{width:14px;height:14px}.tree .mod{color:var(--color-warn)}.tree .mod,.tree .new{margin-left:auto;font-size:10px;font-weight:700}.tree .new{color:var(--color-ok)}.monaco{flex:1 1;min-height:0;background:#0F1115;font-family:var(--font-mono);font-size:12.5px;line-height:1.8;padding:12px 0;overflow:hidden;color:#E8EAED;white-space:pre}.monaco .cur{background:#1B2030;display:block}@media (prefers-reduced-motion:reduce){.bar.stripes>span,.caret,.chip-run .d,.skel,.spin,.tl-step.run .tl-ic{animation:none!important}.y *{transition-duration:0s!important}}