/* Shared Valhalla presentation. Status, rank, rarity and chart colours remain semantic.
   Bank/penalty availability is controlled only by site_features.json, never this theme. */
@font-face { font-family:Cinzel; src:url('../fonts/cinzel.ttf') format('truetype'); font-weight:400 900; font-display:swap; }
:root {
    color-scheme:dark;
    --bg:#090f16; --card:#111c27; --card2:#192734;
    --text:#dfe7ee; --muted:#a3b2c0; --border:#415668;
    --green:#ffa36a; --green-soft:#ff8a4d16;
    --glow-accent:#ff9859; --glow-accent-soft:#ff8a4d18;
    --royal-purple:#b44f2d; --royal-purple-bright:#ffb17d; --royal-purple-soft:#ff8a4d18;
    --ember:#ff995e; --steel:#62788c; --surface:#101a25;
}
html body { background:radial-gradient(ellipse at 45% 0,#1b2834 0,#0c121a 42%,#070a10 80%); color:var(--text); }
body:not([data-page="home"]) :is(h1,h2,h3) { font-family:Cinzel,Georgia,serif; color:#e2e8ed; letter-spacing:normal; text-shadow:0 2px 3px #0006; }
body .eyebrow { color:#ffa36a; }
body :is(.topbar,.admin-section-nav) { background:#101821f5; border-color:#5a708370; }
body :is(.nav-link,.admin-section-link) { color:#b8c6d2; }
body :is(.nav-link,.admin-section-link):is(.active,:hover) { background:#4e261c; border-color:#ef8548; color:#ffd1ad; box-shadow:0 0 15px #fb682325; }
body :is(.discord-button,.rok-notes-download-button) { background:linear-gradient(#263746,#15212d); color:#f0d2b8; border-color:#79818a; box-shadow:0 4px 16px #0005; }
body :is(.discord-button,.rok-notes-download-button):hover { border-color:var(--ember); box-shadow:0 0 16px #fb682325; }
body :is(.mobile-nav-toggle,.admin-content-tabs button,.member-detail-tabs button,.member-tab-button) { background:#162430; border-color:#536b7f; color:#c6d3dd; }
body :is(.admin-content-tabs button,.member-detail-tabs button,.member-tab-button):is(.active,[aria-selected="true"]) { background:#4e261c; color:#ffd1ad; border-color:#ef8548; box-shadow:inset 0 -2px #ef8548; }
/* Shared containers; no display/visibility/layout changes. */
body :is(.weekly-card,.point-system,.point-rule-card,.point-guide-info-card,.member-detail-card,.member-panel,.member-activity-board,.tutorial-category,.tutorial-card,.challenge-card,.challenge-guide-card,.challenge-guide-hero,.challenge-next-start,.admin-card,.admin-login-card,.admin-login-box,.admin-section,.admin-kvk-event,.admin-kvk-checkpoint,.admin-migration-daily-stats-filter-card,.hall-podium-card,.voucher-check-card,.esc-card) {
    background:linear-gradient(115deg,#192835,#101923 80%);
    border-color:#536b7f80;
    box-shadow:0 8px 24px #0003;
}
body :is(.challenge-hero,.team-bubble-shell) { background:radial-gradient(ellipse at 80% 15%,#e66c2412,transparent 38%),linear-gradient(115deg,#1c2b38,#0c141e); border-color:#536b7f80; }
body :is(.challenge-guide-steps article,.challenge-guide-goals li,.tutorial-total-time,.dashboard-period,.scan-note,.team-live-indicator) { background:#1b2b38; border-color:#62788d70; color:#c9d5df; box-shadow:none; }
body :is(.tutorial-category-title,.weekly-card-label,.top-card-player,.member-detail-card-label,.point-system-head h2,.hall-section-head h2) { color:#dce6ed; }
body :is(.top-card-value,.member-detail-card-value,.tutorial-total-time,.challenge-next-start strong) { color:#ffad70; text-shadow:none; }
body .weekly-card::before { background:linear-gradient(135deg,#ed874a09,transparent 65%); }
body .weekly-card::after { background:linear-gradient(90deg,transparent,#ed874a70,transparent); box-shadow:none; }
body .weekly-card-icon { background:#263746; color:#ffc193; border-color:#62788d70; }
body .weekly-card:hover { border-color:#c08761; box-shadow:0 8px 24px #0005; }
/* Text inputs stay readable; leave checkboxes, ranges and colour pickers native. */
body :is(input:not([type]),input[type="text"],input[type="password"],input[type="number"],input[type="search"],input[type="email"],input[type="date"],input[type="datetime-local"],input[type="time"],input[type="url"],select,textarea) {
    color:#e2e8ed; background-color:#0d1721; border-color:#536b7f;
}
body :is(input,textarea)::placeholder { color:#95a6b6; opacity:1; }
body :is(input,select,textarea) { accent-color:#ef995f; }
body :is(input,select,textarea):focus-visible { outline:2px solid #ffad70; outline-offset:2px; }
body :is(a,button,[tabindex]):focus-visible { outline:2px solid #ffad70; outline-offset:3px; }
body :is(.admin-login-submit,.challenge-primary-button,.screenshot-clipboard-button) { background:linear-gradient(#ffb377,#e77b43); border-color:#ffc28f; color:#23140d; box-shadow:0 3px 12px #0004; }
body :is(.challenge-secondary-button,.challenge-guide-back,.hall-history-toggle) { background:#192b39; border-color:#657d91; color:#e3d7ca; }
body :is(.member-detail-dialog,.member-detail-content,.member-modal-content,.member-detail-modal-content,.admin-login-dialog,.challenge-dialog,.scheduling-quick-edit-card,.scheduling-event-card,.feedback-dialog,.voucher-check-result,.esc-dialog) { background:#101a25; color:#dfe7ee; border-color:#62788d; box-shadow:0 22px 70px #0009; }
body .gift-box-hunt-status { background:#192b39; border-color:#657d9180; color:#dbe5ed; }
body :is(table th,.admin-scan-report-table th,.admin-kvk-evaluation-table th) { background-color:#1a2b39; color:#ccd9e2; border-color:#536b7f70; }
body :is(table td,table th) { border-color:#536b7f55; }
body .admin-route-loading::before { background:linear-gradient(90deg,#f3ce83,#e86a3f); }
html.admin-route-loading::before { background:linear-gradient(90deg,#f3ce83,#e86a3f); box-shadow:0 0 12px #e86a3f66; }
body .team-member-card { --team-color:#b7c9d9; --team-color-2:#ed995f; }
body.voucher-check-page { background:radial-gradient(ellipse at 45% 0,#1b2834 0,#0c121a 42%,#070a10 80%); }
body[data-page="admin"] .admin-section-nav,
body[data-page="admin"] :is(.admin-upload-card,.admin-upload-tabs,.admin-content-tabs) { background:#101a25; border-color:#536b7f80; box-shadow:0 8px 24px #0003; }
body[data-page="admin"] .admin-section-link:is(.active,:hover),
body :is(.admin-upload-tabs button,.admin-content-tabs button,[role="tab"]):is(.active,[aria-selected="true"],:hover) { background:#4e261c; border-color:#ef8548; color:#ffd1ad; box-shadow:inset 0 -1px #ef8548; }
body :is(.admin-upload-tabs button,.admin-content-tabs button) { background:#162430; border-color:#536b7f; color:#c6d3dd; }
body :is(.dashboard-guide-entry,.dashboard-guide-card,.dashboard-guide-hero,.challenge-prediction-teaser,.challenge-prediction-promo,.challenge-prediction-card) { background:linear-gradient(115deg,#192835,#101923 80%); border-color:#536b7f80; box-shadow:0 8px 24px #0003; }
body :is(.dashboard-guide-entry > a,.dashboard-guide-primary,.challenge-tabs .challenge-tab-create) { background:linear-gradient(#ffb377,#e77b43); color:#23140d; border-color:#ffc28f; box-shadow:0 3px 12px #0004; }
body .challenge-tabs button.active { background:#4e261c; color:#ffd1ad; box-shadow:inset 0 -2px #ef8548; }
/* Shared widgets are injected after page load, so these selectors override their defaults. */
body :is(.ohana-music-play,.ohana-music-inline-controls button,.ohana-music-mute) { background:#15222f; color:#dbe5ed; border-color:#61778a80; }
body :is(.ohana-music-play:hover,.ohana-music-play:focus-visible,.ohana-music-player.is-playing .ohana-music-play) { border-color:#ff995e; box-shadow:0 0 18px #ff652523; }
body .ohana-music-disc { background:radial-gradient(circle,#ffd0a0 0 10%,#ff713d 11% 18%,#172431 19% 40%,#61717e 41% 44%,#101a25 45%); box-shadow:0 0 14px #fa632c45; }
body .ohana-music-state { color:#ffaa71; }
body .ohana-music-popover { background:#101a25fa; border-color:#607487; box-shadow:0 16px 34px #0008; }
body .ohana-music-inline-controls button.active { color:#fff0e3; background:#71331e; border-color:#fa8a4e; }
body :is(.ohana-music-seek,.ohana-music-volume-slider) { accent-color:#ff8a4d; }
body .scheduling-rail { background:#101a25f5; border-color:#60778a80; color:#dbe4ec; box-shadow:0 18px 45px #0006; }
body :is(.scheduling-month-head button,.scheduling-push-toggle,.scheduling-rail-toggle,.scheduling-captain-add) { background:#1a2b39; border-color:#62788d80; color:#d5e0e8; }
body .scheduling-day { color:#c2d0db; }
body .scheduling-day.today { color:#ffddbd; box-shadow:inset 0 0 0 1px #f18b50; }
body .scheduling-day.has-events { background:#9b43252e; }
body .scheduling-day.has-events::after { background:#ff8a4c; box-shadow:0 0 8px #ff672d80; }
body .scheduling-agenda-item time { color:#ffac77; }
body .scheduling-agenda { border-color:#536d8055; }
body .scheduling-push-toggle.is-active { color:#ffac77; background:#66301d55; border-color:#e58b55; box-shadow:0 0 10px #ff73331f; }
@media(forced-colors:active) {
    body :is(a,button,input,select,textarea):focus-visible { outline-color:Highlight; }
}
