:root { --ink:#12110f; --paper:#f4efe5; --cream:#fffaf1; --gold:#9b7c43; --red:#a6322c; --muted:#6f6960; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Yu Gothic",Meiryo,sans-serif; line-height:1.8; }
a { color:inherit; }
.site-head { position:sticky; top:0; z-index:10; background:rgba(18,17,15,.96); color:#f7f0e3; border-bottom:1px solid rgba(255,255,255,.12); }
.head-inner { width:min(1120px,calc(100% - 2rem)); margin:auto; min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.brand { text-decoration:none; font-family:"Yu Mincho",serif; letter-spacing:.18em; }
.site-nav { display:flex; gap:1.2rem; align-items:center; font-size:.82rem; }
.site-nav a { text-decoration:none; white-space:nowrap; color:#d8cfbf; }
.site-nav a[aria-current="page"] { color:#e2bd75; }
.hero { padding:clamp(5rem,12vw,9rem) 1rem 4rem; background:linear-gradient(145deg,#171512,#262017); color:#f7f0e3; text-align:center; }
.kicker { color:#c9a96e; letter-spacing:.28em; font-size:.72rem; text-transform:uppercase; }
h1 { margin:.8rem 0; font:700 clamp(2.2rem,6vw,4.6rem)/1.15 "Yu Mincho",serif; letter-spacing:.08em; }
.hero p { max-width:48rem; margin:0 auto; color:#c9c0b1; }
.main { width:min(900px,calc(100% - 2rem)); margin:clamp(2rem,6vw,5rem) auto; }
.query-card { padding:clamp(1rem,4vw,2.5rem); background:var(--cream); border:1px solid #ddd2bf; box-shadow:0 24px 70px rgba(40,28,12,.08); }
.edition-note { margin:0 0 1.25rem; color:var(--muted); font-size:.9rem; }
.edition-note a { color:var(--red); }
#award-query { --aq-font:"Yu Gothic",Meiryo,sans-serif; --aq-bg:transparent; --aq-surface:transparent; --aq-text:var(--ink); --aq-muted:var(--muted); --aq-accent:var(--red); --aq-accent-contrast:#fff; --aq-border:#d8ccb8; --aq-danger:#9d2525; --aq-success:#2d7657; --aq-radius:2px; --aq-shadow:none; }
.aqw-shell { padding:0; border:0; }
.aqw-button { border-radius:0; letter-spacing:.12em; }
.aqw-reset { border-radius:0; }
.site-foot { padding:2rem 1rem; text-align:center; border-top:1px solid #d9cfbf; color:var(--muted); font-size:.82rem; }
@media (max-width:680px) { .head-inner { align-items:flex-start; padding-block:.8rem; } .site-nav { max-width:62vw; overflow-x:auto; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
