:root{font-family:Arial,Helvetica,sans-serif;color:#151515;background:#f1f1f1;color-scheme:light}*{box-sizing:border-box}body{margin:0}main{max-width:1100px;margin:auto;text-align:center;padding:32px 24px 80px}h1{font-size:2.3rem}section{background:white;padding:28px;margin:24px auto;border-radius:8px;box-shadow:0 4px 20px #0001}button{background:#0782ff;color:white;border:0;border-radius:5px;padding:16px 28px;font-size:1.15rem;cursor:pointer;min-height:54px;margin:10px}button:disabled{opacity:.5}input,textarea{font:inherit;padding:12px;border:1px solid #aaa;border-radius:4px;max-width:100%;margin:12px}input[type=number]{width:100px}img{max-width:100%;height:auto;border-radius:5px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px}.grid img{width:100%}#notice{font-size:1.3rem;min-height:32px}#adminGesture{position:fixed;bottom:0;left:0;background:transparent;color:#777;width:60px;height:60px;margin:0}details{text-align:left;padding:18px}a{color:#0673d9}[hidden]{display:none!important}
.processing #notice::before{content:'';display:inline-block;width:24px;height:24px;border:3px solid #c6e1ff;border-top-color:#0782ff;border-radius:50%;vertical-align:middle;margin-right:12px;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
body{background:#f0f0f0}button,.button{background:#007bff;transition:transform .14s,background .14s,box-shadow .14s;touch-action:manipulation}button:hover,.button:hover{background:#0056b3}button:active,button.pressed,.button:active,.button.pressed{transform:scale(.95);background:#00438c}button:focus-visible,a:focus-visible{outline:3px solid #ffb800;outline-offset:4px}.background-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin:24px 0}.background-option{padding:0;margin:0;width:204px;height:154px;border:2px solid transparent;border-radius:10px;background:#fff;color:#333;overflow:hidden}.background-option img{width:200px;height:150px;object-fit:cover;border-radius:8px}.background-option[aria-pressed=true]{border-color:#007bff;box-shadow:0 0 0 3px #007bff45}.background-option:hover{background:#eaf3ff}.text-button{background:transparent;color:#007bff;font-size:1rem}.text-button:hover{background:#e4efff}.camera-controls{display:flex;flex-direction:column;align-items:center}.timer-controls{display:flex;justify-content:center;align-items:center}.timer-controls input{width:70px;text-align:center;margin:0;-moz-appearance:textfield}.timer-controls input::-webkit-inner-spin-button{appearance:none}.timer-controls button{font-size:1.7rem;min-width:60px}.busy-overlay{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.85);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;font-size:1.4rem}.spinner{width:90px;height:90px;border:9px solid #ffffff30;border-top-color:#007bff;border-radius:50%;animation:spin 1s linear infinite}.busy-overlay progress{width:min(350px,85vw);accent-color:#007bff}.busy-overlay output{padding:15px}.button{display:inline-block;color:#fff;padding:14px 20px;border-radius:5px;text-decoration:none;margin:8px}.gallery-card img{display:block;margin:auto;max-height:450px;object-fit:contain}.gallery-card{padding:15px;background:#fff;border-radius:8px}@media(prefers-reduced-motion:reduce){button,.button{transition:none}.spinner{animation-duration:3s}}

/* Background selector and modal match the supplied two-page reference. */
main { padding-bottom: 100px; }
.background-actions {display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin:12px 0 24px}
.background-actions .text-button {background:transparent;color:#007bff;padding:8px;font-size:16px}
.abort-button {position:fixed;bottom:18px;right:18px;z-index:10001;background:#e00000;color:white;min-height:48px;box-shadow:0 2px 8px #0003}
.guest-dialog {border:0;border-radius:6px;padding:32px;max-width:520px;width:calc(100% - 80px);text-align:center;color:#222;background:white;box-shadow:0 8px 40px #0005;overflow:visible}
.guest-dialog::backdrop {background:#0008}
.guest-dialog p {line-height:1.5}
.guest-dialog .dialog-close {position:absolute;right:-10px;top:-10px;border-radius:50%;background:red;color:white;margin:0;width:44px;height:44px;padding:0;font-size:30px;min-width:0}
.danger {background:#d90000!important;color:white!important}
@media(max-height:600px){.guest-dialog{max-height:80vh;overflow:auto;padding:20px}.guest-dialog .dialog-close{right:0;top:0}.guest-dialog img{width:140px}}

body:has(#backgrounds:not([hidden])) main{max-width:1600px}#backgrounds{background:transparent;box-shadow:none;padding:8px}#backgrounds h3{margin-top:28px}

body:has(#backgrounds:not([hidden])) #heading,body:has(#backgrounds:not([hidden])) #notice:empty{display:none}.guest-dialog .dialog-close{min-height:44px}
