:root{--bg: #f5f7fa;--surface: #ffffff;--surface-2: #f0f2f6;--ink: #0d1220;--muted: #566073;--line: #e0e4ec;--line-strong: #c9cfda;--field-border: #7f8899;--accent: #0b7f73;--accent-hover: #096b61;--accent-ink: #0a6f64;--on-accent: #ffffff;--accent-soft: #e1f3ef;--tag-pdf: #c2410c;--tint-pdf: #ffede3;--tag-img: #7c3aed;--tint-img: #f1eafe;--tag-video: #c2206a;--tint-video: #fde8f2;--tag-text: #2259d9;--tint-text: #e6eefe;--tag-generators: #b45309;--tint-generators: #fef3dc;--tag-calculators: #0f766e;--tint-calculators: #ddf5f1;--tag-meetings: #4f46e5;--tint-meetings: #e8e8fd;--tag-learn: #147a3a;--tint-learn: #e2f6e8;--tag-developer: #334155;--tint-developer: #e8ecf2;--tag-games: #0369a1;--tint-games: #e0f2fe;--on-tag: #ffffff;--danger: #a3241a;--danger-soft: #fbe9e6;--focus: #4f46e5;--highlight: #fff3bf;--shadow: 0 1px 2px rgb(13 18 32 / 5%), 0 10px 30px -12px rgb(13 18 32 / 25%);--header-bg: rgb(245 247 250 / 80%);--dots: rgb(13 18 32 / 7%);color-scheme:light;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--step--1: .875rem;--step-0: 1rem;--step-1: 1.1875rem;--step-2: 1.5rem;--step-3: clamp(1.75rem, 1.3rem + 2vw, 2.75rem);--radius-lg: 24px;--radius: 18px;--radius-sm: 12px;--header-h: 64px;--gutter: max(clamp(16px, 3vw, 24px), env(safe-area-inset-left, 0px));--gutter-r: max(clamp(16px, 3vw, 24px), env(safe-area-inset-right, 0px))}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0a0d13;--surface: #11161f;--surface-2: #171d28;--ink: #e9edf5;--muted: #a1aabb;--line: #252d3b;--line-strong: #36404f;--field-border: #646e80;--accent: #2dd4bf;--accent-hover: #5eead4;--accent-ink: #5eead4;--on-accent: #04221e;--accent-soft: #142d32;--tag-pdf: #fb923c;--tint-pdf: #322723;--tag-img: #c4b5fd;--tint-img: #2a2c3e;--tag-video: #f9a8d4;--tint-video: #312a38;--tag-text: #93c5fd;--tint-text: #232f3e;--tag-generators: #fcd34d;--tint-generators: #323025;--tag-calculators: #5eead4;--tint-calculators: #1c3438;--tag-meetings: #a5b4fc;--tint-meetings: #262c3e;--tag-learn: #86efac;--tint-learn: #213433;--tag-developer: #cbd5e1;--tint-developer: #272d36;--tag-games: #7dd3fc;--tint-games: #1e3141;--on-tag: #0a0d13;--danger: #ffa194;--danger-soft: #3b201d;--focus: #a5b4fc;--highlight: #39331a;--shadow: 0 1px 2px rgb(0 0 0 / 40%), 0 10px 30px -12px rgb(0 0 0 / 70%);--header-bg: rgb(10 13 19 / 78%);--dots: rgb(255 255 255 / 6%);color-scheme:dark}}:root[data-theme=dark]{--bg: #0a0d13;--surface: #11161f;--surface-2: #171d28;--ink: #e9edf5;--muted: #a1aabb;--line: #252d3b;--line-strong: #36404f;--field-border: #646e80;--accent: #2dd4bf;--accent-hover: #5eead4;--accent-ink: #5eead4;--on-accent: #04221e;--accent-soft: #142d32;--tag-pdf: #fb923c;--tint-pdf: #322723;--tag-img: #c4b5fd;--tint-img: #2a2c3e;--tag-video: #f9a8d4;--tint-video: #312a38;--tag-text: #93c5fd;--tint-text: #232f3e;--tag-generators: #fcd34d;--tint-generators: #323025;--tag-calculators: #5eead4;--tint-calculators: #1c3438;--tag-meetings: #a5b4fc;--tint-meetings: #262c3e;--tag-learn: #86efac;--tint-learn: #213433;--tag-developer: #cbd5e1;--tint-developer: #272d36;--tag-games: #7dd3fc;--tint-games: #1e3141;--on-tag: #0a0d13;--danger: #ffa194;--danger-soft: #3b201d;--focus: #a5b4fc;--highlight: #39331a;--shadow: 0 1px 2px rgb(0 0 0 / 40%), 0 10px 30px -12px rgb(0 0 0 / 70%);--header-bg: rgb(10 13 19 / 78%);--dots: rgb(255 255 255 / 6%);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 12px)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-ui);font-size:var(--step-0);line-height:1.55;-webkit-font-smoothing:antialiased}img,canvas,svg{max-width:100%}[hidden]{display:none!important}h1,h2,h3,h4{line-height:1.2;text-wrap:balance;margin:0}h1{font-size:var(--step-3);font-weight:750;letter-spacing:-.03em;line-height:1.08}h2{font-size:var(--step-2);font-weight:700;letter-spacing:-.02em}h3{font-size:var(--step-1);font-weight:650;letter-spacing:-.01em}h4{font-size:var(--step-0);font-weight:650}p{margin:0}a{color:var(--accent-ink);text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}a:focus-visible{border-radius:4px}main:focus{outline:none}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.skip-link{position:absolute;left:var(--gutter);top:-100px;z-index:100;padding:10px 16px;background:var(--surface);color:var(--ink);border:2px solid var(--focus);border-radius:var(--radius-sm);font-weight:600}.skip-link:focus{top:calc(8px + env(safe-area-inset-top,0px))}.wrap{width:100%;max-width:1200px;margin-inline:auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}.tag-pdf{--cat: var(--tag-pdf);--cat-tint: var(--tint-pdf)}.tag-img{--cat: var(--tag-img);--cat-tint: var(--tint-img)}.tag-video{--cat: var(--tag-video);--cat-tint: var(--tint-video)}.tag-text{--cat: var(--tag-text);--cat-tint: var(--tint-text)}.tag-generators{--cat: var(--tag-generators);--cat-tint: var(--tint-generators)}.tag-calculators{--cat: var(--tag-calculators);--cat-tint: var(--tint-calculators)}.tag-meetings{--cat: var(--tag-meetings);--cat-tint: var(--tint-meetings)}.tag-learn{--cat: var(--tag-learn);--cat-tint: var(--tint-learn)}.tag-developer{--cat: var(--tag-developer);--cat-tint: var(--tint-developer)}.tag-games{--cat: var(--tag-games);--cat-tint: var(--tint-games)}.icon-tile{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--cat-tint, var(--surface-2));color:var(--cat, var(--ink))}.icon-tile .icon{width:20px;height:20px}.icon-tile-sm{width:28px;height:28px;border-radius:9px}.icon-tile-sm .icon{width:16px;height:16px}.icon-tile-lg{width:64px;height:64px;border-radius:18px}.icon-tile-lg .icon{width:30px;height:30px;stroke-width:1.8}.site-header{position:sticky;top:0;z-index:40;background:var(--header-bg);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);border-bottom:1px solid var(--line)}.header-inner{position:relative;display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;min-height:var(--header-h);padding-block:4px}.brand{display:inline-flex;align-items:center;gap:10px;flex:none;color:var(--ink);text-decoration:none;font-weight:700;font-size:1.125rem;letter-spacing:-.01em;min-height:44px}.brand .logo-mark{width:32px;height:32px}.logo-bg{fill:var(--accent)}.logo-fg{fill:var(--on-accent)}.logo-plus{fill:none;stroke:var(--on-accent);stroke-width:2.4;stroke-linecap:round}.header-search{flex:1 1 8rem;max-width:420px;min-width:0;display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 8px 0 14px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--muted);font:inherit;font-size:.9375rem;text-align:start;cursor:pointer}.header-search:hover{border-color:var(--accent);color:var(--ink)}.header-search .icon{position:static;width:18px;height:18px;margin:0;flex:none;color:inherit}.header-search-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-search.is-home{display:none}.kbd-hint{flex:none;font-size:.75rem;padding:2px 7px;border-bottom-width:1px;color:var(--muted)}.kbd-mac,[data-platform=mac] .kbd-ctrl{display:none}[data-platform=mac] .kbd-mac{display:inline}.menu-toggle{display:none;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink);cursor:pointer}.menu-toggle:hover{background:var(--surface-2)}.menu-toggle .icon{width:22px;height:22px}.site-nav{margin-left:auto}.site-nav>ul{display:flex;flex-wrap:wrap;align-items:center;gap:4px;list-style:none;margin:0;padding:0}.site-nav>ul>li>a,.nav-menu summary{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:10px;color:var(--ink);text-decoration:none;font-size:.9375rem;font-weight:550;white-space:nowrap}.site-nav>ul>li>a:hover,.nav-menu summary:hover{background:var(--surface-2)}.site-nav .nav-tip{gap:8px;margin-left:6px;padding:0 16px;border:1px solid var(--line-strong);border-radius:999px;font-weight:650}.site-nav .nav-tip:hover{border-color:var(--accent);background:var(--surface)}.nav-tip .icon{width:16px;height:16px;fill:var(--accent);stroke:var(--accent)}.nav-menu{position:relative}.nav-menu summary{list-style:none;cursor:pointer}.nav-menu summary::-webkit-details-marker{display:none}.nav-menu summary .icon{width:18px;height:18px}.nav-menu summary .icon-sm{width:14px;height:14px;color:var(--muted);transition:transform .12s ease}.nav-menu[open] summary .icon-sm{transform:rotate(180deg)}.nav-menu[open]>summary{background:var(--surface-2)}.site-nav .lang-menu ul,.site-nav .theme-menu ul,.site-nav .menu-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:20;display:grid;gap:2px;min-width:190px;margin:0;padding:8px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.site-nav .tools-menu{position:static}.site-nav .menu-panel{top:calc(100% - 2px);right:auto;left:50%;transform:translate(-50%);width:min(38rem,calc(100% - var(--gutter) - var(--gutter-r)));gap:8px;padding:10px}.site-nav .menu-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:2px;list-style:none;margin:0;padding:0}.site-nav .menu-list a,.site-nav .lang-menu a,.lang-current,.theme-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 10px;border:0;border-radius:10px;background:none;color:var(--ink);font:inherit;font-size:var(--step--1);font-weight:550;text-align:start;text-decoration:none;white-space:nowrap;cursor:pointer}.site-nav .menu-list a{white-space:normal;line-height:1.3}.site-nav .menu-list a:hover,.site-nav .lang-menu a:hover,.theme-menu button:hover{background:var(--surface-2)}.lang-current{font-weight:700;background:var(--accent-soft);color:var(--accent-ink)}.site-nav .menu-list a:focus-visible,.site-nav .lang-menu a:focus-visible,.theme-menu button:focus-visible{outline-offset:-2px}.nav-theme{display:none}[data-theme-choice] .nav-theme{display:block}.theme-menu summary{padding:0;width:40px;justify-content:center}.theme-word,.theme-now{display:none}.theme-now .icon{width:18px;height:18px}[data-theme-choice=system] .theme-now[data-theme-icon=system],[data-theme-choice=light] .theme-now[data-theme-icon=light],[data-theme-choice=dark] .theme-now[data-theme-icon=dark]{display:inline-flex}.theme-menu ul{min-width:160px}.theme-menu button .icon{width:18px;height:18px;flex:none;color:var(--muted)}.theme-menu button>.icon:last-child{margin-left:auto;color:var(--accent-ink);visibility:hidden}.theme-menu button[aria-current=true]{font-weight:700}.theme-menu button[aria-current=true]>.icon:last-child{visibility:visible}.site-footer .footer-langs ul{display:flex;flex-wrap:wrap;gap:4px 16px}.footer-langs a,.footer-langs span{display:inline-flex;align-items:center;min-height:32px;color:var(--muted)}.footer-langs span[aria-current]{color:var(--ink);font-weight:650}@media(max-width:1080px){.menu-toggle{display:inline-grid}html:not([data-theme-choice]) .menu-toggle{display:none}.header-search,.header-search.is-home+.menu-toggle{margin-left:auto}[data-theme-choice] .site-nav{display:none}[data-theme-choice] .site-header.is-open .site-nav{display:block;position:absolute;top:calc(100% + 1px);left:0;right:0;max-height:calc(100dvh - var(--header-h) - 8px);overflow-y:auto;overscroll-behavior:contain;margin:0;padding:8px var(--gutter-r) 16px var(--gutter);background:var(--surface);border-bottom:1px solid var(--line);box-shadow:var(--shadow)}[data-theme-choice] .site-nav>ul{flex-direction:column;align-items:stretch;gap:2px}[data-theme-choice] .site-nav>ul>li>a,[data-theme-choice] .site-nav .nav-menu summary{display:flex;width:100%;min-height:48px}[data-theme-choice] .site-nav .nav-tip{margin:8px 0 0;justify-content:center}[data-theme-choice] .site-nav .nav-menu summary .icon-sm{margin-left:auto}[data-theme-choice] .theme-menu summary{width:100%;padding:0 12px;justify-content:flex-start}[data-theme-choice] .theme-word{display:inline}[data-theme-choice] .site-nav .lang-menu ul,[data-theme-choice] .site-nav .theme-menu ul,[data-theme-choice] .site-nav .menu-panel{position:static;transform:none;width:auto;margin:2px 0 6px;box-shadow:none;background:var(--surface-2);border:0}[data-theme-choice] .site-nav .menu-panel .finder-input{background:var(--surface)}}@media(max-width:600px){:root{--header-h: 60px}.header-inner{gap:4px}.brand{margin-right:auto}.header-search.is-home+.menu-toggle{margin-left:0}.header-search,.header-search.is-home{display:inline-grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ink)}.header-search .icon{width:20px;height:20px}.header-search-label,.header-search .kbd-hint{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}html:not([data-theme-choice]) .header-search{display:none}}.finder{position:relative;display:grid;gap:8px;min-width:0}.finder-label{font-size:var(--step-1);font-weight:700}.finder-title{font-size:var(--step-1)}.finder-field{position:relative}.finder-control{position:relative;display:block}.finder-icon{position:absolute;left:12px;top:50%;width:20px;height:20px;margin-top:-10px;color:var(--muted);pointer-events:none}.finder-input{width:100%;min-height:44px;padding:8px 12px 8px 40px;border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;-webkit-appearance:none;appearance:none}.finder-404{max-width:40rem}.finder-404 .finder-input{min-height:56px;padding-left:48px;font-size:1.0625rem;border-radius:16px}.finder-404 .finder-icon{left:16px;width:22px;height:22px;margin-top:-11px}.finder-home{width:100%;max-width:680px}.finder-home .finder-control{display:flex;align-items:center;gap:12px;min-height:68px;padding:0 10px 0 20px;border:1.5px solid var(--field-border);border-radius:20px;background:var(--surface);box-shadow:0 1px 0 var(--line),0 18px 40px -24px #0d122059}.finder-home .finder-control:has(.finder-input:focus-visible){outline:2px solid var(--focus);outline-offset:3px}.finder-home .finder-icon{position:static;flex:none;width:22px;height:22px;margin:0}.finder-home .finder-input{flex:1;min-width:0;min-height:56px;padding:0;border:0;border-radius:0;background:transparent;font-size:1.1875rem}.finder-home .finder-input:focus-visible{outline:none}.finder-home .kbd-hint{margin-left:4px}.finder-go{flex:none;min-height:48px;padding:0 22px;border-radius:14px;font-size:1rem}.finder-results{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:15;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);text-align:start}.finder-menu .finder-results{position:static;padding:0;border:0;border-radius:0;box-shadow:none;background:none}.finder .finder-list{display:grid;gap:2px;list-style:none;margin:0;padding:0}.finder .finder-hit{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;min-height:44px;padding:8px 10px;border-radius:10px;color:var(--ink);font-size:var(--step-0);font-weight:400;line-height:1.35;text-decoration:none;white-space:normal}.finder .finder-hit:hover,.finder .finder-hit:focus-visible{background:var(--surface-2);color:var(--ink);text-decoration:none}.finder .finder-hit:focus-visible{outline-offset:-2px}.finder-hit-name{font-weight:650}.finder-hit .tag{padding:1px 8px;border-radius:999px;background:var(--cat-tint);color:var(--cat);font-family:var(--font-ui);font-size:.75rem;letter-spacing:0}.finder-hit-card{flex-basis:100%;color:var(--muted);font-size:var(--step--1)}.finder-none{padding:4px 10px;color:var(--ink);font-size:var(--step--1)}.finder .finder-none a{display:inline-flex;align-items:center;min-height:32px;color:var(--accent-ink);font-size:var(--step--1);font-weight:600;text-decoration:underline}.hero{background-image:radial-gradient(var(--dots) 1px,transparent 1px);background-size:22px 22px;background-position:center top;border-bottom:1px solid var(--line)}.hero-inner{display:flex;flex-direction:column;align-items:center;gap:20px;padding-block:clamp(32px,7vw,96px) clamp(28px,5vw,72px);text-align:center}.hero h1{max-width:52rem;font-size:clamp(2.125rem,1.25rem + 3.5vw,4rem);line-height:1.04;letter-spacing:-.035em}.hero .lead{max-width:40rem;font-size:clamp(1rem,.9rem + .4vw,1.1875rem)}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-family:var(--font-mono);font-size:.8125rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.quick{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;max-width:64rem}.quick-label{color:var(--muted);font-size:var(--step--1)}.quick .chips{justify-content:center}.lead{font-size:var(--step-1);color:var(--muted);max-width:42rem;line-height:1.55}.proof{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;list-style:none;margin:8px 0 0;padding:0;color:var(--muted);font-size:.90625rem}.proof li{display:inline-flex;align-items:center;gap:8px}.proof .icon{width:18px;height:18px;color:var(--accent);stroke-width:2}.home-section{display:grid;gap:20px;padding-top:clamp(40px,6vw,64px)}.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px}.home-section>h2,.section-head h2{font-size:clamp(1.25rem,1rem + 1vw,1.75rem)}.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:16px;list-style:none;margin:0;padding:0}.home-section:has(>.cat-grid){container-type:inline-size}@container (min-width: 1052px){.cat-grid>li:last-child:nth-child(3n+1){grid-column:1 / -1}}.cat-tile{display:flex;align-items:center;gap:16px;height:100%;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.cat-tile .icon-tile{width:48px;height:48px;border-radius:14px}.cat-tile .icon-tile .icon{width:24px;height:24px}.cat-tile-text{display:grid;gap:3px;min-width:0}.cat-tile-name{font-size:1.0625rem;font-weight:650}.cat-tile-desc{color:var(--muted);font-size:var(--step--1);line-height:1.4}.cat-tile>.icon-sm{margin-left:auto;flex:none;width:18px;height:18px;color:var(--muted)}.all-tools{gap:8px}.all-tools .category{padding-block:20px;border-top:1px solid var(--line)}.all-tools .category:first-of-type{border-top:0}.category{padding-block:32px 8px;display:grid;gap:14px}.category-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px}.category-head h2,.category-head h3{display:inline-flex;align-items:center;gap:10px;font-size:var(--step-1)}.category-link{display:inline-flex;align-items:center;min-height:44px;font-weight:600;font-size:var(--step--1)}.link-list{columns:4 13rem;column-gap:24px;list-style:none;margin:0;padding:0}.link-list li{break-inside:avoid}.link-list a{display:inline-flex;align-items:center;min-height:32px;color:var(--ink);text-decoration:none;font-size:.9375rem}.link-list a:hover{color:var(--accent-ink);text-decoration:underline}.category-tasks{display:grid;gap:10px}.category-tasks h3,.category-tasks h4{font-size:var(--step--1);color:var(--muted);font-weight:650}.page-category .tool-grid{margin-bottom:8px}.tool-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,248px),1fr));gap:16px;list-style:none;margin:0;padding:0}.tool-card{display:flex;flex-direction:column;gap:10px;height:100%;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.tool-card:hover,.cat-tile:hover{border-color:var(--accent);box-shadow:var(--shadow);transform:translateY(-2px)}.tool-card-name{font-weight:650;font-size:1.0625rem;letter-spacing:-.01em}.tool-card-desc{color:var(--muted);font-size:var(--step--1);line-height:1.5}.tool-card .tags{margin-top:auto;padding-top:4px}.tags{display:flex;align-items:center;gap:4px 6px;flex-wrap:wrap;color:var(--muted)}.tag{display:inline-block;font-family:var(--font-mono);font-size:.71875rem;font-weight:600;letter-spacing:.06em;line-height:1.5;color:inherit}.tags .tag+.tag:before{content:"\b7";margin-right:6px}.tag-arrow{display:inline-flex;color:var(--muted)}.tag-arrow .icon{width:14px;height:14px}.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.chip{display:inline-flex;align-items:center;min-height:40px;padding:6px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);text-decoration:none;font-weight:550;font-size:var(--step--1)}a.chip:hover{border-color:var(--accent)}.chip-current{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-ink)}.why{margin-block:48px 56px;padding:clamp(20px,3vw,32px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);display:grid;gap:20px}.why h2{font-size:var(--step-1)}.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:20px 28px}.why-grid>div{display:grid;gap:6px;align-content:start}.why-grid h3{font-size:var(--step-0)}.why-grid p{color:var(--muted);font-size:.9375rem}.tool-page{padding-block:20px 72px}.crumbs ol{display:flex;flex-wrap:wrap;gap:4px;list-style:none;margin:0;padding:0;font-size:var(--step--1);color:var(--muted)}.crumbs li{display:inline-flex;align-items:center}.crumbs li+li:before{content:"/";margin-inline:4px 8px;color:var(--muted)}.crumbs a{display:inline-flex;align-items:center;min-height:32px;color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--ink);text-decoration:underline}.crumbs [aria-current]{color:var(--ink);font-weight:550}.tool-head{display:grid;gap:12px;padding-block:24px 28px;max-width:52rem}.tool-head.with-icon{grid-template-columns:auto minmax(0,1fr);column-gap:20px;align-items:start}.tool-head.with-icon>.icon-tile{grid-row:1 / span 2}.tool-head.with-icon>:not(.icon-tile){grid-column:2}.tool-head h1{padding-top:4px}.tool-head .lead{font-size:clamp(1rem,.95rem + .3vw,1.125rem)}.tool-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:4px 0 0;padding:0}.tool-chips li{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:2px 10px;border:1px solid var(--line-strong);border-radius:999px;color:var(--muted);font-size:.8125rem;font-weight:550}.tool-chips .icon{width:14px;height:14px}.tool-chips .chip-local{border-color:transparent;background:var(--accent-soft);color:var(--accent-ink);font-weight:650}.tool-chips .tags{color:inherit}.tool-chips .tag{font-size:.75rem;letter-spacing:.04em}.app{display:grid;gap:16px;padding:clamp(16px,2.4vw,28px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 1px 2px #0d12200a}.page-game .app{padding:0;background:none;border:0;border-radius:0;box-shadow:none;margin-inline:0}.drop{display:grid;gap:14px;justify-items:center;padding:clamp(28px,6vw,56px) 20px clamp(20px,4vw,32px);background:var(--bg);border:2px dashed var(--line-strong);border-radius:20px;text-align:center;transition:border-color .12s ease}.drop:focus-within{border-color:var(--accent)}.drop-inner{display:grid;justify-items:center;gap:14px}.drop-icon{width:48px;height:48px;padding:10px;border-radius:16px;background:var(--accent-soft);color:var(--accent-ink)}.drop-text{display:grid;justify-items:center;gap:8px}.drop-hint{color:var(--muted)}.drop-note{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--step--1)}.drop-note .icon{color:var(--accent-ink)}.is-dragging .drop{background:var(--accent-soft);border-color:var(--accent);border-style:solid}.drop.is-compact{padding:12px 16px;grid-template-columns:1fr;justify-items:stretch;text-align:left}.drop.is-compact .drop-inner{grid-auto-flow:column;justify-content:start;align-items:center;gap:12px}.drop.is-compact .drop-icon{display:none}.drop.is-compact .drop-text{grid-auto-flow:column;align-items:center;justify-items:start;gap:12px}.drop.is-compact .btn-lg{min-height:44px;padding:10px 18px;font-size:var(--step-0)}.drop.is-compact .drop-note{justify-self:start}.work{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:16px;align-items:start}.work-main,.work-side{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:grid;gap:14px;align-content:start}.work-side{position:sticky;top:calc(var(--header-h) + 16px);background:var(--surface-2)}@media(min-width:821px){.work-side{max-height:calc(100vh - var(--header-h) - 32px);overflow-y:auto;overscroll-behavior:contain}}.work-title{font-size:var(--step-1);display:flex;align-items:baseline;gap:8px}.count{font-family:var(--font-mono);font-size:var(--step--1);font-weight:500;color:var(--muted)}.files{list-style:none;margin:0;padding:0;display:grid;gap:8px;counter-reset:file}.file{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:8px 8px 8px 10px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.file.is-error{border-color:var(--danger);background:var(--danger-soft)}.file.is-dragged{opacity:.5}.file.is-drop-target{box-shadow:0 -3px 0 var(--accent)}.file[draggable=true]{cursor:grab}.file-thumb{width:44px;height:52px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);background:var(--bg);overflow:hidden;flex-shrink:0}.file-thumb img,.file-thumb canvas{width:100%;height:100%;object-fit:cover}.file-thumb .tag{font-size:.6875rem;color:var(--cat, var(--muted))}.file-info{display:grid;gap:2px;min-width:0}.file-name{font-weight:600;overflow-wrap:anywhere;line-height:1.35}.file-meta{color:var(--muted);font-size:var(--step--1);font-variant-numeric:tabular-nums}.file-meta strong{color:var(--accent-ink);font-weight:650}.file.is-error .file-meta{color:var(--danger)}.file-actions{display:flex;gap:2px}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--ink);cursor:pointer}.icon-btn:hover{background:var(--surface-2)}.icon-btn:disabled{opacity:.35;cursor:not-allowed;background:transparent}.icon-btn .icon{width:20px;height:20px}.pages-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}.pages-actions{display:flex;gap:6px;flex-wrap:wrap}.thumbs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px}.thumb{position:relative;display:grid;gap:6px;width:100%;padding:6px 6px 4px;border:2px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);cursor:pointer;font:inherit}.thumb-img{display:grid;place-items:center;aspect-ratio:3 / 4;background:var(--surface-2);border-radius:6px;overflow:hidden}.thumb-img canvas{width:100%;height:100%;object-fit:contain;background:#fff}.thumb-num{font-family:var(--font-mono);font-size:var(--step--1);font-variant-numeric:tabular-nums}.thumb-check{position:absolute;top:2px;right:2px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--on-accent);opacity:0;transform:scale(.6);transition:opacity .1s ease,transform .1s ease}.thumb-check .icon{width:16px;height:16px;stroke-width:3}.thumb[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.thumb[aria-pressed=true] .thumb-check{opacity:1;transform:none}.thumb:hover{border-color:var(--accent)}.field{display:grid;gap:6px;border:0;margin:0;padding:0;min-width:0}.field>label,legend{font-weight:650;font-size:var(--step--1);padding:0}legend{margin-bottom:6px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint{color:var(--muted);font-size:var(--step--1)}.field-error{color:var(--danger);font-size:var(--step--1);font-weight:600}.form-hint{color:var(--muted);font-size:var(--step--1)}.summary{font-size:var(--step--1);color:var(--muted);font-variant-numeric:tabular-nums}input[type=text],input[type=number],select{width:100%;min-height:44px;padding:8px 12px;border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit}input[type=text]:hover,input[type=number]:hover,select:hover,textarea:hover{border-color:var(--ink)}input[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.input-suffix{display:flex;align-items:stretch}.input-suffix input{border-radius:var(--radius-sm) 0 0 var(--radius-sm);min-width:0}.input-suffix span{display:grid;place-items:center;padding:0 12px;border:1px solid var(--field-border);border-left:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--surface-2);color:var(--muted);font-family:var(--font-mono);font-size:var(--step--1)}.choice{position:relative}.choice+.choice{margin-top:6px}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice label{display:grid;gap:1px;padding:10px 12px 10px 40px;min-height:44px;align-content:center;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;position:relative}.choice label:hover{border-color:var(--accent)}.choice label:before{content:"";position:absolute;left:12px;top:50%;width:18px;height:18px;margin-top:-9px;border:2px solid var(--field-border);border-radius:50%;background:var(--surface)}.choice input:checked+label{border-color:var(--accent);background:var(--accent-soft)}.choice input:checked+label:before{border-color:var(--accent);background:radial-gradient(circle,var(--accent) 0 4px,var(--surface) 5px)}.choice input:focus-visible+label{outline:2px solid var(--focus);outline-offset:2px}.choice input:disabled+label{opacity:.45;cursor:not-allowed}.choice-title{font-weight:600}.choice-desc{color:var(--muted);font-size:var(--step--1)}.choice-row{display:flex;flex-wrap:wrap;gap:6px}.choice-row .choice{flex:1 1 auto}.choice-row .choice+.choice{margin-top:0}.choice-row .choice label{padding-right:14px}.check{display:flex;align-items:center;gap:10px;min-height:44px}.check input{width:24px;height:24px;margin:0;flex-shrink:0;accent-color:var(--accent)}.check label{font-weight:600;cursor:pointer}.range{display:flex;align-items:center;gap:12px}.range input{flex:1;min-width:0;height:32px;accent-color:var(--accent);margin:0}.range output{min-width:3.5ch;padding:2px 8px;border-radius:8px;background:var(--surface-2);text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:600}.work-even,.work-single{display:grid;gap:16px;align-items:start}.work-even{grid-template-columns:repeat(2,minmax(0,1fr))}.work-single{grid-template-columns:minmax(0,1fr)}textarea{display:block;width:100%;min-height:7.5rem;padding:10px 12px;border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font:inherit;line-height:1.5;resize:vertical}textarea.mono,input.mono{font-family:var(--font-mono);font-size:var(--step--1)}textarea[readonly]{background:var(--surface-2)}textarea[aria-invalid=true]{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}::placeholder{color:var(--muted);opacity:1}.input-affix{display:flex;align-items:stretch}.input-affix input{min-width:0;flex:1;border-radius:0}.input-affix input:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.input-affix input:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm)}.input-affix span{display:grid;place-items:center;padding:0 12px;border:1px solid var(--field-border);background:var(--surface-2);color:var(--muted);font-size:var(--step--1);white-space:nowrap}.input-affix span:first-child{border-right:0;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.input-affix span:last-child{border-left:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}.stat{display:grid;gap:2px;align-content:start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-width:0}.stat dt{color:var(--muted);font-size:var(--step--1)}.stat dd{margin:0;font-size:var(--step-1);font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stats-lead .stat:first-child{grid-column:1 / -1}.stats-lead .stat:first-child dd{font-size:var(--step-2)}.local-note{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--step--1)}.local-note .icon{color:var(--accent-ink);flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:var(--radius-sm);font:inherit;font-weight:650;line-height:1.2;text-decoration:none;cursor:pointer;transition:border-color .12s ease}.btn .icon{width:20px;height:20px}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}.btn-secondary:hover{border-color:var(--accent);background:var(--accent-soft)}.btn-quiet{background:transparent;color:var(--accent-ink);border-color:transparent}.btn-quiet:hover{background:var(--surface-2)}.btn-lg{min-height:52px;padding:12px 28px;font-size:1.0625rem;border-radius:14px}.btn-sm{min-height:36px;padding:6px 12px;font-size:var(--step--1);border-radius:10px}.btn-block{width:100%}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.progress{display:grid;gap:6px}progress{-webkit-appearance:none;appearance:none;height:10px;border:0;border-radius:999px;background:var(--surface-2);color:var(--accent);overflow:hidden}progress::-webkit-progress-bar{background:var(--line);border-radius:999px}progress::-webkit-progress-value{background:var(--accent);border-radius:999px}progress::-moz-progress-bar{background:var(--accent);border-radius:999px}.progress progress{width:100%}.progress-label{color:var(--muted);font-size:var(--step--1);font-variant-numeric:tabular-nums}.result{display:grid;gap:16px;padding:clamp(16px,2.4vw,24px);background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:0 0 0 4px var(--accent-soft)}.result-head{display:flex;gap:14px;align-items:flex-start}.result-head>div{flex:1;min-width:0}.result-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;background:var(--accent);color:var(--on-accent)}.result-icon .icon{width:22px;height:22px;stroke-width:2.6}.result h2{font-size:var(--step-2)}.result h2:focus{outline:none}.result h2:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.result-meta{color:var(--muted);font-size:var(--step--1);font-variant-numeric:tabular-nums;margin-top:4px}.result-body{display:grid;gap:12px}.result-actions{display:flex;flex-wrap:wrap;gap:8px;border-top:1px solid var(--line);padding-top:12px}.big-stat{font-size:var(--step-2);font-weight:720;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.big-stat .arrow{color:var(--muted);font-weight:400;margin-inline:6px}.big-stat .saved{color:var(--accent-ink)}.outputs{list-style:none;margin:0;padding:0;display:grid;gap:8px}.outputs .file{grid-template-columns:auto minmax(0,1fr) auto}.page-outputs{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;list-style:none;margin:0;padding:0}.page-output{display:grid;gap:8px;padding:8px;border:1px solid var(--line);border-radius:var(--radius-sm)}.page-output img{width:100%;aspect-ratio:3 / 4;object-fit:contain;background:#fff;border-radius:6px;border:1px solid var(--line)}.page-output .btn{width:100%}.alert{padding:12px 16px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface)}.alert-error{border-color:var(--danger);background:var(--danger-soft);color:var(--ink);font-weight:550}.alert-error:empty{padding:0;border:0}.notice{color:var(--muted);font-size:var(--step--1)}.tool-info{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;padding-top:56px}.howto,.faq{display:grid;gap:16px;align-content:start}.howto h2,.faq h2,.related h2,.more h2{font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem)}.steps{margin:0;padding:0;list-style:none;counter-reset:step;display:grid;gap:12px}.steps li{counter-increment:step;display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start;max-width:36rem}.steps li:before{content:counter(step);display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--surface-2);font-family:var(--font-mono);font-weight:700;font-size:var(--step--1)}.howto .steps{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}.howto .steps li{display:flex;flex-direction:column;gap:10px;max-width:none;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.howto .steps li:before{content:counter(step,decimal-leading-zero);display:block;width:auto;height:auto;background:none;color:var(--accent-ink);font-size:.8125rem;font-weight:650;letter-spacing:.04em}.faq{max-width:52rem;gap:8px}.faq h2{margin-bottom:4px}.faq details{border-bottom:1px solid var(--line)}.faq details:first-of-type{border-top:1px solid var(--line)}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding-block:12px;cursor:pointer;font-weight:600;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--surface-2);font-family:var(--font-mono);font-size:1.125rem;color:var(--muted)}.faq details[open] summary:after{content:"\2212"}.faq summary:hover{color:var(--accent-ink)}.faq details p{padding-bottom:16px;color:var(--muted);max-width:44rem}.related{display:grid;gap:16px;padding-top:48px}.related .tool-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:12px}.related .tool-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 14px;padding:14px 16px;border-radius:16px}.related .tool-card .card-top{grid-row:1 / span 2;align-self:start}.related .tool-card .badge-local,.related .tool-card .tags{display:none}.related .tool-card-name{font-size:var(--step-0)}.after-job{display:grid;gap:10px}.tip{color:var(--muted);font-size:var(--step--1)}.rate{display:grid;gap:8px}.rate-choice{display:flex;flex-wrap:wrap;align-items:center;gap:8px;border:0;margin:0;padding:0}.rate-choice legend{float:left;margin:0 4px 0 0;font-weight:600;font-size:var(--step--1)}.rate-choice .btn .icon{width:18px;height:18px}.rate-choice .btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.rate-more{display:grid;gap:6px;max-width:32rem}.rate-more label{font-weight:600;font-size:var(--step--1)}.rate-more .btn{justify-self:start}.rate .hint{font-size:.8125rem}.rate-status:empty{display:none}.rate-status{color:var(--accent-ink);font-size:var(--step--1);font-weight:600}.feedback-form{display:grid;gap:16px;max-width:36rem}.feedback-form .btn-primary{justify-self:start}.feedback-done{display:grid;gap:12px;justify-items:start;max-width:36rem}.feedback-thanks{font-size:var(--step-1);font-weight:650;color:var(--accent-ink)}.feedback-thanks:focus{outline:none}.more{display:grid;gap:16px;padding-top:48px}.more-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}.more-item{display:grid;gap:6px;align-content:start;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.more-item h2,.more-item h3{font-size:var(--step-0);font-weight:700;letter-spacing:0}.more-item p{color:var(--muted);font-size:var(--step--1)}.more-links{display:grid;gap:6px}.more-links a{font-weight:600}.promos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-block:0 64px}.promo{display:grid;gap:8px;align-content:start;padding:clamp(20px,3vw,28px);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg)}.promo h2{font-size:var(--step-1)}.promo p{color:var(--muted)}.promo a{font-weight:650}.teams-options,.teams-contact{display:grid;gap:12px;padding-bottom:40px}.option-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}.option-list li{display:grid;gap:6px;align-content:start;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.option-list h3{font-size:var(--step-0)}.option-list p{color:var(--muted)}.page-teams .why{margin-block:32px 40px}.page-teams .faq{padding-bottom:48px}.prose-page{padding-block:40px 72px;display:grid;gap:16px}.prose{display:grid;gap:12px;max-width:44rem}.prose h2{font-size:var(--step-1);margin-top:16px}.prose p{color:var(--ink)}.updated{color:var(--muted);font-size:var(--step--1)}.page-404 .category h2{font-size:var(--step-1)}.offline-kept{display:grid;gap:12px;margin-top:16px}.offline-kept h2{font-size:var(--step-1)}.share-status{display:grid}.share-status>p{grid-area:1 / 1}.share-none,.share-status.is-none .share-summary{visibility:hidden}.share-status.is-none .share-none{visibility:visible}.share-summary{min-height:3.1em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;font-weight:600}.share-group{display:grid;gap:12px;margin-top:8px}.share-group h2{font-size:var(--step-1)}.site-nav .menu-app{grid-column:1 / -1;margin-top:4px;padding-top:6px;border-top:1px solid var(--line)}.site-nav .menu-app ul{display:grid;gap:2px;list-style:none;margin:0;padding:0}.site-nav .menu-app button{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:6px 10px;border:0;border-radius:10px;background:none;color:var(--ink);font:inherit;font-size:var(--step--1);font-weight:550;text-align:start;cursor:pointer}.site-nav .menu-app button:hover{background:var(--surface-2)}.site-nav .menu-app .icon{width:18px;height:18px;flex-shrink:0;color:var(--accent-ink)}.app-dialog{width:min(30rem,calc(100% - 32px));max-height:calc(100% - 32px);padding:24px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.app-dialog[open]{display:grid;gap:12px}.app-dialog::backdrop{background:#0a0d138c}.app-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.app-dialog h2{font-size:var(--step-1);padding-top:6px}.app-dialog>.btn{justify-self:start}.app-dialog .steps li{max-width:none}.app-size{font-weight:600;font-variant-numeric:tabular-nums}.app-status:empty{display:none}.app-bar{position:fixed;z-index:30;left:var(--gutter);right:var(--gutter-r);bottom:max(12px,env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;max-width:40rem;margin-inline:auto;padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--shadow);font-size:var(--step--1)}.app-bar-text{display:grid;gap:6px;flex:1 1 16rem;min-width:0}.app-bar-text p{font-weight:550}.app-bar progress{width:100%;height:8px}.app-bar-actions{display:flex;flex-wrap:wrap;gap:8px}.site-footer{border-top:1px solid var(--line);background:var(--surface);padding-block:40px 28px;margin-top:32px;font-size:var(--step--1);color:var(--muted)}.footer-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,2fr) minmax(0,1fr);gap:28px 48px}.footer-about{display:grid;gap:8px;align-content:start;max-width:22rem}.footer-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:var(--step-0);font-weight:700}.footer-brand .logo-mark{width:24px;height:24px}.footer-title{font-size:.75rem;font-weight:650;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.footer-title a{display:inline-flex;align-items:center;min-height:32px;color:var(--ink);text-decoration:none}.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.footer-cats ul{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));column-gap:24px}.site-footer li a{display:inline-flex;align-items:center;min-height:32px;color:var(--ink);text-decoration:none}.site-footer li a:hover{color:var(--accent-ink);text-decoration:underline}.footer-legal{display:flex;gap:8px 24px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:32px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted)}.footer-legal p{display:flex;gap:16px;flex-wrap:wrap;align-items:center}.footer-legal a{color:var(--muted);min-height:32px;display:inline-flex;align-items:center}.icon-sm{width:16px;height:16px}@media(max-width:820px){.work,.work-even{grid-template-columns:minmax(0,1fr)}.work-side{position:static}.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footer-about{grid-column:1 / -1;max-width:none}}@media(max-width:820px){.work-side:has([data-run]){padding-bottom:0}.run-area{position:sticky;bottom:0;z-index:5;display:grid;gap:8px;margin-inline:-20px;padding:12px 20px max(12px,env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}html:has(.run-area){scroll-padding-bottom:96px}}.run-area{display:grid;gap:8px}@media(max-width:600px){.hero-inner{align-items:stretch;text-align:left;gap:16px}.hero .eyebrow{align-self:flex-start;font-size:.75rem}.finder-home .finder-control{min-height:56px;padding:0 6px 0 16px;border-radius:16px;gap:10px}.finder-home .finder-input{min-height:52px;font-size:1.0625rem}.finder-home .kbd-hint,.finder-go{display:none}.quick,.quick .chips{justify-content:flex-start}.proof{justify-content:flex-start;flex-direction:column;gap:8px}.cat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cat-tile{flex-direction:column;align-items:flex-start;gap:10px;padding:14px;border-radius:16px}.cat-tile .icon-tile{width:40px;height:40px;border-radius:12px}.cat-tile .icon-tile .icon{width:20px;height:20px}.cat-tile-name{font-size:.9375rem}.cat-tile-desc,.cat-tile>.icon-sm{display:none}.link-list{columns:2;column-gap:16px}.tool-grid{gap:10px}.tool-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;padding:14px 16px;border-radius:16px}.tool-card .card-top{display:contents}.tool-card .icon-tile{grid-row:1 / span 3;align-self:start}.tool-card .badge-local{grid-column:2;grid-row:3}.tool-card-name,.tool-card-desc{grid-column:2}.tool-card-name{grid-row:1}.tool-card-desc{grid-row:2}.tool-card .tags{display:none}.tool-head{padding-block:16px 20px}.tool-head.with-icon{grid-template-columns:48px minmax(0,1fr);column-gap:14px;align-items:center}.tool-head.with-icon>.icon-tile{grid-row:1;width:48px;height:48px;border-radius:14px}.tool-head.with-icon>.icon-tile .icon{width:24px;height:24px}.tool-head.with-icon>:not(.icon-tile,h1){grid-column:1 / -1}.tool-head h1{padding-top:0}.app{margin-inline:-12px;padding:11px;border-radius:20px}.howto .steps li{padding:16px}.footer-grid{grid-template-columns:minmax(0,1fr);gap:20px}}@media(max-width:480px){.drop.is-compact .drop-text{grid-auto-flow:row}.file{grid-template-columns:auto minmax(0,1fr)}.file-actions{grid-column:1 / -1;justify-content:flex-end}.field-row{grid-template-columns:1fr}.work-main,.work-side{padding:14px}.run-area{margin-inline:-14px;padding-inline:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.tool-card:hover,.cat-tile:hover{transform:none}}@media(forced-colors:active){.choice label:before{forced-color-adjust:none;border-color:CanvasText}.choice input:checked+label:before{background:Highlight}.thumb[aria-pressed=true]{border-color:Highlight}.icon-tile,.tool-chips li{border:1px solid CanvasText}.finder-home .finder-input:focus-visible{outline:2px solid Highlight}}@media print{.tool-page{padding-block:0}.site-header{position:static;-webkit-backdrop-filter:none;backdrop-filter:none}.app{margin:0;padding:0;border:0;border-radius:0;background:none;box-shadow:none}.tool-head.with-icon{grid-template-columns:minmax(0,1fr)}.tool-head.with-icon>*{grid-column:1}.tool-head.with-icon>.icon-tile,.tool-chips{display:none}.run-area{position:static}}.card-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;margin:0}.badge-local{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:.75rem;font-weight:550;line-height:1.5;white-space:nowrap}.badge-local .icon{width:14px;height:14px}@font-face{font-family:Allura;src:url(/fonts/Allura.woff) format("woff");font-display:swap}@font-face{font-family:Great Vibes;src:url(/fonts/GreatVibes.woff) format("woff");font-display:swap}@font-face{font-family:Quick Script DT;src:url(/fonts/QuickScript.woff) format("woff");font-display:swap}@font-face{font-family:Caveat;src:url(/fonts/Caveat.woff) format("woff");font-display:swap}.colour-pick{display:flex;align-items:center;gap:10px}.colour-pick input[type=color]{width:56px;height:44px;padding:3px;border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer}.colour-code{font-family:var(--font-mono);font-size:var(--step--1);color:var(--muted);text-transform:uppercase}.sig-panel{display:grid;gap:14px}.sig-paper{position:relative;background:#fdfdfb;border:1px solid var(--field-border);border-radius:var(--radius-sm);overflow:hidden}.sig-pad{display:block;width:100%;aspect-ratio:2 / 1;touch-action:none;cursor:crosshair}.sig-preview{display:block;width:100%;aspect-ratio:640 / 200}.sig-paper:not(.sig-paper-preview):after{content:"";position:absolute;left:7%;right:7%;bottom:26%;border-bottom:2px dashed #8b929b;pointer-events:none}.sig-paper:not(.sig-paper-preview):before{content:"\d7";position:absolute;left:2.5%;bottom:calc(26% - .35em);color:#6b7280;font-size:1.5rem;line-height:1;pointer-events:none}@media(prefers-color-scheme:dark){:where(:root:not([data-theme=light])) .sig-paper{background:#f1f1ec}}:where(:root[data-theme=dark]) .sig-paper{background:#f1f1ec}.sig-fonts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sig-fonts .choice+.choice{margin-top:0}.sig-font label{height:100%;padding-block:8px}.sig-sample{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:1.75rem;line-height:1.5;color:var(--ink)}.sig-font-flowing{font-family:Allura,cursive;font-size:2rem}.sig-font-elegant{font-family:Great Vibes,cursive}.sig-font-quick{font-family:Quick Script DT,cursive;font-size:2.25rem}.sig-font-casual{font-family:Caveat,cursive}@media(max-width:480px){.sig-fonts{grid-template-columns:minmax(0,1fr)}}.turn-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.turn-btn{flex-direction:column;gap:4px;min-height:72px;padding:10px 8px;font-size:var(--step--1);text-align:center}.turn-btn .icon{width:26px;height:26px}.table-scroll{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:var(--radius-sm)}.table-scroll.is-long{max-height:min(70vh,40rem)}.calc-table{width:100%;border-collapse:collapse;font-size:var(--step--1);font-variant-numeric:tabular-nums}.calc-table caption{caption-side:top;text-align:left;padding:10px 12px;color:var(--muted)}.calc-table th,.calc-table td{padding:8px 12px;text-align:right;white-space:nowrap;border-top:1px solid var(--line)}.calc-table th:first-child{text-align:left}.calc-table thead th{position:sticky;top:0;z-index:1;background:var(--surface-2);font-weight:650}.calc-table tbody th{font-weight:550}.calc-table tfoot th,.calc-table tfoot td{font-weight:700;border-top:2px solid var(--field-border)}@media(max-width:480px){.calc-table th,.calc-table td{padding:8px 10px}}kbd{display:inline-block;min-width:1.6em;padding:1px 6px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:6px;background:var(--surface-2);color:var(--ink);font-family:var(--font-mono);font-size:.85em;text-align:center}.alert-error a{color:inherit;font-weight:700}.is-dragging{cursor:grabbing}
