@font-face{font-family:kc-pacifico;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/pacifico-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}@font-face{font-family:kc-pacifico;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/pacifico-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:kc-lobster;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/lobster-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}@font-face{font-family:kc-lobster;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/lobster-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:kc-fredoka;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/fredoka-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}@font-face{font-family:kc-fredoka;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/fredoka-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:kc-baloo;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/baloo-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}@font-face{font-family:kc-baloo;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/baloo-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:kc-lilita;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/lilita-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}@font-face{font-family:kc-lilita;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/lilita-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:kc-titan;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/titan-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}@font-face{font-family:kc-titan;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/titan-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:kc-luckiest;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/luckiest-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}@font-face{font-family:kc-luckiest;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/luckiest-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:kc-archivo;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/archivo-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}@font-face{font-family:kc-archivo;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/archivo-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:kc-montserrat;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/montserrat-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}@font-face{font-family:kc-montserrat;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/montserrat-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:kc-righteous;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/righteous-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}@font-face{font-family:kc-righteous;font-weight:100 900;font-display:swap;src:url(/fonts/keychain/righteous-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}.kc-name{font-size:1.15rem;font-weight:700}.kc-stage{border:1px solid var(--card-border);border-radius:var(--r-md);background:radial-gradient(ellipse at center, rgb(var(--ink) / .05), transparent 75%), rgb(var(--ink) / .03);margin:14px 0 8px;position:relative;overflow:hidden}#kc-canvas{aspect-ratio:4/3;touch-action:none;cursor:grab;width:100%;height:auto;display:block}#kc-canvas.dragging{cursor:grabbing}#kc-canvas:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.kc-viewer-status{text-align:center;color:var(--fg-muted);background:var(--card-bg);pointer-events:none;place-content:center;margin:0;padding:24px;font-size:.85rem;line-height:1.5;display:grid;position:absolute;inset:0}.kc-reset-view{z-index:1;min-height:36px;color:var(--fg-muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:5px;padding:6px 10px;font-size:.78rem;font-weight:600;display:inline-flex;position:absolute;top:8px;right:8px}.kc-reset-view span{font-size:1.15rem;line-height:1}.kc-reset-view:hover{color:var(--fg);border-color:var(--card-border);background:rgb(var(--ink) / .05)}.kc-reset-view:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.kc-reset-view:disabled{opacity:.45;cursor:default}.kc-summary{margin:10px 0 6px;font-size:.95rem;font-weight:700}#kc-warnings .result-warn{margin:6px 0}#kc-error{margin-top:10px}.kc-actions{margin-top:12px}.kc-fieldset{border:0;border-top:1px solid var(--card-border);min-width:0;margin:18px 0 0;padding:12px 0 0}.kc-fieldset legend{padding-right:12px;font-size:.95rem;font-weight:700}.kc-fieldset .field{margin-bottom:10px}.kc-fieldset .field-row{align-items:end}.kc-fonts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0 8px;display:grid}.kc-font,.kc-choice{cursor:pointer;display:block;position:relative}.kc-font input,.kc-choice input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.kc-font span,.kc-choice span{border:1px solid var(--card-border);border-radius:var(--r-sm);background:rgb(var(--ink) / .03);min-height:48px;color:var(--fg);text-align:center;white-space:nowrap;text-overflow:ellipsis;justify-content:center;align-items:center;padding:6px 10px;transition:border-color .15s,background .15s;display:flex;overflow:hidden}.kc-font span{font-size:1.2rem;font-weight:800;line-height:1.2}.kc-fonts[data-ready] span{font-family:var(--font), sans-serif}.kc-choice span{white-space:normal;min-height:42px;font-size:.88rem;font-weight:600}.kc-font:hover span,.kc-choice:hover span{border-color:var(--accent)}.kc-font input:checked+span,.kc-choice input:checked+span{border-color:var(--accent);background:rgb(var(--ink) / .07);box-shadow:inset 0 0 0 1px var(--accent)}.kc-font input:focus-visible+span,.kc-choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.kc-choices{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin:4px 0 10px;display:grid}.kc-sub{border-left:2px solid var(--card-border);margin:4px 0 6px;padding:10px 12px 2px}.kc-swatches{flex-wrap:wrap;gap:8px;margin:4px 0 10px;display:flex}.kc-swatch{border:2px solid var(--card-border);background:radial-gradient(circle, var(--text) 0 36%, var(--base) 38%);cursor:pointer;border-radius:50%;width:44px;height:44px;padding:0}.kc-swatch[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.kc-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.kc-colors{flex-wrap:wrap;gap:8px 10px;display:flex}.kc-color{position:relative}.kc-color-btn{border:1px solid var(--card-border);background:rgb(var(--ink) / .03);min-height:44px;color:var(--fg);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 8px;font-size:.88rem;display:inline-flex}.kc-color-btn:hover,.kc-color-btn[aria-expanded=true]{border-color:var(--accent)}.kc-color-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kc-color-dot{border:1px solid rgb(var(--ink) / .25);border-radius:50%;flex-shrink:0;width:28px;height:28px}.kc-color-name{color:var(--fg-muted)}.kc-palette{z-index:20;border:1px solid var(--card-border);border-radius:var(--r-md);background:var(--bg-2);box-shadow:0 16px 40px -12px rgb(var(--shade) / calc(.6 * var(--shade-a)));grid-template-columns:repeat(5,36px);gap:8px;padding:12px;display:grid;position:absolute;top:calc(100% + 6px);left:0}.kc-palette[hidden]{display:none}.kc-color+.kc-color .kc-palette{left:auto;right:0}.kc-palette-swatch{border:1px solid rgb(var(--ink) / .25);background:var(--swatch);cursor:pointer;border-radius:50%;width:36px;height:36px;padding:0}.kc-palette-swatch:hover{transform:scale(1.08)}.kc-palette-swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--bg-2), 0 0 0 4px var(--accent)}.kc-palette-swatch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.kc-advanced{border-top:1px solid var(--card-border);margin-top:18px;padding-top:6px}.kc-advanced summary{min-height:44px;color:var(--accent);cursor:pointer;align-items:center;gap:8px;font-weight:700;list-style:none;display:flex}.kc-advanced summary::-webkit-details-marker{display:none}.kc-advanced summary:before{content:"▸";transition:transform .2s var(--ease);display:inline-block}.kc-advanced[open] summary:before{transform:rotate(90deg)}.kc-advanced .kc-hide,.kc-advanced[open] .kc-show{display:none}.kc-advanced[open] .kc-hide{display:inline}.kc-advanced>.kc-fieldset:first-of-type{margin-top:6px}.kc-advanced #kc-reset{margin-top:16px}.kc-file{padding:8px;font-size:.85rem}.kc-privacy{margin-top:18px}@media (width>=640px) and (width<=899px){.kc-fonts{grid-template-columns:repeat(3,minmax(0,1fr))}}.page-wrapper{max-width:1160px}.page-hero .lead,.section>p,.section .prose-list{max-width:80ch}@media (width>=900px){.page-hero{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:18px;margin-bottom:14px;padding:10px 0 14px;display:grid}.page-hero-top{grid-area:1/1/span 2;margin:0}.page-hero-label{display:none}.page-hero h1{grid-column:2;margin:0 0 2px;font-size:1.75rem}.page-hero .lead{grid-column:2;margin:0;font-size:.95rem;line-height:1.55}.page-hero .badge-group{flex-direction:column;grid-area:1/3/span 2;align-items:flex-end;gap:6px}.kc-layout{grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-items:start;gap:28px;display:grid}.kc-preview{top:calc(var(--header-h) + 12px);position:sticky}.kc-settings>.kc-fieldset:first-child{border-top:0;margin-top:0;padding-top:0}#kc-canvas{aspect-ratio:auto;height:clamp(300px,100svh - 400px,680px)}}@media (prefers-reduced-motion:reduce){.kc-advanced summary:before{transition:none}}.kc-range-label{display:inline-block}.kc-reset-one{vertical-align:middle;width:28px;height:28px;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;margin:-4px 0 0 4px;padding:0;font-size:1rem;line-height:1;display:inline-grid}.kc-reset-one:hover:not(:disabled){border-color:var(--card-border);background:rgb(var(--ink) / .05)}.kc-reset-one:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.kc-reset-one:disabled{color:var(--fg-subtle);opacity:.45;cursor:default}.kc-pen-toggle{z-index:1;background:rgb(var(--ink) / .06);min-height:36px;color:var(--fg-muted);cursor:pointer;border-radius:6px;align-items:center;gap:7px;padding:6px 10px;font-size:.78rem;font-weight:600;display:inline-flex;position:absolute;top:8px;left:8px}.kc-pen-toggle:hover{color:var(--fg)}.kc-pen-toggle input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin:0}
