@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-ext-wght-normal.EocZY2iu.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-cyrillic-wght-normal.D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-greek-wght-normal.Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-vietnamese-wght-normal.Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-ext-wght-normal.DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_astro/jetbrains-mono-latin-wght-normal.B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f5f5f2;--surface:#fff;--surface-2:#eeefeb;--surface-3:#e5e7e2;--ink:#202832;--ink-2:#5f6b77;--ink-3:#5f6b77;--line:#e2e5e1;--line-strong:#858e98;--accent:#315fcb;--accent-hover:#264fae;--accent-soft:#e8eefa;--on-accent:#fff;--link:var(--accent);--link-hover:var(--accent-hover);--focus:var(--accent);--volt:#fce38a;--volt-ink:#202832;--ok:#23845b;--ok-ink:#1b6b49;--danger-ink:#a33b3b;--warn:#95600f;--warn-fill:#b7791f;--danger:#c44848;--ok-bg:#e7f3ec;--warn-bg:#fbf1de;--danger-bg:#f9e7e7;--shadow-sm:0 1px 2px #2028320f, 0 4px 14px -8px #2028322e;--shadow:var(--shadow-sm);--shadow-lg:0 24px 60px -20px #20283259, 0 2px 6px #20283214;--scrim:#1c21286b;--tint:12%;--c-pdf:#c8373c;--c-image:#1f7a54;--c-text:#6449c4;--c-dev:#0a6878;--c-design:#b2327f;--c-marketing:#c2410c;--c-security:#2160c4;--c-calc:#4a5562;--c-home:#8d6200;--font:"Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--step--2:.75rem;--step--1:.875rem;--step-0:1rem;--step-1:1.125rem;--step-2:clamp(1.3125rem, 1.15rem + .6vw, 1.625rem);--step-3:clamp(1.5rem, 1.3rem + .9vw, 1.875rem);--step-4:clamp(1.625rem, 1.35rem + 1.2vw, 2.25rem);--step-5:clamp(1.625rem, 1.3rem + 1.6vw, 2.5rem);--r-sm:8px;--r:12px;--r-lg:16px;--gutter:16px;--max:1320px;--measure:70ch;--ease:cubic-bezier(.2, .7, .2, 1);--sb-w:272px;--top-h:60px;--bnav-h:64px;--safe-b:env(safe-area-inset-bottom,0px);color-scheme:light;--ink-soft:var(--ink-2);--rule:var(--line);--paper:var(--surface);--panel:var(--surface-2);--chalk:var(--link);--chalk-deep:var(--link-hover);--tape:var(--accent);--tape-ink:var(--on-accent)}html[data-sidebar=collapsed]{--sb-w:76px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#20252c;--surface:#292f37;--surface-2:#303741;--surface-3:#38404b;--ink:#f0f2f4;--ink-2:#aeb7c1;--ink-3:#aeb7c1;--line:#3c444e;--line-strong:#77818d;--accent:#86a6f2;--accent-hover:#a3bcf6;--accent-soft:#2c3a55;--on-accent:#16202f;--volt:#5e5121;--volt-ink:#f0f2f4;--ok:#5bc08e;--ok-ink:#7fd3a8;--danger-ink:#f5a3a3;--warn:#e5a94a;--warn-fill:#e5a94a;--danger:#f08a8a;--ok-bg:#22392f;--warn-bg:#3a3122;--danger-bg:#432c30;--shadow-sm:0 1px 2px #0000004d, 0 6px 16px -10px #0009;--shadow-lg:0 24px 60px -16px #000000b3, 0 2px 6px #0000004d;--scrim:#0a0c0f99;--tint:22%;--c-pdf:#f08a8e;--c-image:#6fcf9f;--c-text:#b4a4f5;--c-dev:#6cc6d6;--c-design:#ec8fc6;--c-marketing:#f5a06d;--c-security:#8fb4f5;--c-calc:#b7c1cc;--c-home:#e3bd61;color-scheme:dark}}:root[data-theme=dark]{--bg:#20252c;--surface:#292f37;--surface-2:#303741;--surface-3:#38404b;--ink:#f0f2f4;--ink-2:#aeb7c1;--ink-3:#aeb7c1;--line:#3c444e;--line-strong:#77818d;--accent:#86a6f2;--accent-hover:#a3bcf6;--accent-soft:#2c3a55;--on-accent:#16202f;--volt:#5e5121;--volt-ink:#f0f2f4;--ok:#5bc08e;--ok-ink:#7fd3a8;--danger-ink:#f5a3a3;--warn:#e5a94a;--warn-fill:#e5a94a;--danger:#f08a8a;--ok-bg:#22392f;--warn-bg:#3a3122;--danger-bg:#432c30;--shadow-sm:0 1px 2px #0000004d, 0 6px 16px -10px #0009;--shadow-lg:0 24px 60px -16px #000000b3, 0 2px 6px #0000004d;--scrim:#0a0c0f99;--tint:22%;--c-pdf:#f08a8e;--c-image:#6fcf9f;--c-text:#b4a4f5;--c-dev:#6cc6d6;--c-design:#ec8fc6;--c-marketing:#f5a06d;--c-security:#8fb4f5;--c-calc:#b7c1cc;--c-home:#e3bd61;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--top-h) + 12px);overflow-x:clip}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-feature-settings:"cv11", "ss03";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:.96875rem;line-height:1.55;overflow-x:clip}@media (width>=768px){body{font-size:1rem}}img,svg,canvas,video{max-width:100%;height:auto}h1,h2,h3,h4{letter-spacing:-.018em;text-wrap:balance;color:var(--ink);margin:0 0 .5em;font-weight:680;line-height:1.15}h1{font-size:var(--step-5);letter-spacing:-.025em;font-weight:720}h2{font-size:var(--step-2);margin-top:1.8em}h3{font-size:var(--step-1);letter-spacing:-.01em;margin-top:1.4em;font-weight:650}p,ul,ol,dl,table,pre{margin:0 0 1em}a{color:var(--link);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--link-hover);text-decoration-thickness:2px}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}::selection{background:var(--accent-soft);color:var(--ink)}code,kbd,pre,samp{font-family:var(--mono);font-size:.88em}code{background:var(--surface-2);border-radius:5px;padding:.1em .35em}kbd{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);border-bottom-width:2px;border-radius:5px;padding:0 .4em;font-size:.75rem;line-height:1.6;display:inline-block}hr{border:0;border-top:1px solid var(--line);margin:2em 0}[hidden]{display:none!important}.wrap{max-width:var(--max);padding:0 var(--gutter);margin:0 auto}@media (width>=768px){:root{--gutter:24px}}@media (width>=1440px){:root{--gutter:32px}}.prose{max-width:var(--measure)}.prose li{margin-bottom:.4em}.muted{color:var(--ink-2)}.mono{font-family:var(--mono)}.label-mono{font-size:var(--step--2);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);font-weight:650}.skip{z-index:100;position:absolute;left:-9999px}.skip:focus{left:var(--gutter);background:var(--surface);border-radius:var(--r-sm);padding:8px 12px;top:8px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.app{grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid}.app-main{flex-direction:column;min-width:0;display:flex}.app-main>main{flex:1 0 auto;container:main/inline-size}@media (width>=1024px){.app{grid-template-columns:var(--sb-w) minmax(0, 1fr)}}@media (width<=1023.98px){body{padding-bottom:calc(var(--bnav-h) + var(--safe-b))}}.brand{color:var(--ink);letter-spacing:-.03em;flex:none;align-items:center;gap:10px;min-height:44px;font-size:1.2rem;font-weight:720;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.brand svg{flex:none}.brand-img{object-fit:contain;width:auto;max-width:180px;height:30px;display:block}.logo-mark .lm-bg{fill:var(--accent)}.logo-mark .lm-marks{stroke:var(--on-accent)}.logo-mark .lm-px{fill:var(--on-accent)}.sidebar{display:none}@media (width>=1024px){.sidebar{z-index:25;background:var(--surface);border-right:1px solid var(--line);flex-direction:column;height:100dvh;display:flex;position:sticky;top:0;overflow:hidden}}.sb-head{min-height:var(--top-h);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:10px 12px 10px 18px;display:flex}.sb-scroll{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:auto;padding:12px 10px 16px;overflow:hidden auto}.sb-group+.sb-group{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.sb-title{font-size:var(--step--2);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);justify-content:space-between;align-items:center;gap:8px;min-height:28px;margin:0 0 4px;padding:0 10px;font-weight:650;display:flex}.sb-list{grid-template-columns:minmax(0,1fr);gap:2px;margin:0;padding:0;list-style:none;display:grid}.sb-link{border-radius:var(--r-sm);min-height:40px;color:var(--ink);white-space:nowrap;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:6px 10px;font-family:inherit;font-size:.875rem;font-weight:550;text-decoration:none;display:flex}.sb-link:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}.sb-link[aria-current=page],.sb-link.is-parent{background:var(--accent-soft);color:var(--accent)}.sb-link[aria-current=page] .sb-ico,.sb-link.is-parent .sb-ico{color:var(--accent)}.sb-ico{width:24px;height:24px;color:var(--ink-2);flex:none;place-items:center;display:grid}.sb-label{text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.sb-count{font-size:var(--step--2);font-variant-numeric:tabular-nums;color:var(--ink-2);background:var(--surface-2);border-radius:999px;flex:none;padding:1px 8px;font-weight:600}.sb-link .tile{border-radius:7px;width:24px;height:24px}.sb-link .tile svg{width:15px;height:15px}.sb-toggle{width:100%;font:inherit;cursor:pointer;border-radius:var(--r-sm);background:0 0;border:0;align-items:center;gap:8px;min-height:32px;padding:0 10px;display:flex}.sb-toggle:hover{background:var(--surface-2)}.sb-toggle.sb-title{font-size:var(--step--2);color:var(--ink-2)}.sb-toggle .chev{transition:transform .18s var(--ease);margin-left:auto;display:grid}.sb-toggle[aria-expanded=false] .chev{transform:rotate(-90deg)}.sb-empty{font-size:var(--step--1);color:var(--ink-2);margin:2px 10px 0}.sb-foot{border-top:1px solid var(--line);padding:10px}html[data-sidebar=collapsed] .sidebar .sb-label,html[data-sidebar=collapsed] .sidebar .sb-count{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}html[data-sidebar=collapsed] .sidebar .sb-title,html[data-sidebar=collapsed] .sidebar .sb-hide-collapsed,html[data-sidebar=collapsed] .sidebar .brand-word{display:none}html[data-sidebar=collapsed] .sb-head{flex-direction:column;gap:4px;padding:10px 8px}html[data-sidebar=collapsed] .sb-link{justify-content:center;padding:6px}html[data-sidebar=collapsed] .sb-scroll{padding-left:8px;padding-right:8px}html[data-sidebar=collapsed] .sb-cats[hidden]{display:grid!important}html[data-sidebar=collapsed] .sb-collapse svg{transform:scaleX(-1)}.sb-tip{z-index:60;pointer-events:none;background:var(--ink);color:var(--bg);font-size:var(--step--1);white-space:nowrap;box-shadow:var(--shadow-sm);border-radius:6px;padding:5px 9px;font-weight:600;position:fixed}.topbar{z-index:20;min-height:var(--top-h);padding:8px var(--gutter);background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:saturate(1.3)blur(10px);border-bottom:1px solid var(--line);align-items:center;gap:8px;display:flex;position:sticky;top:0}.topbar .brand{margin-right:auto}.top-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.search-field{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--ink-2);font:inherit;font-size:var(--step--1);cursor:pointer;text-align:left;border-radius:10px;flex:0 520px;align-items:center;gap:10px;padding:0 8px 0 12px;transition:border-color .15s,box-shadow .15s;display:none}.search-field:hover{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.search-field .sf-text{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.search-field kbd{flex:none}.icon-btn{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;text-decoration:none;display:inline-grid}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn:active{background:var(--surface-3)}.top-link{min-height:44px;color:var(--ink);font-size:var(--step--1);border-radius:10px;align-items:center;gap:6px;padding:0 10px;font-weight:600;text-decoration:none;display:none}.top-link:hover{background:var(--surface-2);color:var(--ink);text-decoration:none}@media (width>=1024px){.topbar{padding-left:var(--gutter)}.topbar .brand,.topbar .m-only{display:none}.search-field,.top-link{display:inline-flex}}.bnav{z-index:30;height:calc(var(--bnav-h) + var(--safe-b));padding:4px max(4px, env(safe-area-inset-left,0px)) var(--safe-b) max(4px, env(safe-area-inset-right,0px));background:var(--surface);border-top:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px -12px #20283240}@media (width>=1024px){.bnav{display:none}}.bnav-item{min-height:56px;color:var(--ink-2);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:4px 2px;font-size:.6875rem;font-weight:600;text-decoration:none;transition:color .15s,background-color .15s;display:flex}.bnav-item:hover{color:var(--ink);text-decoration:none}.bnav-item:active{background:var(--surface-2);transform:scale(.97)}.bnav-item[aria-current=page],.bnav-item[aria-expanded=true],.bnav-item[data-here]{color:var(--accent)}.bnav-item .bn-ico{border-radius:999px;place-items:center;width:44px;height:28px;transition:background-color .15s;display:grid}.bnav-item[aria-current=page] .bn-ico,.bnav-item[aria-expanded=true] .bn-ico,.bnav-item[data-here] .bn-ico{background:var(--accent-soft)}dialog.layer{color:var(--ink);background:var(--surface);border:0;max-width:none;max-height:none;padding:0}dialog.layer::backdrop{background:var(--scrim)}dialog.drawer{border-left:1px solid var(--line);width:min(360px,88vw);height:100dvh;box-shadow:var(--shadow-lg);margin:0 0 0 auto}dialog.drawer[open]{animation:drawer-in .22s var(--ease);flex-direction:column;display:flex}dialog.sheet{width:100%;max-width:640px;max-height:82dvh;box-shadow:var(--shadow-lg);border-radius:18px 18px 0 0;margin:auto auto 0}dialog.sheet[open]{animation:sheet-in .22s var(--ease);flex-direction:column;display:flex}@media (width>=768px){dialog.sheet{border-radius:var(--r-lg);max-height:76vh;margin:auto}}@keyframes drawer-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.layer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:60px;padding:10px 10px 10px 18px;display:flex}.layer-head h2{margin:0;font-size:1.05rem}.layer-body{padding:12px 12px calc(16px + var(--safe-b));overscroll-behavior:contain;flex:auto;overflow-y:auto}.layer-body .sb-link{min-height:48px;font-size:.95rem}.drawer-cat>summary{list-style:none}.drawer-cat>summary::-webkit-details-marker{display:none}.drawer-cat>summary .chev{transition:transform .18s var(--ease);color:var(--ink-2);margin-left:auto;display:grid}.drawer-cat[open]>summary .chev{transform:rotate(180deg)}.drawer-tools{border-left:1px solid var(--line);margin:2px 0 8px 46px;padding:0 0 0 10px;list-style:none;display:grid}.drawer-tools a{min-height:40px;color:var(--ink);border-radius:8px;align-items:center;padding:4px 8px;font-size:.9rem;text-decoration:none;display:flex}.drawer-tools a:hover{background:var(--surface-2)}.theme-seg{background:var(--surface-2);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:4px;margin:4px 0;padding:4px;display:grid}.theme-seg button{min-height:40px;font:inherit;font-size:var(--step--1);color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:9px;font-weight:600}.theme-seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.sheet-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.announce{background:var(--ink);color:var(--bg);font-size:var(--step--1);z-index:26;position:relative}.announce .wrap{max-width:none;padding-top:8px;padding-bottom:8px}.announce a{color:inherit;font-weight:650}.announce-warn{background:var(--warn-bg);color:var(--ink)}.announce-ok{background:var(--ok-bg);color:var(--ink)}.announce-volt{background:var(--accent-soft);color:var(--ink)}.announce-volt a{color:var(--accent)}.crumbs{font-size:var(--step--1);color:var(--ink-2);margin:20px 0 14px}.crumbs ol{flex-wrap:wrap;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"";border-right:1.5px solid var(--line-strong);border-top:1.5px solid var(--line-strong);width:6px;height:6px;margin-right:8px;display:inline-block;transform:rotate(45deg)translateY(-1px)}.crumbs a{color:var(--ink-2);text-decoration:none}.crumbs a:hover{color:var(--accent);text-decoration:underline}.crumbs [aria-current]{color:var(--ink);font-weight:600}.site-foot{border-top:1px solid var(--line);background:var(--surface);font-size:var(--step--1);margin-top:72px}.foot-top{grid-template-columns:minmax(0,1fr);gap:28px 32px;padding-top:40px;padding-bottom:24px;display:grid}@media (width>=640px){.foot-top{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1100px){.foot-top{grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr))}}.foot-brand p{color:var(--ink-2);max-width:44ch;margin:10px 0 0}.site-foot h2{font-size:var(--step--2);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);margin:0 0 12px;font-weight:650}.site-foot ul{margin:0;padding:0;list-style:none}.site-foot li{margin-bottom:4px}.site-foot li a{min-height:32px;color:var(--ink);align-items:center;text-decoration:none;display:inline-flex}.site-foot a:hover{color:var(--accent);text-decoration:underline}.foot-fine{border-top:1px solid var(--line);color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding-top:16px;padding-bottom:24px;display:flex}.social-links{flex-wrap:wrap;gap:4px 14px;margin:12px 0 0;padding:0;list-style:none;display:flex}.btn{min-height:42px;font:inherit;font-size:var(--step--1);border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;transition:background-color .15s var(--ease), border-color .15s var(--ease), box-shadow .15s var(--ease), transform .1s var(--ease);justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-weight:620;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink-2);color:var(--ink);background:var(--surface-2);text-decoration:none}.btn:active{transform:translateY(1px)}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:0 1px 2px #2028321f}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent)}.btn-lg{min-height:48px;font-size:var(--step-0);padding:10px 22px}.btn-quiet{color:var(--ink-2);background:0 0;border-color:#0000;padding-left:10px;padding-right:10px}.btn-quiet:hover{background:var(--surface-2);color:var(--ink);border-color:#0000}.btn-sm{min-height:36px;font-size:var(--step--1);padding:4px 12px}.btn.is-on{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 45%, transparent);color:var(--accent)}.btn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.input,.select,.textarea,.fieldset input[type=text],.fieldset input[type=number]{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);width:100%;min-width:0;min-height:44px;padding:9px 12px;font-size:1rem;transition:border-color .15s,box-shadow .15s}.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-2)}.textarea{font-family:var(--mono);resize:vertical;tab-size:2;min-height:180px;font-size:.86rem;line-height:1.55}.textarea[readonly]{background:var(--surface-2)}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 28%, transparent);outline:0}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-2) 50%), linear-gradient(135deg, var(--ink-2) 50%, transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-repeat:no-repeat;background-size:5px 5px;padding-right:34px}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent)}input[type=checkbox],input[type=radio]{flex:none;width:18px;height:18px;margin:0}input[type=range]{width:100%;min-height:28px}input[type=color]{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;width:52px;height:44px;padding:3px}.field{gap:6px;min-width:0;display:grid}.field>label,.field>.flabel{font-weight:600;font-size:var(--step--1)}.field .hint{font-size:var(--step--2);color:var(--ink-2);margin:0}.check{min-height:36px;font-size:var(--step--1);cursor:pointer;align-items:center;gap:10px;display:flex}.inline-group{align-items:center;gap:8px;display:flex}.inline-group .input{flex:auto}.seg{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;flex-wrap:wrap;gap:3px;padding:3px;display:inline-flex}.seg label{cursor:pointer;min-height:36px;font-size:var(--step--1);color:var(--ink-2);border-radius:8px;align-items:center;padding:6px 12px;font-weight:600;display:inline-flex;position:relative}.seg label:hover{color:var(--ink)}.seg input{opacity:0;pointer-events:none;position:absolute}.seg label:has(input:checked){background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);outline:1px solid var(--line)}.seg label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:0}.mode-switch{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;gap:3px;padding:3px;display:inline-flex}.mode-switch button{min-height:36px;font:inherit;font-size:var(--step--1);color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:4px 14px;font-weight:600}.mode-switch button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);outline:1px solid var(--line)}.mode-switch button:hover{color:var(--ink)}.bulk-panel{gap:12px;display:grid}.badge{font-size:var(--step--2);background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-weight:600;display:inline-flex}.badge-local{background:var(--ok-bg);color:var(--ok-ink);border-color:color-mix(in srgb, var(--ok) 25%, transparent)}.badge-volt,.badge-accent{background:var(--accent-soft);color:var(--accent);border-color:#0000}.notice{border:1px solid var(--line);border-left:4px solid var(--ink-2);background:var(--surface);border-radius:var(--r-sm);font-size:var(--step--1);padding:12px 14px}.notice-error{border-left-color:var(--danger);background:var(--danger-bg)}.notice-ok{border-left-color:var(--ok);background:var(--ok-bg)}.notice-warn{border-left-color:var(--warn-fill);background:var(--warn-bg)}.notice p:last-child{margin-bottom:0}.status{min-height:1.5em;font-size:var(--step--1);color:var(--ink-2);margin:0;font-weight:600}.status[data-tone=ok]{color:var(--ok)}.status[data-tone=error]{color:var(--danger)}.status[data-tone=busy]{color:var(--accent)}.grid-tools{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.tcard{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);height:100%;color:var(--ink);transition:border-color .15s var(--ease), transform .15s var(--ease), box-shadow .15s var(--ease);align-items:flex-start;gap:14px;padding:16px;text-decoration:none;display:flex;position:relative}.tcard:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));color:var(--ink);box-shadow:var(--shadow-sm);text-decoration:none;transform:translateY(-1px)}.tcard:hover h3{color:var(--accent)}.tcard h3{letter-spacing:-.01em;margin:0 0 4px;font-size:.98rem;font-weight:650;transition:color .15s}.tcard p{font-size:var(--step--1);color:var(--ink-2);margin:0;line-height:1.45}.tcard .tc-cat{font-size:var(--step--2);color:var(--ink-2);margin-top:8px;font-weight:600;display:block}.tcard .new{position:absolute;top:10px;right:10px}.tile{--c:var(--c-calc);width:40px;height:40px;color:var(--c);background:color-mix(in srgb, var(--c) var(--tint), var(--surface));border-radius:10px;flex:none;place-items:center;display:grid}.tile svg{width:22px;height:22px}.tile[data-cat=pdf]{--c:var(--c-pdf)}.tile[data-cat=image]{--c:var(--c-image)}.tile[data-cat=text]{--c:var(--c-text)}.tile[data-cat=dev]{--c:var(--c-dev)}.tile[data-cat=design]{--c:var(--c-design)}.tile[data-cat=marketing]{--c:var(--c-marketing)}.tile[data-cat=security]{--c:var(--c-security)}.tile[data-cat=calc]{--c:var(--c-calc)}.tile[data-cat=home]{--c:var(--c-home)}.tile-lg{border-radius:14px;width:56px;height:56px}.tile-lg svg{width:30px;height:30px}.cat-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.ccard{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);height:100%;color:var(--ink);grid-template-columns:auto minmax(0,1fr);align-content:start;align-items:start;gap:6px 14px;padding:18px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.ccard:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none;transform:translateY(-1px)}.ccard h3{flex-wrap:wrap;align-items:baseline;gap:8px;margin:0;font-size:1.02rem;display:flex}.ccard h3 .sb-count{font-size:var(--step--2)}.ccard p{font-size:var(--step--1);color:var(--ink-2);grid-column:2;margin:0;line-height:1.45}.ccard .tile{grid-row:span 2}.hero{padding:36px 0 8px}@media (width>=768px){.hero{padding:48px 0 12px}}.hero h1{max-width:22ch;margin-bottom:10px;font-size:clamp(1.75rem,1.3rem + 2.2vw,2.5rem)}.hero h1 em{color:var(--accent);font-style:normal}.hero .sub{max-width:60ch;color:var(--ink-2);margin-bottom:22px;font-size:clamp(1rem,.95rem + .3vw,1.125rem)}.finder{max-width:720px;position:relative}.finder .input{border:1px solid var(--line-strong);min-height:56px;box-shadow:var(--shadow-sm);border-radius:14px;padding-left:48px;padding-right:16px;font-size:1.05rem}.finder .finder-icon{color:var(--ink-2);pointer-events:none;display:grid;position:absolute;top:17px;left:16px}.finder-status{font-size:var(--step--1);color:var(--ink-2);margin:8px 0 0}.finder-status:empty{margin:0}.finder-results{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-lg);max-width:720px;margin:8px 0 0;padding:6px;list-style:none}.popular-searches{font-size:var(--step--1);flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.popular-searches .ps-label{color:var(--ink-2);margin-right:2px;font-weight:600}@media (width<=767.98px){.page-head .tile-lg,.cat-hero .tile-lg{border-radius:12px;width:44px;height:44px}.page-head .tile-lg svg,.cat-hero .tile-lg svg{width:24px;height:24px}.page-head,.cat-hero{gap:12px}.cat-chips{margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));padding:2px var(--gutter) 6px;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.cat-chips::-webkit-scrollbar{display:none}.cat-chips li{flex:none}.cat-intro{font-size:1rem}.popular-searches{margin-left:calc(-1 * var(--gutter));margin-right:calc(-1 * var(--gutter));padding:2px var(--gutter) 6px;scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.popular-searches::-webkit-scrollbar{display:none}.popular-searches li{flex:none}}.cat-chips{flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.cat-chips a,.chip-link{border:1px solid var(--line);background:var(--surface);min-height:36px;color:var(--ink);font-size:var(--step--1);border-radius:999px;align-items:center;gap:8px;padding:4px 12px;font-weight:550;text-decoration:none;display:inline-flex}.cat-chips a:hover,.chip-link:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));color:var(--accent);text-decoration:none}.cat-chips .tile{border-radius:999px;width:24px;height:24px;margin-left:-6px}.cat-chips .tile svg{width:14px;height:14px}.trust{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;margin:0;display:grid}.trust>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px}.trust>div>span{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);border-radius:10px;place-items:center;display:inline-grid}.trust h2,.trust h3{letter-spacing:-.005em;margin:12px 0 4px;font-size:1rem}.trust p{color:var(--ink-2);font-size:var(--step--1);margin:0}.section{margin-top:56px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px;margin:56px 0 16px;display:flex}.section>.section-head{margin-top:0}.section-head h2{align-items:center;gap:12px;margin:0;display:flex}.section-head p{color:var(--ink-2);font-size:var(--step--1);margin:4px 0 0}.section-head .more-link{font-size:var(--step--1);white-space:nowrap;font-weight:600;text-decoration:none}.section-head .more-link:hover{text-decoration:underline}.cat-section[hidden],.grid-tools>li[hidden]{display:none}.guide-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.guide-card{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);height:100%;color:var(--ink);flex-direction:column;gap:6px;padding:18px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.guide-card:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));box-shadow:var(--shadow-sm);color:var(--ink);text-decoration:none}.guide-card .gc-kicker{font-size:var(--step--2);text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-weight:650}.guide-card h3{margin:0;font-size:1.02rem}.guide-card p{color:var(--ink-2);font-size:var(--step--1);margin:0}.guide-card .gc-more{font-size:var(--step--1);color:var(--accent);margin-top:auto;padding-top:6px;font-weight:600}.faq-wrap{max-width:860px}.cta-band{border-radius:var(--r-lg);background:var(--accent-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;margin-top:56px;padding:24px;display:flex}.cta-band h2{font-size:var(--step-1);margin:0}.cta-band p{color:var(--ink-2);font-size:var(--step--1);margin:4px 0 0}.page-head{align-items:center;gap:18px;margin:4px 0 8px;display:flex}.page-head h1{margin:0}.cat-hero{align-items:center;gap:18px;margin:4px 0 8px;display:flex}.cat-hero h1{margin:0}.cat-intro{max-width:70ch;color:var(--ink-2);font-size:var(--step-1)}.filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:24px 0 14px;display:flex}.filter-bar .cat-count{margin:0}.filter-field{flex:0 360px;min-width:min(100%,240px);position:relative}.filter-field .input{min-height:44px;padding-left:40px}.filter-field>span{color:var(--ink-2);pointer-events:none;display:grid;position:absolute;top:12px;left:12px}.filter-empty{border:1px dashed var(--line-strong);border-radius:var(--r);color:var(--ink-2);text-align:center;padding:24px}.cat-count{font-size:var(--step-0);letter-spacing:0;margin:24px 0 12px;font-weight:650}dialog.cmdk{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);width:min(680px,100vw - 32px);max-height:min(76vh,680px);color:var(--ink);box-shadow:var(--shadow-lg);margin:9vh auto auto;padding:0}dialog.cmdk[open]{animation:sheet-in .18s var(--ease);flex-direction:column;display:flex}dialog.cmdk::backdrop{background:var(--scrim)}.cmdk-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 8px 8px 16px;display:flex}.cmdk-head>span{color:var(--ink-2);display:grid}.cmdk-head input{min-width:0;font:inherit;color:var(--ink);background:0 0;border:0;outline:0;flex:auto;min-height:48px;font-size:1.06rem}.cmdk-head input::-webkit-search-cancel-button{display:none}.cmdk-body{overscroll-behavior:contain;flex:auto;padding:6px 8px 10px;overflow-y:auto}.cmdk-group{margin:8px 0 0}.cmdk-glabel{font-size:var(--step--2);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);justify-content:space-between;align-items:center;gap:8px;margin:6px 10px 4px;font-weight:650;display:flex}.cmdk-glabel button{font:inherit;text-transform:none;letter-spacing:0;color:var(--accent);cursor:pointer;font-size:var(--step--2);background:0 0;border:0;min-height:28px;padding:0 4px}.cmdk-list{margin:0;padding:0;list-style:none}.cmdk-list li{cursor:pointer;border-radius:10px;align-items:center;gap:12px;min-height:52px;padding:8px 10px;display:flex}.cmdk-list li[aria-selected=true]{background:var(--accent-soft)}.cmdk-list li[aria-selected=true] .t-name{color:var(--accent)}.cmdk-list .tile{border-radius:9px;width:34px;height:34px}.cmdk-list .tile svg{width:18px;height:18px}.cmdk-list .t-txt{flex:auto;min-width:0;display:grid}.cmdk-list .t-name{font-size:.95rem;font-weight:600}.cmdk-list .t-desc{font-size:var(--step--1);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cmdk-list .t-cat{font-size:var(--step--2);color:var(--ink-2);background:var(--surface-2);border-radius:999px;flex:none;padding:2px 8px;font-weight:600}.cmdk-list .t-ico{width:34px;height:34px;color:var(--ink-2);flex:none;place-items:center;display:grid}.cmdk-chips{flex-wrap:wrap;gap:6px;margin:4px 10px 6px;padding:0;list-style:none;display:flex}.cmdk-chips button{border:1px solid var(--line);background:var(--surface);min-height:34px;color:var(--ink);font:inherit;font-size:var(--step--1);cursor:pointer;border-radius:999px;align-items:center;padding:2px 12px;display:inline-flex}.cmdk-chips button:hover{border-color:var(--accent);color:var(--accent)}.cmdk-empty{color:var(--ink-2);margin:0;padding:14px 10px 4px}.cmdk-foot{border-top:1px solid var(--line);font-size:var(--step--2);color:var(--ink-2);flex-wrap:wrap;gap:14px;padding:8px 14px;display:flex}@media (width<=767.98px){dialog.cmdk{border:0;border-radius:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0}.cmdk-foot{display:none}.cmdk-body{padding-bottom:calc(16px + var(--safe-b))}}.tool-actions{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.tool-actions .btn{min-height:38px}.tool-actions .btn svg{flex:none}.fav-btn[aria-pressed=true] svg{fill:currentColor}.share-note{font-size:var(--step--1);color:var(--ok);margin:6px 0 0;font-weight:600}.share-note:empty{margin:0}.tool-head{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:16px 18px;margin-bottom:18px;display:grid}.tool-head h1{font-size:var(--step-5);margin:2px 0 6px}.tool-head .tagline{color:var(--ink-2);max-width:64ch;margin:0 0 12px;font-size:clamp(1rem,.95rem + .3vw,1.125rem)}.tool-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (width<=767.98px){.tool-head{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:10px 12px}.tool-head>div{display:contents}.tool-head .tile-lg{border-radius:12px;width:44px;height:44px}.tool-head .tile-lg svg{width:24px;height:24px}.tool-head h1{margin:0}.tool-head .tagline,.tool-head .tool-meta,.tool-head .tool-actions,.tool-head .share-note{grid-column:1/-1}.tool-head .tagline{margin:0}}.workspace{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:clamp(16px,2.6vw,28px);position:relative}.ws-grid{gap:22px;display:grid}@container main (width>=760px){.ws-grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ws-grid.side{grid-template-columns:minmax(0,1fr) minmax(0,380px)}}.ws-step{grid-template-columns:minmax(0,1fr);align-content:start;gap:12px;min-width:0;display:grid}.ws-step>.label-mono,.ws-step>.ws-head>.label-mono{align-items:center;gap:8px;display:flex}.ws-step .label-mono b{background:var(--accent-soft);min-width:26px;height:22px;color:var(--accent);font-family:var(--mono);letter-spacing:0;border-radius:6px;place-items:center;padding:0 6px;font-weight:700;display:inline-grid}.ws-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.options{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));align-items:end;gap:14px 16px;display:grid}.options .full{grid-column:1/-1}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.dropzone{text-align:center;border:1.5px dashed var(--line-strong);border-radius:var(--r);background:var(--bg);place-items:center;gap:8px;min-height:190px;padding:28px 18px;transition:border-color .15s,background-color .15s;display:grid;position:relative}.dropzone:hover{border-color:var(--accent)}.dropzone>span:first-child{color:var(--accent)}.dropzone.is-over{border-color:var(--accent);background:var(--accent-soft)}.dropzone .dz-title{font-weight:650;font-size:var(--step-1);margin:0}.dropzone .dz-sub{font-size:var(--step--1);color:var(--ink-2);margin:0}.dropzone input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.dropzone:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.dropzone.compact{min-height:92px;padding:16px}.filelist{gap:8px;margin:0;padding:0;list-style:none;display:grid}.fileitem{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.fileitem .thumb{object-fit:cover;background:var(--surface-2);border-radius:6px;place-items:center;width:52px;height:52px;display:grid;overflow:hidden}.fileitem .thumb img,.fileitem .thumb canvas{object-fit:cover;width:100%;height:100%}.fileitem .fname{font-weight:650;font-size:var(--step--1);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.fileitem .fmeta{font-size:var(--step--2);color:var(--ink-2);font-family:var(--mono);margin:2px 0 0}.fileitem .fmeta .gain{color:var(--ok);font-weight:700}.fileitem .fmeta .loss{color:var(--warn);font-weight:700}.fileitem .factions{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}@media (width<=520px){.fileitem{grid-template-columns:auto minmax(0,1fr)}.fileitem .factions{grid-column:1/-1;justify-content:flex-start}}.pages{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.page{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);justify-items:center;gap:6px;padding:8px;display:grid;position:relative}.page .pthumb{aspect-ratio:.75;background:var(--surface-2);border-radius:4px;place-items:center;width:100%;display:grid;overflow:hidden}.page .pthumb canvas{object-fit:contain;width:100%;height:100%;transition:transform .2s var(--ease);background:#fff}.page .pnum{font-family:var(--mono);font-size:var(--step--2);color:var(--ink-2)}.page .pctl{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.page.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.page.is-deleted{opacity:.45}.page.is-deleted .pthumb:after{content:"";background:repeating-linear-gradient(45deg, transparent 0 8px, color-mix(in srgb, var(--danger) 35%, transparent) 8px 10px);pointer-events:none;height:calc(100% - 48px);position:absolute;inset:8px 8px auto}.page.dragging{opacity:.6}.page.drop-before{box-shadow:-4px 0 0 0 var(--accent)}.stats{background:var(--line);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:repeat(auto-fit,minmax(min(100%,130px),1fr));gap:1px;margin:0;display:grid;overflow:hidden}.stats>div{background:var(--surface);padding:12px 14px}.stats dt{font-size:var(--step--2);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-2);font-weight:600}.stats dd{font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:2px 0 0;font-size:1.5rem;font-weight:700}.result-card{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}.result-top{background:var(--accent);color:var(--on-accent);padding:18px 18px 16px;position:relative}.result-top .label-mono{color:var(--on-accent);opacity:.85}.result-top .big{font-variant-numeric:tabular-nums;letter-spacing:-.03em;overflow-wrap:anywhere;margin:4px 0 0;font-size:clamp(1.9rem,6vw,2.6rem);font-weight:700;line-height:1.08}.result-top .big small{letter-spacing:0;font-size:.45em;font-weight:600}.result-rows{grid-template-columns:minmax(0,1fr) auto;margin:0;padding:6px 18px 12px;display:grid}.result-rows dt,.result-rows dd{border-bottom:1px dashed var(--line);font-size:var(--step--1);margin:0;padding:9px 0}.result-rows dd{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;font-family:var(--mono);padding-left:12px}.result-rows>:nth-last-child(-n+2){border-bottom:0}.result-foot{padding:0 18px 16px}.output-box{position:relative}.output-box .copy{position:absolute;top:8px;right:8px}pre.code{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);white-space:pre;tab-size:2;max-height:480px;padding:12px 14px;font-size:.82rem;line-height:1.5;overflow:auto}pre.code.wrap-lines{white-space:pre-wrap;overflow-wrap:anywhere}.preview-frame{border:1px solid var(--line);border-radius:var(--r-sm);color:#111;background:#fff;max-height:520px;padding:16px;overflow:auto}.table-scroll{border:1px solid var(--line);border-radius:var(--r-sm);overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:var(--step--1);font-variant-numeric:tabular-nums}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 12px}table.data th{background:var(--surface-2);font-weight:700;position:sticky;top:0}table.data td.num,table.data th.num{text-align:right}.diff{font-family:var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);max-height:560px;padding:12px 14px;font-size:.84rem;line-height:1.55;overflow:auto}.diff ins{background:color-mix(in srgb, var(--ok) 22%, transparent);text-decoration:none}.diff del{background:color-mix(in srgb, var(--danger) 22%, transparent);text-decoration:line-through}mark.hit,mark.m{background:var(--volt);color:var(--volt-ink);border-radius:2px}mark.hit.alt{background:var(--accent-soft);color:var(--ink)}.swatches{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.swatch{font-family:var(--mono);font-size:var(--step--2);justify-items:start;gap:4px;display:grid}.swatch button{border:1px solid var(--line);cursor:pointer;border-radius:8px;width:64px;height:48px}.meter{background:var(--surface-2);border-radius:999px;height:10px;overflow:hidden}.meter>span{background:var(--accent);width:0;height:100%;transition:width .25s var(--ease);display:block}.meter[data-level="0"]>span{background:var(--danger)}.meter[data-level="1"]>span{background:#d9480f}.meter[data-level="2"]>span{background:var(--warn)}.meter[data-level="3"]>span{background:#2f9e44}.meter[data-level="4"]>span{background:var(--ok)}.canvas-wrap{border:1px solid var(--line);border-radius:var(--r-sm);background:repeating-conic-gradient(var(--surface-2) 0 25%, var(--surface) 0 50%) 0 0 / 16px 16px;touch-action:none;place-items:center;display:grid;position:relative;overflow:hidden}.canvas-wrap canvas{max-height:70vh;display:block}.crop-box{cursor:move;touch-action:none;border:2px solid #ffd84d;position:absolute;box-shadow:0 0 0 9999px #00000073}.crop-box.circle{border-radius:50%}.crop-handle{touch-action:none;background:#ffd84d;border:2px solid #202832;border-radius:3px;width:18px;height:18px;position:absolute}.crop-handle[data-h=nw]{cursor:nwse-resize;top:-9px;left:-9px}.crop-handle[data-h=ne]{cursor:nesw-resize;top:-9px;right:-9px}.crop-handle[data-h=sw]{cursor:nesw-resize;bottom:-9px;left:-9px}.crop-handle[data-h=se]{cursor:nwse-resize;bottom:-9px;right:-9px}.qr-preview{border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;place-items:center;min-height:240px;padding:16px;display:grid}.qr-preview svg,.qr-preview canvas,.qr-preview img{max-width:100%;height:auto}.serp{color:#202124;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;max-width:640px;padding:16px;font-family:Arial,Helvetica,sans-serif}.serp .s-url{color:#202124;margin:0 0 4px;font-size:14px}.serp .s-title{color:#1a0dab;margin:0 0 4px;font-size:20px;line-height:1.3}.serp .s-desc{color:#4d5156;margin:0;font-size:14px;line-height:1.58}.social-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;max-width:520px;overflow:hidden}.social-card .sc-img{aspect-ratio:1.91;background:var(--surface-2);color:var(--ink-3);font-size:var(--step--1);place-items:center;display:grid;overflow:hidden}.social-card .sc-img img{object-fit:cover;width:100%;height:100%}.social-card .sc-body{padding:10px 14px 12px}.social-card .sc-domain{font-size:var(--step--2);color:var(--ink-2);text-transform:uppercase;margin:0}.social-card .sc-title{margin:2px 0;font-weight:700}.social-card .sc-desc{font-size:var(--step--1);color:var(--ink-2);margin:0}.contrast-sample{border-radius:var(--r);border:1px solid var(--line);padding:20px}.contrast-sample .lg{margin:0 0 6px;font-size:24px;font-weight:700}.contrast-sample .sm{margin:0;font-size:16px}.pill-ok,.pill-fail{font-family:var(--mono);font-size:var(--step--2);border-radius:999px;padding:2px 8px;font-weight:700;display:inline-block}.pill-ok{background:var(--ok-bg);color:var(--ok-ink)}.pill-fail{background:var(--danger-bg);color:var(--danger-ink)}.tool-content{gap:8px 56px;margin-top:56px;display:grid}@container main (width>=940px){.tool-content{grid-template-columns:minmax(0,1fr) 300px}}.tool-content>aside{top:calc(var(--top-h) + 20px);align-self:start;position:sticky}.steps{counter-reset:s;gap:10px;margin:0 0 1em;padding:0;list-style:none;display:grid}.steps li{counter-increment:s;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:12px;padding-top:2px;display:grid}.steps li>span{padding-top:2px}.steps li:before{content:counter(s);font-family:var(--mono);font-weight:700;font-size:var(--step--1);background:var(--accent-soft);color:var(--accent);text-align:center;border-radius:999px;place-items:center;width:28px;height:28px;display:grid}.faq{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;min-height:48px;padding:14px 36px 14px 0;font-weight:620;list-style:none;position:relative}.faq summary:hover{color:var(--accent)}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";border-right:2px solid var(--ink-2);border-bottom:2px solid var(--ink-2);width:8px;height:8px;transition:transform .2s var(--ease);position:absolute;top:20px;right:8px;transform:rotate(45deg)}.faq details[open] summary:after{top:24px;transform:rotate(225deg)}.faq details>div{color:var(--ink-2);padding:0 0 14px}.faq details>div p:last-child{margin-bottom:0}.limits{margin:0 0 1em;padding:0;list-style:none}.limits li{border-bottom:1px dashed var(--line);padding:8px 0 8px 28px;position:relative}.limits li:before{content:"!";width:18px;height:18px;font-family:var(--mono);background:var(--warn-bg);color:var(--warn);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid;position:absolute;top:10px;left:0}.example{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--r-sm);margin:0 0 1em;padding:14px 18px}.example p:last-child{margin-bottom:0}.side-card{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:16px}.side-card h2{font-size:var(--step-0);letter-spacing:0;margin:0 0 10px}.side-card ul{margin:0;padding:0;list-style:none}.side-card li{border-bottom:1px solid var(--line)}.side-card li a{align-items:center;min-height:40px;display:flex}.side-card li:last-child{border-bottom:0}.side-card a{font-weight:550;text-decoration:none}.side-card a:hover{text-decoration:underline}.related-grid{margin-top:12px}.updated{font-size:var(--step--1);color:var(--ink-2)}.ad-slot{place-items:center;min-height:280px;margin:40px auto;display:grid}.ad-slot:before{content:"Advertisement";font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px;font-size:10px;display:block}@keyframes fx-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.fx-in{animation:fx-in .22s var(--ease) both}@keyframes fx-flash{0%{background-color:var(--volt)}to{background-color:#0000}}.changed{border-radius:4px;animation:.5s ease-out fx-flash}@keyframes spin{to{transform:rotate(360deg)}}.spinner{vertical-align:-3px;border:2px solid;border-right-color:#0000;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}.progress{background:var(--surface-2);border-radius:999px;height:6px;overflow:hidden}.progress>span{background:var(--accent);width:0;height:100%;transition:width .2s linear;display:block}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media print{.sidebar,.topbar,.bnav,.site-foot,.crumbs,.tool-content aside,.actions,.tool-actions,.dropzone,.ad-slot,.result-bar,.cmdk,dialog.layer{display:none!important}.app{display:block}body{color:#000;background:#fff}.workspace{box-shadow:none;border:1px solid #000}}.calc{grid-template-columns:minmax(0,1fr);align-items:start;gap:28px;margin:8px 0 0;display:grid}@container main (width>=820px){.calc{grid-template-columns:minmax(0,1fr) minmax(0,420px)}.calc .result{top:calc(var(--top-h) + 16px);position:sticky}}.calc-form{grid-template-columns:minmax(0,1fr);gap:18px;min-width:0;display:grid}.calc .system{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;gap:3px;width:max-content;min-width:0;margin:0;padding:3px;display:inline-flex}.calc .system label{cursor:pointer;min-height:36px;font-size:var(--step--1);color:var(--ink-2);border-radius:8px;align-items:center;padding:6px 14px;font-weight:600;display:inline-flex}.calc .system input{opacity:0;pointer-events:none;position:absolute}.calc .system label:has(input:checked){background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);outline:1px solid var(--line)}.calc .system label:has(input:focus-visible){outline:3px solid var(--focus);outline-offset:-3px}.calc .field[hidden]{display:none}.calc .field>label{margin-bottom:0;font-weight:600;display:block}.calc .control{align-items:stretch;max-width:360px;display:flex}.calc .control input,.calc .control select,.calc .field>select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);min-width:0;min-height:46px;padding:9px 12px;font-size:1.0625rem}.calc .control input{font-variant-numeric:tabular-nums;flex:auto;width:100%}.calc .control select{border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--surface-2);flex:none;margin-left:-1px}.calc .control.has-unit input,.calc .control.has-suffix input{border-radius:var(--r-sm) 0 0 var(--r-sm)}.calc .control .suffix{border:1px solid var(--line-strong);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--surface-2);color:var(--ink-2);border-left:0;align-items:center;padding:0 12px;display:flex}.calc .field>select{width:100%;max-width:360px}.calc .control input:focus,.calc .control select:focus,.calc .field>select:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:0;z-index:1}.calc .help{font-size:var(--step--1);color:var(--ink-2);max-width:52ch;margin:6px 0 0}.calc .field-group{border-top:1px solid var(--line);gap:18px;padding-top:16px;display:grid}.calc .field-group>p{margin:0;font-weight:700}.calc .result{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);min-width:0;box-shadow:var(--shadow-sm);overflow:hidden}.tape{background:var(--tape);color:var(--tape-ink);background-image:linear-gradient(to right, color-mix(in srgb, var(--tape-ink) 45%, transparent) 1.5px, transparent 1.5px), linear-gradient(to right, color-mix(in srgb, var(--tape-ink) 30%, transparent) 1px, transparent 1px);background-position:0 0,0 0;background-repeat:repeat-x;background-size:48px 12px,12px 6px;padding:26px 20px 18px;position:relative}.tape .label{font-size:var(--step--1);margin:0 0 2px;font-weight:600}.tape .value{font-variant-numeric:tabular-nums;letter-spacing:-.03em;margin:0;font-size:clamp(2.3rem,8vw,3.2rem);font-weight:720;line-height:1.05}.tape .unit{letter-spacing:0;margin-left:.2em;font-size:.45em;font-weight:600}.calc .result-body{padding:16px 20px 20px}.calc .result-body dl{grid-template-columns:1fr auto;margin:0 0 16px;display:grid}.calc .result-body dt,.calc .result-body dd{border-bottom:1px dashed var(--line);margin:0;padding:7px 0}.calc .result-body dd{text-align:right;font-variant-numeric:tabular-nums;padding-left:12px;font-weight:650}.calc .result-body h3{font-size:var(--step-0);margin:0 0 6px}.calc .result-body ul{margin:0 0 12px;padding-left:1.1em}.calc .result-body .notes{font-size:var(--step--1);color:var(--ink-2)}.calc .result-body .notes p{margin:0 0 6px}.result-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.calc .empty{color:var(--ink-2);margin:0;padding:20px}.calc .field-error{font-size:var(--step--1);color:var(--danger);margin:6px 0 0;font-weight:600}.calc .control input[aria-invalid=true]{border-color:var(--danger)}.calc .result-foot{padding-top:0}.assumptions{font-size:var(--step--1);color:var(--ink-2);margin-top:8px}.assumptions summary{cursor:pointer;color:var(--ink);font-weight:600}.assumptions ul{margin:6px 0 0}.result-bar{display:none}@media (width<=879px){.result-bar:not([hidden]):not([data-empty]){left:8px;right:8px;bottom:calc(var(--bnav-h) + var(--safe-b) + 8px);z-index:20;background:var(--tape);color:var(--tape-ink);border-radius:var(--r);box-shadow:var(--shadow-lg);border:0;align-items:center;gap:10px;padding:10px 14px;text-decoration:none;display:flex;position:fixed}.result-bar-label{font-size:var(--step--1);font-weight:600}.result-bar-value{font-variant-numeric:tabular-nums;font-size:1.2rem;font-weight:720}.result-bar-cta{font-size:var(--step--1);margin-left:auto;font-weight:700;text-decoration:underline}html{scroll-padding-bottom:calc(var(--bnav-h) + 96px)}}.sizes{margin-top:40px}.sizes table{border-collapse:collapse;width:100%;max-width:760px;font-size:var(--step--1);background:var(--surface)}.sizes th,.sizes td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:9px 10px}.sizes th{background:var(--surface-2)}.sizes td.num{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:650}.calc-top{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.quick-label{font-size:var(--step--1);color:var(--ink-2);margin:0 0 8px;font-weight:600}.chips{scrollbar-width:thin;gap:8px;margin:0;padding:0 0 4px;list-style:none;display:flex;overflow-x:auto}.chip{white-space:nowrap;border:1px solid var(--line-strong);background:var(--surface);min-height:36px;color:var(--ink);font-size:var(--step--1);border-radius:999px;align-items:center;padding:6px 12px;font-weight:600;text-decoration:none;display:inline-flex}.chip:hover{border-color:var(--accent);color:var(--accent)}.fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:18px 14px;min-width:0;display:grid}.field--full{grid-column:1/-1}.fields .control{max-width:none}.field--full .control,.field--full>select{max-width:360px}@media (width<=340px){.fields{grid-template-columns:1fr}}.more{border-top:1px solid var(--line);padding-top:14px}.more>summary{cursor:pointer;align-items:center;gap:6px;min-height:32px;font-weight:700;list-style:none;display:flex}.more>summary::-webkit-details-marker{display:none}.more>summary:before{content:"";border-right:2px solid var(--ink-2);border-bottom:2px solid var(--ink-2);width:8px;height:8px;margin-right:4px;transition:transform .15s;transform:rotate(-45deg)}.more[open]>summary:before{transform:rotate(45deg)}.more>.fields{margin-top:16px}.action-status{min-height:1.4em;font-size:var(--step--1);color:var(--ok);margin:8px 0 0;font-weight:600}.tape .value.changed{border-radius:4px;animation:.45s ease-out fx-flash}.guide{margin-top:0}.guide table{border-collapse:collapse;width:100%;max-width:var(--measure);font-size:var(--step--1)}.guide th,.guide td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.guide th{background:var(--surface-2)}.worked{background:var(--surface);border-left:4px solid var(--accent);max-width:var(--measure);border-radius:var(--r-sm);margin:0 0 1em;padding:14px 18px}.worked p:last-child{margin-bottom:0}body.embed{background:var(--surface)}.embed-main{max-width:1120px;margin:0 auto;padding:16px;container:main/inline-size}.embed-brand{font-size:var(--step--1);color:var(--link);margin:0 0 2px;font-weight:700}.embed-title{font-size:var(--step-2);margin:0 0 4px}.embed .calc{margin-top:12px}.embed-credit{font-size:var(--step--1);margin:16px 0 0}.embed .result-bar{display:none!important}.biz-hero h1{max-width:18ch}.biz-plans{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:8px;display:grid}.plan{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:18px 20px}.plan h3{font-size:var(--step-1);margin:0 0 4px}.plan .price{font-size:var(--step-3);margin:0 0 10px;font-weight:720}.plan .price span{font-size:var(--step--1);color:var(--ink-2);font-weight:600}.plan ul{margin:0;padding-left:1.1em}.plan li{margin-bottom:6px}.plan-main{border:2px solid var(--accent);box-shadow:var(--shadow-sm)}.biz-builder{margin-top:48px}.builder-grid{align-items:start;gap:24px;display:grid}@container main (width>=900px){.builder-grid{grid-template-columns:minmax(0,340px) minmax(0,1fr)}}.builder-form{gap:16px;display:grid}.builder-form textarea{width:100%;font:12px/1.45 var(--mono);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink);resize:vertical;padding:10px}.builder-form input[type=color]{width:64px;min-height:44px;padding:2px}.builder-preview iframe{border:1px solid var(--line);border-radius:var(--r);background:#fff;width:100%;min-height:700px}.biz-faq{margin-top:48px}fieldset.fs{border:0;min-width:0;margin:0;padding:0}fieldset.fs legend{font-weight:650;font-size:var(--step--1);margin-bottom:6px;padding:0}.side-card+.side-card{margin-top:12px}.side-card p{font-size:var(--step--1);margin:0}.stack{gap:12px;display:grid}.field.match .input{border-color:var(--ok);outline:2px solid var(--ok)}.ta-left{text-align:left}.ta-center{text-align:center}.ta-right{text-align:right}.color-swatch{border-radius:var(--r);border:1px solid var(--line);height:96px;margin-bottom:12px}.pick{grid-template-columns:72px minmax(0,1fr);align-items:start;gap:14px;display:grid}.pick-swatch{border:1px solid var(--line);border-radius:12px;width:72px;height:72px}.pick-k{min-width:48px}.pick-canvas{cursor:crosshair;max-width:100%;height:auto}.favicon-grid{align-items:end}.favicon-grid img{image-rendering:pixelated;border:1px solid var(--line);background:repeating-conic-gradient(var(--surface-2) 0 25%, var(--surface) 0 50%) 0 0 / 8px 8px}.checklist{font-size:var(--step--1);gap:4px;padding:0;list-style:none;display:grid}.checklist .ok{color:var(--ok)}.checklist .no{color:var(--ink-2)}.pw-out{letter-spacing:.02em;font-size:1.05rem}tr.tz-good td{background:color-mix(in srgb, var(--ok) 14%, transparent)}.foot-brand .brand-img{height:28px}.lead{font-size:var(--step-1);color:var(--ink-2)}.article{margin-bottom:48px}.article-meta{font-size:var(--step--1);margin-top:-6px}.article-cover,.content-figure img{border:1px solid var(--line);border-radius:10px;max-width:100%;height:auto;display:block}.content-figure{margin:28px 0}.content-figure figcaption{font-size:var(--step--1);color:var(--ink-2);margin-top:8px}.content-tools{margin:32px 0}.code-block{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:14px 16px;font-size:.88em;overflow-x:auto}.table-wrap{margin:20px 0;overflow-x:auto}.table-wrap table{border-collapse:collapse;width:100%;font-size:var(--step--1)}.table-wrap th,.table-wrap td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}.table-wrap caption{text-align:left;margin-bottom:6px;font-weight:600}blockquote{border-left:3px solid var(--accent);margin:24px 0;padding:4px 0 4px 18px}blockquote cite{font-style:normal;font-size:var(--step--1);color:var(--ink-2);display:block}.post-list{max-width:var(--measure);gap:14px;margin:24px 0 56px;padding:0;list-style:none;display:grid}.post-list a{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:18px 20px;text-decoration:none;display:block}.post-list a:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));box-shadow:var(--shadow-sm)}.post-list h2{font-size:var(--step-1);margin:0 0 6px}.post-list p{color:var(--ink-2);margin:0 0 8px}.sb-title.mt{margin-top:14px}.sheet-actions{flex-wrap:wrap;gap:8px;margin:14px 10px 0;display:flex}.sb-link .sb-x{flex:none}[data-mode=single] [data-bulk-only],[data-mode=bulk] [data-single-only],[data-mode=bulk] .is-single-only,[data-mode=single] .lbl-bulk,[data-mode=bulk] .lbl-single{display:none!important}.mode-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 20px;padding-bottom:16px;display:flex}.mode-hint{font-size:var(--step--1);flex:260px;margin:0}.bulk-in .textarea{min-height:160px}@container main (width>=760px){.ws-grid.side[data-mode=bulk],.ws-grid.two[data-mode=bulk]{grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr)}}.bulk-table{max-height:440px;overflow:auto}.bulk-table td{white-space:nowrap;text-overflow:ellipsis;max-width:420px;font-family:var(--mono);font-size:.8rem;overflow:hidden}tr.row-error td{color:var(--danger-ink);background:var(--danger-bg)}.bulk-preview{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin:0 0 12px;padding:0;list-style:none;display:grid}.bulk-preview li{border:1px solid var(--line);border-radius:var(--r-sm);color:#202832;font-size:var(--step--2);text-align:center;background:#fff;justify-items:center;gap:4px;padding:8px;display:grid;overflow:hidden}.bulk-preview img,.bulk-preview svg{object-fit:contain;width:100%;height:auto;max-height:120px}.bulk-preview span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.swatch-cell{border:1px solid var(--line);vertical-align:-2px;border-radius:4px;width:14px;height:14px;margin-right:6px;display:inline-block}.bulk-swatch{border:1px solid var(--line);border-radius:6px;width:100%;height:44px;display:block}.filter-status{font-size:var(--step--1);color:var(--ink-2);margin:0}.cmdk-body:focus-visible{outline-offset:-3px}.drawer-tools a[aria-current=page]{color:var(--accent);background:var(--accent-soft);font-weight:600}.ws-grid>.status:empty{min-height:0;margin-top:-22px}.guide-index{margin:24px 0 8px}.guide-card h2{letter-spacing:-.01em;margin:0;font-size:1.05rem}.guide-card .gc-meta{font-size:var(--step--1);color:var(--ink-2);margin-top:auto;padding-top:6px}.article{max-width:760px}.article h2{scroll-margin-top:calc(var(--top-h) + 16px)}.table-wrap code{white-space:nowrap}.tile-ico{width:55%;height:55%;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;background:currentColor;display:block}.fb-card{z-index:40;box-sizing:border-box;background:var(--surface);width:min(380px,100vw - 32px);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow-lg);opacity:0;border-radius:16px;padding:20px 20px 16px;transition:opacity .2s,transform .2s;position:fixed;bottom:20px;right:20px;transform:translateY(12px)}.fb-card.is-in{opacity:1;transform:none}.fb-card.is-leaving{opacity:0;transform:translateY(12px)}.fb-close{position:absolute;top:8px;right:8px}.fb-title{margin:0 40px 4px 0;font-size:1.06rem;font-weight:700;line-height:1.3}.fb-title:focus{outline:none}.fb-sub{color:var(--ink-2);font-size:var(--step--1);margin:0 0 12px}.fb-stars{gap:2px;margin:0 -6px;display:flex}.fb-radio{opacity:0;width:1px;height:1px;position:absolute}.fb-star{cursor:pointer;width:44px;height:44px;color:var(--line-strong);border-radius:10px;place-items:center;display:grid}.fb-star svg{fill:#0000;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round;transition:transform .12s}.fb-star:hover svg{transform:scale(1.12)}.fb-star.is-on{color:var(--warn-fill)}.fb-star.is-on svg{fill:currentColor}.fb-radio:focus-visible+.fb-star{outline:2px solid var(--accent);outline-offset:1px}.fb-more{margin-top:10px}.fb-text{box-sizing:border-box;resize:vertical;width:100%;min-height:84px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;padding:10px 12px;font-size:1rem}.fb-text:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.fb-actions{justify-content:flex-end;margin-top:12px;display:flex}.fb-status{font-size:var(--step--1);min-height:0;margin:8px 0 0}.fb-status[data-tone=error]{color:var(--danger-ink)}@media (width<=1023px){.fb-card{width:auto;left:8px;right:8px;bottom:calc(var(--bnav-h) + var(--safe-b) + 8px)}}@media (prefers-reduced-motion:reduce){.fb-card{transition:none}}@media print{.fb-card{display:none}}@media (width<=767.98px){.only-desktop{display:none!important}}@media (width>=768px){.only-phone{display:none!important}}.promo{background:var(--accent-soft,var(--surface));border:1px solid var(--line);border-radius:var(--r-lg,16px);align-items:center;gap:24px;padding:24px;display:flex}.promo-body{flex:1;min-width:0}.promo-body h2{margin:0 0 6px}.promo-body p{max-width:65ch;margin:0 0 12px}.promo-body p:last-child{margin-bottom:0}.promo-img{border-radius:12px;flex:none;width:160px;height:auto}.quotes{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.quote-card{box-sizing:border-box;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg,16px);flex-direction:column;gap:12px;height:100%;margin:0;padding:20px;display:flex}.quote-card blockquote,.quote-card blockquote p{margin:0}.quote-card figcaption{flex-direction:column;margin-top:auto;font-size:.9rem;display:flex}.quote-card figcaption span{color:var(--ink-2)}@media (width<=600px){.promo{flex-direction:column;align-items:flex-start;padding:18px}.promo-img{width:100%;max-width:240px}}
