@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Manrope:wght@400;600;700&display=swap";.error-boundary{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.error-container{text-align:center;background:#fff;border-radius:12px;max-width:500px;padding:2rem;box-shadow:0 20px 60px #0000004d}.error-container h2{color:#d32f2f;margin-bottom:1rem}.error-container p{color:#666;margin-bottom:1.5rem;line-height:1.6}.error-container details{text-align:left;background:#f5f5f5;border-radius:8px;padding:1rem}.error-container details code{color:#d32f2f;word-break:break-all;font-family:Courier New,monospace}.notification-container{z-index:9999;flex-direction:column;gap:.75rem;max-width:400px;display:flex;position:fixed;top:1rem;right:1rem}.notification{background:#fff;border-left:4px solid;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;animation:.3s ease-out slideIn;display:flex;box-shadow:0 4px 12px #00000026}.notification-error{background:#ffebee;border-left-color:#d32f2f}.notification-error p{color:#b71c1c}.notification-warning{background:#fff3e0;border-left-color:#f57c00}.notification-warning p{color:#e65100}.notification-success{background:#e8f5e9;border-left-color:#388e3c}.notification-success p{color:#1b5e20}.notification-info{background:#e3f2fd;border-left-color:#1976d2}.notification-info p{color:#0d47a1}.notification p{flex:1;margin:0}.notification-close{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1.5rem;transition:opacity .2s;display:flex}.notification-close:hover{opacity:1}.loading-spinner{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 1rem;display:flex}.spinner{border:4px solid #f0f0f0;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error-fallback{justify-content:center;align-items:center;min-height:300px;padding:3rem 1rem;display:flex}.error-content{text-align:center;background:#ffebee;border:1px solid #ef5350;border-radius:8px;max-width:400px;padding:2rem}.error-content h3{color:#c62828;margin-bottom:.5rem}.error-content p{color:#b71c1c;margin-bottom:1.5rem;line-height:1.6}.empty-state{justify-content:center;align-items:center;min-height:300px;padding:3rem 1rem;display:flex}.empty-content{text-align:center;color:#999}.empty-content h3{color:#666;margin-bottom:.5rem}.empty-content p{color:#999}@keyframes slideIn{0%{opacity:0;transform:translate(400px)}to{opacity:1;transform:translate(0)}}@media (width<=600px){.notification-container{max-width:none;left:.5rem;right:.5rem}.notification{padding:.75rem;font-size:.9rem}.error-container{padding:1.5rem}}:root{--bg-1:#f7f3ea;--bg-2:#f0e4d2;--ink:#132542;--brand:#0f4c81;--brand-2:#0c3457;--accent:#efb10a;--danger:#a8232f;--card:#ffffffd6;--shadow:0 18px 44px #1325422e}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 20% 10%, #fff6dd 0%, transparent 36%), radial-gradient(circle at 85% 80%, #d5e4fb 0%, transparent 32%), linear-gradient(135deg, var(--bg-1), var(--bg-2));margin:0;font-family:Manrope,Segoe UI,sans-serif}#root{min-height:100vh}.app-shell{gap:16px;width:min(1200px,94vw);margin:24px auto 32px;display:grid}.admin-login-shell{width:min(560px,94vw);margin-top:10vh}.admin-login-panel{gap:12px;padding:20px;display:grid}.admin-login-form{gap:10px;display:grid}.admin-login-error{color:#8f1f28;margin:0;font-weight:700}.hint-text{color:#39577a;margin:0}.app-footer{text-align:center;color:#13254259;padding:4px 0 8px;font-size:.78rem}.hero,.panel{background:var(--card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow);border:1px solid #fff9;border-radius:20px}.hero{z-index:100;justify-content:space-between;align-items:start;gap:16px;padding:18px 20px;display:flex;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#3f5f8a;margin:0;font-size:.8rem}h1,h2,h3{margin:0}h1{letter-spacing:.04em;color:var(--brand-2);font-family:Bebas Neue,sans-serif;font-size:clamp(2.1rem,6vw,4rem);line-height:.95}.subhead{max-width:54ch;margin:8px 0 0}.hero-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.inline-select{color:#2f4b6f;gap:4px;font-size:.85rem;font-weight:700;display:grid}.inline-select select{min-width:210px;font:inherit;border:1px solid #1325423d;border-radius:10px;padding:8px 10px}.layout-grid{grid-template-columns:320px minmax(0,1fr);gap:16px;display:grid}.panel{padding:16px}.panel-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.btn{appearance:none;color:#fff;background:linear-gradient(135deg, var(--brand), var(--brand-2));cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;pointer-events:auto;border:none;border-radius:999px;padding:10px 15px;font-weight:700;transition:transform .12s,filter .12s}.btn:hover{filter:brightness(1.03);transform:translateY(-1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn.ghost{color:var(--brand-2);background:#0f4c8114;border:1px solid #0f4c8133}.btn.small{padding:7px 12px;font-size:.9rem}.btn.danger{background:linear-gradient(135deg, #ce4653, var(--danger))}.team-award-message{color:#0f5e4a;background:#1d7c631a;border:1px solid #1d7c6347;border-radius:12px;margin:10px 0 0;padding:10px 12px;font-weight:700}.team-board-overview-list{gap:6px;margin:10px 0 0;padding-left:20px;display:grid}.team-round-summary{background:#0f4c8114;border:1px solid #0f4c8147;border-radius:12px;gap:8px;padding:12px;display:grid}.team-round-summary h3{color:var(--brand-2);margin:0;font-size:1.15rem}.team-round-summary p{margin:0}.team-round-summary-list{gap:8px;margin:4px 0 0;padding:0;list-style:none;display:grid}.team-round-summary-list li{background:#ffffffdb;border:1px solid #1325421f;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.team-round-place{text-align:center;color:#8a5f00;background:#efb10a33;border-radius:999px;min-width:42px;padding:2px 8px;font-weight:800;display:inline-block}.team-round-points{color:var(--brand-2);font-weight:800}.team-round-auction{background:#efb10a1f;border:1px solid #efb10a57;border-radius:12px;margin-top:8px;padding:12px}.team-round-auction h4{color:#7a5200;margin:0 0 6px;font-size:1.2rem}.team-round-auction ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.team-round-auction li{justify-content:space-between;align-items:center;gap:10px;font-size:1.08rem;display:flex}.team-round-auction strong{color:#7a5200;font-size:1.2rem}.teams-list{gap:10px;display:grid}.team-card{background:#ffffffdb;border:1px solid #1325421f;border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:10px;display:grid}.team-card input{font:inherit;border:1px solid #13254233;border-radius:10px;padding:8px 10px}.team-scores{justify-content:space-between;margin-top:8px;font-size:.95rem;font-weight:700;display:flex}.ranking-grid{gap:10px;margin-top:12px;display:grid}.ranking-grid ol{margin:8px 0 0;padding-left:20px}.board-panel{overflow-x:auto}.board{grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;min-width:680px;margin-top:12px;display:grid}.category-column{gap:8px;display:grid}.category-title{text-align:center;color:#fff;background:linear-gradient(145deg,#2a5f95,#15365c);border-radius:12px;place-items:center;min-height:62px;font-weight:800;display:grid}.clue-tile{cursor:pointer;color:#4a2d01;background:linear-gradient(165deg, #ffd55f, var(--accent));border:none;border-radius:12px;min-height:60px;font-size:1.2rem;font-weight:800;box-shadow:inset 0 -4px #81530033}.clue-tile.used{color:#7a746a;box-shadow:none;background:#d6d0c5}.history-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:10px;display:grid}.history-card{background:#ffffffe6;border:1px solid #13254224;border-radius:12px;padding:10px}.history-card ul{margin:8px 0 0;padding-left:18px}.board-admin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.board-admin-card{background:#ffffffdb;border:1px solid #1325421f;border-radius:14px;gap:12px;padding:12px;display:grid}.admin-label{gap:6px;font-weight:700;display:grid}.admin-label input,.admin-label select{font:inherit;border:1px solid #1325423d;border-radius:10px;padding:8px 10px}.custom-point-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.category-editor-list{gap:10px;display:grid}.category-editor-card{background:#ffffffe6;border:1px solid #13254224;border-radius:12px;gap:10px;padding:10px;display:grid}.clue-editor-list{gap:8px;display:grid}.clue-editor-row{grid-template-columns:90px 1fr 1fr;align-items:center;gap:8px;display:grid}.clue-value-badge{text-align:center;background:#eef4fb;border:1px solid #1325422e;border-radius:10px;padding:8px 10px;font-weight:700}.clue-editor-row input{font:inherit;border:1px solid #1325423d;border-radius:10px;padding:8px 10px}.boards-list{gap:8px;display:grid}.start-toggle-label{align-items:center;gap:10px;font-weight:700;display:flex}.start-toggle-label input{width:18px;height:18px;margin:0}.board-admin-filter-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.board-admin-filter-header p{margin:0}.subject-area-filter-grid{flex-wrap:wrap;gap:8px;display:flex}.subject-area-filter-option{background:#ffffffeb;border:1px solid #13254224;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-weight:700;display:inline-flex}.subject-area-filter-option input{margin:0}.board-admin-filter-count{color:#4d607d;margin:0;font-weight:600}.existing-board-row{background:#ffffffeb;border:1px solid #13254224;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.existing-board-row p{color:#39577a;margin:4px 0 0}.row-actions{gap:6px;display:flex}.admin-panel{gap:0;display:grid}.admin-toggle{appearance:none;cursor:pointer;color:var(--ink);background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;font-weight:700;display:flex}.admin-toggle h2{margin:0}.admin-arrow{font-size:1.1rem;transition:transform .2s}.admin-content{border-top:1px solid #1325421f;gap:8px;padding-top:12px;display:grid}.opsætning-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:16px;display:grid}.gamemaster-screen-card{background:#ffffffdb;border:1px solid #1325421f;border-radius:14px;padding:12px}.gamemaster-screen-card h2{margin:0 0 8px}.gamemaster-screen-card-content{align-items:flex-start;gap:24px;display:flex}.gamemaster-screen-card-content>div{flex:1;gap:12px;display:grid}.gm-primary-actions{flex-wrap:wrap;gap:8px;display:flex}.gm-danger-zone{background:#a8232f0f;border:1px solid #a8232f2e;border-radius:12px;gap:8px;padding:10px;display:grid}.gm-danger-zone h3{color:#7f1d26;margin:0}.gm-session-history{background:#ffffffe6;border:1px solid #13254224;border-radius:12px;gap:8px;padding:10px;display:grid}.gm-session-history h3{margin:0}.gm-session-list{gap:8px;max-height:280px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.gm-session-row{background:#fffffff2;border:1px solid #1325421f;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px;display:flex}.gm-session-row p{color:#39577a;margin:2px 0 0;font-size:.88rem}.gm-current-badge{color:#0f4c81;background:#0f4c811f;border:1px solid #0f4c8147;border-radius:999px;padding:5px 9px;font-size:.82rem;font-weight:700;display:inline-block}.gamemaster-screen-card-content img{border-radius:8px;flex-shrink:0;width:140px;height:140px}.opsætning-card{background:#ffffffdb;border:1px solid #1325421f;border-radius:14px;gap:12px;padding:12px;display:grid}.opsætning-card h2{margin:0}.start-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.start-card{background:#ffffffe6;border:1px solid #13254224;border-radius:14px;align-content:start;gap:12px;padding:12px;display:grid}.start-card h2{margin:0}.start-card h3{margin:0;font-size:1rem;font-weight:700}.start-card ol{margin:0;padding-left:20px}.help-section{gap:20px;display:grid}.help-section-title{text-transform:uppercase;letter-spacing:.06em;color:#13254280;border-bottom:1px solid #1325421f;margin:0;padding-bottom:8px;font-size:1.1rem;font-weight:700}.help-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.help-step{background:#ffffffe6;border:1px solid #13254224;border-radius:14px;gap:14px;padding:16px;display:flex}.help-step h3{margin:0 0 8px;font-size:1rem}.help-step ol{gap:4px;margin:0;padding-left:20px;display:grid}.help-step-number{color:#fff;background:#0f4c81;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;font-weight:700;display:flex}.help-note{color:#13254299;margin:0;font-size:.85rem;font-style:italic}.help-screenshot{border:1px solid #1325421f;border-radius:12px;width:100%;max-width:480px;margin:12px auto 4px;display:block;box-shadow:0 4px 16px #1325421a}.help-step-screenshot{border:1px solid #1325421f;border-radius:10px;width:100%;margin-top:12px;display:block;box-shadow:0 4px 12px #13254214}.start-team-list{gap:8px;max-height:420px;padding-right:4px;display:grid;overflow:auto}.buzzer-join-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.buzzer-join-card{text-align:center;background:#ffffffeb;border:1px solid #13254224;border-radius:12px;justify-items:center;gap:8px;padding:10px;display:grid}.buzzer-join-card h3{margin:0;font-size:1rem}.buzzer-join-card img{border:1px solid #13254224;border-radius:8px;width:140px;height:140px}.buzzer-join-card a{color:var(--brand);font-weight:700}.admin-actions{gap:8px;display:grid}.btn.full-width{width:100%}.modal-overlay{z-index:20;background:#0a1a2ca3;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-card{background:#fff;border-radius:18px;width:min(720px,94vw);padding:18px;animation:.22s pop-in;box-shadow:0 20px 50px #0000004d}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-meta{justify-content:space-between;align-items:center;display:flex}.modal-card h2{margin:14px 0;font-size:clamp(1.4rem,3.2vw,2rem)}.answer{background:#eef6ff;border:1px solid #c5dcf5;border-radius:12px;padding:12px;font-weight:700}.award-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin:12px 0;display:grid}.round-summary-panel{gap:10px;display:grid}.summary-date{color:#375375;margin:0;font-weight:600}.summary-table-wrap{overflow-x:auto}.summary-table{border-collapse:collapse;width:100%;min-width:760px}.summary-table th,.summary-table td{text-align:left;border-bottom:1px solid #13254224;padding:10px 8px}.summary-table thead th{letter-spacing:.02em;color:#2f4b6f;font-size:.9rem}.purchase-controls{align-items:center;gap:8px;display:flex}.purchase-controls input{width:92px;font:inherit;border:1px solid #13254240;border-radius:9px;padding:8px}.buzzer-status-card{background:#ffffffe6;border:1px solid #13254224;border-radius:12px;gap:8px;margin-bottom:10px;padding:10px;display:grid}.buzzer-status-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.buzzer-status-actions{justify-content:flex-start;display:flex}.buzzer-buzz-list{gap:6px;display:grid}.buzzer-buzz-list p{margin:0}.buzzer-buzz-row{background:#ffffffeb;border:1px solid #1325421f;border-radius:8px;justify-content:space-between;gap:10px;padding:6px 8px;display:flex}.endgame-grid{gap:12px;display:grid}.endgame-card{background:#ffffffe6;border:1px solid #13254224;border-radius:14px;gap:10px;padding:12px;display:grid}.endgame-winner{margin:0;font-size:1.1rem;font-weight:800}.endgame-legend{flex-wrap:wrap;gap:8px 12px;display:flex}.endgame-legend-item{align-items:center;gap:6px;font-weight:700;display:inline-flex}.endgame-legend-dot{border-radius:999px;width:10px;height:10px;display:inline-block}.endgame-chart-wrap{overflow-x:auto}.endgame-chart-wrap svg{width:100%;min-width:720px;height:auto}@media (width<=980px){.layout-grid,.board-admin-grid,.start-grid,.help-steps{grid-template-columns:1fr}.custom-point-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clue-editor-row{grid-template-columns:1fr}.board{min-width:620px}.hero{flex-direction:column;align-items:flex-start;gap:12px}.hero-actions{flex-wrap:wrap;order:-1;justify-content:space-between;width:100%}.hero-actions button{flex:1;min-width:60px;min-height:44px;font-size:.9rem}}
