@font-face{font-family:Google Sans Flex;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/tools/watermark/fonts/google-sans-flex-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Google Sans Flex;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/tools/watermark/fonts/google-sans-flex-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--page:#fff;--band:#f7f7f5;--field:#f4f3ef;--ink:#23231e;--soft:#52524b;--line:#e2e1db;--hair:#ebeae4;--edge:#8c8b82;--accent:#fcec45;--accent-hover:#f5e02c;--accent-wash:#fffbdc;--stage:#23231e;--stage-2:#2e2e28;--on-stage:#eae8e0;--on-stage-2:#c3c2b8;--ok:#1d7a48;--err:#b3261e;--focus:#23231e;--r1:10px;--r2:18px;--r3:99px;--shadow:0 1px 2px #23231e0f, 0 8px 24px #23231e0f;--font:"Google Sans Flex", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease:cubic-bezier(.16, 1, .3, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{margin:0}body{background:var(--page);color:var(--ink);font:400 .875rem/1.5 var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}[hidden]{display:none!important}button,input,select,summary{font:inherit;color:inherit}h2,h3{margin:0}::selection{background:var(--accent);color:#23231e}html{scrollbar-color:#c8c7bf transparent}.order-body,.queue{scrollbar-width:thin;scrollbar-color:#c8c7bf transparent}input,textarea{caret-color:var(--ink)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.vh{opacity:0;clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}[data-icon]{flex:none;display:inline-flex}[data-icon] svg{display:block}.bar{align-items:center;gap:16px;max-width:1360px;margin:0 auto;padding:14px 28px;display:flex}.brand{color:var(--ink);align-items:baseline;gap:10px;text-decoration:none;display:flex}.brand-mark{align-self:center;width:28px;height:20px}.brand-dot{fill:var(--accent);stroke:var(--ink);stroke-width:1.2px}.brand-name{letter-spacing:-.02em;font-size:1.25rem;font-weight:700}.brand-by{color:var(--soft);font-size:.875rem}.bar-note{color:var(--soft);align-items:center;gap:8px;margin:0 0 0 auto;font-size:.875rem;display:flex}.bar-all{border-radius:var(--r3);box-shadow:inset 0 0 0 1px var(--edge);color:var(--ink);transition:background .15s var(--ease);flex:none;padding:7px 14px;font-size:.875rem;font-weight:500;text-decoration:none}.bar-all:hover{background:var(--field)}.shop{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:24px;max-width:1360px;margin:0 auto;padding:4px 28px 28px;display:grid}.cart{flex-direction:column;gap:14px;min-width:0;display:flex}.stage{background:var(--stage);border-radius:var(--r2);position:relative;overflow:hidden}.drop{cursor:pointer;aspect-ratio:16/9;min-height:340px;color:var(--on-stage);flex-direction:column;align-items:center;display:flex;position:relative}.drop canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.drop-cta{pointer-events:none;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:9%;left:0;right:0}.drop-hint{color:var(--on-stage-2);font-size:.8125rem}.drop:hover .btn.primary{background:var(--accent-hover)}.drop:focus-within .btn.primary{outline:3px solid var(--accent);outline-offset:3px}.preview{flex-direction:column;display:flex}.frame-wrap{justify-content:center;align-items:center;min-height:340px;padding:22px;display:flex}.frame{max-width:100%;max-height:62vh;line-height:0;position:relative}.frame video,.frame #base{border-radius:4px;width:auto;max-width:100%;height:auto;max-height:62vh;display:block}.frame #overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.frame.placing{cursor:crosshair}.player{color:var(--on-stage);align-items:center;gap:14px;padding:10px 16px 14px;display:flex}.player input[type=range]{accent-color:var(--accent);flex:1}.icon-btn{border-radius:var(--r3);background:var(--stage-2);width:36px;height:36px;color:var(--on-stage);cursor:pointer;transition:background .15s var(--ease);border:0;flex:none;place-items:center;display:grid}.icon-btn:hover:not(:disabled){background:#3b3b34}.icon-btn:disabled,.player input:disabled{opacity:.4;cursor:not-allowed}.qpick:disabled{cursor:default}.icon-btn:focus-visible{outline-color:var(--accent)}.time{color:var(--on-stage-2);white-space:nowrap;font-size:.8125rem}.caption{align-items:center;gap:12px;min-height:40px;padding:0 4px;display:flex}.caption-text{flex-direction:column;min-width:0;display:flex}.caption-text strong{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.caption-text span{color:var(--soft);font-size:.875rem}.caption .btn{margin-left:auto}.note{background:var(--band);border-radius:var(--r1);color:var(--soft);margin:0;padding:10px 14px;font-size:.8125rem}.cart-list{border:1px solid var(--line);border-radius:var(--r2);padding:14px 14px 10px}.cart-head{flex-wrap:wrap;align-items:center;gap:12px;padding:0 2px 4px;display:flex}.cart-head h2,.cart-head h3{font-size:1rem;font-weight:600}.cart-head .btn{margin-left:auto}.cart-sum{color:var(--soft);margin:0 2px 10px;font-size:.875rem}.switch{background:var(--field);border-radius:var(--r3);padding:3px;display:inline-flex}.tab{border-radius:var(--r3);cursor:pointer;color:var(--soft);transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:0;padding:5px 14px;font-size:.8125rem;font-weight:500}.tab[aria-selected=true]{background:var(--page);color:var(--ink);box-shadow:0 1px 2px #23231e1f}.tab:disabled{cursor:not-allowed;opacity:.6}.queue{flex-direction:column;gap:4px;max-height:360px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.qitem{border-radius:var(--r1);transition:background .15s var(--ease);align-items:center;gap:12px;padding:6px 8px;display:flex}.qitem:hover{background:var(--band)}.qitem[aria-current=true]{background:var(--field);box-shadow:inset 0 0 0 1px var(--edge)}.qpick{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.qthumb{background:var(--stage);border-radius:6px;flex:none;width:72px;height:44px;display:block}.qtext{flex-direction:column;flex:1;min-width:0;display:flex}.qtext b{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.qtext small{color:var(--soft);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.qstatus{white-space:nowrap;color:var(--soft);align-items:center;gap:4px;font-size:.8125rem;font-weight:600;display:inline-flex}.qstatus.done{color:var(--ok)}.qstatus.failed{color:var(--err)}.qstatus.working{color:var(--ink)}.qremove{border-radius:var(--r3);cursor:pointer;width:30px;height:30px;color:var(--soft);transition:background .15s var(--ease), color .15s var(--ease);background:0 0;border:0;flex:none;place-items:center;display:grid}.qremove:hover{background:var(--field);color:var(--err)}.qremove:disabled{opacity:.3;cursor:not-allowed}.qbar{background:var(--hair);border-radius:99px;height:4px;margin-top:5px;overflow:hidden}.qbar i{background:var(--accent);border-radius:99px;height:100%;display:block;box-shadow:inset 0 0 0 1px #23231e59}.thumbs{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.thumbs button{aspect-ratio:1;border-radius:var(--r1);background:var(--stage);cursor:pointer;box-shadow:inset 0 0 0 1px var(--line);border:0;padding:0;overflow:hidden}.thumbs button[aria-current=true]{box-shadow:0 0 0 2px var(--page), 0 0 0 4px var(--ink)}.thumbs canvas,.thumbs img{object-fit:cover;width:100%;height:100%;display:block}.thumbs .add{color:var(--soft);background:var(--band);box-shadow:inset 0 0 0 1px var(--line);place-items:center;display:grid}.order{background:var(--page);border:1px solid var(--line);border-radius:var(--r2);flex-direction:column;max-height:calc(100vh - 80px);display:flex;position:sticky;top:16px}.order-body{overscroll-behavior:contain;padding:4px 20px 8px;overflow-y:auto}.order-body.fade{-webkit-mask-image:linear-gradient(#000 calc(100% - 36px),#0000);mask-image:linear-gradient(#000 calc(100% - 36px),#0000)}.step{border-bottom:1px solid var(--hair);flex-direction:column;gap:10px;padding:12px 0 14px;display:flex}.step h2,.step h3{letter-spacing:-.01em;align-items:center;gap:10px;font-size:1rem;font-weight:600;display:flex}.n{border-radius:var(--r3);background:var(--ink);width:22px;height:22px;color:var(--page);flex:none;place-items:center;font-size:.75rem;font-weight:600;display:grid}.stack{flex-direction:column;gap:12px;display:flex}.stack.textrow{flex-direction:row;align-items:center;gap:10px}.stack.textrow .field{flex:1;min-width:0}.stack.textrow .swatches{gap:6px}.stack.textrow .swatches span,.stack.textrow .swatches .custom input{width:26px;height:26px}.browser-note{background:var(--accent-wash);border-radius:var(--r1);align-items:flex-start;gap:10px;margin:14px 0 0;padding:10px 12px;font-size:.8125rem;display:flex}.field{flex-direction:column;gap:6px;display:flex}.label{justify-content:space-between;align-items:baseline;font-size:.875rem;font-weight:500;display:flex}.field output{color:var(--soft);font-weight:400}.field input[type=text],.field select{border:1px solid var(--edge);border-radius:var(--r1);background:var(--page);width:100%;height:44px;transition:box-shadow .15s var(--ease), border-color .15s var(--ease);outline:none;padding:0 14px;font-size:.9375rem}.field input[type=text]::placeholder{color:var(--soft)}.field input[type=text]:focus,.field select:focus{border-color:var(--ink);box-shadow:0 0 0 3px #fcec45b3}.field input[type=text].needs{border-color:var(--err);box-shadow:0 0 0 3px #b3261e26}input[type=range]{width:100%;accent-color:var(--ink);cursor:pointer;margin:4px 0}.field.inline-range{flex-direction:row;align-items:center;gap:12px}.field.inline-range .label{flex:none}.field.inline-range input[type=range]{flex:1;min-width:0}.field.inline-range output{text-align:right;flex:none;width:3.2em;font-size:.8125rem}.hint{color:var(--soft);margin:0;font-size:.8125rem;line-height:1.45}.seg{background:var(--field);border-radius:var(--r3);grid-template-columns:1fr 1fr;padding:3px;display:grid}.seg.three{grid-template-columns:repeat(3,1fr)}.seg input,.styles input,.posgrid input,.swatches input[type=radio]{opacity:0;pointer-events:none;position:absolute}.seg span{text-align:center;border-radius:var(--r3);cursor:pointer;color:var(--soft);transition:background .15s var(--ease), color .15s var(--ease);padding:7px 8px;font-weight:500;display:block}.seg input:checked+span{background:var(--page);color:var(--ink);box-shadow:0 1px 2px #23231e24}.seg input:focus-visible+span,.styles input:focus-visible+.style-row,.posgrid input:focus-visible+span,.swatches input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.swatches{align-items:center;gap:10px;display:flex}.swatches label{cursor:pointer;position:relative}.swatches span{border-radius:var(--r3);background:var(--c);width:30px;height:30px;display:block;box-shadow:inset 0 0 0 1px #23231e47}.swatches input:checked+span{box-shadow:inset 0 0 0 1px #23231e47, 0 0 0 2px var(--page), 0 0 0 4px var(--ink)}.swatches .custom input{opacity:0;cursor:pointer;width:30px;height:30px;position:absolute;inset:0}.swatches .custom span{background:conic-gradient(#ff5b5b,#ffd24a,#5bd97a,#4ab8ff,#9b6bff,#ff5bd1,#ff5b5b)}.swatches .custom.on span{box-shadow:0 0 0 2px var(--page), 0 0 0 4px var(--ink)}.logo-pick{border:1px dashed var(--edge);border-radius:var(--r1);cursor:pointer;transition:background .15s var(--ease);align-items:center;gap:12px;padding:12px;display:flex;position:relative}.logo-pick:hover{background:var(--band)}.logo-pick:focus-within{outline:3px solid var(--focus);outline-offset:3px}.logo-thumb{border-radius:var(--r1);background-color:var(--stage);width:48px;height:48px;color:var(--on-stage-2);background-position:50%;background-repeat:no-repeat;background-size:80%;flex:none;place-items:center;display:grid}.logo-text{flex-direction:column;min-width:0;display:flex}.logo-text b{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.logo-text small{color:var(--soft);font-size:.8125rem}.checks{align-items:center;gap:16px;display:flex}.check{cursor:pointer;align-items:center;gap:8px;font-size:.875rem;font-weight:500;display:flex}.check input{accent-color:var(--ink);width:18px;height:18px;margin:0}.styles{flex-direction:column;gap:5px;display:flex}.style{position:relative}.style-row{border-radius:var(--r1);border:1px solid var(--line);cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease);align-items:center;gap:12px;padding:6px 12px;display:flex}.style-row:hover{background:var(--band)}.style input:checked+.style-row{border-color:var(--ink);background:var(--accent-wash);box-shadow:inset 0 0 0 1px var(--ink)}.style-row svg{flex:none;width:52px;height:33px;overflow:hidden}.style-row .mf{fill:var(--stage)}.style-row .mk{fill:#9d9c92}.style-row .faint .mk{opacity:.45}.style input:checked+.style-row .mk{fill:var(--accent)}.style-text{flex-direction:column;min-width:0;display:flex}.style-text b{flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:flex}.style-text em{border-radius:var(--r3);background:var(--ink);color:var(--page);padding:1px 8px;font-size:.6875rem;font-style:normal;font-weight:600}.style-text small{color:var(--soft);font-size:.8125rem;line-height:1.4;display:none}.style input:checked+.style-row .style-text small{display:block}.style-row{min-height:44px}.bx{animation:2.3s linear infinite alternate bx}.by{animation:1.55s linear infinite alternate by}@keyframes bx{to{transform:translate(30px)}}@keyframes by{to{transform:translateY(19px)}}.jp{animation:4.8s infinite jp}@keyframes jp{0%,22%{opacity:1;transform:translate(0)}24%{opacity:0}26%,47%{opacity:1;transform:translate(27px,15px)}49%{opacity:0}51%,72%{opacity:1;transform:translate(6px,18px)}74%{opacity:0}76%,97%{opacity:1;transform:translate(24px,3px)}99%{opacity:0}}.tl{animation:3s linear infinite tl}@keyframes tl{to{transform:translate(18px)}}.place{align-items:center;gap:14px;display:flex}.posgrid{background:var(--stage);border-radius:var(--r1);flex:none;grid-template-columns:repeat(3,1fr);gap:4px;width:108px;padding:6px;display:grid}.posgrid span{cursor:pointer;background:var(--stage-2);height:20px;transition:background .15s var(--ease);border-radius:4px;display:block}.posgrid span:hover{background:#45453d}.posgrid input:checked+span{background:var(--accent)}.more{border-bottom:1px solid var(--hair)}.more summary{cursor:pointer;justify-content:space-between;align-items:center;padding:12px 0;font-size:.9375rem;font-weight:600;list-style:none;display:flex}.more summary::-webkit-details-marker{display:none}.more summary [data-icon]{transition:transform .2s var(--ease);color:var(--soft)}.more[open] summary [data-icon]{transform:rotate(180deg)}.more-body{flex-direction:column;gap:14px;padding:0 0 18px;display:flex}.row2{grid-template-columns:1fr auto;align-items:end;gap:14px;display:grid}.row2 .checks{height:44px}.seed-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.checkout{border-top:1px solid var(--line);background:var(--band);border-radius:0 0 var(--r2) var(--r2);flex-direction:column;gap:10px;padding:12px 20px 16px;display:flex}.summary{color:var(--ink);text-wrap:pretty;margin:0;font-size:.875rem;line-height:1.45}.summary span{white-space:nowrap}.btn{border-radius:var(--r3);cursor:pointer;white-space:nowrap;transition:background .15s var(--ease), box-shadow .15s var(--ease), transform .1s var(--ease);border:0;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-weight:600;display:inline-flex}.btn.small{gap:6px;padding:6px 12px;font-size:.8125rem;font-weight:500}.btn.ghost{box-shadow:inset 0 0 0 1px var(--edge);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--field)}.btn.primary{background:var(--accent);color:#23231e}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.primary:active:not(:disabled){transform:translateY(1px)}.btn.big{width:100%;padding:14px 18px;font-size:1rem}.btn.primary.idle{background:var(--page);box-shadow:inset 0 0 0 1.5px var(--ink)}.btn.primary.idle:hover:not(:disabled){background:var(--field)}.btn:disabled{background:var(--hair);color:#8c8b82;cursor:not-allowed;box-shadow:none}.progress .bar-track{background:var(--hair);height:8px;box-shadow:inset 0 0 0 1px var(--line);border-radius:99px;overflow:hidden}.progress .bar-track i{background:var(--accent);border-radius:99px;width:0;height:100%;display:block;box-shadow:inset 0 0 0 1px #23231e59}.progress-row{color:var(--soft);justify-content:space-between;align-items:center;gap:10px;margin-top:8px;font-size:.8125rem;display:flex}.result{margin:0;font-size:.875rem;line-height:1.5}.result.ok{color:var(--ok)}.result.err{color:var(--err)}.result a{color:inherit;text-underline-offset:3px;font-weight:600}.foot{max-width:1360px;margin:0 auto 40px;padding:0 28px}.foot p{color:var(--soft);max-width:72ch;margin:0;font-size:.875rem}.dropveil{z-index:20;pointer-events:none;background:#23231eb8;place-items:center;display:none;position:fixed;inset:0}.dropveil>span{background:var(--accent);color:#23231e;border-radius:var(--r3);align-items:center;gap:12px;padding:18px 28px;font-size:1.25rem;font-weight:600;display:inline-flex}body.dragging .dropveil{display:grid}.toast{z-index:30;color:#fff;border-radius:var(--r3);background:#23231e;max-width:calc(100vw - 32px);padding:11px 18px;font-weight:500;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000002e}@media (prefers-reduced-motion:reduce){.bx,.by,.jp,.tl{animation:none}*{transition:none!important}}@media (max-width:960px){.shop{grid-template-columns:minmax(0,1fr);gap:16px;padding:0 16px 140px}.bar{padding:14px 16px}.order{border:0;border-radius:0;max-height:none;position:static}.order-body{padding:0;overflow:visible}.order-body.fade{-webkit-mask-image:none;mask-image:none}.cart{display:contents}.stage{z-index:5;border-radius:0 0 var(--r2) var(--r2);margin:0 -16px;position:sticky;top:0}.drop{aspect-ratio:auto;height:40vh;min-height:0}.frame-wrap{min-height:0;padding:10px}.frame,.frame video,.frame #base{max-height:26vh}.checkout.empty{display:none}.player{padding:4px 14px 10px}.checkout{z-index:10;border-radius:var(--r2) var(--r2) 0 0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:0;gap:8px;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 20px #23231e24}.foot{margin-bottom:150px;padding:0 16px}}@media (max-width:520px){.bar{flex-wrap:wrap;row-gap:4px}.bar-note{order:3;width:100%;margin:0;font-size:.8125rem}.bar-all{margin-left:auto;padding:6px 12px;font-size:.8125rem}.brand-by{font-size:.8125rem}.cart-head .btn{margin-left:0}}.intro{flex-direction:column;gap:4px;padding:2px 4px 0;display:flex}.intro h1{letter-spacing:-.02em;text-wrap:balance;margin:2px 0 0;font-size:1.5rem;font-weight:700;line-height:1.2}.lede{color:var(--soft);text-wrap:pretty;max-width:72ch;margin:0;font-size:1rem;line-height:1.55}.crumbs ol{color:var(--soft);flex-wrap:wrap;gap:2px 6px;margin:0;padding:0;font-size:.8125rem;list-style:none;display:flex}.crumbs li{align-items:center;gap:6px;min-width:0;display:flex}.crumbs li+li:before{content:"/";color:var(--edge)}.crumbs a{color:var(--soft);text-decoration:none}.crumbs a:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.crumbs [aria-current]{color:var(--ink)}.prose .crumbs ol{margin:0;padding:0;font-size:.8125rem;line-height:1.5}.prose .crumbs li+li{margin-top:0}.prose .crumbs a{background:0 0;text-decoration:none}.prose .crumbs a:hover{text-decoration:underline}.page-body{max-width:1360px;margin:0 auto;padding:40px 28px 8px}.page-tool .page-body{padding-top:20px}.page-tool .page-body:before{content:"";border-top:1px solid var(--line);margin-bottom:40px;display:block}.page-article .page-body{padding-top:20px}.article-head{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;max-width:70ch;margin:0 0 36px;padding-bottom:28px;display:flex}.article-head h1{letter-spacing:-.025em;text-wrap:balance;margin:6px 0 0;font-size:clamp(1.875rem,1.4rem + 1.4vw,2.5rem);font-weight:700;line-height:1.12}.article-head .lede{font-size:1.125rem;line-height:1.55}.article-head .updated{margin:0}.prose{max-width:70ch;color:var(--ink);overflow-wrap:break-word;font-size:1.0625rem;line-height:1.7}.prose>:first-child{margin-top:0}.prose h2{letter-spacing:-.02em;text-wrap:balance;margin:2.2em 0 .6em;scroll-margin-top:24px;font-size:1.5rem;font-weight:700;line-height:1.25}.prose h3{margin:1.6em 0 .4em;font-size:1.1875rem;font-weight:650;line-height:1.35}.prose p,.prose ul,.prose ol,.prose table,.prose figure{margin:0 0 1em}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.45em}.prose li::marker{font-variant-numeric:tabular-nums}.prose li::marker{color:var(--soft)}.prose strong{font-weight:650}.prose a{color:var(--ink);text-underline-offset:3px;-webkit-text-decoration:underline #b4b3aa;text-decoration:underline #b4b3aa;text-decoration-thickness:1.5px}.prose a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink);background:var(--accent-wash)}.prose code{background:var(--field);border-radius:6px;padding:.1em .35em;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.875em}.prose figure{padding:0}.prose figcaption{color:var(--soft);margin-top:6px;font-size:.875rem}.prose table{border-collapse:collapse;font-variant-numeric:tabular-nums;max-width:100%;font-size:1rem;line-height:1.5;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);min-width:8em;padding:10px 14px 10px 0}.prose thead th{border-bottom:1px solid var(--ink);white-space:nowrap;font-weight:600}.prose tbody th{font-weight:600}.prose caption{caption-side:top;text-align:left;color:var(--soft);padding:0 0 8px;font-size:.875rem}.prose details{border-bottom:1px solid var(--hair)}.prose h2+details,.prose h3+details,.prose p+details{border-top:1px solid var(--hair)}.prose summary{cursor:pointer;justify-content:space-between;align-items:baseline;gap:16px;padding:16px 4px;font-weight:600;line-height:1.4;list-style:none;display:flex}.prose summary::-webkit-details-marker{display:none}.prose summary:after{content:"+";color:var(--soft);transition:transform .2s var(--ease);flex:none;font-size:1.25rem;font-weight:500;line-height:1}.prose details[open] summary:after{transform:rotate(45deg)}.prose summary:hover{color:var(--ink);background:var(--band)}.prose details>:not(summary){margin-left:2px;margin-right:2px}.prose details>:last-child:not(summary){margin-bottom:16px}.prose .placeholder{border:1px dashed var(--edge);border-radius:var(--r1);color:var(--soft);padding:12px 14px}.updated{color:var(--soft);margin-top:2em;font-size:.875rem}.read{grid-template-columns:minmax(0,70ch) minmax(220px,280px);justify-content:start;align-items:start;gap:clamp(48px,7vw,112px);display:grid}.toc{border-left:1px solid var(--line);flex-direction:column;gap:14px;padding:2px 0 2px 20px;display:flex;position:sticky;top:24px}.toc-h{margin:0;font-size:.875rem;font-weight:600}.toc ol{flex-direction:column;gap:8px;margin:0;padding:0;font-size:.875rem;line-height:1.4;list-style:none;display:flex}.toc a{color:var(--soft);text-decoration:none}.toc a:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.toc .btn{align-self:flex-start}.related{border-top:1px solid var(--line);margin-top:44px;padding-top:36px}.related h2,.hub-list h2{letter-spacing:-.015em;margin:0 0 16px;font-size:1.25rem;font-weight:700}.hub-list{margin:0 0 36px}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.card{border:1px solid var(--line);border-radius:var(--r2);height:100%;color:var(--ink);transition:border-color .15s var(--ease), background .15s var(--ease);flex-direction:column;gap:6px;padding:20px 22px;text-decoration:none;display:flex}.card:hover{border-color:var(--ink);background:var(--band)}.card b{letter-spacing:-.01em;font-size:1.0625rem;font-weight:650}.card span{color:var(--soft);font-size:.9375rem;line-height:1.5}.page-404 .hub-list .links{gap:10px;font-size:1rem}.actions{flex-wrap:wrap;gap:10px;display:flex}a.btn{color:var(--ink);text-decoration:none}.site-foot{background:var(--band);border-top:1px solid var(--line);margin-top:56px}.foot-grid{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:28px;max-width:1360px;margin:0 auto;padding:32px 28px 40px;display:grid}.foot-brand{letter-spacing:-.01em;margin:0 0 6px;font-weight:700}.foot-about p:not(.foot-brand){color:var(--soft);max-width:60ch;margin:0;font-size:.875rem;line-height:1.55}.foot-h{margin:0 0 12px;font-size:.875rem;font-weight:650}.links{flex-direction:column;gap:8px;margin:0;padding:0;font-size:.875rem;list-style:none;display:flex}.links a{color:var(--ink);text-decoration:none}.links a:hover{text-underline-offset:3px;text-decoration:underline}@media (max-width:1100px){.read{display:block}.toc{display:none}}@media (max-width:960px){.page-tool .shop{padding-bottom:8px}.intro{padding:0}.intro h1{font-size:1.3125rem}.lede{font-size:.9375rem}.page-body{padding:28px 16px 8px}.page-tool .page-body{padding-top:16px}.page-tool .page-body:before{margin-bottom:28px}.page-article .page-body{padding-top:16px}.foot-grid{grid-template-columns:1fr 1fr;gap:24px;padding:28px 16px 32px}.foot-about{grid-column:1/-1}.page-tool .site-foot{padding-bottom:130px}}@media (max-width:520px){.cards{grid-template-columns:1fr}.prose{font-size:1rem}.prose h2{font-size:1.3125rem}}
