:root{--ink:#192637;--muted:#617187;--line:#dce4ec;--paper:#fff;--bg:#f3f6fa;--green:#175b88;--green-dark:#10466b;--mint:#e0eff8;--yellow:#d5a442;--purple:#5d61a7;--shadow:0 8px 30px rgba(25,47,75,.06)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans',Arial,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Nunito,'DM Sans',sans-serif}h1{font-size:clamp(2.15rem,4vw,3.35rem);line-height:1.12;letter-spacing:-.04em}h2{font-size:1.42rem;letter-spacing:-.025em}h3{font-size:1.17rem}p{line-height:1.55;color:var(--muted)}a{color:var(--green)}label{display:block;font-size:.9rem;font-weight:700;margin-bottom:.55rem}input:not([type=radio]),textarea{width:100%;border:1.5px solid #dfe6e4;border-radius:12px;background:#fff;padding:13px 15px;outline:none;color:var(--ink)}input:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(16,99,79,.09)}textarea{resize:vertical}.hidden{display:none!important}.eyebrow{font-size:.72rem;letter-spacing:.19em;font-weight:800;color:var(--green);margin-bottom:.75rem}.brand{display:flex;align-items:center;gap:.48rem;font-family:Nunito,'DM Sans',sans-serif;font-size:1.21rem;font-weight:900;white-space:nowrap}.brand-mark{display:inline-grid;place-items:center;width:30px;height:30px;background:var(--green);color:#fff;border-radius:9px;font-size:1.2rem;line-height:1}.brand-tag{font:700 .72rem 'DM Sans',sans-serif;color:var(--muted);border-left:1px solid #d8dfdd;padding-left:1rem;margin-left:.55rem}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--green);color:#fff;border:0;border-radius:12px;padding:14px 19px;font-weight:800;transition:background .2s,transform .2s}.primary:hover{background:var(--green-dark);transform:translateY(-1px)}.full{width:100%}.secondary{border:1px solid #c5d9d1;border-radius:9px;background:#fff;color:var(--green);font-weight:800;padding:9px 13px}.small{font-size:.8rem}.text-button{border:0;background:none;color:var(--green);font-weight:800}.text-button:hover{text-decoration:underline}.form-message{min-height:20px;color:#ba4b45;font-weight:700;font-size:.85rem;margin-top:.7rem}.form-message.success{color:var(--green)}
/* Teacher board */
.topbar,.student-top{height:75px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(4vw,24px)}.board-shell{max-width:1360px;margin:auto;padding:46px 4vw 80px}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:30px}.page-heading h1{margin-bottom:.45rem}.page-heading p{margin-bottom:0}.network-chip{display:flex;align-items:center;gap:.6rem;background:#e6f4eb;border:1px solid #cae5d5;border-radius:100px;padding:10px 15px;color:var(--green);font-size:.82rem;font-weight:700;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-dot{display:inline-block;width:9px;height:9px;background:#2abb83;border-radius:50%;box-shadow:0 0 0 4px rgba(42,187,131,.13);flex:none}.board-grid{display:grid;grid-template-columns:minmax(340px,.86fr) minmax(420px,1.14fr);gap:22px}.panel{background:var(--paper);border:1px solid #e8eeeb;border-radius:20px;box-shadow:var(--shadow);padding:26px}.panel-title{display:flex;gap:13px;align-items:start;margin-bottom:22px}.panel-title h2{margin:1px 0 2px}.panel-title p{font-size:.85rem;margin:0}.panel-icon{width:37px;height:37px;border-radius:11px;display:grid;place-items:center;background:#e6f4eb;color:var(--green);font-weight:900;font-size:1.2rem}.panel-icon.purple{background:#eeeafb;color:var(--purple)}.composer-panel textarea{margin-bottom:17px}.type-tabs{display:flex;background:#f2f5f3;border-radius:11px;padding:4px;margin-bottom:20px}.type-tabs label{flex:1;margin:0;text-align:center;cursor:pointer}.type-tabs input{position:absolute;opacity:0;pointer-events:none}.type-tabs span{display:block;padding:9px 5px;border-radius:8px;color:var(--muted);font-size:.85rem}.type-tabs input:checked+span{background:#fff;color:var(--green);box-shadow:0 1px 5px rgba(0,0,0,.08)}.field-caption{font-size:.9rem;font-weight:800;display:flex;justify-content:space-between;gap:.5rem;margin-bottom:10px}.field-caption span{font-size:.76rem;color:var(--muted);font-weight:500}.option-editor{display:flex;align-items:center;gap:10px;margin-bottom:9px}.option-editor input[type=radio]{accent-color:var(--green);width:17px;height:17px;flex:none}.option-editor input:not([type=radio]){padding:10px 12px}.hint{font-size:.76rem;margin:11px 0 21px}.live-panel{min-height:490px}.empty-live{height:calc(100% - 70px);min-height:310px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:#f8faf9;border:1px dashed #dce6e1;border-radius:14px}.empty-orbit{width:75px;height:75px;border-radius:50%;display:grid;place-items:center;background:#e8f5ec;color:var(--green);font-size:2rem;margin-bottom:17px}.empty-live h3{margin-bottom:.3rem}.empty-live p{font-size:.85rem}.live-status{color:var(--green);font-size:.74rem;font-weight:900;letter-spacing:.1em;display:flex;align-items:center;gap:9px;margin-bottom:15px}.question-type{margin-left:auto;background:#f1f5f3;border-radius:100px;padding:6px 10px;color:var(--muted);letter-spacing:0;font-weight:700}.live-content h3{font-size:1.65rem;line-height:1.25;margin-bottom:15px}.board-options{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:18px}.board-options div{background:#f7f9f8;border:1px solid var(--line);padding:9px;border-radius:9px;font-size:.83rem}.board-options span{display:inline-grid;place-items:center;background:#e4efe9;color:var(--green);width:22px;height:22px;border-radius:6px;font-weight:900;margin-right:8px}.join-area{display:flex;align-items:center;gap:22px;border-top:1px solid var(--line);padding-top:18px;margin-top:20px}.qr-image{width:173px;height:173px;image-rendering:pixelated;flex:none}.join-area strong{font-family:Nunito,sans-serif;font-size:1.1rem}.join-area p{font-size:.8rem;margin:4px 0 7px}.join-area a{display:block;max-width:280px;overflow-wrap:anywhere;font-size:.75rem;margin-bottom:10px}.close-question{margin-top:18px;font-size:.83rem;padding:0}.written-note{font-size:.88rem}
.results-panel{margin-top:22px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-heading .eyebrow{margin-bottom:.2rem}.section-heading h2{margin-bottom:0}.count-pill{display:inline-block;background:#eff4f1;color:var(--green);border-radius:100px;padding:6px 10px;font-size:.76rem;font-weight:800;white-space:nowrap}.empty-state{color:#8b999e;font-size:.86rem;padding:23px 4px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.86rem}th{text-align:left;color:#8a989e;font-size:.71rem;text-transform:uppercase;letter-spacing:.09em;padding:12px 10px;border-bottom:1px solid var(--line)}td{padding:15px 10px;border-bottom:1px solid #edf0ef;vertical-align:middle}tr:last-child td{border-bottom:0}.tag{display:inline-block;padding:5px 9px;border-radius:100px;font-size:.73rem;font-weight:800}.tag.correct{background:#e0f5e9;color:#1a8259}.tag.incorrect{background:#fff0ea;color:#c36c4d}.tag.review{background:#f1edfa;color:#7863b4}.star-select{border:1px solid #e3e9e6;border-radius:8px;background:#fff;padding:7px;color:#9a6d1c;font-weight:800}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.student-row{cursor:pointer}.student-row:hover{background:#f9fbfa}.row-subtitle{display:block;color:var(--green);font-size:.71rem;margin-top:4px}.star-total{font-weight:900;color:#c58a23}.history-item{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.history-item:last-child{border-bottom:0}.history-item strong{display:block;font-size:.84rem}.history-item span:not(.count-pill){display:block;font-size:.72rem;color:var(--muted);margin-top:3px}.profile-dialog{width:min(540px,calc(100% - 28px));border:0;border-radius:18px;padding:29px;box-shadow:0 24px 90px #142a2850}.profile-dialog::backdrop{background:#12282177}.profile-dialog h2{font-size:1.8rem;margin-bottom:15px}.profile-dialog h3{margin:23px 0 8px}.dialog-close{position:absolute;right:20px;top:16px;border:0;background:none;font-size:1.7rem;color:var(--muted)}.profile-summary{display:flex;gap:10px}.profile-summary span{background:#edf6ef;border-radius:100px;padding:8px 12px;color:var(--green);font-weight:800;font-size:.82rem}.profile-answer{border-top:1px solid var(--line);padding:13px 0}.profile-answer p{margin:4px 0;font-size:.85rem}.profile-answer span{font-size:.72rem;color:var(--muted)}
/* Login and student */
.login-page,.student-page{min-height:100vh;background:radial-gradient(circle at 10% 10%,#e6f4eb 0,transparent 35%),radial-gradient(circle at 95% 85%,#fff4dc 0,transparent 30%),#f7faf8}.login-page{display:grid;place-items:center;padding:24px}.login-card{width:min(450px,100%);background:#fff;border:1px solid #e7eeeb;border-radius:22px;box-shadow:var(--shadow);padding:39px}.login-card .brand{margin-bottom:36px}.login-card h1{font-size:2.4rem;margin-bottom:9px}.login-card p{font-size:.91rem;margin-bottom:27px}.login-card input{margin-bottom:17px}.student-top{background:transparent;border-bottom:0;max-width:1000px;margin:auto}.student-top-tag{font-size:.68rem;font-weight:900;color:var(--green);letter-spacing:.12em}.student-shell{max-width:620px;margin:42px auto 80px;padding:0 18px}.student-hero{text-align:center;margin-bottom:24px}.student-hero h1{font-size:clamp(2.1rem,7vw,3.1rem);margin-bottom:7px}.student-hero p{margin-bottom:0}.student-card{background:#fff;border:1px solid #e6eeea;border-radius:23px;box-shadow:0 15px 45px rgba(22,68,50,.08);padding:32px}.question-badge{font-size:.72rem;font-weight:900;letter-spacing:.1em;color:var(--green);display:flex;align-items:center;gap:9px;margin-bottom:14px}.student-card h2{font-size:1.75rem;line-height:1.3;margin-bottom:24px}.student-card input:not([type=radio]){margin-bottom:23px}.answer-heading{font-size:.9rem;font-weight:800;margin-bottom:11px}.student-options{display:grid;gap:10px;margin-bottom:24px}.student-options label{display:flex;align-items:center;gap:12px;border:1.5px solid #e2e9e5;border-radius:12px;padding:13px;cursor:pointer;margin:0;font-size:.91rem}.student-options label:has(input:checked){border-color:var(--green);background:#f1f8f3}.student-options input{accent-color:var(--green);margin:0}.option-letter{display:grid;place-items:center;background:#e9f3ec;color:var(--green);border-radius:8px;width:28px;height:28px;font-weight:900;flex:none}.student-card textarea{margin-bottom:20px}.student-result{text-align:center;padding:20px 5px}.result-icon{display:grid;place-items:center;width:70px;height:70px;background:#dff3e7;border-radius:50%;margin:0 auto 20px;color:var(--green);font-size:2.2rem;font-weight:900}.student-result h2{margin-bottom:8px}.student-result p{font-size:.91rem}.earned-stars{margin-top:25px;padding:15px;border-radius:13px;background:#fff8e8;color:#b67a17;font-size:1.6rem;font-weight:900}.earned-stars span{font-size:.95rem;margin-left:7px}.earned-stars.pending{background:#f0f5f2;color:var(--green);font-size:.85rem}.loading{text-align:center;padding:40px;color:var(--muted)}
@media(max-width:950px){.board-grid,.lower-grid{grid-template-columns:1fr}.page-heading{align-items:start}.network-chip{max-width:100%}}@media(max-width:620px){.topbar,.student-top{padding:0 18px;height:66px}.brand-tag{display:none}.board-shell{padding:30px 16px 60px}.page-heading{display:block}.network-chip{margin-top:20px}.panel{padding:19px;border-radius:16px}.board-grid{gap:15px}.join-area{gap:12px}.qr-image{width:135px;height:135px}.join-area a{font-size:.67rem}.board-options{grid-template-columns:1fr}.lower-grid{gap:15px;margin-top:15px}.results-panel{margin-top:15px}.student-shell{margin-top:30px}.student-card{padding:22px}.student-hero{margin-bottom:20px}}
.history-item{width:100%;text-align:left;background:none;border:0;cursor:pointer;color:var(--ink)}.history-item:hover{background:#f9fbfa}

/* ClassOrbit university interface */
body{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
h1,h2,h3,.brand,.join-area strong{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
h1{font-weight:750}.brand{letter-spacing:-.035em;font-weight:760}.brand-mark{background:#183957;border-radius:50%;font-size:1.32rem}
.topbar{background:#102b43;color:#fff;border:0}.topbar .brand-tag{color:#bed0de;border-color:#476176}.topbar .text-button{color:#d9eaf6}
.board-shell{max-width:1380px}.page-heading{padding:8px 0 4px}.page-heading h1{font-size:clamp(2rem,3.3vw,3rem)}
.eyebrow{color:#426f93}.panel{border-color:#e0e8ef;border-radius:16px}.panel-icon{background:#e8f1f8}.panel-icon.purple{background:#eeeeF8}
.network-chip{background:#e7f1f8;border-color:#cfdfeb;color:#245a7f}.live-dot{background:#2aa27a;box-shadow:0 0 0 4px rgba(42,162,122,.14)}
.login-page,.student-page{background:radial-gradient(circle at 5% 0%,#e2edf6 0,transparent 35%),radial-gradient(circle at 95% 95%,#e9ecf7 0,transparent 30%),#f3f6fa}
.login-card,.student-card{border-color:#dce5ee}.student-top{background:transparent}.student-top-tag{color:#426f93}
.question-diagram{display:block;max-width:100%;max-height:360px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin:0 0 20px}
.bank-panel{margin-top:22px}.bank-panel .section-heading{align-items:flex-start}.bank-panel .section-heading p{font-size:.86rem;margin:7px 0 0}
.bank-controls{display:grid;grid-template-columns:150px 150px 150px minmax(220px,1fr);gap:12px;margin:20px 0}.bank-controls label,.bank-form label{font-size:.78rem;color:var(--muted);font-weight:700}
.bank-controls select,.bank-form select{width:100%;padding:11px 12px;background:#fff;border:1px solid #dce4ec;border-radius:10px;color:var(--ink);margin-top:6px}
.bank-controls input{margin-top:6px;padding:10px 12px}.bank-list{display:grid;gap:10px}.bank-item{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:#fbfcfe}.bank-item h3{font-size:.95rem;line-height:1.4;margin:9px 0 0}.bank-meta{display:flex;flex-wrap:wrap;gap:6px}.bank-meta span{font-size:.68rem;font-weight:750;color:#386788;background:#e8f1f7;border-radius:100px;padding:4px 8px}.bank-thumbnail{max-width:150px;max-height:100px;object-fit:contain;margin-top:9px}.bank-add{border-top:1px solid var(--line);margin-top:21px;padding-top:18px}.bank-add summary{cursor:pointer;font-size:.88rem;font-weight:750;color:var(--green)}.bank-form{margin-top:20px}.bank-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bank-form input,.bank-form textarea{margin-top:6px}.bank-form textarea{margin-bottom:14px}.bank-form .primary{margin-top:16px}.optional{font-weight:400}
@media(max-width:700px){.bank-controls{grid-template-columns:1fr 1fr}.bank-controls label:last-child{grid-column:1/-1}.bank-form-grid{grid-template-columns:1fr}.bank-item{align-items:flex-start;flex-direction:column}.bank-item .secondary{width:100%}}
.board-options.image-options>div{display:flex;flex-direction:column;gap:7px;min-width:0}.board-options.image-options img{width:100%;height:110px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:8px}
.student-options.image-options{grid-template-columns:repeat(2,minmax(0,1fr))}.student-options.image-options label{align-items:flex-start;min-width:0}.student-options.image-options label>span:last-child{min-width:0}.student-options.image-options img{display:block;width:100%;height:145px;object-fit:contain;margin-top:9px;background:#fff;border:1px solid var(--line);border-radius:8px}
.solution-preview{margin:6px 0 15px;border:1px solid var(--line);border-radius:9px;padding:9px 12px}.solution-preview summary,.bank-answer summary{cursor:pointer;color:var(--green);font-size:.76rem;font-weight:750}.solution-preview .question-diagram{margin:12px 0 0}.bank-answer{margin-top:8px}.bank-answer .bank-thumbnail{display:block;margin-top:8px}
.bank-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 2px 0;color:var(--muted);font-size:.8rem}.bank-pagination>div{display:flex;gap:8px}
@media(max-width:520px){.student-options.image-options{grid-template-columns:1fr 1fr}.student-options.image-options label{padding:9px;gap:7px}.student-options.image-options img{height:110px}}
.identify-panel{border:1px solid var(--line);border-radius:12px;padding:16px;margin:0 0 22px;background:#f8fbfd}.identify-panel p{font-size:.82rem;margin:3px 0 12px}.identify-panel input{margin-bottom:12px!important}.identify-panel .secondary{justify-content:center}.verified-student{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#eaf4f8;border:1px solid #d4e7f0;border-radius:12px;padding:13px 15px;margin-bottom:22px}.verified-student span{font-size:.77rem;color:var(--muted);font-weight:700}.verified-student strong{font-size:1rem}.verified-student button{margin-left:auto;font-size:.76rem}
.roster-panel{margin-top:22px}.roster-panel .section-heading{align-items:flex-start}.roster-panel .section-heading p{font-size:.86rem;margin:7px 0 0}.roster-controls{display:grid;grid-template-columns:200px minmax(200px,1fr);gap:12px;margin:18px 0 8px}.roster-controls label{font-size:.78rem;color:var(--muted);font-weight:700}.roster-controls select{display:block;width:100%;padding:11px 12px;background:#fff;border:1px solid #dce4ec;border-radius:10px;color:var(--ink);margin-top:6px}.roster-controls input{margin-top:6px;padding:10px 12px}.roster-shown{font-size:.76rem;margin:0 0 9px}.roster-list{max-height:440px;overflow:auto;border:1px solid var(--line);border-radius:10px}.roster-list table{min-width:640px}.roster-list th{position:sticky;top:0;background:#f8fbfd}.roster-list td{padding:10px}.roster-list tr:nth-child(even){background:#fafcfe}@media(max-width:620px){.roster-controls{grid-template-columns:1fr}}
.timer-setting{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:-3px 0 19px}.timer-setting span{width:100%;font-size:.74rem;color:var(--muted);font-weight:500}.timer-setting input:not([type=radio]){width:90px;padding:9px 11px}.timer-setting small{font-size:.78rem;color:var(--muted)}
.timer-display,.student-timer{background:#eaf4fa;border:1px solid #cde1ef;border-radius:12px;padding:11px 14px;margin:0 0 17px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px 12px}.timer-display span,.student-timer span{font-size:.79rem;font-weight:800;color:#35617c}.timer-display strong,.student-timer strong{font-size:1.55rem;color:#175b88;font-variant-numeric:tabular-nums;line-height:1}.timer-display strong.urgent,.student-timer strong.urgent{color:#bd4b44}.timer-track{grid-column:1/-1;height:7px;background:#d4e5ee;border-radius:20px;overflow:hidden}.timer-track>div{height:100%;width:100%;background:#3486b5;border-radius:20px;transition:width .25s linear}.student-timer{margin-bottom:20px}
.outcome-content{position:relative;overflow:hidden;min-height:330px;padding:9px 3px}.outcome-kicker{color:#a16b16;font-size:.74rem;font-weight:900;letter-spacing:.14em;margin-bottom:9px}.outcome-content h3{font-size:1.9rem;margin-bottom:4px}.outcome-prompt{font-size:.88rem;margin-bottom:18px}.outcome-total{font-weight:800;color:#35617c;margin-bottom:22px}.histogram{display:grid;gap:17px}.histogram-row{display:grid;grid-template-columns:112px minmax(80px,1fr) 32px;align-items:center;gap:11px;font-size:.83rem;font-weight:800}.histogram-row strong{font-size:1.17rem;font-variant-numeric:tabular-nums}.histogram-track{height:26px;border-radius:7px;background:#edf1f5;overflow:hidden}.histogram-bar{height:100%;width:var(--bar-width);border-radius:7px;transform-origin:left;animation:bar-grow .9s ease-out both}.histogram-bar.correct{background:#38aa79}.histogram-bar.incorrect{background:#ed897b}.histogram-bar.review{background:#7d88d9}.outcome-note{margin:24px 0 0;font-size:.8rem}.confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}.confetti i{position:absolute;top:-16px;width:8px;height:15px;opacity:0;animation:confetti-fall 3.4s ease-in forwards}.confetti i:nth-child(3n){width:11px;height:11px;border-radius:50%}.confetti i:nth-child(4n){transform:rotate(35deg)}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-10px) rotate(0)}75%{opacity:1}100%{opacity:0;transform:translateY(380px) rotate(650deg)}}@keyframes bar-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.star-controls{display:flex;align-items:center;gap:5px;white-space:nowrap}.star-controls strong{min-width:38px;text-align:center;color:#a77916}.star-adjust{border:1px solid #cfdae3;background:#fff;color:#175b88;border-radius:7px;min-width:29px;height:29px;padding:0 6px;font-weight:900;font-size:1.04rem}.star-adjust:hover:not(:disabled){background:#eaf4fa}.star-adjust:disabled{cursor:not-allowed}.star-clear{font-size:.68rem;padding:0 7px;margin-left:3px}
@media(prefers-reduced-motion:reduce){.confetti i,.histogram-bar{animation:none}.timer-track>div{transition:none}}
@media(max-width:620px){.histogram-row{grid-template-columns:95px minmax(60px,1fr) 25px;gap:6px}.star-controls{gap:3px}}
.present-page{min-height:100vh;background:radial-gradient(circle at 10% 5%,#1e4161 0,transparent 39%),#102437;color:#f8fbff}.present-page h1{font-size:clamp(2rem,3.5vw,3.5rem);line-height:1.15;letter-spacing:-.035em}.present-page p{color:#b9cbdc}.present-header{height:68px;padding:0 3vw;border-bottom:1px solid #35506a;display:flex;align-items:center;justify-content:space-between}.present-header .brand-mark{background:#299679}.present-header>span{color:#a9bfd1;font-size:.73rem;font-weight:900;letter-spacing:.18em}.present-shell{min-height:calc(100vh - 68px);padding:28px 3vw}.present-live{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,330px);gap:28px;min-height:calc(100vh - 125px)}.present-question{min-width:0}.present-eyebrow{display:flex;align-items:center;gap:10px;color:#75d7af;font-size:.77rem;font-weight:900;letter-spacing:.15em;margin-bottom:15px}.present-question h1{margin:0 0 20px}.present-object{max-width:100%;max-height:35vh;object-fit:contain;background:#fff;border-radius:14px;padding:12px;display:block;margin-bottom:18px}.present-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.present-option{display:flex;align-items:flex-start;gap:10px;min-width:0;background:#203a52;border:1px solid #48627b;border-radius:12px;padding:12px;font-size:1.1rem;font-weight:800}.present-letter{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:8px;background:#36708d;color:#fff}.present-option>div{min-width:0}.present-option img{display:block;max-width:100%;height:15vh;min-height:85px;object-fit:contain;background:#fff;border-radius:8px;margin-top:10px}.present-written{font-size:1.2rem}.present-join{display:flex;flex-direction:column;gap:20px}.present-timer{background:#203c55;border:1px solid #4a6881;border-radius:15px;padding:15px 18px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px}.present-timer span{font-size:.73rem;font-weight:900;letter-spacing:.1em;color:#bed9ea}.present-timer strong{font-size:2.4rem;font-variant-numeric:tabular-nums}.present-timer strong.urgent{color:#ff9d88}.present-timer .timer-track{background:#36546d}.present-timer .timer-track>div{background:#75d7af}.present-qr-card{background:#fff;color:#173146;border-radius:18px;padding:20px;text-align:center;box-shadow:0 20px 55px rgba(0,0,0,.15)}.present-qr-card img{display:block;width:min(100%,270px);aspect-ratio:1;object-fit:contain;margin:0 auto 10px}.present-qr-card strong{display:block;font-size:1.4rem}.present-qr-card p{color:#587087;font-size:.9rem;margin:6px 0 0}.present-response-count{color:#b9cbdc;text-align:center;font-size:.88rem;font-weight:800}.present-waiting{min-height:calc(100vh - 150px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.present-waiting .empty-orbit{background:#25425e;color:#75d7af}.present-waiting h1{margin:0 0 10px}.present-results{position:relative;overflow:hidden;min-height:calc(100vh - 125px);max-width:1150px;margin:auto;display:flex;flex-direction:column;justify-content:center;padding:25px}.present-results-kicker{font-size:.9rem;font-weight:900;letter-spacing:.2em;color:#ffd482;margin-bottom:14px}.present-results h1{font-size:clamp(2.6rem,5vw,5rem);margin:0 0 12px}.present-results-prompt{font-size:1.18rem;margin:0 0 25px}.present-results-total{font-size:1.45rem;font-weight:800;color:#dcecf7;margin-bottom:28px}.present-results .histogram{gap:24px}.present-results .histogram-row{grid-template-columns:170px minmax(120px,1fr) 55px;font-size:1.4rem;gap:18px}.present-results .histogram-row strong{font-size:2rem}.present-results .histogram-track{height:46px;background:#2c4760}.present-results .histogram-bar.correct{background:#4ec994}.present-results .histogram-bar.incorrect{background:#f19a86}.present-results .histogram-bar.review{background:#8e93e8}.present-results .confetti i{animation-duration:4s}
@media(max-width:850px){.present-live{grid-template-columns:1fr}.present-join{display:grid;grid-template-columns:minmax(160px,1fr) minmax(210px,1fr);align-items:start}.present-response-count{grid-column:1/-1}.present-object{max-height:30vh}.present-qr-card img{width:200px}.present-results .histogram-row{grid-template-columns:105px minmax(70px,1fr) 40px;font-size:1rem}.present-results .histogram-row strong{font-size:1.3rem}}
@media(min-width:851px) and (max-height:800px){.present-page h1{font-size:clamp(1.8rem,3vw,3rem)}.present-shell{padding-top:20px;padding-bottom:20px}.present-question h1{margin-bottom:14px}.present-object{max-height:25vh;margin-bottom:12px;padding:8px}.present-option{padding:9px}.present-option img{height:10vh;min-height:65px;margin-top:6px}.present-join{gap:14px}.present-qr-card{padding:15px}.present-qr-card img{width:min(100%,240px)}}
@media(max-width:550px){.present-header{padding:0 16px}.present-shell{padding:20px 16px}.present-join{grid-template-columns:1fr}.present-qr-card img{width:230px}.present-options{grid-template-columns:1fr}.present-option img{height:120px}.present-response-count{grid-column:auto}.present-results{padding:15px 2px}.present-results .histogram-row{grid-template-columns:95px minmax(60px,1fr) 30px;gap:8px}.present-results .histogram-track{height:31px}}
.open-presentation{margin-left:auto;white-space:nowrap}.live-panel #display-message{min-height:0;margin:-12px 0 12px}.live-panel #display-message:empty{display:none}@media(max-width:620px){.live-panel .panel-title{flex-wrap:wrap}.open-presentation{margin-left:50px}}

/* Keep the class display in the same light palette as the teacher and student pages. */
.present-page{background:radial-gradient(circle at 9% 7%,#eaf4fb 0,transparent 36%),#f7fafc;color:var(--ink)}
.present-page p{color:var(--muted)}
.present-header{background:#fff;border-bottom-color:var(--line)}
.present-header>span{color:#617187}
.present-header .brand-mark{background:var(--green)}
.present-eyebrow,.present-results-kicker{color:var(--green)}
.present-option{background:#fff;border-color:var(--line);box-shadow:var(--shadow)}
.present-letter{background:#e0eff8;color:var(--green)}
.present-timer{background:#fff;border-color:var(--line);box-shadow:var(--shadow)}
.present-timer span{color:#617187}
.present-timer strong.urgent{color:#c45e49}
.present-timer .timer-track{background:#e3ebf2}
.present-timer .timer-track>div{background:#30946f}
.present-qr-card{border:1px solid var(--line);box-shadow:var(--shadow)}
.present-response-count,.present-results-total{color:var(--ink)}
.present-waiting .empty-orbit{background:#e0eff8;color:var(--green)}
.present-results .histogram-track{background:#e9eef3}
.present-complete{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:24px;min-height:calc(100vh - 125px)}
.present-complete .present-results{width:100%;min-width:0;padding:15px 0}
.present-complete .present-results .histogram-row{grid-template-columns:145px minmax(100px,1fr) 45px}
.present-complete .present-qr-card{padding:15px}
.present-complete .present-qr-card img{width:210px}
.present-complete .present-qr-card strong{font-size:1.08rem}
.present-waiting .present-qr-card{width:min(290px,100%);margin-top:25px;padding:16px}
.present-waiting .present-qr-card img{width:220px}
.progress-actions{display:flex;align-items:center;gap:10px}
#reset-progress{color:#a54e43;border-color:#e9cbc7}
#reset-progress:hover:not(:disabled){background:#fff4f2}
@media(max-width:850px){.present-complete{grid-template-columns:1fr}.present-closed-join{display:flex;justify-content:center;margin-bottom:20px}}
@media(max-width:620px){.progress-actions{flex-wrap:wrap;justify-content:flex-end}}
