:root{--bg:#0e0f0d;--fg:#e2e6db;--dim:#8f9887;--accent:#6fd3b3;--line:#22261e;--code-bg:#171a15;--mono:"SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;--jp:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP",
    "Yu Gothic", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{overflow-y:scroll}body{background:var(--bg);color:var(--fg);font-family:var(--jp);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}.site-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.8rem;padding:2rem clamp(1.2rem,3.5vw,2.6rem)1.4rem;border-bottom:1px solid var(--line)}.brand{font-size:1.3rem;font-weight:700;letter-spacing:.02em}.brand a{color:var(--fg)}.brand a:hover{text-decoration:none}.site-nav a{color:var(--dim);margin-left:1.4rem;font-size:.88rem}.site-nav a:hover,.site-nav a[aria-current=page]{color:var(--accent);text-decoration:none}main{flex:1;padding:0 clamp(1.2rem,3.5vw,2.6rem)}.post{padding:1.8rem 0;border-bottom:1px solid var(--line)}.post-title{font-size:1.35rem;font-weight:600;line-height:1.4}.post-title a{color:var(--fg)}.post-title a:hover{color:var(--accent);text-decoration:none}.post-meta{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;margin:.4rem 0 1rem}.post-meta time{font-family:var(--mono);font-size:.76rem;color:var(--dim)}.pill{font-size:.72rem;color:var(--accent);border:1px solid rgba(111,211,179,.35);border-radius:999px;padding:.05rem .6rem}.pill:hover{background:rgba(111,211,179,.12);text-decoration:none}.post-body{color:#cbd2c2}.post-body h1,.post-body h2,.post-body h3,.post-body h4{color:var(--fg);font-weight:600;margin:1.6em 0 .6em;line-height:1.4}.post-body h1{font-size:1.3rem}.post-body h2{font-size:1.2rem}.post-body h3{font-size:1.08rem}.post-body h4{font-size:1rem}.post-body p{margin:.8em 0}.post-body ul,.post-body ol{padding-left:1.3rem;margin:.5em 0}.post-body li{margin:.35rem 0}.post-body ul>li::marker{color:var(--accent)}.post-body ul ul>li::marker{color:var(--dim)}.post-body blockquote{border-left:3px solid var(--accent);padding:.2em 1em;margin:1em 0;color:var(--dim)}.post-body code{font-family:var(--mono);font-size:.86em;background:var(--code-bg);border:1px solid var(--line);border-radius:4px;padding:.1em .4em}.post-body pre{background:var(--code-bg);border:1px solid var(--line);border-radius:8px;padding:1em 1.2em;overflow-x:auto;margin:1em 0;line-height:1.6}.post-body pre code{background:0 0;border:0;padding:0}.post-body img{max-width:100%;height:auto;border-radius:8px}.post-body table{border-collapse:collapse;margin:1em 0;display:block;overflow-x:auto}.post-body th,.post-body td{border:1px solid var(--line);padding:.4em .8em}.post-body th{color:var(--fg);background:var(--code-bg)}.post-body hr{border:0;border-top:1px solid var(--line);margin:2em 0}.single .post{border-bottom:0}.post-nav{display:flex;justify-content:space-between;gap:1rem;padding:1.4rem 0 2rem;border-top:1px solid var(--line);font-size:.88rem}.post-nav .next{margin-left:auto;text-align:right}.page-title{font-size:1.1rem;font-weight:600;color:var(--dim);padding:1.6rem 0 0}.page-title b{color:var(--accent);font-weight:600}.terms{list-style:none;padding:1.4rem 0;display:flex;flex-wrap:wrap;gap:.6rem}.terms .pill{font-size:.85rem;padding:.2rem .8rem}.terms .count{color:var(--dim);font-family:var(--mono);font-size:.8em;margin-left:.35em}.paginator{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.6rem 0;font-size:.88rem}.paginator .page-of{font-family:var(--mono);font-size:.76rem;color:var(--dim)}.site-foot{padding:1.4rem clamp(1.2rem,3.5vw,2.6rem)2rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-family:var(--mono);font-size:.74rem;color:var(--dim)}.site-foot a{color:var(--dim)}.site-foot a:hover{color:var(--accent)}.notfound{padding:4rem 0;text-align:center}.notfound .code{font-family:var(--mono);font-size:3rem;color:var(--accent);font-weight:700}@media(max-width:600px){body{font-size:15px}.site-nav a{margin-left:1rem}}