:root{--bg:#f4f1ec;--paper:#fff;--ink:#22201e;--muted:#746f69;--accent:#a04332;--accent2:#d8a747;--green:#2e7753;--line:#ded8cf}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}.wrap{width:min(1180px,calc(100% - 28px));margin:auto}.hero{background:#28221f;color:white;padding:36px 0 28px}.hero h1,.admin-head h1{margin:4px 0 8px;font-family:Georgia,serif;font-size:clamp(28px,5vw,48px)}.hero p{color:#d9d1ca;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:800;color:var(--accent2)}.counter{margin-top:18px;font-size:18px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:24px 0 110px}.photo-card{position:relative;padding:0;border:3px solid transparent;border-radius:14px;overflow:hidden;background:#ddd;cursor:pointer;box-shadow:0 4px 16px #1c171312;aspect-ratio:4/3;transition:border-color .15s,transform .15s}.photo-card:focus-visible{outline:3px solid var(--accent2);outline-offset:2px}.photo-card:active{transform:scale(.985)}.photo-card img{width:100%;height:100%;object-fit:cover;display:block}.photo-card .number{position:absolute;z-index:2;left:12px;bottom:10px;background:transparent;color:white;padding:0;border-radius:0;font-size:20px;font-weight:850;text-shadow:0 2px 4px #000,0 0 10px #000}.photo-card .check{display:none;position:absolute;z-index:3;right:10px;top:10px;background:var(--green);color:#fff;width:38px;height:38px;border-radius:50%;font-size:24px;box-shadow:0 2px 8px #0005}.photo-card .zoom{position:absolute;z-index:3;right:10px;bottom:9px;width:38px;height:38px;padding:6px;border:0;background:transparent;color:#fff;display:grid;place-items:center;cursor:zoom-in;filter:drop-shadow(0 2px 3px #000) drop-shadow(0 0 5px #000)}.photo-card .zoom svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}.photo-card.selected{border-color:var(--green)}.photo-card.selected::after{content:"";position:absolute;z-index:1;inset:0;background:#2e775319;pointer-events:none}.photo-card.selected .check{display:grid;place-items:center}.sticky-submit{position:fixed;bottom:0;left:0;right:0;padding:14px;background:#f4f1eced;backdrop-filter:blur(8px);text-align:center;border-top:1px solid var(--line)}button,.button{font:inherit}.primary,.button,.danger{border:0;border-radius:9px;padding:11px 17px;font-weight:750;cursor:pointer;text-decoration:none;display:inline-block}.primary{background:var(--accent);color:#fff}.primary:disabled{opacity:.45}.button{background:#e5dfd7;color:var(--ink)}.danger{background:#8f2e2e;color:#fff}.sticky-submit .primary{width:min(460px,100%);font-size:18px}.message{position:sticky;top:10px;z-index:4;text-align:center;color:#fff;background:var(--accent);border-radius:8px}.notice{margin:40px auto;padding:34px;max-width:600px;background:var(--paper);border-radius:14px;text-align:center}.notice.success{border-top:7px solid var(--green)}dialog{padding:0;border:0;border-radius:12px;background:#111;max-width:95vw;max-height:95vh}dialog::backdrop{background:#000c}dialog img{display:block;max-width:92vw;max-height:86vh}dialog span{display:block;color:#fff;padding:10px;text-align:center}.close{position:absolute;right:8px;top:8px;border:0;border-radius:50%;font-size:28px;width:42px;height:42px;background:#000a;color:#fff}.login-page{min-height:100vh;display:grid;place-items:center}.login-card{width:min(400px,calc(100% - 30px));background:#fff;padding:32px;border-radius:16px}.login-card h1{font-family:Georgia,serif}.login-card label{display:grid;gap:7px}.login-card input{font:inherit;padding:12px;border:1px solid var(--line);border-radius:8px;margin-bottom:15px}.error{color:#a11}.admin-head{padding:22px 3vw;background:#28221f;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-head h1{font-size:32px}.admin-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.admin-actions form{display:inline}.admin-main{width:min(1100px,calc(100% - 28px));margin:22px auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.stats div{background:#fff;padding:18px;border-radius:12px}.stats span{display:block;color:var(--muted)}.stats strong{font-size:30px}.open{color:var(--green)}.closed{color:#8f2e2e}.results{display:grid;gap:9px}.result{display:grid;grid-template-columns:42px 90px 1fr 55px;align-items:center;gap:13px;background:#fff;padding:9px;border-radius:12px}.result.winner{border-left:6px solid var(--accent2)}.result img{width:90px;height:64px;object-fit:cover;border-radius:7px}.place{text-align:center;font-size:22px;font-weight:800}.result-title{display:flex;justify-content:space-between;gap:10px}.result-title span{color:var(--muted)}.bar{height:8px;background:#eee8e0;border-radius:9px;overflow:hidden;margin-top:8px}.bar i{display:block;height:100%;background:var(--accent);transition:width .3s}.vote-count{font-size:25px;text-align:center}.danger-zone{margin:28px 0;padding:20px;border:1px solid #d9b6b6;border-radius:12px}.danger-zone h2{margin-top:0}@media(max-width:700px){.gallery{grid-template-columns:repeat(2,1fr);gap:9px}.admin-head{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:1fr}.result{grid-template-columns:34px 70px 1fr 40px}.result img{width:70px;height:55px}.result-title{display:block}.result-title span{display:none}}
@media(max-width:700px){.result-title span{display:block;margin-top:3px;font-size:12px;line-height:1.2;color:var(--muted);overflow-wrap:anywhere}.result-title strong{font-size:16px}.result{grid-template-columns:30px 70px minmax(0,1fr) 32px;gap:9px}.vote-count{font-size:22px}}
