@font-face{font-family:RuneScape UF;src:url(/fonts/RuneScape-UF.woff2)format("woff2")}:root{--parchment:#f5e6bee6;--card:#fffc;--brown-dark:#4b3621;--brown-light:#6b4f2a;--border:#8b7355;--shadow:0 6px 18px #00000040}*{box-sizing:border-box;margin:0;padding:0}body{color:#000;background:url(/images/parchment.jpg) 50%/cover fixed;min-height:100vh}h2{text-align:center;margin-top:10px;font-size:clamp(1.5rem,3vw,2.5rem)}.year{text-align:center;font-size:clamp(2rem,4vw,4rem)}.banner-text{text-align:center;font-family:RuneScape UF;font-size:clamp(2rem,8vw,5rem)}.navbar{z-index:10;gap:12px;width:100%;padding:15px 25px;display:flex;position:relative}.navbar-link{color:#000;background:#f5e6bee6;border:2px solid #8b7355;border-radius:10px;padding:10px 18px;font-size:1.1rem;font-weight:700;text-decoration:none;transition:transform .15s,background .15s;box-shadow:0 4px 10px #0003}.navbar-link:hover{background:#ffffffe6;transform:translateY(-2px)}.home-page{text-align:center}.team-code-form{background:var(--parchment);width:min(90%,450px);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:16px;margin:50px auto 0;padding:30px;display:flex}.team-code-text{font-size:clamp(1.2rem,3vw,1.6rem);font-weight:700}.team-code{border:1px solid var(--border);text-align:center;background:#fffc;border-radius:8px;width:100%;padding:12px;font-size:1.1rem}.team-code:focus{border-color:var(--brown-dark);outline:none}.team-code-form button{background:var(--brown-dark);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px;font-size:1rem;font-weight:700;transition:all .15s}.team-code-form button:hover{background:var(--brown-light);transform:translateY(-2px)}.team-progress-list{flex-direction:column;gap:15px;width:min(90%,600px);margin:40px auto 0;display:flex}.team-progress-list h2{font-family:RuneScape UF}.team-progress-card{background:#f5e6bee6;border:2px solid #8b7355;border-radius:14px;width:100%;padding:18px;box-shadow:0 4px 12px #0003}.team-progress-name{margin-bottom:10px;font-size:1.4rem;font-weight:700}.team-progress-bar{background:#00000026;border-radius:10px;height:20px;overflow:hidden}.team-progress-fill{background:#4b3621;height:100%;transition:width .3s}.team-progress-text{margin-top:8px;font-weight:700}.bingo-board{grid-template-columns:repeat(5,minmax(50px,1fr));gap:10px;width:min(90vw,900px);margin:0 auto;display:grid}.bingo-cell{aspect-ratio:1;border:3px solid var(--brown-dark);background:var(--parchment);cursor:pointer;border-radius:10px;width:100%;padding:0;position:relative;overflow:hidden}.bingo-image{object-fit:contain;width:100%;height:100%;display:block}.bingo-cell:disabled{cursor:default}.empty-cell{color:#888;place-items:center;width:100%;height:100%;font-size:2rem;display:grid}.check-overlay{color:#fff;background:#00b40073;place-items:center;font-size:3rem;font-weight:700;display:grid;position:absolute;inset:0}.admin-board{min-height:100vh;display:flex}.admin-sidebar{background:#f5e6bea6;border-right:2px solid #00000026;flex-direction:column;align-items:center;width:320px;padding:25px;display:flex}.admin-sidebar h2{text-align:center;width:100%;margin-bottom:20px;font-family:RuneScape UF;font-size:2.5rem}.admin-new-team{background:var(--card);width:100%;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:14px;margin-bottom:25px;padding:20px;display:flex}.admin-new-team h3{text-align:center}.admin-new-team label{flex-direction:column;gap:6px;font-weight:700;display:flex}.admin-new-team input{border:1px solid var(--border);border-radius:8px;padding:12px;font-size:1rem}.admin-new-team button{background:var(--brown-dark);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px;font-weight:700;transition:all .15s}.admin-new-team button:hover{background:var(--brown-light);transform:translateY(-1px)}.admin-member-list{flex-direction:column;gap:10px;display:flex}.admin-member-list input{width:100%}.admin-member-title{text-align:center;color:var(--brown-dark);margin-top:4px;margin-bottom:-2px;font-weight:700}.admin-team-list{flex-direction:column;gap:12px;width:100%;list-style:none;display:flex}.admin-team-list button{background:var(--card);cursor:pointer;border:1px solid #00000026;border-radius:12px;width:100%;padding:15px;font-size:1rem;transition:all .15s}.admin-team-list button:hover{background:#fff;transform:translateY(-2px)}.admin-team-list button.is-selected{background:var(--brown-dark);color:#fff;font-weight:700}.admin-team-code{font-size:.85rem}.admin-team-list button.is-selected .admin-team-code{color:#fff}.admin-signout{width:100px;height:40px;margin-top:50px}.admin-team-card{text-align:left;flex-direction:column;gap:6px;display:flex}.admin-team-name{font-size:1.15rem;font-weight:700}.admin-team-members{color:#555;font-size:.9rem;line-height:1.35}.admin-team-list button.is-selected .admin-team-members{color:#ffffffe6}.admin-main{flex-direction:column;flex:1;align-items:center;padding:30px;display:flex}.admin-login{background:var(--parchment);width:min(90%,380px);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;gap:18px;margin:10vh auto 0;padding:30px;display:flex}.admin-login h1{text-align:center;font-family:RuneScape UF;font-size:clamp(2rem,5vw,3rem)}.admin-login label{flex-direction:column;gap:8px;display:flex}.admin-login-label{font-weight:700}.admin-login input{border:1px solid var(--border);background:#fffc;border-radius:8px;width:100%;padding:12px;font-size:1rem}.admin-login button{background:var(--brown-dark);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px;font-weight:700}.admin-login button:hover{background:var(--brown-light)}.admin-login-error{text-align:center;color:#9b1c1c;font-weight:700}.admin-uploaders{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;width:min(90%,900px);margin-top:25px;display:grid}.admin-uploader{text-align:center;background:#fffc;border-radius:10px;flex-direction:column;gap:8px;padding:12px;font-weight:700;display:flex;box-shadow:0 3px 8px #00000026}.admin-uploader input{width:100%}@media (width<=800px){.admin-board{flex-direction:column}.admin-sidebar{border-bottom:2px solid #00000026;border-right:none;width:100%}.admin-main{padding:15px}}
