:root{color-scheme:light;--background:#fff;--foreground:#1f1f1f;--color-accent:#45a9f9;--color-accent-subtle:#b084eb;--border:#0000001a;--border-strong:#00000026;--muted:color-mix(in srgb, var(--foreground) 70%, transparent);--muted-soft:color-mix(in srgb, var(--foreground) 60%, transparent);--font-body:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", YuGothic, sans-serif;--font-heading:"Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", YuGothic, sans-serif;--measure:48rem}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--background:#0a0a0a;--foreground:#ededed;--border:#ffffff1a;--border-strong:#fff3}}*,:before,:after{box-sizing:border-box}html{font-family:var(--font-body);background:var(--background);color:var(--foreground);letter-spacing:.015em;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:100%;font-weight:400}body{line-break:strict;overflow-wrap:break-word;background:var(--background);min-height:100vh;color:var(--foreground);flex-direction:column;margin:0;line-height:1.9;display:flex}main{flex:1;padding-block:4rem 5rem}h1,h2,h3{font-family:var(--font-heading);letter-spacing:.01em;line-height:1.4}h1{margin:0 0 1.5rem;font-size:1.875rem;font-weight:700}h2,h3{font-weight:500}h2{margin:0 0 1.5rem;font-size:1.5rem}h3{margin:0;font-size:1.25rem}p{margin:0 0 1rem}a{color:var(--color-accent);text-underline-offset:2px}strong,b{font-weight:600}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}::selection{background:color-mix(in srgb, var(--color-accent) 28%, transparent);color:var(--foreground)}.wrap{width:min(var(--measure), 100%);margin-inline:auto;padding-inline:1.5rem}.skip-link{z-index:10;background:var(--color-accent);color:#fff;border-radius:999px;padding:.7rem 1.15rem;font-size:.875rem;font-weight:600;text-decoration:none;position:absolute;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{border-bottom:1px solid var(--border)}.header-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding-block:1.25rem;display:flex}.site-logo{flex-shrink:0;line-height:0;display:block}.site-logo img{width:140px;height:auto;display:block}.site-nav,.category-nav ul,.theme-list,.post-list,.tag-list{margin:0;padding:0;list-style:none}.site-nav{flex-wrap:wrap;gap:.35rem 1.5rem;font-size:.875rem;font-weight:600;display:flex}.site-nav a{color:var(--muted);padding:.2rem 0;text-decoration:none;transition:color .15s;display:inline-block}.category-nav{border-top:1px solid var(--border);padding-block:.85rem 1rem}.category-nav-inner{flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;display:flex}.category-label{color:var(--muted-soft);margin:0;font-size:.75rem;font-weight:600}.category-nav ul{flex-wrap:wrap;gap:.25rem 1rem;display:flex}.category-nav a{color:var(--muted);padding:.15rem 0;font-size:.875rem;font-weight:600;line-height:1.6;text-decoration:none;transition:color .15s;display:inline-block}.site-nav a:hover,.category-nav a:hover,.site-nav a[aria-current=page],.category-nav a[aria-current=page]{color:var(--color-accent)}.home-title{font-size:2.25rem}.lede{color:var(--muted);margin:0 0 4rem;font-size:1.125rem}.page-section+.page-section{margin-top:4rem}.theme-list,.post-list{flex-direction:column;gap:1.5rem;display:flex}.theme-list{gap:.75rem}.theme-list a{border:1px solid var(--border);color:var(--foreground);font-family:var(--font-heading);border-radius:.75rem;padding:1.25rem;font-weight:500;text-decoration:none;transition:border-color .15s,color .15s;display:block}.theme-list a:hover{border-color:var(--color-accent);color:var(--color-accent)}.post-card{border:1px solid var(--border);border-radius:1rem;flex-direction:column;gap:.75rem;padding:1.5rem;transition:border-color .15s;display:flex;position:relative}.post-card:hover{border-color:var(--color-accent)}.post-meta{color:var(--muted-soft);letter-spacing:.01em;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin:0;font-size:.875rem;display:flex}.post-meta a{z-index:1;position:relative}.post-title{font-size:1.25rem;font-weight:500;line-height:1.4}.post-title a{color:var(--foreground);text-decoration:none;transition:color .15s}.post-title a:after{content:"";position:absolute;inset:0}.post-card:hover .post-title a{color:var(--color-accent)}.post-summary{color:var(--muted);margin:0}.meta-pill,.draft-flag,.tag-list li{border-radius:999px;padding:.125rem .5rem;font-size:.75rem;line-height:1.5}.meta-pill{background:color-mix(in srgb, var(--color-accent-subtle) 15%, transparent);color:var(--color-accent-subtle);text-decoration:none}.meta-pill:hover{color:var(--color-accent)}.draft-flag{background:color-mix(in srgb, var(--color-accent) 14%, transparent);color:var(--color-accent);font-weight:600}.empty{border:1px solid var(--border);color:var(--muted);border-radius:1rem;margin:0;padding:1.5rem}.pr-note,.draft-banner{border-radius:1rem;margin:0 0 1.5rem;padding:.9rem 1.1rem;line-height:1.7}.pr-note{border:1px solid color-mix(in srgb, var(--color-accent) 45%, transparent);background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--foreground);font-weight:600}.draft-banner{border:1px solid color-mix(in srgb, var(--color-accent-subtle) 45%, transparent);background:color-mix(in srgb, var(--color-accent-subtle) 16%, transparent);color:var(--foreground)}.article-header{flex-direction:column;gap:1rem;margin-bottom:2.5rem;display:flex}.article-header h1{margin:0}.tag-list{flex-wrap:wrap;gap:.5rem;margin-top:2.5rem;display:flex}.tag-list li{background:color-mix(in srgb, var(--color-accent-subtle) 15%, transparent);color:var(--color-accent-subtle)}.prose{font-size:1rem;line-height:1.9}.prose>*+*{margin-top:1.5em}.prose p,.prose ul,.prose ol,.prose blockquote,.prose pre,.prose h2,.prose h3{margin:0}.prose ul,.prose ol{padding-left:1.5em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li+li{margin-top:.5em}.prose h2{margin-top:2.5em;font-size:1.5rem}.prose h3{margin-top:2em;font-size:1.25rem}.prose blockquote{border-left:3px solid var(--color-accent-subtle);color:var(--foreground);opacity:.85;padding-left:1em}.prose a{text-underline-offset:2px;text-decoration:underline}.prose img{border-radius:.75rem;max-width:100%;height:auto}.prose hr{border:0;border-top:1px solid color-mix(in srgb, var(--foreground) 15%, transparent)}.prose pre{color:#e6e6e6;letter-spacing:0;background:#292a2b;border-radius:.75rem;padding:1em 1.25em;font-size:.9rem;line-height:1.6;overflow-x:auto}.prose code{letter-spacing:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:.92em;line-height:1.6}.prose :not(pre)>code{background:color-mix(in srgb, var(--color-accent) 12%, transparent);border-radius:.3em;padding:.15em .4em}.button{background:var(--color-accent);color:#fff;border-radius:999px;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:opacity .15s;display:inline-block}.button:hover{color:#fff;opacity:.9}.prose a.button{color:#fff;text-decoration:none}.site-footer{border-top:1px solid var(--border);color:var(--muted-soft);padding-block:2rem;font-size:.875rem}.footer-bar{flex-direction:column;gap:.5rem;display:flex}.site-footer p{margin:0}.footer-links{flex-wrap:wrap;gap:.35rem 1rem;display:flex}.footer-links a{color:inherit;text-decoration:none;transition:color .15s}.footer-links a:hover{color:var(--color-accent)}@media (width>=40rem){main{padding-block:5rem}.footer-bar{flex-direction:row;justify-content:space-between;align-items:center}}
