:root{--accent: #bf0000;--accent-dark: #8f0000;--accent-bg: #fdf3f2;--ink: #1d1d1f;--muted: #74716c;--line: #e9e5df;--bg: #faf8f5;--card: #ffffff;--radius: 14px;--shadow: 0 1px 2px rgba(29,25,20,.05), 0 8px 24px -12px rgba(29,25,20,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:system-ui,-apple-system,Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic UI,sans-serif;line-height:1.85;margin:0;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}.wrap{max-width:820px;margin:0 auto;padding:0 20px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.pr-banner{background:#f4efe6;color:#7a683c;font-size:11.5px;padding:6px 16px;text-align:center;letter-spacing:.02em}.site-header{position:sticky;top:0;z-index:50;background:#ffffffeb;backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.site-header .inner{display:flex;align-items:center;gap:18px;padding:12px 0}.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:18px;color:var(--ink);white-space:nowrap}.brand:hover{text-decoration:none}.brand .mark{width:26px;height:26px;border-radius:8px;background:var(--accent);color:#fff;font-size:15px;font-weight:800;display:grid;place-items:center;flex:none}.genre-nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin-left:auto;min-width:0}.genre-nav::-webkit-scrollbar{display:none}.genre-nav a{font-size:12.5px;color:var(--muted);padding:5px 11px;border-radius:999px;white-space:nowrap;border:1px solid transparent;transition:all .15s}.genre-nav a:hover{color:var(--accent);background:var(--accent-bg);text-decoration:none}.genre-nav a.active{color:var(--accent);background:var(--accent-bg);border-color:#f0d9d6;font-weight:600}main{padding:34px 0 72px}h1{font-size:26px;line-height:1.45;letter-spacing:-.01em;margin:10px 0 6px}.meta{color:var(--muted);font-size:13px}article{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px 30px 24px;box-shadow:var(--shadow)}article>h1{margin-top:0}article blockquote{margin:14px 0;padding:8px 14px;border-left:3px solid #d9b23c;background:#fbf6e8;color:#7a683c;font-size:12.5px;border-radius:0 8px 8px 0}article blockquote p{margin:0}article h2{font-size:19px;line-height:1.5;margin:44px 0 14px;padding:0 0 10px;border-bottom:2px solid var(--line);position:relative}article h2:after{content:"";position:absolute;left:0;bottom:-2px;width:64px;height:2px;background:var(--accent)}article img{display:block;margin:4px auto 10px;max-width:180px;height:auto;border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff}article strong{color:var(--accent-dark)}article ul{padding-left:1.3em}article li{margin:6px 0}article hr{border:none;border-top:1px solid var(--line);margin:40px 0 8px}article table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.55;display:block;overflow-x:auto;white-space:nowrap;border:1px solid var(--line);border-radius:10px}article th{background:var(--accent);color:#fff;font-weight:700;padding:9px 12px;text-align:left;position:sticky;left:auto}article td{padding:9px 12px;border-top:1px solid var(--line)}article tbody tr:nth-child(2n) td{background:#fbfaf8}article td:nth-child(2){white-space:normal;min-width:220px}article a[href^=http]{display:block;width:fit-content;margin:4px auto 8px;background:var(--accent);color:#fff!important;font-weight:700;font-size:14.5px;padding:11px 34px;border-radius:999px;text-decoration:none;box-shadow:0 4px 14px -4px #bf000073;transition:all .15s}article a[href^=http]:hover{background:var(--accent-dark);transform:translateY(-1px);text-decoration:none}article a[href^="#"]{display:inline-block;font-size:13px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 14px;background:#fff}article a[href^="#"]:hover{color:var(--accent);border-color:var(--accent);text-decoration:none}article a[href^="/"]{font-weight:600}ul.list{list-style:none;padding:0;margin:0}ul.list li{padding:11px 2px;border-bottom:1px solid var(--line)}ul.list li:last-child{border-bottom:none}.site-footer{border-top:1px solid var(--line);background:#fff;padding:30px 0 40px;color:var(--muted);font-size:12.5px}.site-footer .genres{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:16px}.site-footer .genres a{color:var(--muted)}.site-footer .genres a:hover{color:var(--accent)}.site-footer p{margin:6px 0}@media (max-width: 640px){.wrap{padding:0 14px}main{padding:22px 0 56px}h1{font-size:21px}article{padding:20px 16px;border-radius:12px}article h2{font-size:17px}}
