:root{--ink:#17151c;--muted:#6f6a76;--accent:#6c5ce7;--accent-deep:#4b3fb5;--soft:#efebfa;--paper:#fff;--line:#d9d4e0;--warm:#faf6ec}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;background:#eceae6;color:var(--ink);font-family:'Zen Kaku Gothic New','Hiragino Kaku Gothic ProN',sans-serif;line-height:1.8}
a{color:var(--accent-deep);text-underline-offset:3px}
.site-header,.site-footer{background:var(--paper);text-align:center}
.site-header{padding:28px 20px 22px;border-bottom:1px solid var(--ink)}
.brand{display:inline-block;color:var(--ink);font-family:'Playfair Display',Georgia,serif;font-size:42px;font-weight:700;letter-spacing:.12em;line-height:1;text-decoration:none}
.brand span{color:var(--accent);font-size:.42em;vertical-align:1.1em}
.site-header p{margin:8px 0 0;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.4em}
.tag-shell{width:min(100% - 32px,1040px);margin:26px auto 60px;background:var(--paper);border:1px solid #cbc7cf}
.tag-hero{padding:64px clamp(24px,8vw,78px) 52px;background:var(--soft);border-bottom:1px solid var(--ink);text-align:center}
.tag-hero>p:first-child{margin:0 0 10px;color:var(--accent-deep);font-family:Georgia,serif;font-size:11px;font-weight:700;letter-spacing:.18em}
.tag-hero h1{margin:0;font-family:'Zen Old Mincho','Hiragino Mincho ProN',serif;font-size:clamp(32px,5vw,52px);line-height:1.45}
.tag-hero>p:last-child{max-width:680px;margin:18px auto 0;color:#514b5b;font-size:14px;line-height:2}
.featured-tags,.all-tags{padding:28px clamp(20px,5vw,48px);border-bottom:1px solid var(--line)}
.featured-tags>p,.all-tags>p{margin:0;color:var(--accent-deep);font-family:Georgia,serif;font-size:9px;font-weight:700;letter-spacing:.16em}
.featured-tags h2,.all-tags h2{margin:3px 0 14px;font-family:'Zen Old Mincho','Hiragino Mincho ProN',serif;font-size:22px}
.all-tags{border-top:1px solid var(--ink);border-bottom:0;background:var(--warm)}
.all-tags>p:not(:first-child){margin:-6px 0 16px;color:var(--muted);font-size:11px}
.tag-cloud{display:flex;flex-wrap:wrap;gap:8px;padding:0}
.tag-cloud a{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:var(--accent-deep);font-size:11px;font-weight:700;text-decoration:none}
.tag-cloud a:hover,.tag-cloud a:focus-visible{border-color:var(--accent);background:var(--soft)}
.tag-cloud span{display:grid;min-width:18px;height:18px;place-items:center;border-radius:50%;background:var(--soft);font-size:9px}
.tag-sections{padding:4px clamp(20px,5vw,48px) 44px}
.tag-section{padding:36px 0;border-bottom:1px solid var(--line)}
.tag-section:last-child{border-bottom:0}
.tag-section:target{margin-inline:-14px;padding-inline:14px;background:linear-gradient(90deg,var(--soft),transparent 55%)}
.tag-section header{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:16px}
.tag-section h2{margin:0;font-family:'Zen Old Mincho','Hiragino Mincho ProN',serif;font-size:26px}
.tag-section header>span{color:var(--muted);font-family:Georgia,serif;font-size:9px;font-weight:700;letter-spacing:.12em}
.tag-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.tag-result{display:flex;min-width:0;flex-direction:column;padding:18px;border:1px solid var(--line);color:var(--ink);text-decoration:none}
.tag-result:hover,.tag-result:focus-visible{border-color:var(--accent)}
.tag-result>span,.tag-result em{color:var(--accent-deep);font-size:9px;font-style:normal;font-weight:700;letter-spacing:.12em}
.tag-result strong{margin:7px 0;font-family:'Zen Old Mincho','Hiragino Mincho ProN',serif;font-size:16px;line-height:1.65}
.tag-result small{color:var(--muted);font-size:11px;line-height:1.8}
.tag-result em{margin-top:auto;padding-top:12px}
.site-footer{padding:28px 20px;border-top:1px solid var(--ink)}
.site-footer a{font-size:12px;font-weight:700}
.site-footer .privacy-link{display:block;width:max-content;margin:10px auto 0;color:var(--muted);font-size:10px}
@media(max-width:640px){.site-header{padding-top:22px}.brand{font-size:34px}.tag-shell{width:100%;margin:0;border-inline:0}.tag-hero{padding:48px 22px 40px}.featured-tags,.all-tags{padding:22px 18px}.tag-sections{padding:0 18px 36px}.tag-results{grid-template-columns:1fr}.tag-section h2{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
