:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#eaf2ff;background:#091426;font-size:16px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 90% 0%,#15325b 0,transparent 35%),#091426}button,input,select{font:inherit}button{cursor:pointer;border:0;background:#ff9d35;color:#172034;border-radius:14px;padding:.85rem 1.15rem;font-weight:800;min-height:48px}button:hover{filter:brightness(1.08)}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{background:#223b5e;color:#f3f8ff}button.danger{background:#9e3945;color:white}a{color:#98ceff}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,4vw,3rem);line-height:1.12}h2{font-size:1.3rem}p{line-height:1.5}.shell{max-width:1200px;margin:auto;padding:28px}.narrow{max-width:590px}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.brand{font-weight:900;letter-spacing:.08em;color:#ffad52}.muted{color:#a6b8cf}.small{font-size:.875rem}.card{background:#142641;border:1px solid #315078;border-radius:22px;padding:24px;box-shadow:0 12px 30px #02091244}.stack{display:grid;gap:18px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row>*{min-width:0}label{display:grid;gap:7px;font-weight:650}input,select{width:100%;background:#091a30;color:#fff;border:1px solid #6683a9;border-radius:11px;padding:12px;min-height:48px}input[type=color]{width:60px;padding:3px}input[type=file]{height:auto}.notice{border-left:4px solid #ff9d35;padding:10px 14px;background:#192e4b;border-radius:0 12px 12px 0}.error{color:#ffc2bc}.success{color:#a3f3bd}.hide{display:none!important}.group-choice{display:flex;gap:12px;align-items:center;padding:14px;background:#0d1e36;border:2px solid #315078;border-radius:14px;cursor:pointer}.group-choice:has(input:checked){border-color:var(--color);background:#233958}.group-choice input{width:22px;min-height:22px;accent-color:var(--color)}.swatch{width:18px;height:18px;border-radius:50%;background:var(--color);flex:none}.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.answer{font-size:2rem;min-height:110px;background:#1d3f69;color:#fff;border:2px solid #6781a2}.answer.selected{background:#ff9d35;color:#121c2a;border-color:#ffe0a0}.timer{font-size:clamp(2.8rem,9vw,6rem);font-variant-numeric:tabular-nums;font-weight:900;line-height:1}.pill{display:inline-flex;padding:6px 12px;border-radius:999px;background:#29466a;color:#e4f2ff;font-weight:750}.group-row{display:flex;align-items:center;gap:12px;border-left:6px solid var(--color);padding:12px 16px;background:#11253e;border-radius:12px;margin:8px 0}.group-row strong{margin-left:auto;white-space:nowrap}.bar{height:10px;border-radius:6px;background:#30455e;overflow:hidden;margin-top:8px}.bar>i{height:100%;display:block;background:var(--color)}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:10px;border-bottom:1px solid #36506e}.display{max-width:1500px;padding:24px 38px}.display .question{font-size:clamp(2.2rem,4.3vw,4.8rem);line-height:1.15;white-space:pre-wrap;overflow-wrap:anywhere;margin:24px 0}.options{display:grid;grid-template-columns:1fr 1fr;gap:16px}.option{display:flex;align-items:flex-start;gap:16px;background:#152b48;border:2px solid #3a5576;border-radius:18px;padding:20px;font-size:clamp(1.15rem,2vw,2.3rem);line-height:1.3;white-space:pre-wrap;overflow-wrap:anywhere}.option b{color:#ffb95e}.option.correct{border-color:#46dc8e;background:#174b3e}.display .groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.display .group-row{min-height:100px;display:block}.display .group-row strong{display:block;margin:5px 0;font-size:1.8rem}.rank{font-size:1.2rem}.settings-row{display:grid;grid-template-columns:1fr 80px auto;gap:10px;align-items:end}.code{font-size:3rem;font-weight:900;letter-spacing:.12em;color:#ffb75e}pre,code{white-space:pre-wrap;overflow-wrap:anywhere}.projector-summary{font-size:clamp(1.1rem,2vw,2rem)}@media(max-width:750px){.shell{padding:18px}.grid,.options{grid-template-columns:1fr}.display{padding:18px}.display .groups{grid-template-columns:1fr 1fr}.settings-row{grid-template-columns:1fr 65px auto}.card{padding:18px}}@media(max-width:480px){.display .groups{grid-template-columns:1fr}.display .group-row{min-height:auto}.answer{min-height:100px}}

