:root{--ink:#070b16;--ink-1:#0b1120;--ink-2:#0f1729;--ink-3:#16203a;--line:rgba(255,255,255,0.09);--line-strong:rgba(255,255,255,0.16);--text:#e9edf8;--text-dim:#b3bed6;--muted:#8d9ab7;--duck:#ffd84d;--duck-deep:#ffb020;--bill:#ff8a3d;--aqua:#35e0d0;--violet:#a78bfa;--rose:#fb7185;--lime:#a3e635;--ok:#34d399;--warn:#fbbf24;--err:#fb7185;--accent:var(--duck);--accent-soft:rgba(255,216,77,0.14);--r-sm:8px;--r:14px;--r-lg:20px;--r-xl:28px;--shadow:0 1px 2px rgba(0,0,0,0.4),0 12px 32px -12px rgba(0,0,0,0.7);--shadow-lg:0 2px 4px rgba(0,0,0,0.4),0 32px 64px -24px rgba(0,0,0,0.8);--font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--wrap:1180px;--header-h:62px;color-scheme:dark}:root[data-theme="light"]{--ink:#f6f8fd;--ink-1:#ffffff;--ink-2:#ffffff;--ink-3:#eef2fb;--line:rgba(11,17,32,0.1);--line-strong:rgba(11,17,32,0.18);--text:#101828;--text-dim:#33404f;--muted:#566173;--duck-deep:#d99400;--shadow:0 1px 2px rgba(16,24,40,0.06),0 12px 28px -14px rgba(16,24,40,0.28);--shadow-lg:0 2px 6px rgba(16,24,40,0.08),0 32px 60px -28px rgba(16,24,40,0.32);color-scheme:light}:root[data-theme="ducky"]{--ink:#fff6e9;--ink-1:#ffffff;--ink-2:#fffaf2;--ink-3:#ffeeda;--line:rgba(214,138,74,0.18);--line-strong:rgba(214,138,74,0.32);--text:#4a3222;--text-dim:#6f5039;--muted:#7c5940;--duck:#ffc93c;--duck-deep:#f2a007;--bill:#ff8a5c;--aqua:#7ed9e8;--violet:#c9a7ff;--rose:#ff8fb1;--lime:#b7e36a;--accent:var(--duck);--accent-soft:rgba(255,201,60,0.22);--r-sm:12px;--r:20px;--r-lg:28px;--r-xl:36px;--shadow:0 2px 0 rgba(214,138,74,0.16),0 12px 26px -14px rgba(214,138,74,0.5);--shadow-lg:0 3px 0 rgba(214,138,74,0.18),0 32px 56px -26px rgba(214,138,74,0.55);color-scheme:light}:root[data-theme="ducky"] body{background-image:radial-gradient(circle at 1px 1px,rgba(255,168,92,0.16) 1px,transparent 0);background-size:22px 22px}:root[data-theme="ducky"] .btn{border-radius:999px;box-shadow:0 3px 0 var(--duck-deep)}:root[data-theme="ducky"] .btn:active{transform:translateY(3px);box-shadow:0 0 0 var(--duck-deep)}:root[data-theme="ducky"] .btn.ghost{box-shadow:0 3px 0 rgba(214,138,74,0.22)}:root[data-theme="ducky"] .chip,:root[data-theme="ducky"] .eyebrow,:root[data-theme="ducky"] kbd{border-radius:999px}:root[data-theme="ducky"] .card:hover{transform:translateY(-4px) rotate(-0.8deg)}:root[data-theme="ducky"] .cat-tile:hover{transform:translateY(-4px) rotate(0.6deg)}:root[data-theme="ducky"] .cat-ico{border-radius:50%}:root[data-theme="ducky"] .hero h1 .grad{background:linear-gradient(105deg,var(--duck-deep) 5%,var(--rose) 50%,var(--aqua) 100%);-webkit-background-clip:text;background-clip:text}:root[data-theme="ducky"] .hero::before{background:radial-gradient(circle,rgba(255,143,177,0.5),transparent 68%)}:root[data-theme="ducky"] .hero::after{background:radial-gradient(circle,rgba(126,217,232,0.5),transparent 68%)}:root[data-theme="ducky"] .stat.big .s-val{color:var(--duck-deep)}:root[data-theme="ducky"] .ducky{animation-duration:3s}:root[data-theme="ducky"] .bubbles{opacity:1}:root[data-theme="ducky"] .sec-head h2::after{content:" 🐤";font-size:0.8em}:root[data-theme="light"] a:not(.chip):not(.btn):not(.card):not(.cat-tile),:root[data-theme="ducky"] a:not(.chip):not(.btn):not(.card):not(.cat-tile){color:var(--link,#b06504)}:root[data-theme="light"] .chip,:root[data-theme="ducky"] .chip{color:var(--text-dim)}:root[data-theme="light"] .chip[aria-current="true"],:root[data-theme="ducky"] .chip[aria-current="true"]{color:#23180a}:root[data-theme="ducky"]{--link:#944f04}:root[data-theme="light"]{--link:#8a5700}:root[data-theme="light"] .brand b,:root[data-theme="ducky"] .brand b,:root[data-theme="light"] .eyebrow,:root[data-theme="ducky"] .eyebrow,:root[data-theme="light"] .field .val,:root[data-theme="ducky"] .field .val,:root[data-theme="light"] .prose code,:root[data-theme="ducky"] .prose code{color:var(--link)}:root[data-theme="light"] .stat.big .s-val,:root[data-theme="ducky"] .stat.big .s-val{color:var(--link)}:root[data-theme="light"] .card .c-cat,:root[data-theme="ducky"] .card .c-cat,:root[data-theme="light"] .tool-head .badge,:root[data-theme="ducky"] .tool-head .badge{color:color-mix(in srgb,var(--accent) 62%,#3a2410)}:root[data-theme="ducky"] .hdr-nav a[aria-current="page"]{color:var(--link)}:root[data-theme="ducky"] .toast{color:var(--text)}*,*::before,*::after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important}}body{font-family:var(--font);background:var(--ink);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}img,svg,canvas,video{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--duck);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4{line-height:1.15;letter-spacing:-0.022em;font-weight:800;text-wrap:balance}p{text-wrap:pretty}:focus-visible{outline:2px solid var(--duck);outline-offset:2px;border-radius:4px}.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:20px}.stack>* + *{margin-top:var(--gap,16px)}.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--duck);color:#1a1206;padding:10px 16px;border-radius:0 0 var(--r-sm) 0;font-weight:700}.skip:focus{left:0}.hdr{position:sticky;top:0;z-index:50;height:var(--header-h);display:flex;align-items:center;background:color-mix(in srgb,var(--ink) 82%,transparent);backdrop-filter:saturate(150%) blur(14px);-webkit-backdrop-filter:saturate(150%) blur(14px);border-bottom:1px solid var(--line)}.hdr .wrap{display:flex;align-items:center;gap:14px}.brand{display:inline-flex;align-items:center;gap:9px;font-weight:900;font-size:1.06rem;letter-spacing:-0.03em;color:var(--text);flex:none}.brand:hover{text-decoration:none}.brand svg{width:30px;height:30px;filter:drop-shadow(0 2px 6px rgba(255,176,32,0.35))}.brand b{color:var(--duck)}.hdr-nav{display:flex;gap:2px;margin-left:auto;align-items:center}.hdr-nav a{color:var(--text-dim);padding:7px 11px;border-radius:999px;font-size:0.9rem;font-weight:600}.hdr-nav a:hover{color:var(--text);background:var(--ink-3);text-decoration:none}.hdr-nav a[aria-current="page"]{color:var(--duck);background:var(--accent-soft)}.hdr-nav a{white-space:nowrap}@media (max-width:680px){.hdr-nav a{padding:6px 9px;font-size:0.85rem}.nav-about{display:none}}@media (max-width:470px){.nav-cats{display:none}.brand span{font-size:0.98rem}.wrap{padding-inline:16px}}.icon-btn{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--ink-2);color:var(--text-dim);flex:none}.icon-btn:hover{color:var(--text);border-color:var(--line-strong)}.icon-btn svg{width:17px;height:17px}.t-moon,.t-sun,.t-ducky{display:none}:root:not([data-theme]) .t-moon,:root[data-theme="dark"] .t-moon,:root[data-theme="light"] .t-sun,:root[data-theme="ducky"] .t-ducky{display:block}:root[data-theme="ducky"] .icon-btn{color:var(--rose);border-color:var(--rose)}.hero{position:relative;padding:clamp(48px,8vw,92px) 0 clamp(40px,6vw,68px);overflow:hidden;isolation:isolate}.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;filter:blur(70px);opacity:0.5;z-index:-1;pointer-events:none}.hero::before{width:520px;height:520px;top:-240px;left:-120px;background:radial-gradient(circle,rgba(255,176,32,0.5),transparent 68%)}.hero::after{width:620px;height:620px;top:-300px;right:-200px;background:radial-gradient(circle,rgba(53,224,208,0.36),transparent 68%)}.hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:40px;align-items:center}@media (max-width:860px){.hero-grid{grid-template-columns:1fr;gap:24px}.hero-art{order:-1;max-width:260px;margin-inline:auto}}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:0.78rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--duck);background:var(--accent-soft);border:1px solid rgba(255,216,77,0.24);padding:6px 13px;border-radius:999px}.hero h1{font-size:clamp(2.3rem,6.2vw,4rem);margin-top:18px;letter-spacing:-0.04em;font-weight:900}.hero h1 .grad{background:linear-gradient(105deg,var(--duck) 10%,var(--bill) 55%,var(--aqua) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p.lede{font-size:clamp(1.02rem,2.1vw,1.2rem);color:var(--text-dim);margin-top:16px;max-width:52ch}.hero-stats{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:26px}.hero-stats div{display:flex;align-items:baseline;gap:7px}.hero-stats b{font-size:1.35rem;font-weight:900;color:var(--text);letter-spacing:-0.03em}.hero-stats span{font-size:0.86rem;color:var(--muted)}.ducky-scene{position:relative;width:100%;max-width:330px;margin-inline:auto;aspect-ratio:1 / 1;display:grid;place-items:center}.ducky-scene .ripple{position:absolute;bottom:16%;left:50%;translate:-50% 0;width:62%;aspect-ratio:3 / 1;border:2px solid rgba(53,224,208,0.4);border-radius:50%;animation:ripple 3.6s ease-out infinite;opacity:0}.ducky-scene .ripple:nth-child(2){animation-delay:1.2s}.ducky-scene .ripple:nth-child(3){animation-delay:2.4s}@keyframes ripple{0%{scale:0.55;opacity:0.75}100%{scale:1.65;opacity:0}}.ducky{width:78%;animation:bob 4.2s ease-in-out infinite;filter:drop-shadow(0 18px 26px rgba(0,0,0,0.45));position:relative;z-index:1}@keyframes bob{0%,100%{translate:0 0;rotate:-1.6deg}50%{translate:0 -10px;rotate:1.6deg}}.bubbles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;opacity:0.55}.bubbles i{position:absolute;bottom:-60px;display:block;border-radius:50%;background:radial-gradient(circle at 32% 30%,rgba(255,255,255,0.5),rgba(53,224,208,0.3) 55%,rgba(53,224,208,0.1));border:1px solid rgba(120,240,226,0.45);box-shadow:0 0 14px rgba(53,224,208,0.22);animation:float-up linear infinite}:root[data-theme="ducky"] .bubbles i{background:radial-gradient(circle at 32% 30%,rgba(255,255,255,0.9),rgba(255,143,177,0.3) 60%,rgba(255,201,60,0.16));border-color:rgba(255,143,177,0.35)}@keyframes float-up{0%{transform:translateY(0) translateX(0) scale(0.6);opacity:0}12%{opacity:0.9}100%{transform:translateY(-115vh) translateX(24px) scale(1.15);opacity:0}}@media (prefers-reduced-motion:reduce){.bubbles{display:none}}.search-shell{position:relative;margin-top:30px;max-width:560px}.search-box{display:flex;align-items:center;gap:11px;background:var(--ink-2);border:1px solid var(--line-strong);border-radius:var(--r-lg);padding:13px 15px;box-shadow:var(--shadow);transition:border-color 0.15s,box-shadow 0.15s}.search-box:focus-within{border-color:var(--duck);box-shadow:0 0 0 4px rgba(255,216,77,0.13),var(--shadow)}.search-box svg{width:19px;height:19px;color:var(--muted);flex:none}.search-box input{flex:1;border:0;background:none;outline:none;font-size:1rem;min-width:0}.search-box input::placeholder{color:var(--muted)}kbd{font-family:var(--mono);font-size:0.72rem;padding:3px 7px;border-radius:6px;border:1px solid var(--line-strong);background:var(--ink-3);color:var(--muted);flex:none}.search-results{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--ink-2);border:1px solid var(--line-strong);border-radius:var(--r);box-shadow:var(--shadow-lg);overflow:hidden auto;max-height:60vh;z-index:40;display:none}.search-results.open{display:block}.search-results a{display:flex;align-items:center;gap:12px;padding:11px 14px;color:var(--text);border-bottom:1px solid var(--line)}.search-results a:last-child{border-bottom:0}.search-results a:hover,.search-results a.sel{background:var(--ink-3);text-decoration:none}.search-results .r-name{font-weight:650;font-size:0.94rem}.search-results .r-blurb{font-size:0.8rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.search-empty{padding:22px 16px;text-align:center;color:var(--muted);font-size:0.9rem}section.band{padding:clamp(34px,5vw,58px) 0}.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.sec-head h2{font-size:clamp(1.4rem,3vw,1.9rem)}.sec-head p{color:var(--muted);font-size:0.94rem;margin-top:6px}.sec-head a{font-size:0.9rem;font-weight:650;white-space:nowrap}.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(238px,1fr))}.card{position:relative;display:flex;flex-direction:column;gap:7px;padding:16px;border-radius:var(--r);background:var(--ink-1);border:1px solid var(--line);color:var(--text);transition:transform 0.16s ease,border-color 0.16s,background 0.16s;overflow:hidden}.card::after{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 0.22s ease}.card:hover{transform:translateY(-3px);border-color:var(--line-strong);background:var(--ink-2);text-decoration:none}.card:hover::after{transform:scaleX(1)}.card .c-top{display:flex;align-items:center;gap:9px}.card .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.card h3{font-size:0.98rem;font-weight:700;letter-spacing:-0.015em}.card p{font-size:0.855rem;color:var(--muted);line-height:1.5}.card .c-cat{margin-top:auto;padding-top:8px;font-size:0.72rem;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--accent);opacity:0.85}.cat-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(268px,1fr))}.cat-tile{display:flex;gap:14px;padding:18px;border-radius:var(--r-lg);background:linear-gradient(150deg,var(--ink-1),var(--ink-2));border:1px solid var(--line);color:var(--text);transition:transform 0.16s,border-color 0.16s}.cat-tile:hover{transform:translateY(-3px);border-color:var(--accent);text-decoration:none}.cat-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent)}.cat-ico svg{width:21px;height:21px}.cat-tile h3{font-size:1.03rem;display:flex;align-items:center;gap:8px}.cat-tile h3 span{font-size:0.72rem;font-weight:700;color:var(--muted);background:var(--ink-3);padding:2px 8px;border-radius:999px;letter-spacing:0}.cat-tile p{font-size:0.86rem;color:var(--muted);margin-top:4px;line-height:1.5}.features{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.feature{padding:20px;border-radius:var(--r);border:1px solid var(--line);background:var(--ink-1)}.feature .f-ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--duck);margin-bottom:12px}.feature .f-ico svg{width:19px;height:19px}.feature h3{font-size:1rem;margin-bottom:5px}.feature p{font-size:0.875rem;color:var(--muted);line-height:1.55}.crumb{display:flex;align-items:center;gap:7px;font-size:0.83rem;color:var(--muted);padding-top:22px;flex-wrap:wrap}.crumb a{color:var(--muted)}.crumb a:hover{color:var(--text)}.crumb svg{width:13px;height:13px;opacity:0.6}.tool-head{padding:16px 0 24px}.tool-head h1{font-size:clamp(1.8rem,4.4vw,2.6rem);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tool-head .badge{font-size:0.7rem;font-weight:800;text-transform:uppercase;letter-spacing:0.07em;color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:4px 10px;border-radius:999px}.tool-head p{color:var(--text-dim);font-size:1.02rem;margin-top:10px;max-width:66ch}.tool-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:26px;align-items:start;padding-bottom:60px}@media (max-width:940px){.tool-layout{grid-template-columns:1fr}}.panel{background:var(--ink-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow)}@media (max-width:520px){.panel{padding:15px}}.panel + .panel{margin-top:18px}.side{position:sticky;top:calc(var(--header-h) + 16px);display:grid;gap:16px}.side-card{background:var(--ink-1);border:1px solid var(--line);border-radius:var(--r);padding:16px}.side-card h2{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);margin-bottom:11px;font-weight:700}.side-links{display:grid;gap:2px}.side-links a{display:block;padding:7px 9px;border-radius:8px;color:var(--text-dim);font-size:0.89rem;font-weight:550}.side-links a:hover{background:var(--ink-3);color:var(--text);text-decoration:none}.privacy-note{display:flex;gap:11px;align-items:flex-start;font-size:0.85rem;color:var(--text-dim);line-height:1.55}.privacy-note svg{width:19px;height:19px;color:var(--ok);flex:none;margin-top:2px}.prose{color:var(--text-dim);font-size:0.95rem;line-height:1.7}.prose h2{font-size:1.15rem;color:var(--text);margin-bottom:10px}.prose h3{font-size:1rem;color:var(--text);margin:18px 0 6px}.prose p + p{margin-top:10px}.prose ul{padding-left:20px;margin-top:8px}.prose li + li{margin-top:5px}.prose code{font-family:var(--mono);font-size:0.86em;background:var(--ink-3);padding:2px 6px;border-radius:5px;color:var(--duck)}.prose ol{padding-left:20px;margin-top:8px}ol.steps{list-style:none;padding:0;counter-reset:step;display:grid;gap:10px;margin-top:12px}ol.steps li{counter-increment:step;display:flex;gap:12px;align-items:flex-start;padding:11px 13px;background:var(--ink-2);border:1px solid var(--line);border-radius:12px;font-size:0.92rem}ol.steps li::before{content:counter(step);flex:none;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#23180a;font-weight:800;font-size:0.78rem;margin-top:1px}.faq{display:grid;gap:8px;margin-top:12px}.faq details{border:1px solid var(--line);border-radius:12px;background:var(--ink-2);overflow:hidden}.faq summary{cursor:pointer;padding:13px 15px;font-weight:650;font-size:0.94rem;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";color:var(--accent);font-weight:800;font-size:1.2rem;line-height:1;flex:none}.faq details[open] summary::after{content:"−"}.faq summary:hover{background:var(--ink-3)}.faq details p{padding:0 15px 14px;margin:0;color:var(--text-dim);font-size:0.91rem;line-height:1.65}ul.cat-index{list-style:none;padding:0;display:grid;gap:7px;margin-top:10px}ul.cat-index li{font-size:0.9rem;color:var(--muted);line-height:1.55}ul.cat-index a{font-weight:650}.idx-cat{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 7px;margin-left:4px;white-space:nowrap}.answer{background:linear-gradient(150deg,var(--ink-1),var(--ink-2));border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);padding:18px 20px;margin-bottom:18px}.answer>p{font-size:0.97rem;line-height:1.65;color:var(--text-dim);margin:0}dl.key-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px 18px;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line)}dl.key-facts dt{font-size:0.71rem;text-transform:uppercase;letter-spacing:0.07em;color:var(--muted);font-weight:700}dl.key-facts dd{margin:2px 0 0;font-size:0.87rem;font-weight:600;color:var(--text);line-height:1.4}.fields{display:grid;gap:13px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.fields.one{grid-template-columns:1fr}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label{font-size:0.82rem;font-weight:650;color:var(--text-dim);display:flex;align-items:center;justify-content:space-between;gap:8px}.field .val{font-family:var(--mono);font-size:0.78rem;color:var(--duck)}.field .hint{font-size:0.76rem;color:var(--muted)}.inp,select.inp,textarea.inp{width:100%;background:var(--ink-2);border:1px solid var(--line-strong);border-radius:10px;padding:9px 11px;font-size:0.92rem;outline:none;transition:border-color 0.14s,box-shadow 0.14s;min-width:0}.inp:focus{border-color:var(--duck);box-shadow:0 0 0 3px rgba(255,216,77,0.12)}textarea.inp{resize:vertical;font-family:var(--mono);font-size:0.87rem;line-height:1.6;min-height:130px}select.inp{cursor:pointer;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:30px}input[type="range"].inp{padding:0;height:26px;background:none;border:0;accent-color:var(--duck);cursor:pointer}input[type="color"].inp{padding:3px;height:40px;cursor:pointer}.check{display:flex;align-items:center;gap:9px;font-size:0.89rem;color:var(--text-dim);cursor:pointer;user-select:none;padding-top:4px}.check input{width:17px;height:17px;accent-color:var(--duck);cursor:pointer;flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 17px;border-radius:11px;border:1px solid transparent;background:var(--duck);color:#23180a;font-weight:750;font-size:0.91rem;transition:filter 0.14s,transform 0.1s;white-space:nowrap}.btn:hover{filter:brightness(1.07);text-decoration:none}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:0.45;pointer-events:none}.btn svg{width:16px;height:16px}.btn.ghost{background:var(--ink-2);color:var(--text);border-color:var(--line-strong)}.btn.ghost:hover{background:var(--ink-3);filter:none}.btn.sm{padding:7px 12px;font-size:0.84rem;border-radius:9px}.btn-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.drop{border:2px dashed var(--line-strong);border-radius:var(--r);padding:32px 20px;text-align:center;cursor:pointer;transition:border-color 0.15s,background 0.15s;background:var(--ink-2)}.drop:hover,.drop.over{border-color:var(--duck);background:color-mix(in srgb,var(--duck) 7%,var(--ink-2))}.drop .d-ico{width:46px;height:46px;margin:0 auto 12px;color:var(--duck)}.drop b{display:block;font-size:1rem;margin-bottom:4px}.drop span{font-size:0.85rem;color:var(--muted)}.filelist{display:grid;gap:7px;margin-top:13px}.fileitem{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--ink-2);border:1px solid var(--line);border-radius:10px;font-size:0.87rem}.fileitem .fname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fileitem .fsize{color:var(--muted);font-family:var(--mono);font-size:0.79rem;flex:none}.fileitem button{background:none;border:0;color:var(--muted);padding:2px;display:grid;place-items:center;border-radius:5px}.fileitem button:hover{color:var(--err);background:var(--ink-3)}.fileitem svg{width:15px;height:15px}.statgrid{display:grid;gap:11px;grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}.stat{background:var(--ink-2);border:1px solid var(--line);border-radius:12px;padding:13px 14px}.stat .s-val{font-size:1.55rem;font-weight:850;letter-spacing:-0.03em;color:var(--text);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.2}.stat.big .s-val{color:var(--duck);font-size:1.9rem}.stat .s-lbl{font-size:0.78rem;color:var(--muted);margin-top:3px;font-weight:600}.stat .s-hint{font-size:0.73rem;color:var(--muted);font-weight:400;margin-top:4px}.out-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;flex-wrap:wrap}.out-head h2,.in-head h2{font-size:0.8rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);font-weight:700}.in-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;flex-wrap:wrap}.note{padding:11px 13px;border-radius:10px;font-size:0.86rem;border:1px solid;line-height:1.55;display:flex;gap:9px;align-items:flex-start}.note svg{width:16px;height:16px;flex:none;margin-top:2px}.note.err{color:var(--err);border-color:color-mix(in srgb,var(--err) 35%,transparent);background:color-mix(in srgb,var(--err) 9%,transparent)}.note.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,transparent);background:color-mix(in srgb,var(--ok) 9%,transparent)}.note.info{color:var(--text-dim);border-color:var(--line-strong);background:var(--ink-2)}.preview{display:grid;place-items:center;padding:16px;background:var(--ink-2);border:1px solid var(--line);border-radius:var(--r);min-height:130px;background-image:linear-gradient(45deg,rgba(255,255,255,0.03) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,0.03) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,0.03) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,0.03) 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}.preview canvas,.preview img{max-width:100%;max-height:460px;height:auto;border-radius:8px;box-shadow:0 6px 20px rgba(0,0,0,0.35)}.preview .ph{color:var(--muted);font-size:0.88rem}.swatch-grid{display:grid;gap:9px;grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.swatch{border-radius:11px;overflow:hidden;border:1px solid var(--line);cursor:pointer;background:var(--ink-2)}.swatch .sw-c{height:58px}.swatch .sw-t{padding:6px 8px;font-family:var(--mono);font-size:0.73rem;text-align:center;color:var(--text-dim)}table.tbl{width:100%;border-collapse:collapse;font-size:0.88rem}table.tbl th,table.tbl td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}table.tbl th{color:var(--muted);font-size:0.76rem;text-transform:uppercase;letter-spacing:0.06em}table.tbl td{font-variant-numeric:tabular-nums}.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.toast{position:fixed;left:50%;bottom:26px;translate:-50% 0;background:var(--ink-3);border:1px solid var(--line-strong);color:var(--text);padding:10px 18px;border-radius:999px;font-size:0.88rem;font-weight:600;box-shadow:var(--shadow-lg);z-index:90;opacity:0;pointer-events:none;transition:opacity 0.2s,translate 0.2s}.toast.show{opacity:1;translate:-50% -8px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.chip{padding:7px 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--ink-1);color:var(--text-dim);font-size:0.86rem;font-weight:620}.chip:hover{color:var(--text);border-color:var(--duck);text-decoration:none}.chip[aria-current="true"]{background:var(--duck);border-color:var(--duck);color:#23180a}.ftr{border-top:1px solid var(--line);padding:44px 0 32px;margin-top:30px;background:var(--ink-1)}.ftr-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:30px}@media (max-width:780px){.ftr-grid{grid-template-columns:1fr 1fr;gap:24px}}.ftr h3{font-size:0.78rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--muted);margin-bottom:11px;font-weight:700}.ftr ul{list-style:none;padding:0;display:grid;gap:7px}.ftr a{color:var(--text-dim);font-size:0.88rem}.ftr a:hover{color:var(--duck)}.ftr .about p{font-size:0.88rem;color:var(--muted);margin-top:11px;max-width:34ch;line-height:1.6}.ftr-btm{margin-top:30px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:0.83rem;color:var(--muted)}.center-page{min-height:68vh;display:grid;place-items:center;text-align:center;padding:40px 0}.center-page .ducky-scene{max-width:210px}.center-page h1{font-size:clamp(2rem,7vw,3.4rem);margin-top:10px}.center-page p{color:var(--text-dim);margin:12px 0 22px;max-width:46ch;margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pin{margin-top:14px;background:var(--ink-2);border:1px solid var(--line-strong);color:var(--text-dim);border-radius:999px;padding:6px 14px;font-size:0.83rem;font-weight:650;transition:color 0.14s,border-color 0.14s,background 0.14s}.pin:hover{color:var(--text);border-color:var(--duck)}.pin.on{color:#23180a;background:var(--duck);border-color:var(--duck)}.palette{position:fixed;inset:0;z-index:120;background:rgba(4,7,15,0.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:flex-start;padding:clamp(40px,12vh,140px) 18px 18px;animation:pal-in 0.14s ease-out}@keyframes pal-in{from{opacity:0}}.pal-box{width:100%;max-width:580px;background:var(--ink-1);border:1px solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);overflow:hidden}.pal-input{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.pal-input .inp{border:0;background:none;font-size:1.02rem;padding:4px 0}.pal-input .inp:focus{box-shadow:none}.pal-list{max-height:min(52vh,420px);overflow-y:auto}.pal-list a{display:block;padding:10px 15px;color:var(--text);border-bottom:1px solid var(--line)}.pal-list a:last-child{border-bottom:0}.pal-list a:hover,.pal-list a.sel{background:var(--ink-3);text-decoration:none}.pal-list .r-name{display:block;font-weight:650;font-size:0.94rem}.pal-list .r-blurb{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;font-size:0.8rem;color:var(--muted)}.drop-veil{position:fixed;inset:0;z-index:110;pointer-events:none;display:grid;place-items:center;background:color-mix(in srgb,var(--duck) 12%,rgba(4,7,15,0.55));border:4px dashed var(--duck);animation:pal-in 0.12s ease-out}.drop-veil div{background:var(--ink-1);border:1px solid var(--duck);color:var(--text);padding:16px 30px;border-radius:999px;font-weight:800;font-size:1.05rem;box-shadow:var(--shadow-lg)}.card .c-cat,.tool-head .badge{color:color-mix(in srgb,var(--accent) 62%,var(--text))}:root[data-theme="light"] .card .c-cat,:root[data-theme="ducky"] .card .c-cat,:root[data-theme="light"] .tool-head .badge,:root[data-theme="ducky"] .tool-head .badge{color:color-mix(in srgb,var(--accent) 34%,#1b1006)}.prose a,.answer a,.note a,ul.cat-index a,.ftr .about a{text-decoration:underline;text-underline-offset:0.18em;text-decoration-thickness:from-font}.prose a:hover,.answer a:hover,.note a:hover{text-decoration-thickness:2px}[data-tool-root]{min-height:340px}[data-tool-root]>.note{margin-top:0}@media print{.hdr,.ftr,.side,.bubbles,.ducky-scene,.search-shell,.chips,.pin,.btn-row,.toast,.palette,.drop-veil{display:none !important}body{background:#fff;color:#000}.panel,.answer,.stat{border:1px solid #ccc;box-shadow:none;background:#fff;break-inside:avoid}.tool-layout{grid-template-columns:1fr}a[href^="http"]::after{content:" (" attr(href) ")";font-size:0.8em;color:#555}.faq details{break-inside:avoid}.faq details>p{display:block !important}}.ff-name{margin:0 0 14px;font-size:1.25rem;word-break:break-all}.ff-lead{color:var(--muted);font-size:0.95rem;margin:0 0 14px}.kv{display:grid;gap:10px}.kv-row{display:grid;grid-template-columns:9.5rem 1fr;gap:4px 14px;align-items:baseline;padding-bottom:10px;border-bottom:1px solid var(--line)}.kv-row:last-child{border-bottom:0;padding-bottom:0}.kv-k{color:var(--muted);font-size:0.85rem;text-transform:uppercase;letter-spacing:0.04em}.kv-v{font-weight:600;word-break:break-word}.kv-hint{grid-column:2;color:var(--muted);font-size:0.85rem}@media (max-width:560px){.kv-row{grid-template-columns:1fr}.kv-hint{grid-column:1}}.dispatch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}.dispatch-card{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-decoration:none;transition:border-color 0.15s ease,transform 0.15s ease}.dispatch-card:hover,.dispatch-card:focus-visible{border-color:var(--accent);transform:translateY(-2px)}.dc-name{display:block;font-weight:650;color:var(--text);margin-bottom:2px}.dc-blurb{display:block;font-size:0.85rem;color:var(--muted);line-height:1.45}html.modal-open,html.modal-open body{overflow:hidden}@media (prefers-reduced-motion:reduce){.dispatch-card{transition:none}}.skeleton{pointer-events:none}.sk-row{display:flex;gap:10px;margin-bottom:14px}.sk-bar,.sk-box{display:block;border-radius:8px;background:linear-gradient(100deg,color-mix(in srgb,var(--line) 55%,transparent) 30%,color-mix(in srgb,var(--line) 100%,transparent) 50%,color-mix(in srgb,var(--line) 55%,transparent) 70%);background-size:300% 100%;animation:sk-sweep 1.4s ease-in-out infinite}.sk-box{height:150px;margin-bottom:14px}@keyframes sk-sweep{from{background-position:150% 0}to{background-position:-50% 0}}@media (prefers-reduced-motion:reduce){.sk-bar,.sk-box{animation:none}}.builder-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media (max-width:900px){.builder-grid{grid-template-columns:1fr}}.builder-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:8px}.builder-head h2{font-size:1rem;margin:0}.builder-head span{color:var(--muted);font-size:0.8rem}textarea.code{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:0.82rem;line-height:1.55;tab-size:2;white-space:pre;overflow-wrap:normal;overflow-x:auto}.builder-frame{width:100%;min-height:460px;border:1px solid var(--line);border-radius:12px;background:var(--ink-1)}.builder-problems:not(:empty){margin-top:12px;display:grid;gap:8px}.builder-ref{margin-top:18px;border:1px solid var(--line);border-radius:12px;background:var(--ink-2);padding:14px 16px}.builder-ref>summary{cursor:pointer;font-weight:650}.builder-ref[open]>summary{margin-bottom:12px}.builder-ref code{font-size:0.82rem;white-space:nowrap}.prose .code-block{background:var(--ink-2);border:1px solid var(--line);border-radius:12px;padding:14px 16px;overflow-x:auto;margin:14px 0}.prose .code-block code{background:none;border:0;padding:0;color:var(--text-dim);font-family:var(--mono);font-size:0.84rem;line-height:1.6;white-space:pre}.ai-status{margin-top:10px;font-size:0.9rem;color:var(--muted);min-height:1.4em}.ai-bar{display:none;margin-top:10px;height:6px;border-radius:999px;background:var(--ink-3);overflow:hidden}.ai-bar i{display:block;height:100%;width:0;background:var(--accent);transition:width 0.25s ease}.ai-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.ai-compare figure{margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--ink-2)}.ai-compare img{width:100%;height:auto}.ai-compare figcaption{padding:8px 12px;font-size:0.82rem;color:var(--muted);border-top:1px solid var(--line)}.ai-compare .checker img{background-image:linear-gradient(45deg,rgba(128,128,128,0.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(128,128,128,0.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(128,128,128,0.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(128,128,128,0.25) 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0}.chain-menu{position:absolute;z-index:40;right:0;margin-top:8px;width:min(360px,calc(100vw - 40px));max-height:60vh;overflow-y:auto;padding:14px;border:1px solid var(--line-strong);border-radius:14px;background:var(--ink-1);box-shadow:var(--shadow-lg)}.out-head,.chain-menu{position:relative}.out-head{position:relative}.chain-menu>p{font-size:0.86rem;color:var(--muted);margin-bottom:10px}.chain-list{display:grid;gap:4px;margin-bottom:10px}.chain-list a{display:block;padding:8px 10px;border-radius:9px;text-decoration:none}.chain-list a:hover,.chain-list a:focus-visible{background:var(--ink-3)}.chain-list .r-name{display:block;font-weight:600;color:var(--text);font-size:0.9rem}.chain-list .r-blurb{display:block;font-size:0.8rem;color:var(--muted);line-height:1.4}.proof-meter{margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--ink-2);font-size:0.95rem}.proof-meter b{font-size:1.3rem;color:var(--ok)}.proof-verdict{color:var(--ok);font-weight:600}.proof-verdict.bad{color:var(--err)}.prose.log .log-entry + .log-entry{margin-top:34px;padding-top:30px;border-top:1px solid var(--line)}.prose.log h2{margin-bottom:2px}.log-date{color:var(--muted);font-size:0.86rem;margin:0 0 12px}ul.log-items{list-style:none;padding:0;margin:0;display:grid;gap:10px}ul.log-items li{display:grid;grid-template-columns:5.5rem 1fr;gap:12px;align-items:baseline}.log-kind{font-size:0.72rem;font-weight:700;letter-spacing:0.04em;text-transform:uppercase;text-align:center;padding:3px 6px;border-radius:999px;border:1px solid var(--line-strong);color:var(--text-dim)}.log-added{border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.log-fixed{border-color:color-mix(in srgb,var(--warn) 50%,transparent)}.log-changed{border-color:color-mix(in srgb,var(--aqua) 45%,transparent)}@media (max-width:560px){ul.log-items li{grid-template-columns:1fr;gap:4px}.log-kind{justify-self:start;padding-inline:10px}}