:root{--dk-void: #0a0612;--dk-grid: #120b20;--dk-chrome: #1d1430;--dk-kiri: #2e2247;--dk-ghost: #9a8fb8;--dk-wire: #e8e2f5;--dk-pulse: #b026ff;--dk-surge: #7b2fff;--dk-jack: #ff2d6b;--bg: var(--dk-void);--panel: var(--dk-grid);--surface: var(--dk-chrome);--border: var(--dk-kiri);--muted: var(--dk-ghost);--text: var(--dk-wire);--accent: var(--dk-pulse);--accent-2: var(--dk-surge);--hit: var(--dk-jack);--on-accent: var(--dk-void);--mono-features: "calt" 1, "cv01" 2;--dk-font-display: "Monaspace Krypton", ui-monospace, monospace;--dk-font-body: "Monaspace Neon", ui-monospace, monospace;--dk-font-ui: "Monaspace Krypton", ui-monospace, monospace;--dk-font-code: "Monaspace Krypton", ui-monospace, monospace;--dk-font-accent: "Monaspace Krypton", ui-monospace, monospace;--dk-font-graffiti: "Monaspace Radon", cursive;--dk-font-jp: "Noto Sans JP", sans-serif;--glow: 0 0 24px rgba(176, 38, 255, .35);--glow-soft: 0 0 14px rgba(176, 38, 255, .22);--hex-opacity: .06;--radius: 6px;--maxw: 76ch;color-scheme:dark}@font-face{font-family:Monaspace Krypton;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/monaspace-krypton-regular.woff2) format("woff2")}@font-face{font-family:Monaspace Krypton;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/monaspace-krypton-italic.woff2) format("woff2")}@font-face{font-family:Monaspace Krypton;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/monaspace-krypton-medium.woff2) format("woff2")}@font-face{font-family:Monaspace Krypton;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/monaspace-krypton-bold.woff2) format("woff2")}@font-face{font-family:Monaspace Neon;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/monaspace-neon-regular.woff2) format("woff2")}@font-face{font-family:Monaspace Neon;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/monaspace-neon-italic.woff2) format("woff2")}@font-face{font-family:Monaspace Neon;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/monaspace-neon-semibold.woff2) format("woff2")}@font-face{font-family:Monaspace Radon;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/monaspace-radon-regular.woff2) format("woff2")}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-jp-subset.woff2) format("woff2");unicode-range:U+8D70,U+63A5,U+5F71,U+96FB,U+795E,U+9B42,U+970A,U+5BBF}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--dk-font-body);font-feature-settings:var(--mono-features);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100vh;overflow-x:hidden}img,svg,canvas{display:block;max-width:100%}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}::selection{background:var(--accent);color:var(--on-accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}h1,h2,h3,h4,h5,h6,.hero,.wordmark{font-family:var(--dk-font-display);font-feature-settings:var(--mono-features)}nav,.ui,button,label,.badge,.prompt{font-family:var(--dk-font-ui);font-feature-settings:var(--mono-features)}code,pre,kbd,samp,.mono{font-family:var(--dk-font-code);font-feature-settings:var( --mono-features )}h1,h2,h3,h4{font-weight:700;line-height:1.12;letter-spacing:-.01em;color:var(--text)}:lang(ja),.jp{font-family:var(--dk-font-jp);font-weight:400}.accent,.label,.terminal-prompt{font-family:var(--dk-font-accent);font-feature-settings:var(--mono-features)}.graffiti,.annotation,.marginalia{font-family:var( --dk-font-graffiti )}.tnum{font-variant-numeric:slashed-zero tabular-nums}.wrap{width:100%;max-width:1080px;margin-inline:auto;padding-inline:clamp(20px,5vw,48px)}.prose{max-width:var(--maxw)}.eyebrow{font-family:var(--dk-font-code);font-feature-settings:var(--mono-features);font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--muted)}.accent{color:var(--accent)}.muted{color:var(--muted)}.hit{color:var(--hit)}.rule{height:2px;width:46px;background:var(--accent);border:0;margin:1rem 0 1.6rem;box-shadow:var(--glow-soft)}.cmd{font-family:var(--dk-font-code);font-feature-settings:var(--mono-features);color:var(--muted)}.cmd:before{content:"> ";color:var(--accent)}.scanlines{position:fixed;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(to bottom,#0000 0 2px,#0000002e 2px 3px);mix-blend-mode:multiply;opacity:.5}.hextex{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='49' viewBox='0 0 56 49'%3E%3Cpath d='M14 0l14 8v16l-14 8L0 24V8z' fill='none' stroke='%23b026ff' stroke-width='1' opacity='0.06'/%3E%3Cpath d='M42 0l14 8v16l-14 8-14-8V8z' fill='none' stroke='%23b026ff' stroke-width='1' opacity='0.06'/%3E%3Cpath d='M28 24l14 8v16l-14 8-14-8V32z' fill='none' stroke='%23b026ff' stroke-width='1' opacity='0.06'/%3E%3C/svg%3E")}.kanji-mark{position:absolute;font-family:var(--font-jp);color:var(--accent);opacity:.07;line-height:1;pointer-events:none;user-select:none;z-index:0}.card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.35rem;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;position:relative}.card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--glow-soft);text-decoration:none}.chip{display:inline-block;font-family:var(--dk-font-code);font-feature-settings:var(--mono-features);font-size:.72rem;color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:.12rem .5rem;margin:.15rem .3rem .15rem 0}a.chip:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--dk-font-code);font-feature-settings:var(--mono-features);font-weight:500;font-size:.9rem;padding:.6rem 1.1rem;border-radius:var(--radius);border:1px solid var(--accent);color:var(--accent);background:transparent;transition:all .18s ease}.btn:hover{background:var(--accent);color:var(--on-accent);text-decoration:none;box-shadow:var(--glow)}.btn.ghost{border-color:var(--border);color:var(--text)}.btn.ghost:hover{border-color:var(--accent);background:transparent;color:var(--accent);box-shadow:none}.prose h2{font-size:1.5rem;margin:2.4rem 0 .8rem}.prose h3{font-size:1.18rem;margin:1.8rem 0 .6rem;color:var(--accent)}.prose p,.prose ul,.prose ol{margin:0 0 1.1rem}.prose ul,.prose ol{padding-left:1.3rem}.prose li{margin:.3rem 0}.prose a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--accent-2)}.prose blockquote{border-left:2px solid var(--accent);padding:.2rem 0 .2rem 1.1rem;margin:1.3rem 0;color:var(--muted)}.prose code{font-family:var(--dk-font-code);font-feature-settings:var(--mono-features);font-size:.88em;background:var(--panel);border:1px solid var(--border);border-radius:4px;padding:.08em .4em;color:var(--accent)}.prose pre{background:var(--panel)!important;border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;overflow-x:auto;margin:1.3rem 0}.prose pre code{background:transparent;border:0;padding:0;color:inherit}.prose img{border:1px solid var(--border);border-radius:var(--radius)}.prose hr{border:0;border-top:1px solid var(--border);margin:2rem 0}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.scanlines{display:none}}.nav[data-astro-cid-dmqpwcec]{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.nav-inner[data-astro-cid-dmqpwcec]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.85rem;padding-bottom:.85rem}.brand[data-astro-cid-dmqpwcec]{font-weight:700;font-size:1.02rem;letter-spacing:-.01em;color:var(--text);display:inline-flex;align-items:center;gap:.55rem}.brand[data-astro-cid-dmqpwcec]:hover{text-decoration:none}.brand[data-astro-cid-dmqpwcec] .accent[data-astro-cid-dmqpwcec]{color:var(--accent)}.links[data-astro-cid-dmqpwcec]{display:flex;gap:1.1rem;flex-wrap:wrap}.links[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]{color:var(--muted);font-size:.9rem;transition:color .15s ease}.links[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec]:hover{color:var(--text);text-decoration:none}.links[data-astro-cid-dmqpwcec] a[data-astro-cid-dmqpwcec].on{color:var(--text)}.links[data-astro-cid-dmqpwcec] .lead[data-astro-cid-dmqpwcec]{margin-right:.05rem}.burger[data-astro-cid-dmqpwcec]{display:none;cursor:pointer;color:var(--accent);font-size:.9rem;user-select:none}@media(max-width:720px){.burger[data-astro-cid-dmqpwcec]{display:inline-block}.links[data-astro-cid-dmqpwcec]{display:none;width:100%;flex-direction:column;gap:.6rem;padding-top:.6rem}.navtoggle[data-astro-cid-dmqpwcec]:checked~.links[data-astro-cid-dmqpwcec]{display:flex}.nav-inner[data-astro-cid-dmqpwcec]{flex-wrap:wrap}}.foot[data-astro-cid-sz7xmlte]{position:relative;overflow:hidden;border-top:1px solid var(--border);margin-top:5rem;background-color:var(--panel)}.foot[data-astro-cid-sz7xmlte] .kanji-mark[data-astro-cid-sz7xmlte]{font-size:9rem;right:-.5rem;bottom:-2.4rem}.foot-inner[data-astro-cid-sz7xmlte]{position:relative;z-index:1;display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding-top:2.4rem;padding-bottom:2.4rem}.brand[data-astro-cid-sz7xmlte]{font-weight:700;font-size:1.05rem;margin:.35rem 0 .3rem}.brand[data-astro-cid-sz7xmlte] .accent[data-astro-cid-sz7xmlte]{color:var(--accent);font-weight:500}.small[data-astro-cid-sz7xmlte]{font-size:.82rem}.social[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem 1.5rem;text-align:right}.social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{color:var(--muted);font-size:.9rem}.social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:nth-child(3n+1),.social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:nth-child(3n+2){text-align:left}.social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:nth-child(3n){text-align:right}.social[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--accent);text-decoration:none}@media(max-width:560px){.social[data-astro-cid-sz7xmlte]{text-align:left}}.skip[data-astro-cid-37fxchfa]{position:absolute;left:-9999px;top:0;z-index:100;background:var(--accent);color:var(--on-accent);padding:.5rem .9rem;border-radius:0 0 6px}.skip[data-astro-cid-37fxchfa]:focus{left:0}main[data-astro-cid-37fxchfa]{position:relative;z-index:2}
