/* Mobile participation and installation */
html{scroll-padding-bottom:90px}
#submit,#leaderboard,#rules{scroll-margin-top:20px}
.mobile-nav{display:none}
.install-panel{margin-top:22px;border:1px solid var(--line);padding:16px;background:var(--panel)}
.install-panel p{font-size:13px;line-height:1.6;color:#c1c6c3}
.install-panel a{text-decoration:underline;text-underline-offset:4px}
.install-panel button{width:100%}
#install-app{color:var(--orange);font-weight:900}
#install-help[hidden],#install-app[hidden],#photo-preview[hidden]{display:none}
.submit .remember-details{display:flex;align-items:flex-start;gap:10px;text-transform:none;letter-spacing:0;font-weight:400;line-height:1.5;font-size:14px}
.submit .remember-details input{width:22px;min-height:22px;height:22px;margin:0;flex:none;accent-color:var(--orange)}
.photo-tools{display:grid;gap:10px}
.photo-first{padding:18px;border:1px solid var(--orange);background:rgba(255,106,0,.05);margin-bottom:8px}
#take-photo{width:100%;min-height:90px;gap:16px;padding:18px;font-size:18px;font-weight:900;letter-spacing:.02em;text-transform:none}
#take-photo svg{flex-shrink:0}
.photo-instruction{margin:2px 0 8px;color:#c1c6c3;font-size:14px;line-height:1.5}
#take-photo:focus-visible{outline:3px solid white;outline-offset:3px}
@media(max-width:400px){.photo-first{padding:12px}#take-photo{gap:10px;font-size:17px}}
#photo-preview{width:100%;max-height:300px;object-fit:contain;border:1px solid var(--line)}
#photo-selected,#mobile-info{font-size:13px;line-height:1.5;color:#c1c6c3}
.submit input,.submit select{font-size:16px}
#form-status{font-size:14px;line-height:1.6}
.btn:disabled{opacity:.6;cursor:wait}
@media(max-width:900px),(display-mode:standalone){
 body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}
 .mobile-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:100;background:#111413;border-top:1px solid #454b47;padding:6px 8px calc(6px + env(safe-area-inset-bottom))}
 .mobile-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:56px;font-size:12px;font-weight:700;text-align:center;padding:6px}
 .mobile-nav a span{font-size:20px}
 .mobile-nav a[aria-current]{color:var(--orange);background:#ff6a0014}
 .mobile-nav a:focus-visible{outline:2px solid var(--orange)}
}
@media print{.mobile-nav,.install-panel{display:none}body{padding-bottom:0}}

#camera-photo[hidden]{display:none}

.btn.ghost{color:var(--text)}
#mobile-info:empty,#photo-selected:empty{display:none}