:root{--void:#08080a;--ground:#0c0c0f;--panel:#121216;--panel-2:#17171d;--edge:#23232b;--edge-lit:#32323d;--ink:#eceaef;--ink-2:#a9a5b1;--ink-3:#75717d;--r:4px;--r-pill:999px;--f-jp:"Zen Kaku Gothic New", "Hiragino Sans", "Noto Sans JP", sans-serif;--f-display:"Bodoni Moda", "Zen Old Mincho", "Hiragino Mincho ProN", serif;--f-mono:"JetBrains Mono", ui-monospace, monospace;--ease:cubic-bezier(.2, .7, .2, 1)}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font-family:var(--f-jp);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;font-size:16px;line-height:1.8;position:relative}body:before{content:"";z-index:0;pointer-events:none;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Crect x='0' y='0' width='1' height='1' fill='%23fff' opacity='.85'/%3E%3Crect x='2' y='2' width='1' height='1' fill='%23fff' opacity='.85'/%3E%3Crect x='2' y='0' width='1' height='1' fill='%23fff' opacity='.35'/%3E%3Crect x='0' y='2' width='1' height='1' fill='%23fff' opacity='.35'/%3E%3C/svg%3E");background-repeat:repeat;position:fixed;inset:0}.haze{z-index:0;pointer-events:none;background:radial-gradient(78% 92% at 50% 12%, color-mix(in srgb, var(--accent) 14%, transparent) 0%, transparent 70%);height:46vh;position:fixed;inset:0 0 auto}.wrap{z-index:1;max-width:1060px;margin:0 auto;padding:0 24px;position:relative}a{color:inherit;text-decoration-color:color-mix(in srgb, currentColor 32%, transparent)}:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 85%, #fff);outline-offset:3px;border-radius:var(--r)}::selection{background:color-mix(in srgb, var(--accent) 45%, transparent);color:#fff}header.site{z-index:3;background:color-mix(in srgb, var(--void) 72%, transparent);backdrop-filter:blur(14px)saturate(1.1);border-bottom:1px solid color-mix(in srgb, var(--edge) 70%, transparent);padding:14px 0;position:sticky;top:0}header.site .wrap{flex-wrap:nowrap;align-items:center;gap:18px;display:flex}header.site .mark{font-family:var(--f-display);letter-spacing:.012em;font-variation-settings:"opsz" 8, "wght" 700;white-space:nowrap;flex:none;font-size:23px;text-decoration:none}header.site .nav{flex:none;gap:18px;display:flex}header.site .nav a{color:var(--ink-2);transition:color .25s var(--ease), border-color .25s var(--ease);border-bottom:1px solid #0000;padding-bottom:2px;font-size:13px;text-decoration:none}header.site .nav a:hover,header.site .nav a[aria-current]{color:var(--ink);border-color:color-mix(in srgb, var(--accent) 60%, transparent)}header.site .langs{flex:none;gap:5px;margin-left:auto;display:flex}header.site .langs a{color:var(--ink-3);border-radius:var(--r);transition:color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease);border:1px solid #0000;padding:4px 9px;font-size:11.5px;text-decoration:none}header.site .langs a:hover{color:var(--ink);border-color:var(--edge-lit)}header.site .langs a[aria-current]{color:var(--ink);border-color:color-mix(in srgb, var(--accent) 55%, var(--edge));background:color-mix(in srgb, var(--accent) 12%, transparent)}.beam{background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--accent) 55%, transparent) 18%, #fff 50%, color-mix(in srgb, var(--accent) 55%, transparent) 82%, transparent 100%);height:1px;position:absolute;bottom:-1px;left:0;right:0}.beam:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 42%, transparent) 50%, transparent);filter:blur(7px);opacity:.75;height:15px;position:absolute;top:-7px;left:0;right:0}main.wrap{padding-top:56px}footer.site{z-index:1;border-top:1px solid var(--edge);color:var(--ink-3);margin-top:104px;padding:26px 0 64px;font-size:12px;line-height:1.8;position:relative}.fnav{flex-wrap:wrap;gap:20px;margin-bottom:14px;display:flex}.fnav a{color:var(--ink-2);font-size:12.5px;text-decoration:none}.fnav a:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}footer.site .disc{max-width:62em;margin:0}@media (width<=760px){header.site .wrap{flex-wrap:wrap;gap:8px 14px}header.site .langs{margin-left:auto}header.site .nav{flex-basis:100%;order:3}main.wrap{padding-top:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