.score-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}.score-strip span{border-left:5px solid var(--color);padding:7px 10px;background:#172e4b;border-radius:8px;font-size:clamp(.85rem,1.5vw,1.2rem);overflow-wrap:anywhere}.score-strip b{float:right;color:#ffbc65}@media(max-width:750px){.score-strip{grid-template-columns:1fr 1fr}}
.roster{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.roster>span{display:inline-flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;background:#203a5a}.remove-player{min-height:32px;padding:3px 9px}

.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.85rem 1.15rem;border-radius:14px;background:#ff9d35;color:#172034;text-decoration:none;font-weight:800;width:max-content}dialog{color:#eaf2ff;background:#091426;border:1px solid #6683a9;border-radius:18px;width:min(900px,calc(100vw - 28px));max-height:88vh;padding:24px;box-shadow:0 20px 80px #000a}dialog::backdrop{background:#030c1bcc}.preview-item{border:1px solid #315078;background:#142641;border-radius:14px;padding:18px}.preview-item h3{white-space:pre-wrap;overflow-wrap:anywhere}.preview-item ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.preview-item li{white-space:pre-wrap;overflow-wrap:anywhere;border-left:4px solid #4b6686;padding:6px 10px}.preview-item li.correct{border-color:#46dc8e;background:#174b3e}.preview-item p{margin:12px 0 0}@media(max-width:750px){dialog{padding:16px}}
/* Quiz na telefonie: pełna treść pytania i czytelne warianty odpowiedzi. */
.student-question{font-size:clamp(1.25rem,5vw,1.75rem);line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:18px}
.student-answers{display:grid;gap:11px}
.student-option{display:flex;align-items:flex-start;text-align:left;gap:14px;width:100%;min-height:64px;padding:14px;background:#1b3b62;color:#f5f9ff;border:2px solid #54749a;font-size:1rem;font-weight:600;line-height:1.35}
.student-option .option-letter{display:grid;place-items:center;min-width:34px;height:34px;background:#ffae50;color:#172034;border-radius:8px;font-weight:900}
.student-option .option-text{white-space:pre-wrap;overflow-wrap:anywhere;min-width:0;padding-top:5px}
.student-option.selected{border-color:#ffae50;background:#3d3e5b}
.student-option.correct{border-color:#54db92;background:#1b4b3e}
.student-option.incorrect{border-color:#d98080}
.student-option:disabled{cursor:default;opacity:1}
.mobile-timer{font-size:2.1rem;font-weight:900;font-variant-numeric:tabular-nums;color:#ffb95e}
.mobile-timer:empty{display:none}
.solution{margin-top:16px;padding:14px;background:#194634;border-left:4px solid #54db92;border-radius:8px;line-height:1.5}
.solution p{white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0 0}
.result-winner{font-size:1.15rem;font-weight:800;color:#ffbf70}
.student-scores{display:grid;gap:10px}
.student-score{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;border-left:5px solid var(--color);padding:11px 13px;background:#0e2039;border-radius:9px}
.student-score>span{display:flex;align-items:center;gap:9px;min-width:0;overflow-wrap:anywhere}
.student-score small{grid-column:1/-1;color:#b3c8df}
@media(max-width:480px){.narrow{padding:16px}.student-option{padding:12px}.student-score{font-size:.94rem}}

/* Konfiguracja rund i lista uczestników w panelu nauczyciela. */
.round-row{display:grid;grid-template-columns:minmax(90px,.7fr) repeat(3,minmax(100px,1fr));gap:12px;align-items:end;padding:12px;border:1px solid #315078;border-radius:12px;background:#0e2039}
.round-row>strong{align-self:center}.round-row input{max-width:100%}
.round-source,.round-upload{grid-column:1/-1}.round-upload{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.round-upload label{flex:1 1 190px}.round-upload button{flex:none}
.bank-catalog{display:grid;gap:10px;max-height:450px;overflow:auto}.bank-card{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px;background:#0e2039;border:1px solid #315078;border-radius:12px}.bank-card>div:first-child{min-width:0;overflow-wrap:anywhere}.bank-card p{margin:4px 0 0}.bank-card .row{flex:none}.bank-card button{min-height:38px;padding:7px 10px;font-size:.85rem}
.check-row{display:flex;align-items:center;gap:10px;font-weight:650}.check-row input{width:22px;min-height:22px;accent-color:#ff9d35}
.group-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.roster-group{border-left:6px solid var(--color);background:#0e2039;border-radius:12px;padding:12px;min-width:0}
.roster-group h4{display:flex;align-items:center;gap:9px;margin:0 0 10px;font-size:1rem;overflow-wrap:anywhere}
.roster-group h4 small{margin-left:auto;color:#b3c8df;font-weight:500;white-space:nowrap}
.roster-list{display:flex;flex-wrap:wrap;gap:7px}
.roster-person{display:inline-flex;align-items:center;gap:7px;padding:5px 7px;border:1px solid #36506e;border-radius:8px;overflow-wrap:anywhere}
/* Projektor: wykresy i ikony wyniku. */
.display .chart{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:22px 0}
.display .chart.chart-stacked{grid-template-columns:minmax(0,1fr)}
.chart-row{padding:18px 20px;background:#142641;border:1px solid #315078;border-left:7px solid var(--color);border-radius:16px;min-width:0;box-shadow:0 12px 30px #02091233;animation:chart-enter .6s both;animation-delay:var(--delay)}
.chart-head{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:clamp(1.05rem,2vw,1.55rem)}
.chart-head>span{min-width:0;overflow-wrap:anywhere}.chart-head>span small{font-size:.7em;color:#b3c8df;margin-left:5px}.chart-head>strong{white-space:nowrap}
.chart-medal{display:inline-block;animation:icon-bob 2.4s ease-in-out infinite;animation-delay:var(--delay)}
.chart-track{height:22px;background:#30455e;border-radius:15px;margin:14px 0 8px;overflow:visible}
.chart-fill{position:relative;width:var(--pct);height:100%;min-width:0;border-radius:15px;background:var(--color);box-shadow:0 0 16px var(--color);animation:bar-grow 1.1s ease-out both;animation-delay:var(--delay)}
.chart-runner{position:absolute;right:-8px;top:-11px;color:#fff;font-size:1.8rem;line-height:1;animation:icon-bob 1.5s ease-in-out infinite}
.score-heading{margin:30px 0 6px}.display #screen>h1{margin-top:15px}
@keyframes bar-grow{from{width:0}to{width:var(--pct)}}
@keyframes icon-bob{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-7px) rotate(9deg)}}
@keyframes chart-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:750px){.round-row{grid-template-columns:1fr 1fr}.round-row>strong{grid-column:1/-1}.bank-card{display:block}.bank-card .row{margin-top:10px}.group-roster,.display .chart{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.chart-row,.chart-fill,.chart-medal,.chart-runner{animation:none}}

/* Pytanie widoczne na ekranie nauczyciela i projektorze. */
.live-question{background:#0e2039;border:1px solid #315078;border-radius:14px;padding:16px;min-width:0}
.live-question h3,.projector-question h1{white-space:pre-wrap;overflow-wrap:anywhere;margin:14px 0}
.live-options{list-style:none;margin:12px 0;padding:0;display:grid;gap:8px}
.live-options li{white-space:pre-wrap;overflow-wrap:anywhere;border:2px solid #315078;border-radius:9px;padding:10px 12px}
.live-options li.correct,.projector-option.correct{border-color:#54db92;background:#194634}
.projector-question h1{font-size:clamp(1.8rem,3.2vw,3.6rem);line-height:1.2}
.projector-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0}
.projector-option{display:flex;align-items:flex-start;gap:14px;background:#142b49;border:2px solid #416186;border-radius:15px;padding:16px;font-size:clamp(1.15rem,2vw,2rem);white-space:pre-wrap;overflow-wrap:anywhere}
.projector-option b{display:grid;place-items:center;flex:none;min-width:40px;min-height:40px;border-radius:9px;background:#ffad52;color:#172034}
@media(max-width:750px){.projector-options{grid-template-columns:1fr}}

.chapter-picker{grid-column:1/-1;border-top:1px solid #315078;padding-top:12px}
.chapter-picker summary{cursor:pointer;font-weight:750;color:#ffbb6a;overflow-wrap:anywhere}
.chapter-options{display:grid;gap:7px;max-height:260px;overflow:auto;margin-top:12px;padding:4px}
.chapter-area{color:#b3c8df;margin-top:7px}
.chapter-check{display:flex;align-items:flex-start;gap:10px;background:#152b48;border-radius:9px;padding:8px;cursor:pointer;font-weight:500}
.chapter-check input{width:20px;min-height:20px;flex:none;accent-color:#ff9d35}
.chapter-check span{overflow-wrap:anywhere}.chapter-check small{color:#b3c8df}
/* Ranking końcowy na projektorze; widoczne są tylko pseudonimy i punkty. */
.player-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px;max-height:calc(100vh - 235px);overflow:auto;align-content:start;padding-right:6px}
.player-board[data-size="large"]{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.player-rank{display:flex;align-items:center;gap:12px;min-width:0;padding:12px 15px;background:#142641;border:1px solid #315078;border-radius:14px;animation:chart-enter .6s both;animation-delay:var(--delay)}
.player-board[data-size="large"] .player-rank{padding:8px 10px;gap:8px}
.rank-icon{font-size:1.8rem;flex:none;display:inline-block;animation:icon-bob 2s ease-in-out infinite;animation-delay:var(--delay)}
.rank-name{font-weight:800;font-size:clamp(1rem,1.7vw,1.45rem);overflow-wrap:anywhere;min-width:0}
.rank-score{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums;color:#ffbd6b}
.scoring-rules{margin-top:18px}.scoring-rules summary{cursor:pointer;display:list-item;width:fit-content;padding:12px 16px;border-radius:12px;background:#223b5e;font-weight:800;color:#fff;font-size:1rem}.scoring-rules summary:hover{background:#315078}.scoring-rules summary:focus-visible{outline:3px solid #ffbd6b;outline-offset:3px}.scoring-rules ul{padding-left:1.25rem;margin:16px 0 0;display:grid;gap:10px;line-height:1.5}
.scoring-rules .rules-hide{display:none}.scoring-rules[open] .rules-show{display:none}.scoring-rules[open] .rules-hide{display:inline}
/* Panel nauczyciela: szeroka konfiguracja i osobne okno przewijanego katalogu. */
.teacher-shell{max-width:1500px}.teacher-shell h2{font-size:1.55rem;margin-bottom:10px}.teacher-shell h3{font-size:1.2rem}
.teacher-header{margin-bottom:10px}.teacher-nav{display:flex;flex-wrap:wrap;gap:8px;position:sticky;top:0;z-index:5;padding:10px 0;background:#091426ed;backdrop-filter:blur(10px)}
.teacher-nav a{padding:9px 13px;background:#203b5c;border-radius:10px;text-decoration:none;color:#eff6ff;font-weight:750}.teacher-nav a:hover,.teacher-nav a:focus-visible{background:#31547d}
.teacher-overview{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.55fr);gap:18px;align-items:start}.teacher-overview>.card{min-width:0}
.upload-inline{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.upload-inline label{flex:1 1 280px}.upload-inline button{flex:none}
.teacher-shell .bank-catalog{height:clamp(220px,42vh,490px);max-height:none;overflow-y:auto;overflow-x:hidden;padding:8px;border:1px solid #365577;border-radius:14px;background:#0a1a30;scrollbar-color:#7799c1 #162b46;scrollbar-width:auto}
.teacher-shell .bank-catalog::-webkit-scrollbar{width:12px}.teacher-shell .bank-catalog::-webkit-scrollbar-thumb{background:#7799c1;border-radius:10px;border:2px solid #162b46}
.bank-used{display:inline-block;margin-top:5px;font-size:.78rem;color:#c0d2e8}.bank-card .row{justify-content:flex-end}.bank-card button.danger{background:#8d3441;color:#fff}
.setup-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(150px,1fr);gap:14px}.teacher-setup #roundRows{gap:12px}
.teacher-live-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:20px;align-items:start}.teacher-live-main{min-width:0}.teacher-roster-panel{background:#0e2039;border:1px solid #315078;border-radius:16px;padding:18px;min-width:0}.teacher-roster-panel h3{margin-bottom:14px}.teacher-roster-panel .group-roster{grid-template-columns:1fr}
.results-row{display:flex;align-items:end;gap:18px;flex-wrap:wrap}.results-row label{flex:1 1 300px}.results-row .button-link{flex:none}
#previewDialog{width:min(1100px,calc(100vw - 28px));max-height:92vh;overflow:hidden}#previewDialog .top{margin-bottom:12px}#previewDialog #previewMeta{margin-bottom:12px}#previewQuestions{max-height:calc(92vh - 175px);overflow-y:auto;padding:2px 12px 12px 2px;scrollbar-color:#7799c1 #162b46}#previewQuestions .preview-item{line-height:1.5}#previewQuestions .preview-item li{padding:9px 12px}
#deleteBankDialog{width:min(540px,calc(100vw - 28px))}#deleteBankDialog .row{justify-content:flex-end}
.quiz-history{display:grid;gap:10px;max-height:450px;overflow-y:auto;padding:8px;border:1px solid #365577;border-radius:14px;background:#0a1a30;scrollbar-color:#7799c1 #162b46}
.quiz-history-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px;background:#0e2039;border:1px solid #315078;border-radius:12px}
.quiz-history-item>div:first-child{min-width:0;overflow-wrap:anywhere}.quiz-history-item p{margin:5px 0 0}.quiz-history-item .row{flex:none}.quiz-history-item .button-link,.quiz-history-item button{min-height:42px;padding:8px 12px;font-size:.9rem}
#deleteQuizDialog{width:min(580px,calc(100vw - 28px))}#deleteQuizDialog .row{justify-content:flex-end}
@media(max-width:1000px){.teacher-overview,.teacher-live-layout{grid-template-columns:1fr}.teacher-roster-panel .group-roster{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.teacher-shell{padding:16px}.teacher-roster-panel .group-roster,.setup-top{grid-template-columns:1fr}.teacher-shell .bank-catalog{height:320px}.teacher-nav{gap:6px}.teacher-nav a{font-size:.85rem;padding:8px 10px}.bank-card .row{justify-content:flex-start}.quiz-history-item{display:block}.quiz-history-item .row{margin-top:10px}}
@media(max-width:850px){.player-board,.player-board[data-size="large"]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.player-board,.player-board[data-size="large"]{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.player-rank,.rank-icon{animation:none}}
/* Panel nauczyciela: szybki podgląd, kafelki i zwijane sekcje. */
.teacher-dashboard{background:linear-gradient(125deg,#172d4a,#11233b);border:1px solid #436285;border-radius:22px;padding:22px;box-shadow:0 16px 32px #02091244}
.teacher-dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.teacher-dashboard-head h2{font-size:clamp(1.5rem,3vw,2.2rem);margin:4px 0 5px}.teacher-dashboard-head p{margin:0}.teacher-dashboard-head .pill{white-space:nowrap}
#dashboardStatus[data-phase="question"],#dashboardStatus[data-phase="reveal"],#dashboardStatus[data-phase="round_result"]{background:#245848;color:#cbffe2}
#dashboardStatus[data-phase="lobby"]{background:#634923;color:#ffe3b9}
.teacher-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.teacher-tile{display:grid;align-content:start;gap:6px;padding:16px;min-height:120px;color:#f3f8ff;text-decoration:none;background:#0d2039;border:1px solid #3c5a7d;border-radius:15px;transition:background .18s,border-color .18s,transform .18s}
.teacher-tile:hover,.teacher-tile:focus-visible{background:#224268;border-color:#ffb75e;transform:translateY(-2px)}.teacher-tile strong{font-size:1.05rem}.teacher-tile small{color:#bdd0e7;overflow-wrap:anywhere}.tile-icon{font-size:1.4rem;line-height:1;color:#ffb75e}
.teacher-overview{grid-template-columns:1fr 1fr}.teacher-overview>.teacher-panel{min-width:0}
.teacher-panel{padding:0;scroll-margin-top:18px;overflow:clip}.teacher-panel-head{display:flex;align-items:center;gap:14px;padding:20px 24px;list-style:none;cursor:pointer;min-height:82px}.teacher-panel-head::-webkit-details-marker{display:none}.teacher-panel-head:hover{background:#1c3554}.teacher-panel-head:focus-visible{outline:3px solid #ffbd6b;outline-offset:-5px}.teacher-panel-head>span:nth-child(2){display:grid;gap:3px;min-width:0;flex:1}.teacher-panel-head strong{font-size:1.3rem;line-height:1.2}.teacher-panel-head small{font-size:.85rem;color:#b8cce3;overflow-wrap:anywhere}
.panel-symbol{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:#284767;color:#ffbd6b;font-weight:900;font-size:1.35rem}.panel-chevron{display:block;flex:none;width:11px;height:11px;border-right:2px solid #bbd0e6;border-bottom:2px solid #bbd0e6;transform:rotate(45deg);margin:0 5px 6px;transition:transform .18s}.teacher-panel[open]>.teacher-panel-head .panel-chevron{transform:rotate(225deg);margin:6px 5px 0}.teacher-panel[open]>.teacher-panel-head{border-bottom:1px solid #365577}.teacher-card-body{padding:22px 24px 24px}.teacher-card-body>p:first-child{margin:0}
.round-extra{grid-column:1/-1;border-top:1px solid #315078;padding-top:10px;min-width:0}.round-extra>summary{cursor:pointer;color:#ffbc70;font-weight:750;overflow-wrap:anywhere}.round-extra>summary:focus-visible{outline:2px solid #ffbd6b;outline-offset:3px}.round-extra-body{display:grid;gap:14px;padding-top:15px}.round-extra .chapter-picker{padding-top:12px}
.teacher-shell #notice{position:fixed;right:20px;bottom:18px;z-index:10;max-width:min(520px,calc(100vw - 40px));border:1px solid #d08b39;box-shadow:0 15px 35px #020912aa;margin:0}.teacher-shell #notice:empty{display:none}.teacher-shell #notice.error{background:#542b36;border-color:#e58f9b;color:#fff}
@media(max-width:1150px){.teacher-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.teacher-overview{grid-template-columns:1fr}.teacher-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.teacher-dashboard{padding:16px}.teacher-dashboard-head{display:block}.teacher-dashboard-head .pill{margin-top:12px}.teacher-tiles{gap:8px}.teacher-tile{min-height:108px;padding:12px}.teacher-panel-head{padding:15px;min-height:72px;gap:10px}.teacher-panel-head strong{font-size:1.1rem}.teacher-card-body{padding:16px}.panel-symbol{width:34px;height:34px}.round-row{grid-template-columns:1fr}.round-row>strong{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.teacher-tile,.panel-chevron{transition:none}}
.setup-assignment{background:#0e2039;border:1px solid #365577;border-radius:12px;padding:14px 16px}.setup-assignment>summary{cursor:pointer;font-weight:800;color:#ffbd6b}.setup-assignment>.stack{margin-top:16px}.setup-assignment select{max-width:600px}
.journal-range{display:grid;grid-template-columns:minmax(120px,1fr) repeat(2,minmax(85px,120px));gap:10px;align-items:end;padding:10px;background:#172e4b;border-radius:10px}.journal-range strong{align-self:center}.journal-range input{text-align:center}
.teacher-roster-panel #randomAssign{width:100%;margin:0 0 14px}.teacher-roster-panel #rosterHelp{margin-bottom:12px}.roster-waiting{grid-column:1/-1;background:#263b52;border:1px solid #cf9454;border-radius:12px;padding:12px;display:grid;gap:8px}.roster-waiting h4{margin:0;color:#ffcf8b}.roster-waiting .roster-person,.roster-group .roster-person{display:flex;flex-wrap:wrap;width:100%;justify-content:space-between}.roster-person label{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#bdd0e7}.roster-person select{width:auto;min-width:120px;max-width:180px;min-height:36px;padding:5px 8px;font-size:.85rem}.roster-person button{margin-left:auto}
.assignment-wait{text-align:center;border-color:#e5a856;background:radial-gradient(circle at 50% 0%,#2a4b67,#142641 70%)}.assignment-wait h2{color:#ffca79}.assignment-wait p{margin:0;color:#d3e2f3}.wait-orbit{position:relative;width:94px;height:94px;margin:2px auto 18px;border:2px solid #476a88;border-radius:50%;animation:wait-spin 3s linear infinite}.wait-orbit span{position:absolute;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:12px;color:#ffba62;background:#ffba62;box-shadow:0 0 17px #ffad52}.wait-orbit span:nth-child(1){top:-10px;left:36px}.wait-orbit span:nth-child(2){bottom:10px;left:-9px}.wait-orbit span:nth-child(3){bottom:10px;right:-9px}@keyframes wait-spin{to{transform:rotate(360deg)}}
@media(max-width:520px){.journal-range{grid-template-columns:1fr 1fr}.journal-range strong{grid-column:1/-1}.roster-person select{min-width:110px}}
@media(prefers-reduced-motion:reduce){.wait-orbit{animation:none}}
/* Podium końcowe: medal, miejsce i pseudonim na osobnym stopniu. */
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:14px;margin:14px 0 16px}
.podium-place{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;height:clamp(160px,27vh,235px);padding:10px 12px;border:2px solid #b5793d;border-bottom-width:9px;border-radius:18px 18px 8px 8px;text-align:center;background:linear-gradient(160deg,#3b302e,#1a2c44 72%);box-shadow:0 14px 32px #01091677;animation:podium-rise .75s both}
.podium-place-1{height:clamp(185px,32vh,285px);border-color:#f4bc50;background:linear-gradient(155deg,#654b28,#233a53 72%);animation-delay:.14s}
.podium-place-2{height:clamp(170px,29vh,255px);border-color:#c9d6e4;background:linear-gradient(155deg,#4a596e,#1c3049 72%);animation-delay:.06s}
.podium-place-3{animation-delay:.22s}.podium-medal{font-size:clamp(3.2rem,6vw,5.1rem);line-height:1.1;filter:drop-shadow(0 8px 12px #0007);animation:icon-bob 2.5s ease-in-out infinite}.podium-place-1 .podium-medal{font-size:clamp(3.8rem,7vw,6rem)}
.podium-place-label{font-size:clamp(1rem,2vw,1.45rem);color:#ffdfa2}.podium-place-2 .podium-place-label{color:#e8f1fc}.podium-place-3 .podium-place-label{color:#ffd0a7}
.podium-names{display:grid;gap:5px;align-content:start;width:100%;min-height:0;overflow-y:auto;scrollbar-width:thin}.podium-person{display:grid;gap:2px;padding:4px 6px;border-radius:9px;background:#0d203988}.podium-person strong{font-size:clamp(1.05rem,2vw,1.65rem);overflow-wrap:anywhere}.podium-person span{color:#dbebff;font-size:clamp(.82rem,1.4vw,1.06rem)}.podium-empty{opacity:.55}.podium-empty .podium-names{color:#cfdeef;font-size:.9rem}
.podium-no-score{padding:26px;text-align:center;border:1px solid #56718e;border-radius:14px;background:#162b45;font-size:1.3rem}.ranking-rest h2{margin:10px 0}.ranking-rest .player-board{margin-top:8px;max-height:clamp(110px,24vh,310px);grid-template-columns:repeat(4,minmax(0,1fr))}
@keyframes podium-rise{from{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:850px){.podium{gap:8px}.podium-place{padding:8px}.ranking-rest .player-board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.podium{grid-template-columns:1fr}.podium-place{height:auto;min-height:140px}.podium-place-1{order:0}.podium-place-2{order:1}.podium-place-3{order:2}.ranking-rest .player-board{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.podium-place,.podium-medal{animation:none}}
