:root{--paper: #ffffff;--ground: #f1f3f7;--surface: #fafbfd;--sumi: #14171c;--grey-1: #5c6577;--grey-2: #8d95a5;--rule: #dce0e8;--rule-strong: #b9c1ce;--ai: #1b3556;--ai-soft: #e7ecf4;--shu: #c4402b;--bar-bg: #10233c;--bar-fg: #eaeef4;--bar-rule: #2b4160;--shu-bar: #e9705a;--up: #6ed3a2;--f-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;--f-sans: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", system-ui, sans-serif;--f-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;--wrap: 1100px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #161c27;--ground: #0e121a;--surface: #1a2130;--sumi: #e7eaf0;--grey-1: #a3abbb;--grey-2: #727b8c;--rule: #28303f;--rule-strong: #3a4457;--ai: #8dafde;--ai-soft: #1e293b;--shu: #e9705a;--bar-bg: #111826;--bar-fg: #e7eaf0;--bar-rule: #2a344a}}:root[data-theme=dark]{--paper: #161c27;--ground: #0e121a;--surface: #1a2130;--sumi: #e7eaf0;--grey-1: #a3abbb;--grey-2: #727b8c;--rule: #28303f;--rule-strong: #3a4457;--ai: #8dafde;--ai-soft: #1e293b;--shu: #e9705a;--bar-bg: #111826;--bar-fg: #e7eaf0;--bar-rule: #2a344a}*{box-sizing:border-box}body{margin:0;background:var(--ground);color:var(--sumi);font-family:var(--f-sans);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--f-serif);font-weight:700;margin:0;line-height:1.5;text-wrap:balance}p{margin:0}ul,ol{margin:0;padding:0}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--shu);outline-offset:2px}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}.masthead{background:var(--paper);border-bottom:1px solid var(--rule)}.masthead .wrap{display:flex;align-items:flex-end;gap:20px;padding-top:20px;padding-bottom:14px}.logo{display:flex;align-items:baseline;gap:11px}.logo .kanji{font-family:var(--f-serif);font-weight:900;font-size:34px;letter-spacing:.08em;line-height:1}.logo .roman{font-family:var(--f-mono);font-size:10px;letter-spacing:.32em;color:var(--grey-1);text-transform:uppercase}.tagline{font-family:var(--f-serif);font-size:12.5px;color:var(--grey-1);padding-bottom:4px}.nav{background:var(--paper);border-bottom:2px solid var(--sumi)}.nav .wrap{display:flex;gap:2px;overflow-x:auto}.nav a{font-size:13.5px;font-weight:500;padding:11px 14px;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-2px}.nav a:hover{color:var(--shu);border-bottom-color:var(--shu)}.rail{background:var(--bar-bg);color:var(--bar-fg)}.rail .wrap{display:flex;align-items:stretch;gap:0;overflow-x:auto;padding:0 22px}.rail-label{display:flex;align-items:center;gap:8px;padding:10px 16px 10px 0;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.12em;border-right:1px solid var(--bar-rule);flex:0 0 auto}.rail .dot{width:6px;height:6px;border-radius:50%;background:var(--shu-bar)}.tick{display:flex;align-items:baseline;gap:9px;padding:10px 18px;border-right:1px solid var(--bar-rule);font-size:12px;white-space:nowrap;flex:0 0 auto}.tick .nm{opacity:.72}.tick .vl{font-family:var(--f-mono);font-weight:500;font-variant-numeric:tabular-nums}.tick .dl{font-family:var(--f-mono);font-size:11px;font-variant-numeric:tabular-nums}.up{color:var(--up)}.dn{color:var(--shu-bar)}.na{color:#7e8ca3}.band{background:var(--paper)}.band+.band{border-top:1px solid var(--rule)}.sec-head{display:flex;align-items:center;gap:14px;padding:30px 0 14px}.sec-head h2{font-size:19px;letter-spacing:.04em}.sec-head .en{font-family:var(--f-mono);font-size:10px;letter-spacing:.2em;color:var(--grey-2);text-transform:uppercase}.sec-head .line{flex:1;height:1px;background:var(--rule)}.posts{list-style:none;padding-bottom:40px}.posts li{padding:22px 0;border-bottom:1px solid var(--rule)}.posts h3{font-size:19px;margin-bottom:8px}.posts a:hover h3{color:var(--shu)}.posts .dek{font-size:13.5px;color:var(--grey-1);margin-bottom:9px}.meta{font-size:11.5px;color:var(--grey-2);font-family:var(--f-mono);font-variant-numeric:tabular-nums;display:flex;gap:12px;flex-wrap:wrap;align-items:center}.cat{font-family:var(--f-sans);font-size:11px;color:var(--ai);background:var(--ai-soft);padding:2px 8px;border-radius:2px}.article{background:var(--paper)}.article .wrap{max-width:760px;padding-top:34px;padding-bottom:60px}.article h1{font-size:30px;font-weight:900;margin-bottom:14px}.article .lede{font-size:15px;color:var(--grey-1);margin-bottom:18px}.article .body{margin-top:30px;font-size:15.5px;line-height:2.1}.article .body h2{font-size:20px;margin:40px 0 14px}.article .body h3{font-size:17px;margin:30px 0 10px}.article .body p{margin-bottom:20px}.article .body ul,.article .body ol{margin:0 0 20px 1.4em}.article .body li{margin-bottom:6px}.article .body blockquote{border-left:3px solid var(--rule-strong);margin:0 0 20px;padding:4px 0 4px 16px;color:var(--grey-1)}.article .body a{color:var(--ai);text-decoration:underline;text-underline-offset:3px}.src{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline;border-left:2px solid var(--ai);background:var(--ai-soft);padding:10px 14px;margin:16px 0 14px;font-size:12.5px}.src .lb{font-family:var(--f-mono);font-size:10px;letter-spacing:.14em;color:var(--ai);text-transform:uppercase}.src a{text-decoration:underline;text-underline-offset:3px}.src a:hover{color:var(--shu)}.byline{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;padding:12px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.av{width:30px;height:30px;border-radius:50%;background:var(--ai);color:var(--paper);display:grid;place-items:center;font-family:var(--f-mono);font-size:11px}.byline .nm{font-size:12.5px;font-weight:500}.byline .rl{display:block;font-size:10.5px;color:var(--grey-2);font-family:var(--f-mono)}.fresh{display:flex;flex-wrap:wrap;gap:16px;font-family:var(--f-mono);font-size:11px;color:var(--grey-2);font-variant-numeric:tabular-nums;padding:12px 0 0}.fresh b{color:var(--sumi);font-weight:500}.fresh .nx{color:var(--shu)}.tbl-scroll{overflow-x:auto;padding-bottom:30px}table{border-collapse:collapse;width:100%;min-width:520px;font-size:13px}th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--rule)}thead th{font-family:var(--f-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--grey-2);font-weight:500;border-bottom:1px solid var(--rule-strong)}td.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.prose{max-width:68ch;padding-bottom:50px}.prose h2{font-size:19px;margin:34px 0 12px}.prose h3{font-size:16px;margin:26px 0 8px}.prose p{margin-bottom:18px}.prose ul,.prose ol{margin:0 0 18px 1.4em}.prose li{margin-bottom:6px}.prose code{font-family:var(--f-mono);font-size:12.5px;background:var(--ai-soft);color:var(--ai);padding:1px 6px;border-radius:2px}footer{background:var(--bar-bg);color:var(--bar-fg);padding:34px 0 30px;font-size:12.5px}footer .wrap{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:baseline}footer a:hover{color:var(--shu-bar)}footer .r{margin-left:auto;font-family:var(--f-mono);font-size:11px;color:#8d99ad}footer .ack{width:100%;font-size:11px;color:#8d99ad;border-top:1px solid var(--bar-rule);padding-top:14px;margin-top:6px;line-height:1.8}@media(max-width:640px){.article h1{font-size:23px}.masthead .wrap{flex-wrap:wrap;gap:10px}}
