:root{--bg:#121518;--fg:#e7ebef;--muted:#a7b0b9;--accent:#8eb9de;--accent-strong:#b4d4ef;--card:#1a1f24;--border:#353d45;--table-head:#232a31;--table-stripe:rgb(142 185 222 / 6%);--table-hover:rgb(142 185 222 / 12%);--card-shadow:rgb(0 0 0 / 22%);color-scheme:dark}:root[data-theme=light]{--bg:#f3f5f7;--fg:#20252b;--muted:#606a75;--accent:#3e6385;--accent-strong:#284d6d;--card:#fafbfc;--border:#d8dee5;--table-head:#e8eef4;--table-stripe:rgb(62 99 133 / 4%);--table-hover:rgb(62 99 133 / 8%);--card-shadow:rgb(32 37 43 / 5%);color-scheme:light}@font-face{font-family:noto serif jp;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/noto-serif-jp/noto-serif-jp-japanese-400-normal.woff2)format("woff2");unicode-range:U+30??,U+31F?,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FF00-FFEF}*{box-sizing:border-box}html{font-size:125%}body{width:100%;max-width:56rem;margin:0 auto;padding:0 1.5rem;background:var(--bg);color:var(--fg);font-family:Georgia,noto serif jp,yu mincho,hiragino mincho pron,times new roman,serif;line-height:1.65;-webkit-font-smoothing:antialiased}::selection{background:rgb(142 185 222/28%)}a{color:var(--accent);text-decoration-thickness:.07em;text-underline-offset:.13em}a:hover{color:var(--accent-strong)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.site-header{display:flex;padding:1.6rem 0 1.35rem;align-items:baseline;justify-content:space-between;gap:1.25rem;border-bottom:1px solid var(--border)}.site-title{flex:none;color:var(--fg);font-size:1.08rem;font-weight:700;letter-spacing:-.02em;text-decoration:none}.site-title:hover{color:var(--accent)}.site-nav{display:flex;align-items:baseline;justify-content:flex-end;gap:.9rem}.site-nav a{color:var(--muted);font-size:.86rem;text-decoration:none}.site-nav a:hover{color:var(--accent)}.theme-toggle{border:1px solid var(--border);border-radius:4px;padding:.16rem .48rem;color:var(--muted);background:var(--card);cursor:pointer;font:inherit;font-size:.78rem}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.site-main{min-height:68vh;padding:3rem 0 4.5rem}.site-main>h1{margin:0 0 1.25rem;font-size:clamp(2.1rem,7vw,3.2rem);letter-spacing:-.035em;line-height:1.08}.home-intro{max-width:43rem;margin-bottom:3.25rem}.home-intro h1{margin:0 0 1rem;font-size:clamp(2.5rem,8vw,4.35rem);letter-spacing:-.05em;line-height:.98}.home-intro p{max-width:39rem;margin:.55rem 0;font-size:1.08rem}.home-intro .home-small{margin-top:1.1rem;color:var(--muted);font-size:.9rem}.home-sections{display:grid;grid-template-columns:minmax(0,.9fr)minmax(0,1.1fr);gap:3.5rem}.home-index h2,.home-directory h2{margin:0 0 .55rem;border-bottom:1px solid var(--border);padding-bottom:.45rem;font-size:1.3rem}.home-index h2{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.home-index h2 span{flex:none;color:var(--muted);font-size:.68rem;font-weight:400;letter-spacing:.04em;text-transform:uppercase}.home-entry{padding:1rem 0;border-bottom:1px solid var(--border)}.home-entry h3{margin:0;font-size:1.08rem;letter-spacing:-.012em;line-height:1.32}.home-entry h3 a{text-decoration:none}.home-entry time{color:var(--muted);font-size:.75rem}.home-entry p{margin:.25rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.5}.home-more{margin-top:1rem;font-size:.88rem}.home-directory{max-width:47rem;margin-top:3.5rem}.home-directory p{color:var(--muted)}.home-directory-list{margin:0;padding:0;list-style:none}.home-directory-list li{display:grid;grid-template-columns:6rem minmax(0,1fr);gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--border)}.home-directory-list a{font-weight:700;text-decoration:none}.home-directory-list span,.section-count{color:var(--muted)}.section-count{margin:-.75rem 0 1.5rem;font-size:.84rem}.post-list{margin-top:2rem}.post-card{margin:1rem 0;border:1px solid var(--border);border-radius:6px;padding:1.15rem 1.35rem;background:var(--card)}.post-card h3{margin:0 0 .18rem;font-size:1.2rem;letter-spacing:-.015em}.post-card h3 a{text-decoration:none}.post-card time{color:var(--muted);font-size:.82rem}.post-card p{margin:.55rem 0 0}.post{max-width:48rem;margin:0 auto;overflow-x:hidden}.post-header{margin-bottom:2.35rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.post-header h1{max-width:46rem;margin:0 0 .65rem;font-size:clamp(2.25rem,7vw,3.65rem);letter-spacing:-.04em;line-height:1.04}.post-header time{color:var(--muted);font-size:.86rem}.post,.post-content{min-width:0;max-width:100%}.post-content{font-size:1.08rem;line-height:1.72}.post-content p,.post-content ul,.post-content ol{margin-top:1.1rem;margin-bottom:1.1rem}.post-content li+li{margin-top:.32rem}.post-content h2{margin:2.4rem 0 .75rem;font-size:1.65rem;letter-spacing:-.025em;line-height:1.2}.post-content h3{margin:2rem 0 .6rem;font-size:1.28rem;line-height:1.25}.post-content h2,.post-content h3{color:var(--accent)}.post-content blockquote{margin:1.5rem 0;border-left:3px solid var(--accent);padding:.3rem 1rem;color:var(--muted)}.post-content img{max-width:100%;height:auto;border-radius:6px}.book-meta,.affiliate-disclosure,.game-meta{color:var(--muted)}.game-meta strong{color:var(--fg)}.game-series{margin:0 0 .35rem;color:var(--accent);font-size:.85rem;font-style:italic}.affiliate-disclosure{border:1px solid var(--border);border-radius:6px;padding:.8rem 1rem;background:var(--card)}.post-content code,.post-content pre{font-family:ui-monospace,sfmono-regular,Menlo,monospace;font-size:.9em}.post-content :not(pre)>code{border-radius:3px;padding:.08rem .25rem;background:var(--card)}.post-content pre{overflow-x:auto;border:1px solid var(--border);border-radius:8px;padding:1rem;background:var(--card)}.post-content .highlight{position:relative;width:100%;max-width:100%;min-width:0;margin:1.5rem 0 2rem;overflow-x:auto;border:1px solid #60a5fa;border-left:4px solid #f472b6;border-radius:10px;background:#282a36;box-shadow:0 0 0 1px rgb(244 114 182/15%),0 12px 30px rgb(59 130 246/12%);scrollbar-color:#777986 transparent;scrollbar-width:thin}.post-content .highlight pre{box-sizing:border-box;width:max-content;min-width:100%;margin:0;overflow:visible;border:0;border-radius:0;padding:3.15rem 1.25rem 1.25rem;background:0 0;font-size:.84rem;line-height:1.65;tab-size:4}.post-content .highlight code[data-lang]::before{position:absolute;top:.8rem;left:1.25rem;display:inline-flex;min-height:20px;padding:.12rem .38rem;align-items:center;border:1px solid rgb(248 248 242/42%);border-radius:.28rem;color:#fff;background:#44475a;content:attr(data-lang);font-size:.68rem;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase}.post-content .highlight code{padding:0;background:0 0}.post-content table{display:table;width:100%;max-width:100%;margin:1.25rem 0 1.75rem;overflow-x:auto;border:1px solid var(--border);border-radius:10px;border-collapse:collapse;background:var(--card);box-shadow:0 8px 24px var(--card-shadow);font-variant-numeric:tabular-nums;-webkit-overflow-scrolling:touch}.post-content th,.post-content td{border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:.58rem .75rem;text-align:left;vertical-align:top}.post-content th:last-child,.post-content td:last-child{border-right:0}.post-content tbody tr:last-child td{border-bottom:0}.post-content thead th{color:var(--fg);background:var(--table-head);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.post-content thead tr:has(th:empty:first-child):has(th:empty:last-child){display:none}.post-content tbody tr:nth-child(even){background:var(--table-stripe)}.post-content tbody tr:hover{background:var(--table-hover)}.post-content tbody td:first-child{color:var(--fg);font-weight:600}.lichess-embed-wrap{margin:1.5rem 0 2rem}.lichess-embed{display:block;width:100%;min-height:32rem;border:1px solid var(--border);border-radius:8px;background:#262421}.embed-fallback{margin-top:.5rem;color:var(--muted);font-size:.9rem}.game-pgn-shell{position:relative;margin:1.5rem 0 2rem;overflow:hidden;border:1px solid #3b82f6;border-left:4px solid #f472b6;border-radius:10px;padding-top:2.1rem;background:#0b1020;box-shadow:0 0 0 1px rgb(244 114 182/15%),0 12px 30px rgb(59 130 246/12%)}.game-pgn-shell::before{position:absolute;top:.6rem;left:1rem;color:#f9a8d4;content:"PGN · COMPLETE GAME SCORE";font-family:ui-monospace,sfmono-regular,Menlo,monospace;font-size:.7rem;font-weight:700;letter-spacing:.12em}.post-content .game-pgn{max-height:none;margin:0;overflow-y:visible;border:0;border-top:1px solid rgb(96 165 250/35%);border-radius:0;padding:1.25rem;background:0 0;color:#93c5fd;line-height:1.65;white-space:pre-wrap}.game-pgn .pgn-tag{color:#67e8f9}.game-pgn .pgn-comment{color:#f9a8d4}.game-pgn ::selection{background:#db2777;color:#fff}.game-verdict{margin:1.5rem 0;border-left:4px solid var(--accent);padding:.75rem 1rem;background:var(--card)}.post-content .post-figure{margin:1.5rem 0}.post-content .post-figure img{display:block;max-width:100%;height:auto;border:1px solid var(--border);border-radius:8px}.post-content .post-figure figcaption{margin-top:.5rem;font-size:.9rem;color:var(--muted)}.site-footer{border-top:1px solid var(--border);padding:1.2rem 0 2.25rem;color:var(--muted);font-size:.86rem}@media(max-width:48rem){body{padding:0 1.1rem}.site-header{align-items:flex-start;flex-direction:column;gap:.85rem}.site-nav{justify-content:flex-start;flex-wrap:wrap;gap:.65rem}.site-main{padding-top:2.25rem}.home-sections{grid-template-columns:1fr;gap:2.25rem}.home-directory-list li{grid-template-columns:1fr;gap:.1rem}.post-content table{display:block}.lichess-embed{min-height:28rem}}