@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/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(/assets/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(/assets/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(/assets/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(/assets/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(/assets/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(/assets/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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-vietnamese-wght-normal-BUzh504Q.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.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:#f6f7fb;--surface:#fff;--surface-2:#f1f2f8;--surface-3:#e9ebf4;--ink:#15161e;--ink-2:#353748;--muted:#5b5e70;--line:#e3e5ee;--line-strong:#cbcfdd;--brand:#4f46e5;--brand-hover:#4338ca;--brand-ink:#3730a3;--brand-soft:#eef0ff;--brand-softer:#f6f7ff;--blue:#2563eb;--violet:#7c3aed;--teal:#0ea5a0;--teal-ink:#0f766e;--grad:linear-gradient(115deg, #2563eb 0%, #7c3aed 52%, #0ea5a0 100%);--danger:#b42318;--danger-soft:#fef3f2;--danger-line:#fecdca;--warn:#93370d;--warn-soft:#fffaeb;--warn-line:#fedf89;--success:#067647;--success-soft:#ecfdf3;--success-line:#abefc6;--info:#1e40af;--info-soft:#eff4ff;--info-line:#c7d7fe;--cat-marketing:#2563eb;--cat-writing:#7c3aed;--cat-data:#0f766e;--cat-business:#b45309;--cat-design:#be185d;--font-sans:"Inter Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Bricolage Grotesque Variable", "Inter Variable", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", "Roboto Mono", Menlo, Consolas, monospace;--r-sm:8px;--r:12px;--r-lg:18px;--r-xl:24px;--shadow-sm:0 1px 2px #1416280f;--shadow:0 1px 2px #1416280d, 0 6px 20px -10px #14162824;--shadow-lg:0 2px 4px #1416280a, 0 18px 40px -18px #1e1b4b47;--focus:0 0 0 3px #4f46e559;--ease:cubic-bezier(.2, .7, .2, 1);--container:1200px;--gutter:clamp(16px, 4vw, 32px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:84px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-feature-settings:"cv11", "ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);text-wrap:balance;margin:0 0 .5em;font-weight:700;line-height:1.15}h1{letter-spacing:-.03em;font-size:clamp(2rem,1.4rem + 2.6vw,3rem)}h2{font-size:clamp(1.4rem,1.2rem + .9vw,1.85rem)}h3{letter-spacing:-.01em;font-size:1.125rem}p{margin:0 0 1em}a{color:var(--brand);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--brand-hover)}code,pre,.mono{font-family:var(--font-mono);font-size:.92em}img,svg{max-width:100%}:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}::selection{background:#4f46e52e}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.sr-only-input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.muted{color:var(--muted)}.skip-link{z-index:100;background:var(--ink);color:#fff;border-radius:var(--r-sm);padding:10px 16px;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-60px;left:12px}.skip-link:focus{color:#fff;top:12px}.grad-text{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--brand-ink);margin:0 0 .6rem;font-size:.8rem;font-weight:650}.lede{color:var(--ink-2);max-width:62ch;font-size:clamp(1.05rem,1rem + .3vw,1.2rem)}.route-progress{z-index:60;background:var(--grad);transform-origin:0;opacity:0;height:3px;position:fixed;inset:0 0 auto;transform:scaleX(0)}.route-progress.is-active{opacity:1;transition:transform 1.2s var(--ease), opacity .2s;transform:scaleX(.7)}.site-header{z-index:50;-webkit-backdrop-filter:saturate(160%)blur(14px);background:#f6f7fbd1;border-bottom:1px solid #e3e5eecc;position:sticky;top:0}.header-inner{align-items:center;gap:16px;height:64px;display:flex}.brand{color:var(--ink);font-family:var(--font-display);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.2rem;font-weight:750;text-decoration:none;display:inline-flex}.brand:hover{color:var(--ink)}.brand-name span{color:var(--brand)}.logo-mark{transition:transform .3s var(--ease);flex:none}.brand:hover .logo-mark{transform:rotate(-8deg)}.main-nav{margin-left:auto}.main-nav ul{gap:2px;margin:0;padding:0;list-style:none;display:flex}.main-nav a{border-radius:var(--r-sm);color:var(--ink-2);padding:8px 12px;font-size:.95rem;font-weight:550;text-decoration:none;display:block}.main-nav a:hover{background:var(--surface-2);color:var(--ink)}.main-nav a.is-active{color:var(--brand-ink);background:var(--brand-soft)}.header-privacy{color:var(--teal-ink);white-space:nowrap;background:#e7f7f5;border:1px solid #c4ece7;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.nav-toggle{display:none}@media (max-width:860px){.header-privacy{display:none}.nav-toggle{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;margin-left:auto;display:inline-flex}.main-nav{background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:8px var(--gutter) 16px;display:none;position:absolute;top:64px;left:0;right:0}.main-nav.is-open{display:block}.main-nav ul{flex-direction:column}.main-nav a{padding:12px;font-size:1rem}}.btn{min-height:40px;font:inherit;cursor:pointer;white-space:nowrap;transition:background-color .15s, border-color .15s, color .15s, box-shadow .15s, transform .15s var(--ease);border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-size:.93rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 1px 2px #1e1b4b33,inset 0 1px #ffffff1f}.btn-primary:hover:not(:disabled){background:var(--brand-hover);color:#fff}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){border-color:var(--brand);color:var(--brand-ink)}.btn-ghost{color:var(--ink-2);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.btn-lg{border-radius:12px;min-height:50px;padding:12px 22px;font-size:1rem}.btn-sm{min-height:32px;padding:4px 10px;font-size:.85rem}.icon-btn{border-radius:var(--r-sm);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--danger)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.link-btn{font:inherit;color:var(--brand);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.actions-stretch>.btn{flex:1 1 0}.hero{isolation:isolate;padding:clamp(40px,7vw,88px) 0 clamp(40px,6vw,72px);position:relative;overflow:hidden}.hero:before{content:"";z-index:-1;background-image:radial-gradient(#4f46e521 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70% at 70% 40%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 70% at 70% 40%,#000 20%,#0000 75%)}.hero:after{content:"";z-index:-1;filter:blur(10px);background:radial-gradient(circle,#7c3aed24,#0000 62%);width:620px;height:620px;position:absolute;top:-160px;right:-120px}.hero-inner{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(32px,5vw,64px);display:grid}.hero h1{letter-spacing:-.035em;margin-bottom:.4em;font-size:clamp(2.3rem,1.5rem + 3.6vw,4rem);line-height:1.04}.hero .lede{margin-bottom:1.8rem}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.eyebrow-pill{text-transform:none;letter-spacing:0;color:var(--teal-ink);background:#e7f7f5;border:1px solid #c4ece7;border-radius:999px;align-items:center;gap:6px;margin-bottom:1.4rem;padding:6px 12px;font-size:.88rem;display:inline-flex}.hero-art{height:400px;position:relative}.bench-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:16px;padding:14px 16px;position:absolute}@media (prefers-reduced-motion:no-preference){.bench-card{animation:bench-in .7s var(--ease) both}.bench-card:nth-child(2){animation-delay:80ms}.bench-card:nth-child(3){animation-delay:.16s}.bench-card:nth-child(4){animation-delay:.24s}.bench-card:nth-child(5){animation-delay:.32s}}@keyframes bench-in{0%{opacity:0;translate:0 14px}}.bench-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px;font-size:.72rem;font-weight:650;display:block}.bench-stats{width:300px;top:8px;left:0;rotate:-2deg}.bench-stat-row{gap:18px;display:flex}.bench-stat-row b{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.35rem;display:block}.bench-stat-row small{color:var(--muted);font-size:.75rem}.bench-bars{gap:6px;margin-top:12px;display:grid}.bench-bars i{background:var(--surface-3);border-radius:6px;height:6px;display:block}.bench-bars i:first-child{background:linear-gradient(90deg,#c7d2fe,#ddd6fe)}.bench-json{color:#d5d7f0;background:#16172a;border-color:#23253d;width:260px;top:150px;left:70px;rotate:1.5deg}.bench-json .bench-label{color:#8f93b8}.bench-json pre{margin:0;font-size:.82rem;line-height:1.55}.t-k{color:#a5b4fc}.t-s{color:#5eead4}.t-b{color:#f0abfc}.t-n{color:#fcd34d}.t-p{color:#8f93b8}.bench-qr{width:132px;padding:14px;top:30px;right:0;rotate:4deg}.bench-qr svg{width:100%;fill:var(--ink);display:block}.bench-palette{gap:6px;padding:10px;display:flex;bottom:22px;right:10px;rotate:-3deg}.bench-palette i{border-radius:8px;width:34px;height:46px}.bench-percent{color:var(--muted);align-items:baseline;gap:10px;font-size:.9rem;display:flex;bottom:40px;left:0;rotate:-1deg}.bench-percent b{font-family:var(--font-display);color:var(--brand);font-size:1.4rem}@media (max-width:960px){.hero-inner{grid-template-columns:1fr}.hero-art{width:100%;max-width:480px;height:330px;margin-inline:auto}.bench-stats{width:270px}.bench-json{top:128px;left:30px}}@media (max-width:520px){.hero-art{display:none}}.section{padding-block:clamp(36px,6vw,64px)}.section-head{margin-bottom:24px}.section-head h2{margin-bottom:.25em}.section-head p{color:var(--muted);margin:0}.section-head-center{text-align:center;max-width:720px;margin-inline:auto}.section-head-center p{margin-top:.6em}.section-head-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;display:flex}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px;display:grid}.tool-grid-popular{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr))}.tool-card{--cat:var(--brand);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:border-color .2s, box-shadow .2s, transform .2s var(--ease);align-items:flex-start;gap:14px;padding:18px 40px 18px 18px;display:flex;position:relative}.tool-card:hover,.tool-card:focus-within{border-color:color-mix(in srgb, var(--cat) 45%, var(--line));box-shadow:var(--shadow);transform:translateY(-2px)}.tool-card-title{font-family:var(--font-sans);letter-spacing:-.01em;margin:0 0 4px;font-size:1.02rem;font-weight:650}.tool-card-title a{color:var(--ink);text-decoration:none}.tool-card-title a:focus-visible{outline:none}.tool-card:has(a:focus-visible){outline:3px solid var(--brand);outline-offset:2px}.tool-card p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.tool-card .tool-card-cat{color:var(--cat);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px;font-size:.75rem;font-weight:650}.tool-card-arrow{color:var(--line-strong);transition:color .2s, transform .2s var(--ease);position:absolute;top:20px;right:16px}.tool-card:hover .tool-card-arrow{color:var(--cat);transform:translate(3px)}.stretched-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.raise{z-index:1;position:relative}.tool-icon{--cat:var(--brand);width:42px;height:42px;color:var(--cat);background:color-mix(in srgb, var(--cat) 10%, white);border:1px solid color-mix(in srgb, var(--cat) 18%, white);border-radius:12px;flex:none;place-items:center;display:inline-grid}.tool-icon-lg{border-radius:16px;width:56px;height:56px}.cat-marketing{--cat:var(--cat-marketing)}.cat-writing{--cat:var(--cat-writing)}.cat-data{--cat:var(--cat-data)}.cat-business{--cat:var(--cat-business)}.cat-design{--cat:var(--cat-design)}.cat-marketing .tool-icon,.tool-card.cat-marketing .tool-icon{--cat:var(--cat-marketing)}.cat-writing .tool-icon{--cat:var(--cat-writing)}.cat-data .tool-icon{--cat:var(--cat-data)}.cat-business .tool-icon{--cat:var(--cat-business)}.cat-design .tool-icon{--cat:var(--cat-design)}.directory-controls{gap:14px;margin-bottom:28px;display:grid}.search-field{align-items:center;max-width:560px;display:flex;position:relative}.search-field>svg{color:var(--muted);pointer-events:none;position:absolute;left:16px}.search-field input{width:100%;height:52px;font:inherit;border:1px solid var(--line-strong);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--ink);border-radius:14px;padding:0 48px;font-size:1rem;transition:border-color .15s,box-shadow .15s}.search-field input:focus{border-color:var(--brand);box-shadow:var(--focus);outline:none}.search-field input::-webkit-search-cancel-button{display:none}.search-field .icon-btn{position:absolute;right:8px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:999px;padding:7px 14px;font-size:.88rem;font-weight:550;transition:background-color .15s,border-color .15s,color .15s}.chip:hover{border-color:var(--brand);color:var(--brand-ink)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.directory-group+.directory-group{margin-top:36px}.directory-group-head{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.directory-group-head p{color:var(--muted);margin:0;font-size:.92rem}.group-title{align-items:center;gap:10px;margin:0;font-size:1.2rem;display:inline-flex}.group-title:before{content:"";background:var(--cat,var(--brand));border-radius:3px;width:10px;height:10px}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--r-lg);text-align:center;color:var(--muted);background:var(--surface);padding:32px}.promise-band{background:radial-gradient(800px 300px at 20% 0%, #2563eb12, transparent 70%), radial-gradient(700px 300px at 85% 100%, #0ea5a014, transparent 70%), var(--surface);border-block:1px solid var(--line)}.promise-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px;margin:32px 0 0;padding:0;list-style:none;display:grid}.promise-grid li{border-radius:var(--r-lg);background:var(--bg);border:1px solid var(--line);padding:22px}.promise-grid svg{color:var(--teal-ink);margin-bottom:10px}.promise-grid h3{margin-bottom:.3em}.promise-grid p{color:var(--muted);margin:0;font-size:.95rem}.seo-intro-grid{grid-template-columns:1.3fr 1fr;gap:clamp(24px,5vw,56px);display:grid}.seo-intro-grid p{color:var(--ink-2)}.seo-intro-grid>div:last-child{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px}@media (max-width:860px){.seo-intro-grid{grid-template-columns:1fr}}.tick-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.tick-list li{color:var(--ink-2);padding-left:28px;position:relative}.tick-list li:before{content:"";background:var(--grad);border-radius:50%;width:16px;height:16px;position:absolute;top:5px;left:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3C/svg%3E");mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='8'/%3E%3C/svg%3E")}.tick-list li:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:6px;height:3.5px;position:absolute;top:8px;left:5px;rotate:-45deg}.post-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px;display:grid}.post-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .2s, box-shadow .2s, transform .2s var(--ease);flex-direction:column;padding:22px;display:flex;position:relative}.post-card:hover{border-color:color-mix(in srgb, var(--brand) 40%, var(--line));box-shadow:var(--shadow);transform:translateY(-2px)}.post-card h2,.post-card h3{margin-bottom:.4em;font-size:1.12rem}.post-card h2 a,.post-card h3 a{color:var(--ink);text-decoration:none}.post-card p{color:var(--muted);font-size:.93rem}.post-meta{color:var(--brand-ink);margin-top:auto;font-size:.8rem;font-weight:600}.post-grid-lg .post-meta{margin:0 0 8px}.post-tool{margin:auto 0 0;font-size:.85rem}.post-arrow{color:var(--line-strong);position:absolute;top:22px;right:20px}.page{padding-block:24px clamp(48px,8vw,88px)}.page-header{max-width:760px;margin:18px 0 32px}.page-header .lede{margin-bottom:1rem}.not-found{margin-top:40px}.breadcrumbs ol{color:var(--muted);flex-wrap:wrap;align-items:center;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.breadcrumbs li{align-items:center;gap:4px;margin-right:4px;display:inline-flex}.breadcrumbs a{color:var(--muted);text-decoration:none}.breadcrumbs a:hover{color:var(--brand);text-decoration:underline}.breadcrumbs [aria-current=page]{color:var(--ink-2);font-weight:550}.prose{max-width:72ch;color:var(--ink-2);font-size:1.04rem}.prose h2{margin-top:1.8em;font-size:1.45rem}.prose h3{margin-top:1.4em}.prose ul,.prose ol{margin:0 0 1.1em;padding-left:1.3em}.prose li{margin-bottom:.4em}.prose li::marker{color:var(--brand)}.prose code{background:var(--surface-2);border:1px solid var(--line);word-break:break-word;border-radius:6px;padding:.1em .35em;font-size:.86em}.prose pre{color:#e3e5ff;border-radius:var(--r);background:#16172a;margin:0 0 1.2em;padding:16px 18px;line-height:1.55;overflow-x:auto}.prose pre code{color:inherit;word-break:normal;background:0 0;border:0;padding:0;font-size:.86rem}.prose blockquote{border-left:3px solid var(--brand);color:var(--muted);margin:0 0 1em;padding:4px 16px}.prose table{border-collapse:collapse;width:100%;margin:0 0 1em;font-size:.95rem}.prose th,.prose td{border:1px solid var(--line);text-align:left;padding:8px 10px}.prose th{background:var(--surface-2)}.prose img{border-radius:var(--r-sm);max-width:100%}.prose hr{border:0;border-top:1px solid var(--line);margin:1.6em 0}.article{max-width:760px}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;display:grid}.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);flex-direction:column;align-items:flex-start;gap:4px;padding:24px;display:flex}.contact-card>svg{color:var(--brand);margin-bottom:8px}.contact-card h2{margin-bottom:.2em;font-size:1.15rem}.contact-card p{color:var(--muted);font-size:.95rem}.contact-card .btn{margin-top:auto}.contact-note{margin-top:24px}.tool-hero{background:radial-gradient(900px 260px at 0% 0%, color-mix(in srgb, var(--cat) 9%, transparent), transparent 70%), linear-gradient(var(--bg), var(--bg));padding:20px 0 8px}.tool-heading{align-items:flex-start;gap:18px;margin:18px 0 12px;display:flex}.tool-heading .tool-icon{margin-top:4px}.tool-heading h1{margin-bottom:.25em;font-size:clamp(1.8rem,1.3rem + 2vw,2.6rem)}.tool-heading .eyebrow{color:var(--cat);margin-bottom:.35rem}.tool-heading .lede{margin:0;font-size:1.05rem}.privacy-pill{color:var(--teal-ink);background:#e7f7f5;border:1px solid #c4ece7;border-radius:999px;align-items:center;gap:6px;margin:4px 0 0;padding:5px 12px;font-size:.85rem;font-weight:600;display:inline-flex}@media (max-width:600px){.tool-heading{flex-direction:column;gap:10px}.tool-icon-lg{width:46px;height:46px}}.tool-workspace{padding-block:20px 8px}.tool-content{grid-template-columns:minmax(0,1fr) 300px;gap:clamp(24px,4vw,56px);padding-block:clamp(36px,6vw,64px) 16px;display:grid}.tool-content-main>section{margin-bottom:40px}.tool-content-main>section>p{color:var(--ink-2);max-width:72ch}.tool-content-aside>section{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;position:sticky;top:88px}.aside-title{align-items:center;gap:8px;font-size:1.05rem;display:flex}@media (max-width:900px){.tool-content{grid-template-columns:1fr}}.steps{counter-reset:step;gap:12px;max-width:72ch;margin:0;padding:0;list-style:none;display:grid}.steps li{counter-increment:step;min-height:32px;color:var(--ink-2);padding:2px 0 0 46px;position:relative}.steps li:before{content:counter(step);background:var(--brand-soft);width:32px;height:32px;color:var(--brand-ink);border-radius:10px;place-items:center;font-size:.9rem;font-weight:700;display:grid;position:absolute;top:0;left:0}.privacy-card{border-radius:var(--r-lg);background:linear-gradient(135deg,#ecfbf8,#f1f5ff);border:1px solid #c9ece6;gap:16px;padding:22px 24px;display:flex}.privacy-card>svg{color:var(--teal-ink);flex:none;margin-top:4px}.privacy-card h2{margin-bottom:.3em;font-size:1.2rem}.privacy-card p{color:var(--ink-2);margin-bottom:.5em}.privacy-card p:last-child{margin:0}.faq-list{gap:10px;max-width:78ch;display:grid}.faq{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);transition:border-color .2s}.faq[open]{border-color:var(--line-strong)}.faq summary{cursor:pointer;border-radius:var(--r);padding:16px 48px 16px 18px;list-style:none;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);width:9px;height:9px;transition:rotate .2s var(--ease);position:absolute;top:50%;right:20px;translate:0 -70%;rotate:45deg}.faq[open] summary:after{translate:0 -30%;rotate:225deg}.faq summary h3{font-family:var(--font-sans);letter-spacing:-.005em;font-size:1rem;font-weight:620;display:inline}.faq p{color:var(--ink-2);margin:0;padding:0 18px 18px}.guide-links{gap:10px;margin:0;padding:0;list-style:none;display:grid}.guide-links a{font-weight:550;text-decoration:none}.guide-links a:hover{text-decoration:underline}.guide-links-row{margin-bottom:20px}.related{padding-block:16px clamp(48px,8vw,80px)}.related h2{margin-bottom:18px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);flex-direction:column;gap:14px;min-width:0;padding:18px;display:flex}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.panel-title{font-family:var(--font-sans);letter-spacing:0;color:var(--ink);margin:0;font-size:.95rem;font-weight:650}.panel-actions{flex-wrap:wrap;gap:6px;display:flex}.tool-stack{gap:16px;min-width:0;display:grid}.split{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.split-wide-left{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.split-wide-right{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}@media (max-width:860px){.split,.split-wide-left,.split-wide-right{grid-template-columns:1fr}}.sticky-panel{position:sticky;top:84px}@media (max-width:860px){.sticky-panel{position:static}}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.field-full{grid-column:1/-1}@media (max-width:560px){.form-grid{grid-template-columns:1fr}}.field{gap:6px;min-width:0;margin:0;display:grid}.field-label{color:var(--ink);flex-wrap:wrap;align-items:center;gap:6px;padding:0;font-size:.88rem;font-weight:600;display:flex}.field-label output{color:var(--brand-ink);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.field-param{color:var(--muted);background:var(--surface-2);border-radius:6px;margin-left:auto;padding:1px 6px;font-size:.75rem;font-weight:500}.req{color:var(--danger)}.opt{color:var(--muted);font-size:.8rem;font-weight:500}.field-hint{color:var(--muted);margin:0;font-size:.83rem}.field-error{color:var(--danger);margin:0;font-size:.85rem;font-weight:550}.field-align{align-self:end;min-height:44px}.input,.textarea,.select{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;min-height:42px;padding:9px 12px;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.input::placeholder,.textarea::placeholder{color:#8a8da0}.input:hover,.textarea:hover,.select:hover{border-color:#b5b9cb}.input:focus,.textarea:focus,.select:focus{border-color:var(--brand);box-shadow:var(--focus);outline:none}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.input[aria-invalid=true]:focus{box-shadow:0 0 0 3px #b4231833}.input[readonly],.textarea[readonly]{background:var(--brand-softer)}.input-lg{min-height:52px;font-size:1.25rem;font-weight:600}.input-num{flex:none;width:88px}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235b5e70' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:34px}.textarea{resize:vertical;line-height:1.55;display:block}.textarea-xs{min-height:76px}.textarea-sm{min-height:110px}.textarea-md{min-height:180px}.textarea-lg{min-height:300px}.textarea-xl{min-height:340px;font-size:1rem}.textarea-code{white-space:pre;overflow-wrap:normal;tab-size:2;min-height:420px;font-size:.85rem;overflow-x:auto}.textarea-editor{tab-size:2;min-height:520px;font-size:.9rem}.input-affix{display:flex;position:relative}.input-affix .input{padding-right:36px}.input-affix .affix{color:var(--muted);pointer-events:none;font-weight:600;position:absolute;top:50%;right:12px;translate:0 -50%}.input-affix-sm{max-width:160px}.input-group{display:flex}.input-group .input{border-top-right-radius:0;border-bottom-right-radius:0}.input-group .select{border-top-left-radius:0;border-bottom-left-radius:0;width:auto;margin-left:-1px}.check{color:var(--ink-2);cursor:pointer;align-items:center;gap:8px;font-size:.92rem;display:inline-flex}.check input{width:18px;height:18px;accent-color:var(--brand);flex:none;margin:0}.check-pill{border:1px solid var(--line-strong);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:.88rem}.check-pill:has(input:checked){border-color:var(--brand);background:var(--brand-soft);color:var(--brand-ink)}.check-pill:has(input:focus-visible){box-shadow:var(--focus)}.inline-field{align-items:center;gap:8px;font-size:.9rem;font-weight:600;display:inline-flex}.inline-field .select{width:auto;min-height:38px}input[type=range]{width:100%;accent-color:var(--brand);cursor:pointer;height:28px}.range-row{align-items:center;gap:12px;display:flex}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.toolbar-main{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:12px}.segmented{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;flex-wrap:wrap;gap:2px;min-width:0;margin:0;padding:3px;display:inline-flex}.segmented label{cursor:pointer;position:relative}.segmented input{opacity:0;cursor:pointer;position:absolute;inset:0}.segmented span{color:var(--muted);border-radius:9px;padding:7px 14px;font-size:.9rem;font-weight:600;transition:background-color .15s,color .15s,box-shadow .15s;display:block}.segmented label.is-selected span{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm), 0 0 0 1px var(--line)}.segmented input:focus-visible+span{box-shadow:var(--focus)}.alert{border-radius:var(--r);border:1px solid;flex-direction:column;gap:6px;padding:12px 14px;font-size:.92rem;display:flex}.alert p{margin:0}.alert-error{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger)}.alert-warn{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}.alert-success{background:var(--success-soft);border-color:var(--success-line);color:var(--success);flex-direction:row;align-items:center;gap:8px}.alert-info{background:var(--info-soft);border-color:var(--info-line);color:var(--info)}.alert .link-btn{color:inherit;align-self:flex-start;font-weight:600}.privacy-note{color:var(--teal-ink);align-items:center;gap:8px;margin:0;font-size:.88rem;font-weight:600;display:inline-flex}.file-drop{text-align:center;border:1.5px dashed var(--line-strong);border-radius:var(--r-lg);background:var(--brand-softer);color:var(--brand);justify-items:center;gap:6px;padding:26px 18px;transition:border-color .15s,background-color .15s;display:grid;position:relative}.file-drop:hover,.file-drop.is-over{border-color:var(--brand);background:var(--brand-soft)}.file-drop:has(input:focus-visible){box-shadow:var(--focus);border-color:var(--brand)}.file-drop-label{color:var(--ink);font-size:.95rem}.file-drop-label strong{color:var(--brand)}.file-drop-label span{color:var(--muted)}.file-drop-hint{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.83rem}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px;margin:0;display:grid}.stat-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:520px){.stat-grid-3{grid-template-columns:1fr}}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);padding:14px 16px}.stat dt{color:var(--muted);font-size:.8rem;font-weight:600}.stat dd{font-family:var(--font-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:2px 0 0;font-size:1.6rem;font-weight:700}.stat-main{background:var(--ink);border-color:var(--ink);color:#fff}.stat-main dt{color:#b9bbd0}.stat-warn dd{color:var(--cat-business)}.stat-good dd{color:var(--success)}.case-buttons{grid-template-columns:repeat(auto-fill,minmax(min(100%,140px),1fr));gap:8px;display:grid}.case-btn{font:inherit;border-radius:var(--r);border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;text-align:center;color:var(--ink-2);padding:12px;font-size:.95rem;font-weight:600;transition:border-color .15s,background-color .15s,color .15s}.case-btn:hover{border-color:var(--brand);color:var(--brand-ink)}.case-btn[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.result-url{border-radius:var(--r);background:var(--brand-softer);word-break:break-all;color:var(--ink);border:1px solid #dcdffb;padding:14px;font-size:.88rem;line-height:1.6;display:block}.empty-result p{color:var(--muted)}.pw-tool{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}@media (max-width:860px){.pw-tool{grid-template-columns:1fr}}.pw-output-card{border-radius:var(--r-xl);color:#fff;box-shadow:var(--shadow-lg);background:radial-gradient(500px 200px at 100% 0,#7c3aed59,#0000 70%),radial-gradient(400px 200px at 0 100%,#0ea5a040,#0000 70%),#16172a;gap:16px;padding:22px;display:grid}.pw-output{border-radius:var(--r);color:#fff;letter-spacing:.02em;background:#ffffff0f;border:1px solid #ffffff24;width:100%;padding:16px;font-size:clamp(1.05rem,.9rem + 1vw,1.45rem)}.pw-output:focus{outline:none;box-shadow:0 0 0 3px #a5b4fc80}.pw-actions{flex-wrap:wrap;gap:8px;display:flex}.pw-actions .btn{flex:140px}.pw-output-card .btn-secondary{color:#fff;box-shadow:none;background:#ffffff14;border-color:#fff3}.pw-output-card .btn-secondary:hover:not(:disabled){color:#fff;background:#ffffff24;border-color:#ffffff59}.pw-output-card .btn-primary{color:var(--ink);background:#fff}.pw-output-card .btn-primary:hover:not(:disabled){color:var(--ink);background:#e9eaff}.strength p{color:#c8cae0;margin:8px 0 0;font-size:.9rem}.strength strong{color:#fff}.strength-bar{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.strength-bar i{background:#ffffff1f;border-radius:6px;height:6px;transition:background-color .25s}.strength-0 .on{background:#f97066}.strength-1 .on{background:#fdb022}.strength-2 .on{background:#fde272}.strength-3 .on{background:#6ce9a6}.strength-4 .on{background:#5eead4}.pw-length-value{font-size:1rem}.toggle-list{border:0;gap:4px;margin:0;padding:0;display:grid}.toggle-list legend{margin-bottom:6px}.toggle{cursor:pointer;border-radius:var(--r-sm);align-items:center;gap:12px;padding:9px 4px;display:flex}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle-ui{background:var(--line-strong);border-radius:999px;flex:none;width:38px;height:22px;transition:background-color .2s;position:relative}.toggle-ui:after{content:"";width:16px;height:16px;box-shadow:var(--shadow-sm);transition:translate .2s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.toggle input:checked+.toggle-ui{background:var(--brand)}.toggle input:checked+.toggle-ui:after{translate:16px}.toggle input:focus-visible+.toggle-ui{box-shadow:var(--focus)}.toggle-text{font-size:.95rem;font-weight:550}.toggle code{color:var(--muted);background:var(--surface-2);white-space:nowrap;border-radius:6px;margin-left:auto;padding:2px 8px;font-size:.8rem}.error-excerpt{border:1px solid var(--danger-line);border-radius:var(--r-sm);color:var(--ink);background:#fff;margin:4px 0 0;padding:10px 12px;font-size:.82rem;line-height:1.4;overflow-x:auto}.error-excerpt .caret{color:var(--danger);font-weight:700}.column-picker{border:0;gap:8px;margin:0;padding:0;display:grid}.column-list{flex-wrap:wrap;gap:6px;max-height:200px;display:flex;overflow:auto}.table-wrap{border:1px solid var(--line);border-radius:var(--r);max-height:420px;overflow:auto}.table-wrap:focus-visible{outline:3px solid var(--brand)}.data-table{border-collapse:collapse;width:100%;font-size:.85rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;text-overflow:ellipsis;max-width:280px;padding:8px 12px;overflow:hidden}.data-table th{background:var(--surface-2);font-weight:650;position:sticky;top:0}.data-table th.is-key{background:var(--brand-soft);color:var(--brand-ink)}.data-table tbody tr:nth-child(2n){background:#fafbfd}.calc-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;display:grid}.calc-inputs{grid-template-columns:1fr auto 1fr;align-items:end;gap:10px;display:grid}.calc-word{color:var(--muted);padding-bottom:10px;font-weight:600}.calc-result{border-radius:var(--r);background:var(--brand-softer);border:1px solid #dcdffb;min-height:112px;margin-top:auto;padding:16px}.calc-result .btn{margin-top:6px;margin-left:-10px}.calc-answer{font-family:var(--font-display);letter-spacing:-.02em;color:var(--brand-ink);font-variant-numeric:tabular-nums;word-break:break-all;margin:0;font-size:2rem;font-weight:700}.calc-formula{color:var(--muted);word-break:break-word;margin:4px 0 0;font-size:.82rem}.vat-results{gap:12px}.vat-table{gap:2px;margin:0;display:grid}.vat-table>div{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:10px 0;display:grid}.vat-table dt{color:var(--muted);font-weight:550}.vat-table dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.15rem;font-weight:650}.vat-total{border-bottom:0!important}.vat-total dt{color:var(--ink);font-weight:700}.vat-total dd{font-family:var(--font-display);color:var(--brand-ink);font-size:1.8rem}.type-tabs{flex-wrap:wrap;gap:6px;display:flex}.type-tab{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:.9rem;font-weight:600;display:inline-flex}.type-tab:hover{border-color:var(--brand);color:var(--brand-ink)}.type-tab[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.qr-preview{aspect-ratio:1;border-radius:var(--r);border:1px solid var(--line);background-image:linear-gradient(45deg,#f1f2f8 25%,#0000 25%),linear-gradient(-45deg,#f1f2f8 25%,#0000 25%);place-items:center;display:grid;overflow:hidden}.qr-preview svg{width:100%;height:100%;display:block}.qr-placeholder{text-align:center;color:var(--muted);margin:0;padding:24px}.colour-field{gap:8px;display:flex}.colour-field input[type=color]{border:1px solid var(--line-strong);background:var(--surface);cursor:pointer;border-radius:10px;flex:none;width:44px;height:42px;padding:3px}.colour-field input[type=color]::-webkit-color-swatch-wrapper{padding:0}.colour-field input[type=color]::-webkit-color-swatch{border:0;border-radius:7px}.md-preview{max-width:none;min-height:520px;max-height:720px;padding:4px 6px;font-size:.98rem;overflow:auto}.md-preview>:first-child{margin-top:0}.md-preview h1{font-size:1.8rem}.md-preview h2{margin-top:1.2em;font-size:1.35rem}.md-preview input[type=checkbox]{accent-color:var(--brand);margin-right:6px}.md-preview li:has(>input[type=checkbox]){margin-left:-1.2em;list-style:none}.cheatsheet summary{cursor:pointer;list-style:none}.cheatsheet summary::-webkit-details-marker{display:none}.cheatsheet summary .panel-title:after{content:" ▾";color:var(--muted)}.cheat-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:6px 20px;margin:4px 0 0;display:grid}.cheat-grid>div{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.cheat-grid dt code{background:var(--surface-2);border-radius:6px;padding:2px 6px;font-size:.82rem}.cheat-grid dd{color:var(--muted);text-align:right;margin:0;font-size:.85rem}.image-preview{border-radius:var(--r);border:1px solid var(--line);background:repeating-conic-gradient(#f1f2f8 0% 25%,#fff 0% 50%) 50%/16px 16px;place-items:center;max-height:320px;display:grid;overflow:hidden}.image-preview img{object-fit:contain;width:auto;max-height:320px;display:block}.palette-strip{border-radius:var(--r);height:64px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #0000000f}.palette-strip i{flex-basis:0}.swatches{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.swatch{border:1px solid var(--line);border-radius:var(--r);align-items:center;gap:12px;padding:8px;display:flex}.swatch-chip{border-radius:10px;flex:none;place-items:center;width:54px;height:54px;font-size:.72rem;font-weight:700;display:grid;box-shadow:inset 0 0 0 1px #00000014}.swatch-info{flex:1;min-width:0}.swatch-info p{margin:0}.swatch-hex{font-size:.95rem;font-weight:700}.swatch-rgb{color:var(--muted);font-size:.78rem}.palette-empty{text-align:center;justify-items:center;gap:14px;padding:32px 0;display:grid}.palette-ghost{border-radius:var(--r);opacity:.22;filter:saturate(.6);width:100%;max-width:360px;height:64px;display:flex;overflow:hidden}.palette-ghost i{flex:1}.code-details summary{cursor:pointer;color:var(--brand);font-size:.9rem;font-weight:600}.code-details pre{background:var(--surface-2);border-radius:var(--r-sm);padding:12px;font-size:.8rem;overflow-x:auto}.invoice-tool{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}@media (max-width:960px){.invoice-tool{grid-template-columns:1fr}}@media (max-width:480px){.inv-head{flex-direction:column}.inv-title{text-align:left}}.invoice-preview-col .sticky-panel{gap:12px;display:grid}.items-table{gap:8px;display:grid}.items-row{grid-template-columns:minmax(0,2.4fr) minmax(56px,.6fr) minmax(80px,1fr) minmax(80px,1fr) 36px;align-items:center;gap:8px;display:grid}.items-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:650}.items-amount{font-variant-numeric:tabular-nums;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}.num{text-align:right}@media (max-width:560px){.items-head{display:none}.items-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 36px;padding-bottom:10px}.items-row>:first-child{grid-column:1/-1}.items-amount{text-align:left;grid-column:1/3}.items-row>:nth-child(5){grid-area:3/3}}.invoice-paper{border:1px solid var(--line);box-shadow:var(--shadow-lg);color:var(--ink);border-top:4px solid var(--brand);overflow-wrap:anywhere;background:#fff;border-radius:6px;padding:clamp(18px,4vw,34px);font-size:.82rem}.inv-head{justify-content:space-between;gap:16px;margin-bottom:22px;display:flex}.inv-business{font-family:var(--font-display);margin:0 0 4px;font-size:1.2rem;font-weight:700}.inv-lines{color:var(--muted);white-space:pre-line;margin:0}.inv-title{text-align:right;flex:none}.inv-title>p{font-family:var(--font-display);letter-spacing:.02em;color:var(--brand);margin:0 0 6px;font-size:1.5rem;font-weight:800}.inv-title dl{grid-template-columns:auto auto;gap:2px 12px;margin:0;display:grid}.inv-title dt{color:var(--muted)}.inv-title dd{margin:0;font-weight:600}.inv-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:.7rem;font-weight:700}.inv-client{margin:0 0 2px;font-size:.95rem;font-weight:650}.inv-billto{margin-bottom:20px}.inv-table{border-collapse:collapse;width:100%;margin-bottom:14px}.inv-table th{background:var(--surface-2);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;padding:7px 8px;font-size:.7rem}.inv-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:8px}.inv-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.inv-totals{gap:4px;max-width:280px;margin:0 0 0 auto;display:grid}.inv-totals>div{justify-content:space-between;gap:16px;display:flex}.inv-totals dt{color:var(--muted)}.inv-totals dd{font-variant-numeric:tabular-nums;margin:0}.inv-grand{background:var(--brand-soft);border-radius:6px;margin-top:6px;padding:8px 10px;font-size:.95rem;font-weight:700}.inv-grand dt{color:var(--ink)!important}.inv-grand dd{color:var(--brand-ink)}.inv-notes{border-top:1px solid var(--line);margin-top:22px;padding-top:14px}.site-footer{color:#b6b8cc;background:#101119;margin-top:24px;padding-block:56px 28px}.site-footer .brand,.site-footer .brand:hover{color:#fff}.site-footer .brand-name span{color:#a5b4fc}.footer-top{grid-template-columns:1.4fr repeat(4,1fr);gap:32px;display:grid}.footer-brand p{max-width:34ch;margin:12px 0 0;font-size:.92rem}.footer-promise{color:#7ee0d4;align-items:center;gap:8px;font-weight:600;display:inline-flex}.footer-col h2{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;color:#fff;margin-bottom:12px;font-size:.78rem}.footer-col ul,.footer-bottom ul{margin:0;padding:0;list-style:none}.footer-col li{margin-bottom:8px}.site-footer a{color:#b6b8cc;font-size:.92rem;text-decoration:none}.site-footer a:hover{color:#fff;text-decoration:underline}.site-footer :focus-visible{outline-color:#a5b4fc}.footer-bottom{border-top:1px solid #262838;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:40px;padding-top:22px;font-size:.86rem;display:flex}.footer-bottom p{margin:0}.footer-bottom ul{flex-wrap:wrap;gap:18px;display:flex}@media (max-width:960px){.footer-top{grid-template-columns:repeat(2,1fr)}.footer-brand{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{@page{size:A4;margin:14mm}body{background:#fff}.site-header,.site-footer,.route-progress,.skip-link{display:none!important}body:has(.invoice-paper) .tool-page>:not(.tool-workspace){display:none!important}body:has(.invoice-paper) .invoice-form{display:none!important}body:has(.invoice-paper) .invoice-preview-col .sticky-panel>:not(.invoice-paper){display:none!important}body:has(.invoice-paper) .invoice-tool{display:block;position:static}body:has(.invoice-paper) .invoice-preview-col .sticky-panel{display:block;position:static}body:has(.invoice-paper) .tool-workspace{max-width:none;padding:0}body:has(.invoice-paper) .invoice-paper{box-shadow:none;border:0;border-top:4px solid var(--brand);-webkit-print-color-adjust:exact;-moz-print-color-adjust:exact;print-color-adjust:exact;border-radius:0;padding:6mm 0 0;font-size:10.5pt}}
