:root{color-scheme:dark;--bg:#07111f;--panel:#101c2f;--panel2:#17243a;--line:#34445c;--text:#f7f8fb;--muted:#bdc8d8;--gold:#f4bd45;--gold2:#ffdc83;--green:#7dd7aa}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at top,#142642 0,#07111f 52%);color:var(--text);font:16px/1.55 Inter,system-ui,sans-serif;min-height:100vh}a{color:inherit}button,input{font:inherit}button{cursor:pointer}
.wrap{width:min(1120px,calc(100% - 32px));margin:auto}.site-header{border-bottom:1px solid #ffffff1c;background:#081423ed}.nav{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0}.brand{font-size:1.15rem;font-weight:800;text-decoration:none}.navlinks{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.navlinks a,.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;padding:9px 14px;text-decoration:none;background:#ffffff08;color:var(--text);font-weight:700}.button.primary{background:linear-gradient(135deg,var(--gold2),var(--gold));color:#211700;border:0}.button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--gold2);outline-offset:3px}
.hero{padding:42px 0 20px}.eyebrow{color:var(--gold2);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.76rem}.hero h1{font-size:clamp(2rem,5vw,3.6rem);line-height:1.05;margin:8px 0 12px}.hero p{color:var(--muted);max-width:720px;margin:0}.notice{margin:18px 0;padding:12px 16px;background:#17243a;border:1px solid var(--line);border-radius:12px;color:var(--muted)}.notice.error{border-color:#db7676;color:#ffd1d1}.notice[hidden]{display:none}
.board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:14px 0 36px}.card{background:linear-gradient(150deg,#142239,#0d192a);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 12px 32px #0003}.card.first{grid-column:span 2;display:grid;grid-template-columns:1.2fr 1fr}.photo{min-height:220px;background:#1d3049;position:relative}.card.first .photo{min-height:350px}.photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo .fallback{display:grid;place-items:center;width:100%;height:100%;font-size:3rem}.rank{position:absolute;top:14px;left:14px;background:var(--gold);color:#261b04;font-size:1.1rem;font-weight:900;padding:6px 12px;border-radius:99px;box-shadow:0 5px 14px #0004}.body{padding:20px;display:flex;flex-direction:column;align-items:flex-start}.body h2{margin:2px 0 4px;font-size:1.3rem;line-height:1.2}.card.first h2{font-size:1.8rem}.town{margin:0;color:var(--muted)}.votes{font-size:1.05rem;margin:14px 0 18px}.actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto}.actions .button{padding:8px 12px}.empty{grid-column:1/-1;text-align:center;padding:36px 20px}
.sponsors{padding:12px 0 36px}.sponsors h2{font-size:1.3rem}.sponsor{border:1px solid var(--line);border-radius:16px;padding:12px;margin:14px 0;background:#101c2f}.sponsor img{display:block;width:100%;height:auto;border-radius:10px}.sponsor .logo{width:min(300px,70%);margin:12px auto}.sponsor p{margin:8px}.signup{background:#142239;border:1px solid var(--line);border-radius:18px;padding:24px;margin:10px 0 42px}.signup h2{margin:0 0 6px}.signup p{color:var(--muted)}.site-footer{border-top:1px solid #ffffff1c;padding:24px 0;color:var(--muted);font-size:.9rem}
.dialog{width:min(460px,calc(100% - 24px));border:1px solid var(--line);border-radius:18px;background:var(--panel);color:var(--text);padding:0;box-shadow:0 22px 90px #0009}.dialog::backdrop{background:#0009}.dialog-head,.dialog-body{padding:18px}.dialog-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.dialog-head h2{font-size:1.2rem;margin:0}.x{background:transparent;border:0;color:var(--text);font-size:1.4rem}.dialog-body p{color:var(--muted)}.dialog-body label{display:block;font-weight:700;margin:14px 0 6px}.dialog-body input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:#091423;color:var(--text)}.feedback{min-height:1.5em;color:var(--gold2)}.loading{grid-column:1/-1;text-align:center;padding:36px;color:var(--muted)}
@media(max-width:700px){.nav{align-items:flex-start}.navlinks{justify-content:flex-end}.navlinks a{padding:8px 10px;font-size:.88rem}.hero{padding-top:30px}.board{grid-template-columns:1fr;gap:14px}.card.first{grid-column:span 1;display:block}.card.first .photo{min-height:240px}.photo{min-height:210px}.card.first h2{font-size:1.45rem}.body{padding:16px}.actions .button{flex:1 1 calc(50% - 10px)}}@media(max-width:380px){.wrap{width:min(100% - 22px,1120px)}.brand{font-size:1rem}.nav{gap:8px}.navlinks{gap:6px}.navlinks a{font-size:.82rem;padding:7px}}

/* Slim sponsor placements; existing tall assets are scaled down, never distorted. */
.sponsor .sponsor-banner{display:block;width:100%;background:#0e172e;border-radius:10px;overflow:hidden}
.sponsor .sponsor-banner img{display:block;width:100%;height:auto;aspect-ratio:6/1;object-fit:contain;border-radius:0}
@media(max-width:767px){.sponsor .sponsor-banner img{aspect-ratio:4/1}}

/* Above-the-fold featured sponsor on the Top 5 page. */
.featured-sponsor-strip { padding:7px 16px 10px; border-bottom:1px solid var(--line); background:#101b32; }
.featured-sponsor-strip[hidden] { display:none; }
.featured-sponsor-inner { width:min(100%,1000px); margin:0 auto; }
.featured-sponsor-label { color:var(--gold2); font-size:.72rem; font-weight:700; margin-bottom:4px; }
.featured-sponsor-link { display:block; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:#0e172e; }
a.featured-sponsor-link:hover, a.featured-sponsor-link:focus-visible { border-color:var(--gold); }
.featured-sponsor-art, .featured-sponsor-art img { display:block; width:100%; }
.featured-sponsor-art img { height:auto; max-height:160px; aspect-ratio:6/1; object-fit:contain; background:#0e172e; }
@media(max-width:767px) {
 .featured-sponsor-strip { padding:5px 9px 7px; }
 .featured-sponsor-label { font-size:.65rem; margin-bottom:3px; }
 .featured-sponsor-link { border-radius:7px; }
 .featured-sponsor-art img { max-height:105px; aspect-ratio:4/1; }
}
