:root{color-scheme:dark;--paper:#eae0c9;--gold:#e5b976;--muted:#bdb1a0;--edge:#4d3c37;--surface:#251b20;--wine:#351e29;--ink:#181317}
*{box-sizing:border-box}
body{margin:0;background:var(--ink);color:var(--paper);font:1rem/1.55 Georgia,serif}
a{color:var(--gold);text-underline-offset:.24em}
button,select,input{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--edge);border-radius:.3rem;padding:.55rem .8rem}
button{cursor:pointer}button:hover:not(:disabled),select:hover{border-color:var(--gold)}
button:disabled{opacity:.55;cursor:default}
:focus-visible{outline:2px solid #fff;outline-offset:3px}
.site-header,footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding:1rem max(5vw,1rem);border-bottom:1px solid var(--edge)}
footer{justify-content:center;border-top:1px solid var(--edge);border-bottom:0;font-size:.9rem}
.brand{font-size:.83rem;letter-spacing:.18em;text-decoration:none;font-weight:bold}.brand span{font-size:1.4rem;margin-right:.35rem}
main{min-height:76vh}.hero{text-align:center;padding:clamp(2rem,7vw,5rem) 1rem 3rem;background:radial-gradient(ellipse at top,#4a2535,var(--ink) 72%)}
.hero-actions{justify-content:center}.hero-actions [aria-current]{border-color:var(--gold);color:var(--paper)}
.hero p{max-width:44rem;margin:1rem auto;color:var(--muted)}h1,h2,h3{font-weight:normal;line-height:1.12;margin:.5em 0}
h1{font-size:clamp(2.6rem,8vw,5.9rem);color:var(--gold);margin:.15em 0}h2{font-size:clamp(1.65rem,4vw,2.5rem)}h3{font-size:1.3rem}
.crown{color:var(--gold);font-size:3rem;line-height:1}
nav,.actions{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}nav{justify-content:center;padding:.8rem;border-block:1px solid var(--edge)}
nav a,.cta{display:inline-block;padding:.45rem .8rem;text-decoration:none;border:1px solid transparent;border-radius:.3rem}
nav a[aria-current],.cta{border-color:var(--edge);background:var(--wine)}
.wrap{width:min(68rem,92vw);margin:auto;padding:1.5rem 0 3rem}
.legal{width:min(46rem,92vw)}.legal p{color:var(--muted)}.legal section{border-top:1px solid var(--edge);padding:.45rem 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.8rem}
.card,.notice{border:1px solid var(--edge);background:var(--surface);border-radius:.45rem;padding:1rem}
.notice{margin:1rem 0}.notice.demo{border-color:var(--gold)}
.meta,small{color:var(--muted)}.rank{color:var(--gold);font-size:.92rem}.count{color:var(--gold);font-size:1.35rem}
.list{padding-left:1.4rem}.list li{padding:.2rem}
form{display:flex;align-items:end;gap:.65rem;flex-wrap:wrap;margin:1rem 0}label{display:grid;gap:.25rem}input{max-width:100%;width:16rem}
hr{border:0;border-top:1px solid var(--edge);margin:1.5rem 0}
#status{min-height:1.5em;color:var(--gold)}.certificate-qr{background:#fff;padding:.5rem;display:inline-block}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:.55rem;border-bottom:1px solid var(--edge)}
@media(max-width:450px){.site-header{gap:.5rem}.brand{letter-spacing:.09em}nav a{padding:.4rem}td,th{padding:.3rem}.hero p{font-size:.95rem}}
