.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.logo-mark[data-astro-cid-27oicc4y]{display:block;overflow:visible}.pen[data-astro-cid-27oicc4y]{transform-box:fill-box;transform-origin:50% 100%;transition:transform .6s var(--ease)}@font-face{font-family:Cormorant Ouvill;src:url(/fonts/cormorant-ouvill-600.woff2)format("woff2");font-weight:600;font-display:swap;unicode-range:U+4F,U+75,U+76,U+69,U+6C}:root{color-scheme:light;--bg:#f7f3ea;--bg-soft:#efe9dc;--surface:#fffdf8;--text:#1f2420;--text-muted:#5a5e57;--border:#e2dacb;--accent:#0b6b4f;--accent-soft:#dcebe2;--brass:#a8844c;--ok:#2f8a57;--tool-ink:#2f4a8a;--tool-soft:#e4e8f3;--game-ink:#6b3f8a;--game-soft:#efe5f3;--other-ink:#74560f;--other-soft:#f2e9d2;--shadow:0 1px 2px #2823140d, 0 4px 14px -6px #2823141a;--shadow-lift:0 2px 4px #2823140f, 0 14px 30px -12px #28231433;--radius-s:8px;--radius-m:14px;--radius-l:20px;--spring:cubic-bezier(.34, 1.56, .64, 1);--ease:cubic-bezier(.22, 1, .36, 1);--font-sans:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif:"Cormorant Ouvill", "Cormorant Garamond", "Cormorant", Garamond, "Times New Roman", serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--content:960px;--gutter:clamp(16px, 4vw, 32px);--header-h:64px}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#121613;--bg-soft:#1b211d;--surface:#171c18;--text:#ede7da;--text-muted:#a8a596;--border:#2c342e;--accent:#5cc8a0;--accent-soft:#143a2d;--brass:#c9a66b;--ok:#5cc88a;--tool-ink:#a6b8ec;--tool-soft:#1f2740;--game-ink:#d2adea;--game-soft:#2e2238;--other-ink:#e3c27a;--other-soft:#352c17;--shadow:0 1px 2px #0000004d, 0 4px 14px -6px #00000080;--shadow-lift:0 2px 4px #0000004d, 0 14px 30px -12px #0009}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font-sans);font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;font-size:16px;line-height:1.85;display:flex}main{flex:1}h1,h2,h3{letter-spacing:.02em;word-break:auto-phrase;margin:0 0 .5em;font-weight:700;line-height:1.4}p{margin:0 0 1em}a{color:inherit}img{max-width:100%;height:auto;display:block}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}::selection{background:var(--accent-soft)}.container{width:100%;max-width:calc(var(--content) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{border:1px solid var(--text);background:var(--text);color:var(--bg);transition:transform .3s var(--spring), box-shadow .3s var(--ease), background-color .2s;border-radius:999px;align-items:center;gap:.5em;padding:.75em 1.35em;font-size:.95rem;font-weight:700;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.btn:active{box-shadow:none;transition-duration:80ms;transform:translateY(1px)scale(.97)}.btn--ghost{color:var(--text);border-color:var(--border);background:0 0}.btn--ghost:hover{background:var(--surface)}.btn .arrow{transition:transform .3s var(--spring);display:inline-block}.btn:hover .arrow{transform:translate(3px)}.section{margin-top:clamp(4rem,10vw,6rem)}.section-head{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.section-head h2{margin:0;font-size:1.5rem}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.6em;margin-bottom:.25rem;font-size:.75rem;font-weight:700;display:flex}.eyebrow:before{content:"";background:var(--brass);width:1.5em;height:1px}.text-link{color:var(--text-muted);white-space:nowrap;font-size:.9rem;text-decoration:none}.text-link:hover{color:var(--text);text-underline-offset:4px;text-decoration:underline}.chips{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.chips li{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.2em .75em;font-size:.82rem;line-height:1.6}.prose{max-width:68ch}.prose h2{margin-top:2.25em;font-size:1.25rem}.prose a{color:var(--accent);text-underline-offset:3px}.prose code{font-family:var(--font-mono);background:var(--bg-soft);border-radius:6px;padding:.1em .4em;font-size:.9em}.prose pre{background:var(--bg-soft);border-radius:var(--radius-s);padding:1rem;overflow-x:auto}.prose img{border-radius:var(--radius-m);border:1px solid var(--border);margin-block:1.5rem .5rem}.prose small{color:var(--text-muted);font-size:.78rem}.prose pre code{background:0 0;padding:0}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}}.rise-in{animation:rise-in .6s var(--ease) both;animation-delay:calc(var(--i,0) * 60ms)}::view-transition-old(root),::view-transition-new(root){animation-duration:.25s}@media (prefers-reduced-motion:reduce){*,:before,:after,::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.skip[data-astro-cid-hkbrpulz]{background:var(--text);color:var(--bg);z-index:10;border-radius:999px;padding:.5rem 1rem;position:absolute;top:-3rem;left:1rem}.skip[data-astro-cid-hkbrpulz]:focus{top:1rem}.site-header[data-astro-cid-hkbrpulz]{z-index:5;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb, var(--border) 60%, transparent);position:sticky;top:0}.header-inner[data-astro-cid-hkbrpulz]{height:var(--header-h);justify-content:space-between;align-items:center;gap:1rem;display:flex}.logo[data-astro-cid-hkbrpulz]{letter-spacing:.02em;align-items:center;gap:.45rem;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-flex}.wordmark[data-astro-cid-hkbrpulz]{font-family:var(--font-serif);letter-spacing:.01em;font-weight:600}.logo[data-astro-cid-hkbrpulz] .wordmark[data-astro-cid-hkbrpulz]{font-size:1.45rem;line-height:1}.footer-name[data-astro-cid-hkbrpulz].wordmark{font-size:1.25rem}.logo[data-astro-cid-hkbrpulz] .logo-icon{width:28px;height:28px;color:var(--accent)}.logo[data-astro-cid-hkbrpulz]:hover .pen{transform:rotate(6deg)}.logo[data-astro-cid-hkbrpulz]:active .pen{transition-duration:.15s;transform:rotate(3deg)}.nav[data-astro-cid-hkbrpulz]{gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{color:var(--text-muted);padding:.4rem .75rem;font-size:.92rem;font-weight:600;text-decoration:none;transition:color .2s;display:block;position:relative}.nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:after{content:"";background:var(--accent);height:2px;transition:transform .35s var(--spring);border-radius:2px;position:absolute;bottom:.2rem;left:.75rem;right:.75rem;transform:scaleX(0)}.nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--text)}.nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover:after,.nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz][aria-current=page]:after{transform:scaleX(1)}.nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz][aria-current=page]{color:var(--text)}.ext[data-astro-cid-hkbrpulz]{transition:transform .25s var(--spring);margin-left:.15em;font-size:.8em;display:inline-block}.nav[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover .ext[data-astro-cid-hkbrpulz]{transform:translate(2px,-2px)}.site-footer[data-astro-cid-hkbrpulz]{border-top:1px solid var(--border);color:var(--text-muted);margin-top:clamp(5rem,12vw,8rem);font-size:.875rem}.footer-inner[data-astro-cid-hkbrpulz]{grid-template-columns:1fr auto;gap:1.5rem 2rem;padding-block:2.5rem;display:grid}.footer-inner[data-astro-cid-hkbrpulz] p[data-astro-cid-hkbrpulz]{margin:0}.footer-name[data-astro-cid-hkbrpulz]{color:var(--text);font-weight:700}.footer-links[data-astro-cid-hkbrpulz]{flex-wrap:wrap;gap:.5rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.footer-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]{text-decoration:none}.footer-links[data-astro-cid-hkbrpulz] a[data-astro-cid-hkbrpulz]:hover{color:var(--text);text-underline-offset:4px;text-decoration:underline}.copy[data-astro-cid-hkbrpulz]{grid-column:1/-1;font-size:.8rem}@media (width<=560px){.footer-inner[data-astro-cid-hkbrpulz]{grid-template-columns:1fr}}
