:root{--ink:#17232b;--muted:#66747c;--paper:#f6f2eb;--card:#fffdf9;--line:#ded8cd;--accent:#b8452c;--accent2:#226b75;--shadow:0 18px 50px rgba(40,35,26,.08);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top right,#e7ddd0,transparent 38%),var(--paper)}a{color:inherit}.site-head{padding:18px max(20px,calc((100% - 1080px)/2));border-bottom:1px solid var(--line);background:rgba(246,242,235,.9);backdrop-filter:blur(18px);position:sticky;top:0;z-index:4}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand .mark{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--ink);color:white;font-weight:900;letter-spacing:-1px}.brand strong,.brand small{display:block}.brand small{color:var(--muted);margin-top:3px}.shell{width:min(1080px,calc(100% - 32px));margin:48px auto}.hero{max-width:780px;margin-bottom:36px}.eyebrow{color:var(--accent2);text-transform:uppercase;letter-spacing:.15em;font-size:.78rem;font-weight:800;margin:0 0 10px}h1{font-size:clamp(2.3rem,7vw,5.3rem);letter-spacing:-.055em;line-height:.94;margin:0 0 22px}h2{font-size:1.6rem;letter-spacing:-.025em;margin:4px 0 10px}p{line-height:1.55}.hero>p:not(.eyebrow){font-size:1.16rem;color:var(--muted);max-width:680px}.rule{display:flex;align-items:center;gap:16px;margin-top:28px;padding:18px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.55)}.rule>span{display:grid;place-items:center;width:54px;height:54px;flex:0 0 auto;border-radius:50%;background:var(--accent);color:#fff;font-size:1.65rem;font-weight:800}.rule p{margin:0}.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.category,.panel,.vote-card,.login-card,.message-card{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}.category-icon{font-size:2rem}.category.bw{background:#1e2428;color:white}.category.bw .muted{color:#bdc5ca}.choice{margin-top:22px;padding:14px 16px;border-radius:14px;background:#f1ece4;font-weight:700;color:var(--ink)}.muted,.privacy{color:var(--muted)}.admin-link{text-align:center;margin-top:42px;color:var(--muted);font-size:.9rem}.vote-card,.login-card,.message-card{max-width:640px;margin:60px auto;text-align:center}.vote-card h1,.login-card h1,.message-card h1{font-size:clamp(2.3rem,8vw,4rem)}.photo-number{display:inline-grid;place-items:center;width:150px;height:150px;border-radius:50%;background:var(--ink);color:white;margin:10px 0 30px}.photo-number small{align-self:end;letter-spacing:.16em}.photo-number strong{font-size:4.2rem;line-height:1;align-self:start}.primary,.button,.quiet,.danger-button,.print-actions button{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:14px;padding:14px 20px;font:inherit;font-weight:750;text-decoration:none;cursor:pointer}.primary,.button,.print-actions button{background:var(--accent);color:white}.quiet{background:#eee9e1;color:var(--ink)}.danger-button{background:#a62e26;color:white}.vote-card .primary,.login-card .primary{width:100%;margin:22px 0}.back{display:block;margin-top:22px;color:var(--muted)}label{display:grid;text-align:left;gap:7px;font-weight:700}input{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 14px;font:inherit;background:white;color:var(--ink)}.error,.notice{padding:14px 18px;border-radius:14px;background:#fff1ee;color:#9b2e22;margin:16px 0}.success{display:grid;place-items:center;margin:0 auto 20px;width:64px;height:64px;border-radius:50%;background:#dff4e8;color:#167343;font-size:2rem}.admin-head,.panel-title,.status{display:flex;justify-content:space-between;align-items:center;gap:16px}.admin-head h1{font-size:clamp(2.4rem,6vw,4.5rem)}.status{padding:16px 20px;background:var(--card);border:1px solid var(--line);border-radius:18px;margin-bottom:22px}.status>span{width:12px;height:12px;border-radius:50%;background:#d94336}.status.open>span{background:#2a9a60}.status strong{margin-right:auto}.panel{margin-bottom:18px}.total{font-size:2rem}.total small{font-size:.85rem;color:var(--muted)}.result-row{display:grid;grid-template-columns:34px 130px 1fr 30px;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--line)}.rank{color:var(--muted)}.bar{height:10px;background:#eee9e1;border-radius:10px;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent2);border-radius:10px}.form-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px;align-items:end;margin:24px 0}.danger{border-color:#e4b3ac}.danger form{display:flex;gap:12px;align-items:end}.danger label{max-width:280px}footer{text-align:center;color:var(--muted);padding:30px;font-size:.85rem}.print-body{background:white}.print-actions{position:sticky;top:0;padding:15px;display:flex;justify-content:center;gap:12px;background:white;z-index:2}.qr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10mm;padding:10mm}.qr-card{border:2px solid #111;border-radius:5mm;text-align:center;padding:7mm;break-inside:avoid}.qr-card p,.qr-card h2{margin:0 0 3mm}.qr-number{font-size:2.2rem}.qr-card img{display:block;width:100%;margin:3mm auto}.qr-card b,.qr-card small{display:block}.qr-card small{margin-top:2mm}@media(max-width:720px){.shell{margin:30px auto}.grid.two,.form-grid{grid-template-columns:1fr}.category,.panel,.vote-card,.login-card,.message-card{padding:22px;border-radius:22px}.rule{align-items:flex-start}.admin-head{align-items:flex-start}.result-row{grid-template-columns:28px 105px 1fr 24px;font-size:.88rem}.danger form{display:grid}.qr-grid{grid-template-columns:1fr}.site-head{position:static}}@media print{.print-actions{display:none}.qr-grid{grid-template-columns:repeat(3,1fr);padding:0}.qr-card{page-break-inside:avoid}body{background:white}}
.live-screen-link{display:flex;align-items:center;justify-content:space-between;gap:24px}.live-screen-link p{margin-bottom:0}.live-screen-link .button{flex:0 0 auto}.leaderboard-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:22px}.leaderboard-head h1{margin-bottom:0}.live-indicator{display:grid;grid-template-columns:12px auto;align-items:center;gap:2px 9px;padding:14px 18px;background:var(--card);border:1px solid var(--line);border-radius:18px}.live-indicator span{width:12px;height:12px;border-radius:50%;background:#29a164;box-shadow:0 0 0 6px rgba(41,161,100,.12);grid-row:1/3}.live-indicator small{color:var(--muted)}.leaderboard-status{width:max-content;margin:0 0 18px auto;padding:8px 14px;border-radius:999px;font-weight:800;background:#f5ddd8;color:#992e23}.leaderboard-status.open{background:#dff4e8;color:#167343}.leaderboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.leaderboard-panel{overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow)}.leaderboard-panel>header{padding:26px 28px 20px}.leaderboard-panel.bw>header{background:#1e2428;color:#fff}.leaderboard-panel.color>header{background:linear-gradient(120deg,#fff1d8,#f6d3ca)}.leaderboard-list{padding:8px 22px 22px}.leader-row{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:16px;min-height:72px;padding:10px 8px;border-top:1px solid var(--line);font-size:1.18rem}.leader-row:first-child{border-top:0}.leader-rank{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#eee9e1;font-size:1.15rem;font-weight:900}.leader-row b{font-size:1.45rem}.leader-row b small{font-size:.72rem;color:var(--muted)}.rank-1{font-size:1.42rem}.rank-1 .leader-rank{background:#dba928;color:#fff;box-shadow:0 7px 20px rgba(219,169,40,.28)}.rank-2 .leader-rank{background:#9aa4aa;color:#fff}.rank-3 .leader-rank{background:#b67951;color:#fff}.leader-empty{padding:28px 8px;color:var(--muted)}.leaderboard-actions{display:flex;justify-content:center;gap:12px;margin-top:24px}
@media(max-width:720px){.leaderboard-grid{grid-template-columns:1fr}.live-screen-link,.leaderboard-head{align-items:stretch;flex-direction:column}.live-screen-link .button{width:100%}.leaderboard-head h1{font-size:clamp(2.5rem,14vw,4rem)}.leaderboard-status{margin-left:0}.leader-row{grid-template-columns:44px 1fr auto;gap:10px;font-size:1rem}.leader-row b{font-size:1.15rem}.leaderboard-actions{flex-direction:column}}
