:root{--bg: #fbfaf8;--surface: #ffffff;--border: #ddd7ce;--border-strong: #b5ac9f;--text: #1a1714;--text-muted: #524c45;--text-faint: #6b645b;--link: #155189;--accent: #7a5a2c;--c-deployment: #286b4d;--c-tech: #315f91;--c-product: #95560f;--c-business: #5b4c84;--c-policy: #8f3833;--c-community: #1d6764;--radius: 6px;--measure: 40rem;--font: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "Meiryo", system-ui, -apple-system, "Segoe UI", sans-serif;--font-head: var(--font)}@media(prefers-color-scheme:dark){:root{--bg: #17171a;--surface: #1f1f24;--border: #3a3a42;--border-strong: #565661;--text: #f2efea;--text-muted: #c2bcb3;--text-faint: #a29c93;--link: #93c3ea;--accent: #d4b378;--c-deployment: #5fbf90;--c-tech: #7aaede;--c-product: #e0a35e;--c-business: #b3a5e0;--c-policy: #e8918d;--c-community: #5fbdb8}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16.5px;line-height:1.9;font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased}a{color:var(--link);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}.wrap{max-width:56rem;margin:0 auto;padding:0 1.25rem}.site-header{border-bottom:1px solid var(--border);background:var(--surface)}.site-header .wrap{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-block:1.1rem}.brand{font-family:var(--font-head);font-size:1.3rem;font-weight:600;letter-spacing:.04em;color:var(--text);text-decoration:none}.brand span{color:var(--accent)}.tagline{font-size:.82rem;color:var(--text-muted)}.catnav{border-bottom:1px solid var(--border);background:var(--surface);overflow-x:auto}.catnav ul{display:flex;gap:.25rem;list-style:none;margin:0;padding:0;white-space:nowrap}.catnav a{display:block;padding:.6rem .85rem;font-size:.92rem;color:var(--text-muted);text-decoration:none;border-bottom:2px solid transparent}.catnav a:hover{color:var(--text)}.catnav a[aria-current=page]{color:var(--text);border-bottom-color:var(--cat, var(--accent));font-weight:600}.chip{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.02em;padding:.12rem .5rem;border-radius:999px;border:1px solid currentColor;color:var(--cat);text-decoration:none;white-space:nowrap}.badge{display:inline-block;font-size:.76rem;padding:.1rem .45rem;border-radius:999px;border:1px solid var(--border-strong);color:var(--text-muted);white-space:nowrap}.badge.draft{border-color:var(--c-policy);color:var(--c-policy);font-weight:600}.cards{list-style:none;margin:0;padding:0}.card{padding:1.5rem 0;border-bottom:1px solid var(--border)}.card-meta{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:.82rem;color:var(--text-muted);margin-bottom:.5rem}.card h2{font-family:var(--font-head);font-size:1.24rem;line-height:1.6;margin:0 0 .55rem;font-weight:700}.card h2 a{color:var(--text);text-decoration:none}.card h2 a:hover{color:var(--link)}.card p{margin:0;font-size:.95rem;color:var(--text-muted);line-height:1.85}.card-foot{margin-top:.6rem;font-size:.82rem;color:var(--text-muted);display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.tag{font-size:.82rem;color:var(--text-muted);text-decoration:none;border-bottom:1px dotted var(--border-strong)}.tag:hover{color:var(--link)}.jump{display:flex;flex-wrap:wrap;gap:.45rem;padding:1.1rem 0 .3rem}.jump-link{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border:1px solid var(--cat);border-radius:999px;color:var(--cat);font-size:.84rem;font-weight:700;text-decoration:none}.jump-link span{font-weight:400;color:var(--text-muted);font-size:.8rem}.jump-link.off{border-color:var(--border-strong);color:var(--text-muted);font-weight:400}.genre{padding:2.2rem 0 .5rem;scroll-margin-top:1rem}.genre-head{border-bottom:2px solid var(--cat);padding-bottom:.5rem;margin-bottom:1.2rem}.genre-head h2{display:flex;align-items:baseline;gap:.6rem;margin:0 0 .2rem;font-size:1.28rem;font-weight:700}.genre-head h2 a{color:var(--cat);text-decoration:none}.genre-head h2 a:hover{text-decoration:underline}.genre-head .count{font-size:.85rem;font-weight:400;color:var(--text-muted)}.genre-head .count:before{content:""}.genre-head p{margin:0;font-size:.9rem;color:var(--text-muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:.95rem;align-items:start}.gcard{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-top:3px solid var(--cat);border-radius:var(--radius);padding:.95rem 1.05rem 1rem}.gcard h3{flex:1}.gcard-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.8rem;color:var(--text-muted);margin-bottom:.45rem}.gcard h3{margin:0 0 .55rem;font-size:1.06rem;line-height:1.6;font-weight:700}.gcard h3 a{color:var(--text);text-decoration:none}.gcard h3 a:hover{color:var(--link)}.gcard-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.7rem;border-top:1px solid var(--border)}.gcard-foot .more{margin-left:auto;font-size:.82rem;color:var(--cat);text-decoration:none;font-weight:700;white-space:nowrap}.gcard-foot .more:hover{text-decoration:underline}.genre-empty{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:1.1rem 1.3rem;color:var(--text-muted);font-size:.88rem}.genre-empty p{margin:0 0 .5rem}.genre-empty ul{margin:0;padding-left:1.1rem}.genre-empty li{margin-bottom:.25rem}.page-head{padding:2.2rem 0 1.2rem;border-bottom:1px solid var(--border)}.page-head h1{font-family:var(--font-head);font-size:1.62rem;margin:0 0 .35rem;font-weight:700;color:var(--cat, var(--text))}.page-head p{margin:0;font-size:.93rem;color:var(--text-muted)}.article{padding:2.2rem 0 1rem}.article h1{font-family:var(--font-head);font-size:1.72rem;line-height:1.55;margin:.6rem 0 1rem;font-weight:700}.lead{font-size:1rem;line-height:1.95;color:var(--text);padding:1.1rem 1.2rem;background:var(--surface);border-left:3px solid var(--cat);border-radius:0 var(--radius) var(--radius) 0;margin:0 0 1.8rem}.points{margin:0 0 2rem;padding:0 0 0 1.1rem}.points li{margin-bottom:.55rem;font-size:.97rem;line-height:1.85}.points li::marker{color:var(--cat)}.body{max-width:var(--measure);font-size:1rem}.body p{margin:0 0 1.5rem}.source-box{margin:2.5rem 0 1rem;padding:1rem 1.2rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:.9rem;line-height:1.8}.source-box .label{font-weight:700;color:var(--text-muted);display:block;margin-bottom:.25rem;font-size:.8rem;letter-spacing:.04em}.source-box .orig{color:var(--text-muted);font-size:.85rem}.ai-note{margin-top:.9rem;padding-top:.75rem;border-top:1px dashed var(--border);color:var(--text-muted);font-size:.83rem}.meta-table{width:100%;border-collapse:collapse;font-size:.88rem;margin:1.5rem 0}.meta-table th,.meta-table td{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--border);vertical-align:top}.meta-table th{color:var(--text-muted);font-weight:500;white-space:nowrap;width:8rem}.prose{max-width:var(--measure);padding:1.5rem 0 2rem}.prose h2{font-family:var(--font-head);font-size:1.18rem;margin:2rem 0 .7rem;font-weight:700}.prose ul{padding-left:1.2rem}.prose li{margin-bottom:.4rem}.empty{padding:3rem 0;color:var(--text-muted);text-align:center;font-size:.95rem}.pager{display:flex;justify-content:space-between;gap:1rem;padding:1.5rem 0;font-size:.88rem}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem;padding:1.2rem 0}.site-footer{margin-top:3rem;border-top:1px solid var(--border);background:var(--surface);padding:1.8rem 0;font-size:.87rem;color:var(--text-muted)}.site-footer nav{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.8rem}.site-footer .fine{color:var(--text-muted);font-size:.82rem;line-height:1.8}#search{padding:1.5rem 0 3rem}:root{--pagefind-ui-primary: var(--link);--pagefind-ui-text: var(--text);--pagefind-ui-background: var(--bg);--pagefind-ui-border: var(--border);--pagefind-ui-tag: var(--surface);--pagefind-ui-border-radius: var(--radius);--pagefind-ui-font: var(--font)}.search-fallback{padding:2rem 0;color:var(--text-muted);font-size:.9rem}@media(max-width:640px){body{font-size:16px}.card h2{font-size:1.15rem}.article h1{font-size:1.45rem}}.notice{font-size:.88rem;color:var(--text-muted);background:var(--surface);border-left:3px solid var(--border-strong);padding:.8rem 1rem;border-radius:0 var(--radius) var(--radius) 0}
