:root{color-scheme:dark;--bg:#09090b;--bg-raised:#111113;--border:#26262a;--border-soft:#1c1c1f;--text:#f4f4f5;--text-muted:#a1a1aa;--text-faint:#71717a;--accent:#c9a227;--accent-soft:#e6c86a;--font-sans:"Noto Sans JP", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;--font-serif:"Noto Serif JP", ui-serif, Georgia, "Yu Mincho", "Hiragino Mincho ProN", serif;--measure:42rem;--gutter:1.5rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;line-break:strict;word-break:normal;overflow-wrap:break-word;flex-direction:column;min-height:100vh;margin:0;font-size:1rem;font-weight:400;line-height:1.8;display:flex}img,video,iframe{max-width:100%}img,video{height:auto;display:block}h1,h2,h3,h4{font-family:var(--font-serif);letter-spacing:-.02em;text-wrap:balance;margin:0;font-weight:600;line-height:1.35}h1{font-size:clamp(1.75rem,1.3rem + 2vw,2.5rem)}h2{font-size:1.375rem}h3{font-size:1.125rem}p{text-wrap:pretty;margin:0}a{color:inherit;text-decoration:none;transition:color .15s,border-color .15s}ruby{ruby-position:over}rt{color:var(--text-muted);letter-spacing:0;font-size:.55em;font-weight:400}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent-soft);outline-offset:3px;border-radius:2px}.wrap{width:100%;max-width:var(--measure);padding-inline:var(--gutter);margin-inline:auto}main{flex:1;padding-block:3.5rem 5rem}.skip-link{background:var(--bg-raised);color:var(--text);border:1px solid var(--border);z-index:100;border-radius:6px;padding:.625rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{top:1rem;left:1rem}.site-header{border-bottom:1px solid var(--border-soft);padding-block:1.25rem}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.brand{font-family:var(--font-serif);letter-spacing:-.02em;color:var(--text);font-size:1rem;font-weight:600}.brand:hover{color:var(--accent-soft)}.nav{flex-wrap:wrap;align-items:center;gap:1.5rem;font-size:.9375rem;display:flex}.nav a{color:var(--text-muted);border-bottom:1px solid #0000;padding-block:.125rem}.nav a:hover{color:var(--text)}.nav a[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}.site-footer{border-top:1px solid var(--border-soft);color:var(--text-faint);padding-block:2rem;font-size:.8125rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.prose>*+*{margin-top:1.5rem}.prose h2{margin-top:3rem}.prose h3{margin-top:2.25rem}.prose a{color:var(--text);border-bottom:1px solid var(--accent)}.prose a:hover{color:var(--accent-soft)}.prose ul,.prose ol{margin-block:0;padding-left:1.375rem}.prose li+li{margin-top:.5rem}.prose li::marker{color:var(--text-faint)}.prose blockquote{border-left:2px solid var(--border);color:var(--text-muted);margin:0;padding-left:1.25rem;font-style:normal}.prose hr{border:0;border-top:1px solid var(--border-soft);margin-block:3rem}.prose code{background:var(--bg-raised);border:1px solid var(--border-soft);border-radius:4px;padding:.15em .4em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875em}.prose pre{background:var(--bg-raised);border:1px solid var(--border-soft);border-radius:8px;padding:1rem 1.125rem;overflow-x:auto}.prose pre code{background:0 0;border:0;padding:0;font-size:.8125rem}.prose img,.prose video{border:1px solid var(--border-soft);border-radius:8px;width:100%}.embed{aspect-ratio:16/9;border:1px solid var(--border-soft);background:var(--bg-raised);border-radius:8px;width:100%;position:relative;overflow:hidden}.embed iframe,.embed video{border:0;width:100%;height:100%;position:absolute;inset:0}.prose table{border-collapse:collapse;width:100%;font-size:.9375rem}.prose th,.prose td{border:1px solid var(--border-soft);text-align:left;padding:.5rem .75rem}.prose th{background:var(--bg-raised);font-weight:600}
