@font-face{font-family:Commissioner;src:url(/fonts/commissioner-latin-wght-normal.woff2)format("woff2-variations");font-weight:100 900;font-display:swap}:root{--bg:#f6f5f1;--paper:#fff;--ink:#16181d;--muted:#5f6472;--line:#e7e4dc;--soft:#f2f0ea;--ok:#127a4a;--warn:#9a5b00;--warn-bg:#fff4dc;--bad:#b3261e;--c:var(--accent);--radius:20px;--radius-sm:14px;--shadow:0 1px 2px #14161c0a, 0 10px 30px -12px #14161c24;--shadow-pop:0 2px 0 #14161c0f, 0 18px 40px -18px #14161c4d;--font:"Commissioner", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Consolas, monospace;--ease:cubic-bezier(.34, 1.56, .64, 1);color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{background:radial-gradient(circle at 1px 1px, #16181d0e 1px, transparent 0) 0 0 / 22px 22px, var(--bg);color:var(--ink);font:400 17px/1.6 var(--font);margin:0}img,svg{max-width:100%}a{color:var(--link);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}h1,h2,h3{letter-spacing:-.025em;text-wrap:balance;line-height:1.15}h1{margin:0 0 .35em;font-size:clamp(1.9rem,4.6vw,2.7rem);font-weight:820}h2{margin:2.2em 0 .6em;font-size:1.45rem;font-weight:760}h3{margin:1.6em 0 .4em;font-size:1.1rem;font-weight:700}p,ul,ol{margin:0 0 1em}code,.mono{font-family:var(--mono);font-size:.92em}.num{font-variant-numeric:tabular-nums}::selection{background:color-mix(in srgb, var(--accent) 40%, transparent)}.wrap{width:min(1100px,100% - 2rem);margin-inline:auto}.narrow{width:min(800px,100% - 2rem);margin-inline:auto}.top{z-index:40;background:color-mix(in srgb, var(--paper) 86%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0}.top .wrap{justify-content:space-between;align-items:center;gap:1rem;min-height:62px;display:flex}.brand{color:var(--ink);letter-spacing:-.03em;align-items:center;gap:.55rem;font-size:1.18rem;font-weight:850;text-decoration:none;display:inline-flex}.brand-mark{background:var(--accent);width:34px;height:34px;color:var(--accent-ink);box-shadow:0 2px 0 color-mix(in srgb, var(--accent) 60%, #000), inset 0 1px 0 #fff6;transition:transform .3s var(--ease);border-radius:11px;place-items:center;display:grid;transform:rotate(-6deg)}.brand:hover .brand-mark{transform:rotate(6deg)scale(1.06)}.top nav{gap:.3rem;font-size:.95rem;display:flex}.top nav a{color:var(--muted);border-radius:999px;padding:.4rem .75rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.top nav a:hover{color:var(--ink);background:var(--soft)}@media (width<=640px){.top nav .hide-sm{display:none}}.foot{border-top:1px solid var(--line);background:var(--paper);color:var(--muted);margin-top:5rem;font-size:.92rem}.foot .wrap{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.6rem;padding:2.2rem 0;display:grid}.foot h4{color:var(--ink);margin:0 0 .5rem;font-size:.95rem}.foot ul{margin:0;padding:0;list-style:none}.foot li{margin:.25rem 0}.foot a{color:var(--muted);text-decoration:none}.foot a:hover{color:var(--ink);text-decoration:underline}.foot .legal{border-top:1px solid var(--line);grid-column:1/-1;padding-top:1.2rem;font-size:.85rem}.crumbs{color:var(--muted);margin:1.6rem 0 1rem;font-size:.88rem}.crumbs a{color:var(--muted);font-weight:600;text-decoration:none}.crumbs a:hover{color:var(--ink)}.lead{color:var(--muted);max-width:62ch;font-size:1.08rem}.tool-head{align-items:flex-start;gap:1.1rem;display:flex}.tool-head h1{margin-bottom:.2em}.tool-head .lead{margin-bottom:0}.tool-icon{color:#fff;background:linear-gradient(145deg, color-mix(in srgb, var(--c) 82%, #fff), var(--c));width:64px;height:64px;box-shadow:0 3px 0 color-mix(in srgb, var(--c) 70%, #000), 0 14px 28px -12px var(--c);animation:pop .5s var(--ease) both;border-radius:20px;flex-shrink:0;place-items:center;display:grid;transform:rotate(-4deg)}@media (width<=560px){.tool-icon{border-radius:16px;width:52px;height:52px}.tool-icon svg{width:24px;height:24px}}@keyframes pop{0%{opacity:0;transform:scale(.6)rotate(-14deg)}to{opacity:1;transform:scale(1)rotate(-4deg)}}.tool{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop);margin:1.6rem 0 1rem;padding:clamp(1.1rem,3vw,1.9rem);position:relative;overflow:hidden}.tool:before{content:"";background:linear-gradient(90deg, var(--c), color-mix(in srgb, var(--c) 45%, var(--accent)));height:5px;position:absolute;inset:0 0 auto}.grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.grid-2{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}label,.label{margin-bottom:.35rem;font-size:.9rem;font-weight:680;display:block}.hint{color:var(--muted);margin-top:.3rem;font-size:.82rem;font-weight:400;display:block}input[type=text],input[type=search],input[type=number],input[type=time],input[type=date],input[type=email],select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--soft);border-radius:var(--radius-sm);border:2px solid #0000;min-height:50px;padding:.65rem .85rem;font-size:1.02rem;font-weight:560;transition:border-color .15s,box-shadow .15s,background .15s}textarea{resize:vertical;min-height:90px}input:hover,select:hover,textarea:hover{background:color-mix(in srgb, var(--soft) 70%, var(--line))}input:focus,select:focus,textarea:focus{background:var(--paper);border-color:var(--c);box-shadow:0 0 0 4px color-mix(in srgb, var(--c) 18%, transparent);outline:none}input[aria-invalid=true]{border-color:var(--bad)}.check{cursor:pointer;align-items:flex-start;gap:.55rem;font-size:.95rem;font-weight:560;display:flex}.check input{width:20px;height:20px;accent-color:var(--c);margin-top:.15rem}.seg{background:var(--soft);border-radius:999px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.seg label{cursor:pointer;color:var(--muted);border-radius:999px;margin:0;padding:.5rem 1rem;font-size:.95rem;font-weight:640;transition:background .2s,color .2s,box-shadow .2s}.seg label:hover{color:var(--ink)}.seg input{opacity:0;pointer-events:none;position:absolute}.seg label:has(input:checked){background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #00000014,0 4px 12px -4px #00000026}.seg label:has(input:focus-visible){outline:2px solid var(--c);outline-offset:1px}.btn{font:inherit;cursor:pointer;background:var(--accent);min-height:48px;color:var(--accent-ink);box-shadow:0 3px 0 color-mix(in srgb, var(--accent) 65%, #000);transition:transform .15s var(--ease), box-shadow .15s, filter .15s;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.45rem;padding:.7rem 1.3rem;font-size:.98rem;font-weight:720;text-decoration:none;display:inline-flex}.btn:hover{filter:brightness(1.04);transform:translateY(-1px)}.btn:active{box-shadow:0 1px 0 color-mix(in srgb, var(--accent) 65%, #000);transform:translateY(2px)}.btn.ghost{background:var(--paper);color:var(--ink);border:2px solid var(--line);box-shadow:none}.btn.ghost:hover{border-color:var(--ink)}.btn.small{min-height:38px;padding:.4rem .9rem;font-size:.9rem}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.result{border-radius:var(--radius);background:linear-gradient(135deg, color-mix(in srgb, var(--c) 13%, var(--paper)) 0%, color-mix(in srgb, var(--c) 5%, var(--paper)) 100%);border:1.5px solid color-mix(in srgb, var(--c) 25%, transparent);animation:rise .35s var(--ease) both;margin-top:1.5rem;padding:1.2rem 1.35rem;position:relative}.result[hidden]{display:none}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.big{letter-spacing:-.035em;font-variant-numeric:tabular-nums;color:color-mix(in srgb, var(--c) 55%, var(--ink));font-size:clamp(2rem,6vw,3rem);font-weight:860;line-height:1.05}.kv{grid-template-columns:1fr auto;gap:.4rem 1rem;margin:.9rem 0 0;font-size:.97rem;display:grid}.kv dt{color:var(--muted)}.kv dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:700}.kv .sum{border-top:2px dashed color-mix(in srgb, var(--c) 45%, var(--line));color:var(--ink);padding-top:.45rem;font-weight:800}.note{border-radius:var(--radius-sm);background:var(--warn-bg);color:var(--warn);margin:.8rem 0 0;padding:.75rem .95rem;font-size:.93rem}.note.ok{color:var(--ok);background:#e3f5ea}.note.info{color:#2b3a8a;background:#ebefff}.err{color:var(--bad);min-height:0;margin-top:.3rem;font-size:.85rem}table.t{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:.8rem 0;font-size:.93rem}table.t th,table.t td{text-align:left;border-bottom:1px solid var(--line);padding:.55rem .45rem}table.t th{color:var(--muted);font-size:.82rem;font-weight:700}table.t td.r,table.t th.r{text-align:right}.scroll{overflow-x:auto}.content{margin-top:2.5rem}.content p,.content li{max-width:70ch}.content table.t{max-width:100%}.example{border-left:5px solid var(--c);background:var(--paper);border-radius:0 var(--radius-sm) var(--radius-sm) 0;box-shadow:var(--shadow);margin:1rem 0;padding:.9rem 1.1rem}.faq details{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-sm);margin:.55rem 0;padding:.85rem 1.1rem;transition:box-shadow .15s}.faq details[open]{box-shadow:var(--shadow)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;font-weight:700;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";background:var(--soft);width:28px;height:28px;color:var(--ink);transition:transform .25s var(--ease), background .15s;border-radius:50%;flex-shrink:0;place-items:center;font-size:1.1rem;font-weight:600;line-height:1;display:grid}.faq details[open] summary:after{background:color-mix(in srgb, var(--c) 20%, var(--soft));transform:rotate(45deg)}.faq details>div{color:#2d3038;margin-top:.6rem}.sources,.updated{color:var(--muted);font-size:.86rem}.apps{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.85rem;display:grid}.app{--c:var(--accent);background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius);color:var(--ink);transition:transform .25s var(--ease), box-shadow .2s, border-color .2s;align-items:center;gap:.95rem;padding:.95rem 1rem;text-decoration:none;display:flex;position:relative}.app:hover{border-color:color-mix(in srgb, var(--c) 50%, var(--line));box-shadow:0 16px 32px -18px var(--c), var(--shadow);transform:translateY(-3px)}.app:active{transform:translateY(0)scale(.99)}.app-icon{color:#fff;background:linear-gradient(145deg, color-mix(in srgb, var(--c) 80%, #fff), var(--c));width:52px;height:52px;box-shadow:0 3px 0 color-mix(in srgb, var(--c) 70%, #000);transition:transform .3s var(--ease);border-radius:16px;flex-shrink:0;place-items:center;display:grid}.app:hover .app-icon{transform:rotate(-8deg)scale(1.08)}.app-text{flex:1;min-width:0}.app-text strong{letter-spacing:-.01em;font-size:1.02rem;font-weight:760;display:block}.app-text span{color:var(--muted);margin-top:.1rem;font-size:.88rem;line-height:1.4;display:block}.app-go{background:var(--soft);width:34px;height:34px;color:var(--muted);transition:background .2s, color .2s, transform .25s var(--ease);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.app:hover .app-go{background:var(--c);color:#fff;transform:translate(3px)}@media (width<=420px){.apps{grid-template-columns:1fr}.app-go{display:none}}.hero{text-align:center;padding:clamp(1.8rem,5vw,3rem) 0 .6rem;position:relative}.hero h1{letter-spacing:-.04em;max-width:20ch;margin-inline:auto;font-size:clamp(2.1rem,5.5vw,3.3rem);font-weight:880}.hero .lead{margin-inline:auto}.hero-kicker{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:.35rem;margin:0 0 1rem;padding:.35rem .8rem;font-size:.85rem;font-weight:700;display:inline-flex}.hero-kicker span{color:var(--accent);display:inline-flex}.hero-kicker span svg{stroke:color-mix(in srgb, var(--accent) 80%, #000);fill:var(--accent)}.hero-blobs{z-index:-1;pointer-events:none;position:absolute;inset:0}.hero-blobs span{filter:blur(50px);opacity:.45;border-radius:50%;animation:14s ease-in-out infinite alternate float;position:absolute}.hero-blobs span:first-child{background:color-mix(in srgb, var(--accent) 70%, #fff);width:280px;height:280px;top:10%;left:4%}.hero-blobs span:nth-child(2){background:#b9c7ff;width:220px;height:220px;animation-delay:-5s;top:0;right:6%}.hero-blobs span:nth-child(3){background:#ffc4d8;width:200px;height:200px;animation-delay:-9s;bottom:-20%;right:26%}@keyframes float{to{transform:translate(30px,20px)scale(1.1)}}@media (prefers-reduced-motion:reduce){.hero-blobs span,.tool-icon,.result{animation:none}}.search{max-width:560px;margin:1.6rem auto 0;display:block;position:relative}.search input{-webkit-appearance:none;appearance:none;background:var(--paper);border:2px solid var(--line);min-height:62px;box-shadow:var(--shadow-pop);border-radius:999px;padding:0 1.2rem 0 3.3rem;font-size:1.1rem;font-weight:560}.search input:hover{background:var(--paper)}.search input:focus{border-color:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 25%, transparent), var(--shadow-pop)}.search-icon{color:var(--muted);pointer-events:none;display:flex;position:absolute;top:50%;left:1.2rem;transform:translateY(-50%)}.chips{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1.2rem 0 0;padding:0;list-style:none;display:flex}.chips li{color:var(--muted);background:color-mix(in srgb, var(--paper) 70%, transparent);border:1px solid var(--line);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.86rem;font-weight:650;display:inline-flex}.chips li span{color:var(--ok);display:inline-flex}.filters{flex-wrap:wrap;justify-content:center;gap:.45rem;margin:1.6rem 0 .2rem;display:flex}.filter{font:inherit;border:1.5px solid var(--line);background:var(--paper);color:var(--muted);cursor:pointer;border-radius:999px;padding:.5rem 1rem;font-size:.92rem;font-weight:700;transition:all .15s}.filter:hover{color:var(--ink);border-color:var(--ink)}.filter.active{background:var(--ink);border-color:var(--ink);color:#fff}.cluster{margin-top:1.8rem}.cluster h2{margin:0 0 .9rem;font-size:1.15rem;font-weight:800}.no-results{text-align:center;color:var(--muted);padding:2rem 0}.cards,.related{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.9rem;display:grid}.card{background:var(--paper);border:1.5px solid var(--line);border-radius:var(--radius);color:var(--ink);transition:border-color .15s, transform .2s var(--ease), box-shadow .15s;padding:1.1rem 1.2rem;text-decoration:none;display:block}.card:hover{border-color:var(--ink);box-shadow:var(--shadow);transform:translateY(-2px)}.card strong{margin-bottom:.25rem;font-size:1.03rem;display:block}.card span{color:var(--muted);font-size:.92rem;line-height:1.45;display:block}.ad{border-radius:var(--radius-sm);color:#b9b6ae;letter-spacing:.08em;text-transform:uppercase;background:repeating-linear-gradient(135deg,#0000 0 10px,#00000004 10px 20px);justify-content:center;align-items:center;min-height:120px;margin:1.6rem 0;font-size:.75rem;display:flex}.ad[data-empty]{background:0 0}@media (width>=900px){.ad.tall{min-height:250px}}.consent{background:var(--ink);color:#fff;border-radius:var(--radius);z-index:50;max-width:560px;animation:rise .4s var(--ease) both;margin-inline:auto;padding:1.1rem 1.2rem;font-size:.92rem;position:fixed;inset:auto 1rem 1rem;box-shadow:0 16px 48px #0000004d}.consent[hidden]{display:none}.consent a{color:#fff}.consent .row{margin-top:.8rem}.consent .btn{box-shadow:none}.consent .btn.ghost{color:#fff;background:0 0;border-color:#ffffff59}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.drop{border:2.5px dashed color-mix(in srgb, var(--c) 45%, var(--line));border-radius:var(--radius);text-align:center;background:color-mix(in srgb, var(--c) 5%, var(--paper));cursor:pointer;transition:border-color .15s, background .15s, transform .2s var(--ease);padding:2.2rem 1rem}.drop:hover{transform:scale(1.01)}.drop.over{border-color:var(--c);background:color-mix(in srgb, var(--c) 12%, var(--paper));transform:scale(1.02)}.qr-out{grid-template-columns:minmax(0,260px) 1fr;align-items:start;gap:1.2rem;display:grid}@media (width<=640px){.qr-out{grid-template-columns:1fr}}.qr-box{border:1px solid var(--line);border-radius:var(--radius-sm);aspect-ratio:1;box-shadow:var(--shadow);background:#fff;place-items:center;padding:12px;display:grid}.qr-box svg{width:100%;height:auto}pre.payload{background:var(--paper);border:1px solid var(--line);white-space:pre-wrap;word-break:break-all;border-radius:10px;margin:.5rem 0 0;padding:.7rem;font-size:.8rem}
