.library-selection-bar{display:flex;align-items:center;gap:24px;justify-content:space-between;background:#e2eccc;border:2px solid #93ac74;padding:18px;border-radius:12px;margin:20px 0}.library-selection-bar strong{font:400 28px 'Lilita One'}.library-selection-bar p{font-size:15px;line-height:1.5}.library-selection-bar .btn{font-size:17px;flex:none}.library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.library-place{padding:0 0 12px;text-align:left;border:3px solid #b7b98d;border-radius:12px;overflow:hidden;background:#fff9e7;cursor:pointer;color:#153d2b}.library-place>div{position:relative}.library-place img{display:block;width:100%;aspect-ratio:1.3;object-fit:cover}.library-place>strong,.library-place>small{display:block;margin:9px 10px 0;line-height:1.4}.library-place>strong{font-size:17px}.library-place>small{font-size:12px}.library-place.selected{border-color:#096b45;box-shadow:0 0 0 2px #75b880}.selection-number{position:absolute;right:8px;top:8px;width:29px;height:29px;border-radius:50%;background:#fff8d3e8;border:2px solid #467646;color:#06482f;text-align:center;font:900 18px/25px 'Nunito'}.selection-number:empty{display:none}.library-inspect-photo{width:100%;border-radius:10px}.library-camera-shell{max-width:700px}.library-viewfinder{position:relative;overflow:hidden;border:3px solid #997e3f;border-radius:14px;aspect-ratio:4/3;background:#102d24}.library-viewfinder video,.library-viewfinder>img{width:100%;height:100%;object-fit:contain}.library-viewfinder [hidden]{display:none}.library-viewfinder.shooting .snap-flash{animation:snap-flash .6s ease-out}.library-camera-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0}.library-camera-actions .btn{font-size:17px}.library-native{cursor:pointer}.library-native input{display:none}.photo-library .studio-heading>.btn{font-size:17px}.clue-ready-box>.btn{margin-top:12px}.library-camera-shell #library-gps-status{background:#e1edcf;padding:12px;border-radius:8px;line-height:1.5}.big-winner{position:relative;overflow:hidden;text-align:center;padding:30px!important;background:linear-gradient(135deg,#fff0ab,#e4be58)!important;border:3px solid #ac8735!important;color:#12432f}.big-winner>h2{font-size:clamp(30px,5vw,54px);line-height:1.12;margin:20px auto;max-width:780px}.big-winner .winner-portrait{position:relative;z-index:1}.big-winner .end-actions{position:relative;z-index:1;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.big-winner .end-actions .btn{font-size:18px}.big-winner>small{display:block;margin-top:16px}.winner-contact-form{position:relative;z-index:1;max-width:470px;margin:22px auto;padding:20px;border:2px solid #b39541;background:#fff8df;border-radius:12px;text-align:left}.winner-contact-form h3{font-size:25px;margin:0 0 10px}.winner-contact-form p{font-size:16px;line-height:1.5}.winner-contact-form .btn{font-size:17px}.winner-contact-status{font-weight:800;color:#12583a}.winner-confetti-piece{position:absolute;left:var(--x);top:-15px;width:9px;height:15px;background:var(--c);animation:winner-fall 2.5s ease-in var(--d) both;pointer-events:none;z-index:0}@keyframes winner-fall{from{transform:translateY(-30px) rotate(0);opacity:1}to{transform:translateY(700px) rotate(var(--r));opacity:0}}.admin-winner-alert{padding:20px;border:3px solid #ba9036;border-radius:12px;background:#ffedaf;color:#16442e;margin:18px 0}.admin-winner-alert h2{font-size:28px;margin:8px 0}.admin-winner-alert p{font-size:16px;line-height:1.5}.admin-winner-alert a{color:#16442e}.admin-winner-alert .btn{font-size:16px}.studio-round:has(.admin-winner-alert){flex-wrap:wrap}.studio-round>.admin-winner-alert{width:100%;margin:0}.admin-winner-alert .eyebrow{font-size:13px}
@media(max-width:760px){.library-grid{grid-template-columns:1fr 1fr;gap:12px}.library-selection-bar{display:block;padding:15px}.library-selection-bar .btn{width:100%;margin-top:10px}.library-place>strong{font-size:15px}.photo-library .studio-heading>.btn{width:100%}.library-camera-actions .btn{font-size:15px}.big-winner{padding:22px 15px!important}.big-winner>h2{font-size:34px}.winner-contact-form{padding:15px}.big-winner .end-actions .btn{width:100%;font-size:17px}.admin-winner-alert{padding:15px}.admin-winner-alert h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){.winner-confetti-piece{display:none}}

.admin-corner[hidden]{display:none!important}.library-place-card{display:flex;flex-direction:column;min-width:0}.library-place-card>.library-place{width:100%;flex:1}.library-delete{font:800 14px 'Nunito';color:#8a2b28;background:#fff4df;border:1px solid #c7977b;border-radius:7px;margin-top:8px;min-height:40px;padding:8px 12px;cursor:pointer}.library-delete:hover{background:#ffe1ce}.delete-photo-confirm{background:#9c3530!important;border-color:#76231f!important;box-shadow:0 3px 0 #61231f!important}

.delete-photo-confirm+.btn{margin-top:12px}

.admin-corner{display:flex;align-items:stretch;bottom:16px;right:16px;padding:0;overflow:hidden;border:2px solid #b99547;border-radius:12px;background:#124e38;color:#fff7db;box-shadow:0 4px 0 #073522,0 7px 18px #102d2533;font:800 16px 'Nunito';z-index:15}.admin-corner button{min-height:46px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.admin-corner .account-mode-open{padding:10px 17px;min-width:84px}.admin-corner .account-mode-switch{min-width:47px;padding:10px;border-left:1px solid #dbc48180;display:grid;place-items:center}.account-mode-switch svg{width:24px;height:24px}.admin-corner button:hover{background:#236c4e}.admin-corner[data-mode="player"]{background:#fff3c7;color:#154c35}.admin-corner[data-mode="player"] button:hover{background:#eedc9e}.site-footer{padding-bottom:82px}.admin-corner button:disabled{opacity:.6;cursor:wait}@media(max-width:460px){.admin-corner{right:12px;bottom:12px}}

.library-place-card{position:relative}.library-inline-actions{position:absolute;top:12px;right:12px;max-width:calc(100% - 24px);border-radius:8px;background:#fff6deed;padding:4px 7px;box-shadow:0 2px 8px #17332933;display:none}.library-place-card:has(.library-place.selected) .library-inline-actions,.library-place-card:has(.library-delete-check) .library-inline-actions{display:block}.library-inline-actions button{font:700 12px 'Nunito',sans-serif;min-height:32px;border:1px solid #a59467;border-radius:5px;background:#fff8e5;padding:4px 9px;cursor:pointer;color:#7d3024}.library-inline-actions .library-delete{margin:0;width:auto}.library-delete-check{display:flex;gap:5px;align-items:center;flex-wrap:wrap;font-size:12px}.library-delete-error{flex-basis:100%;color:#8a2c22}
