:root{font-family:'Segoe UI',system-ui,sans-serif;color:#f4eddc;background:#073a28;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top left,#146543,#073a28);min-height:100vh}main{max-width:960px;margin:auto;padding:26px 20px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px}header a{color:#f4eddc;text-decoration:none;font-size:30px;font-weight:900}b{color:#eebb3e}#connection{font-size:13px;color:#b9c8b6}.panel{background:#11603f;border:1px solid #ffffff26;border-radius:26px;padding:clamp(22px,5vw,52px);box-shadow:0 20px 60px #001b1266}#home{text-align:center}h1{font-size:clamp(38px,7vw,68px);line-height:1.08;margin:20px 0}h2{font-size:clamp(26px,4vw,40px);line-height:1.2}.eyebrow{font-size:12px;letter-spacing:2px;color:#eebb3e}p{line-height:1.6}button{font:inherit;font-weight:800;background:#eebb3e;color:#0a2e20;border:0;border-radius:14px;padding:16px 24px;cursor:pointer;min-height:48px}button:disabled{opacity:.55;cursor:default}button:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #f4eddc;outline-offset:4px}form{display:grid;gap:16px;max-width:360px;margin:auto;text-align:left}label{display:grid;gap:8px;font-size:14px}input{width:100%;font:inherit;font-size:18px;background:#0d4630;color:#f4eddc;border:1px solid #ffffff55;border-radius:12px;padding:14px}.divider{margin:30px;color:#b9c8b6}.muted,footer{color:#b9c8b6;font-size:13px}footer{text-align:center;margin:28px}.strip{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:14px;padding-bottom:24px;border-bottom:1px solid #ffffff26}#room{font-size:26px;letter-spacing:4px}.players{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.chip{background:#0d4630;border-radius:30px;padding:10px 16px}.timer{font-size:60px;font-weight:900;color:#eebb3e;font-variant-numeric:tabular-nums}.options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:24px 0}.option{font-size:20px;text-align:left;min-height:100px}.option:nth-child(1){background:#81acfa}.option:nth-child(2){background:#ff9a85}.option:nth-child(3){background:#eebb3e}.option:nth-child(4){background:#6be3a8}.option.picked{outline:3px solid #fff;outline-offset:3px}.option.correct{background:#6be3a8;outline:3px solid #fff}.row{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid #ffffff26}.row span:last-child{margin-left:auto;color:#eebb3e;font-weight:800}.row.you{background:#eebb3e18}#actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}#error{color:#ffb5a5;text-align:center;min-height:24px}.countdown{text-align:center;padding:45px 0}.countdown .timer{font-size:120px}@media(max-width:480px){header{align-items:start}#connection{max-width:120px;text-align:right}.strip{flex-wrap:wrap}.options{gap:10px}.option{font-size:17px;padding:18px 12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
.quiz-picker{max-width:360px;text-align:left;margin:26px auto 20px}select{font:inherit;width:100%;padding:14px;background:#0d4630;color:#f4eddc;border:1px solid #ffffff55;border-radius:12px}select:focus-visible{outline:3px solid #f4eddc;outline-offset:4px}.question-meta{color:#eebb3e;font-size:14px;margin:24px 0 10px}.podium{display:flex;align-items:flex-end;justify-content:center;gap:16px;margin:36px 0}.pod{flex:1;max-width:210px;text-align:center;min-width:0}.pod-name{font-size:20px;font-weight:800;overflow-wrap:anywhere}.pod-score{margin:8px 0;color:#b9c8b6}.stand{border-radius:16px 16px 0 0;display:grid;place-items:center;font-size:54px;font-weight:900;color:#1c281f;background:#c6d0d8;height:110px}.pod.first .stand{height:160px;background:#eebb3e}.pod.third .stand{height:80px;background:#d99e70}.progress-track{height:10px;border-radius:20px;overflow:hidden;background:#0d4630;margin:16px 0}.progress-track span{display:block;height:100%;background:#6be3a8}.options.two{grid-template-columns:1fr}.score-note{color:#eebb3e;font-weight:700}@media(max-width:480px){.podium{gap:8px}.pod-name{font-size:16px}.stand{font-size:36px}}
.builder-link,.back-link{color:#eebb3e;font-weight:700;text-decoration:none}.builder-link{display:inline-block;border:1px solid #eebb3e88;padding:12px 20px;border-radius:12px}.builder-main{max-width:1260px}.builder-title{font-size:42px}.builder-layout{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;margin-top:24px}.builder-toolbar,.small-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.small-actions button{font-size:13px;padding:9px 14px;min-height:42px;background:#0d4630;color:#f4eddc;border:1px solid #ffffff33}.builder-toolbar span{align-self:center;font-size:13px;color:#b9c8b6}#question-list{display:flex;flex-direction:column;gap:10px}#question-list button{text-align:left;background:#0d4630;color:#f4eddc;font-size:14px}#question-list button.selected{border:2px solid #eebb3e}textarea{font:inherit;background:#0d4630;color:#f4eddc;padding:14px;border-radius:12px;border:1px solid #ffffff55;min-height:110px;width:100%;resize:vertical}#editor label{margin:16px 0}#editor h2{margin-top:0}input[type=checkbox],input[type=radio]{width:auto;margin-right:10px}input[type=file]{font-size:14px}.block-editor,.answer-editor{padding:18px;border:1px solid #ffffff33;border-radius:16px;margin:18px 0;min-width:0}.preview-card{padding:22px;background:#0d4630;border:1px dashed #eebb3e88;border-radius:16px;margin-top:30px}.preview-answer{padding:16px;border:1px solid #ffffff33;border-radius:12px;color:#b9c8b6;margin-top:20px}.question-image{display:block;max-width:100%;max-height:420px;object-fit:contain;border-radius:10px;margin:12px auto}.text-block{white-space:pre-wrap;overflow-wrap:anywhere}.code-block{background:#061e16;color:#f4eddc;border:1px solid #ffffff33;border-radius:12px;padding:18px;overflow:auto;text-align:left;font-size:16px;line-height:1.6;tab-size:4;white-space:pre;max-width:100%}.math-block{overflow:auto;max-width:100%;padding:10px 0}.math-error,#builder-error{color:#ffb5a5}.option .code-block{font-size:14px}.option p{margin:8px 0}.option figure{margin:0}.answer-form{max-width:none;margin:24px 0}.custom-quiz-row{display:flex;justify-content:space-between;gap:16px;max-width:480px;margin:12px auto;text-align:left}.custom-quiz-row a{color:#eebb3e}figure{margin:14px 0}.katex{font-size:1.25em}@media(max-width:700px){.builder-layout{grid-template-columns:1fr}#question-list{flex-direction:row;overflow:auto}#question-list button{flex-shrink:0}.builder-title{font-size:34px}}
.secondary{background:transparent;color:#eebb3e;border:1px solid #eebb3e;margin-top:12px}.solo-note{background:#eebb3e18;border:1px solid #eebb3e66;padding:14px 18px;border-radius:12px;font-size:14px}
.settings-form{max-width:none;margin:24px 0;gap:22px}.settings-question{border:1px solid #ffffff33;border-radius:16px;padding:20px}.settings-question h3{margin-top:0}.settings-question details{margin-top:18px}.settings-question summary{cursor:pointer;color:#eebb3e;padding:10px 0;font-weight:700}.review-option{background:#0d4630;border-radius:12px;padding:12px;margin:10px 0}.bulk-timer{display:flex;gap:14px;align-items:end;flex-wrap:wrap}.bulk-timer label{flex:1;min-width:180px}.answer-key{border-top:1px solid #ffffff33;padding-top:10px}.settings-form input[type=number]{max-width:220px}
.player-controls{border:1px solid #ffffff33;border-radius:14px;padding:16px;margin:20px 0}.player-controls summary{cursor:pointer;font-weight:700;color:#eebb3e}.player-controls .row{align-items:center}.player-controls button{margin-left:auto;background:#ff9a85;padding:10px 18px;font-size:14px}
.presence{font-size:12px;padding:5px 8px;border-radius:20px;border:1px solid #ffffff44}.presence.connected{color:#8aefb2}.presence.reconnecting{color:#eebb3e}.presence.offline{color:#b9c8b6}
.import-label{font-size:13px;padding:8px 12px;border:1px solid #eebb3e88;border-radius:12px;max-width:260px}.import-label input{font-size:12px;padding:8px}

.brand-credit{margin:0 0 24px;text-align:right;font-size:.85rem;opacity:.85}

.correct-choice{display:block;width:100%;margin:8px 0 18px;background:#0d4630;color:#f4eddc;border:2px solid #ffffff66}.correct-choice.selected{background:#6be3a8;color:#0a2e20;border-color:#6be3a8}.answer-editor.correct-answer-card{border:2px solid #6be3a8}

/* Shared navigation: explicit type sizes keep links compact on every page. */
.app-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px 24px;margin:0 0 24px;padding:14px 16px;border:1px solid #ffffff20;border-radius:18px;background:#082f24cc;box-shadow:0 8px 30px #001b1226}
.app-header .nav-brand{display:flex;align-items:center;gap:10px;min-width:0;font-size:20px;line-height:1.2;letter-spacing:-.4px}
.brand-mark{display:grid;place-items:center;width:38px;height:38px;flex-shrink:0;border-radius:12px;background:#eebb3e;color:#073a28;font-size:17px;font-weight:900;letter-spacing:-1px}
.brand-name,.brand-byline{display:block}.brand-byline{margin-top:4px;font-size:10px;font-weight:500;letter-spacing:.2px;color:#c2d1c6}
.site-nav{display:flex;justify-content:flex-end;align-items:center;gap:4px;min-width:0}.site-nav[hidden],.nav-toggle[hidden]{display:none}
.app-header .site-nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;line-height:1.3;color:#d7e5dc;white-space:nowrap;text-decoration:none}
.app-header .site-nav a:hover{background:#ffffff10;color:#fff}.app-header .site-nav a[aria-current=page]{background:#eebb3e19;color:#ffd262}
.app-header .site-nav .nav-account{margin-left:6px;border:1px solid #eebb3e80;color:#f6cd62}
.nav-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 12px;background:#ffffff0c;border:1px solid #ffffff40;border-radius:10px;color:#f4eddc;font-size:14px}
.nav-status{grid-column:1/-1;display:flex;align-items:center;gap:8px;border-top:1px solid #ffffff15;padding-top:10px;min-width:0}.status-dot{width:6px;height:6px;border-radius:50%;background:#6be3a8;flex-shrink:0}.app-header #connection{max-width:none;text-align:left;font-size:12px;overflow-wrap:anywhere}
@media(max-width:860px){.app-header{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:12px;margin-bottom:20px}.app-header .nav-brand{font-size:20px}.site-nav{grid-column:1/-1;display:grid;grid-template-columns:1fr;gap:4px;border-top:1px solid #ffffff20;padding-top:10px}.app-header .site-nav a{justify-content:flex-start;padding:12px;font-size:14px;white-space:normal}.app-header .site-nav .nav-account{margin-left:0}.nav-status{padding-top:10px}main{padding:16px 12px}}

.join-panel{max-width:480px;margin:36px auto 0;padding:32px clamp(22px,5vw,42px);text-align:center}.join-panel h1{font-size:clamp(30px,5vw,40px);margin:0 0 28px}.join-panel form{max-width:none;gap:20px}.join-panel label{font-size:14px;font-weight:600}.join-panel input{font-size:18px;min-height:54px}.join-panel button{width:100%;margin-top:4px}.join-panel .muted{margin:20px 0 0}.host-home{text-align:center}.host-home h1{font-size:clamp(32px,5vw,46px);margin:0 0 16px}.host-home .custom-quiz-row{align-items:center;overflow-wrap:anywhere}.host-home .custom-quiz-row span{min-width:0}.host-home .custom-quiz-row a{flex-shrink:0;font-size:14px}
@media(max-width:480px){.join-panel{margin-top:24px;padding:28px 22px}.join-panel h1{margin-bottom:24px}}

.history-panel{padding:clamp(22px,4vw,36px)}.history-panel>h1{font-size:clamp(32px,5vw,46px);margin:12px 0 16px}.history-panel>p{font-size:14px;color:#c9d9ce}.history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;margin-top:24px}
.history-card{min-width:0;border:1px solid #ffffff26;border-radius:18px;padding:22px;background:#0a432f;box-shadow:0 8px 24px #001b1220}.history-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.history-mode{font-size:11px;color:#c3d5c8;text-transform:uppercase;letter-spacing:.6px}.history-outcome{font-size:11px;font-weight:700;color:#99efbd;border:1px solid #6be3a840;border-radius:20px;padding:5px 9px;background:#6be3a80c}.history-outcome.early{color:#f6cd62;background:#eebb3e10;border-color:#eebb3e50}
.history-card h2{font-size:21px;line-height:1.35;margin:18px 0 6px;overflow-wrap:anywhere}.history-card time{font-size:12px;color:#b9cdbf}.history-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:18px 0;margin:18px 0 0;border-top:1px solid #ffffff18;border-bottom:1px solid #ffffff18}.history-stats dt{font-size:11px;color:#b9cdbf}.history-stats dd{margin:5px 0 0;font-size:18px;font-weight:700;color:#f4eddc;overflow-wrap:anywhere}
.history-highlight{display:flex;flex-direction:column;gap:3px;margin:16px 0;font-size:12px;color:#bfd5c6}.history-highlight strong{font-size:15px;color:#f4eddc;overflow-wrap:anywhere}.history-highlight span:last-child{color:#f6cd62}.history-detail summary{cursor:pointer;padding:12px 0;color:#f6cd62;font-size:14px;font-weight:700;min-height:44px}.history-detail summary:focus-visible{outline:3px solid #f4eddc;outline-offset:3px}.history-download{width:100%;padding:11px 14px;font-size:13px;min-height:44px;margin-top:10px;background:#ffffff08;color:#f4eddc;border:1px solid #ffffff40;border-radius:10px}.history-download:hover{background:#ffffff14}
.history-table-wrap{overflow-x:auto;max-width:100%;margin:8px 0 12px}.history-table-wrap table{width:100%;border-collapse:collapse;font-size:12px;min-width:360px;text-align:left}.history-table-wrap caption{text-align:left;color:#bfd5c6;margin-bottom:10px}.history-table-wrap th,.history-table-wrap td{padding:10px 8px;border-bottom:1px solid #ffffff20;overflow-wrap:anywhere}.history-table-wrap th{color:#f6cd62}.history-table-wrap td:nth-child(2){min-width:90px}.history-table-wrap:focus-visible{outline:2px solid #f4eddc;outline-offset:3px}
@media(max-width:700px){.history-grid{grid-template-columns:1fr}.history-card{padding:20px}}

.host-home .dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:left}.dashboard-heading .builder-link{flex-shrink:0;font-size:14px}.dashboard-heading p{color:#c9d9ce;font-size:14px}.dashboard-bar{display:flex;flex-direction:column;gap:20px;border-top:1px solid #ffffff26;margin-top:30px;padding-top:24px;text-align:left}.dashboard-tabs{display:flex;gap:6px;flex-wrap:wrap}.dashboard-tabs button{padding:11px 14px;font-size:13px;background:#0a432f;color:#d7e5dc;border:1px solid #ffffff26;min-height:44px}.dashboard-tabs button[aria-selected=true]{background:#eebb3e;color:#073a28;border-color:#eebb3e}.dashboard-search{max-width:360px;font-size:12px}.dashboard-search input{font-size:15px;padding:11px 14px}#dashboard-panel{text-align:left}#dashboard-panel>p{font-size:13px}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-card{min-width:0;background:#0a432f;border:1px solid #ffffff26;border-radius:18px;padding:22px}.dashboard-card h2{font-size:21px;line-height:1.4;overflow-wrap:anywhere;margin:18px 0}.dashboard-date{font-size:13px;color:#f6cd62}.dashboard-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.dashboard-actions button,.dashboard-edit{font-size:12px;min-height:44px;padding:11px 12px;border-radius:10px}.dashboard-secondary{font-size:12px;min-height:44px;padding:11px 12px;border-radius:10px;background:#ffffff08;color:#f4eddc;border:1px solid #ffffff40}.dashboard-edit{color:#f6cd62;display:inline-flex;align-items:center}.schedule-details{margin-top:18px;border-top:1px solid #ffffff20;padding-top:10px}.schedule-details summary{font-size:13px;color:#f6cd62;cursor:pointer;min-height:44px;padding:12px 0}.schedule-details form{margin:10px 0;max-width:none}.schedule-details input{font-size:14px;min-width:0}.schedule-details p{margin:0;font-size:12px}.schedule-details label{font-size:12px}.host-home>.muted{font-size:12px}.history-card:target{outline:2px solid #eebb3e;outline-offset:4px}
@media(max-width:700px){.host-home .dashboard-heading{align-items:flex-start;flex-direction:column}.dashboard-grid{grid-template-columns:1fr}.dashboard-heading .builder-link{width:100%;text-align:center}.dashboard-tabs{gap:5px}.dashboard-tabs button{font-size:12px;padding:10px}.dashboard-card{padding:18px}}

.host-home{padding:32px}.dashboard-heading h1{margin:8px 0 0;font-size:clamp(30px,4vw,38px)}.dashboard-heading p{margin:10px 0 0}.dashboard-quickstart{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;margin:28px 0 14px;text-align:left}.dashboard-quickstart .quiz-picker{max-width:none;margin:0}.dashboard-quickactions{display:flex;gap:8px}.dashboard-quickactions button{padding:14px 18px;font-size:13px;white-space:nowrap}.dashboard-quickactions .secondary{margin:0}.host-home>.muted{margin-bottom:0;text-align:left}
@media(max-width:700px){.host-home{padding:24px 20px}.dashboard-quickstart{grid-template-columns:1fr}.dashboard-quickactions button{flex:1}}

@media(max-width:700px){.dashboard-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.dashboard-tabs button{font-size:11px;line-height:1.35;padding:8px 5px;min-height:48px;white-space:normal}}

.account-heading{margin:30px 0 22px}.account-heading h1{font-size:clamp(30px,4vw,40px);margin:10px 0}.account-heading p{font-size:14px;color:#bed1c3;margin:0}.account-card{background:#0d4b34;border:1px solid #ffffff22;border-radius:18px;padding:26px;min-width:0}.account-card h2{font-size:20px;line-height:1.35;margin:12px 0}.account-card p{font-size:13px;color:#c5d6ca;line-height:1.6}.account-profile{display:flex;align-items:center;justify-content:space-between;gap:20px}.account-person{display:flex;align-items:center;gap:14px;min-width:0}.account-person>div{min-width:0}.account-avatar{display:grid;place-items:center;flex-shrink:0;width:52px;height:52px;border-radius:16px;background:#eebb3e22;color:#f6cd62;border:1px solid #eebb3e44;font-size:18px;font-weight:800}.account-caption{font-size:10px;letter-spacing:1px;color:#c5d6ca}.account-profile #identity{margin:6px 0 0;font-size:16px;font-weight:600;color:#f4eddc;overflow-wrap:anywhere}.account-primary-link{display:flex;align-items:center;justify-content:center;gap:14px;min-height:44px;border-radius:10px;background:#eebb3e;color:#073a28;text-decoration:none;padding:12px 16px;font-size:13px;font-weight:750;flex-shrink:0}
.account-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.account-stat{display:flex;flex-direction:column;gap:6px;padding:22px 26px;border:1px solid #ffffff22;border-radius:16px;background:#0a432f;text-decoration:none;color:#d5e3d9}.account-stat strong{font-size:32px;line-height:1.2;color:#f4eddc}.account-stat span{font-size:14px;font-weight:600}.account-stat small{font-size:11px;color:#eebb3e;margin-top:8px}.account-stat:hover,.account-quiz:hover{border-color:#eebb3e88}.account-sync-status{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:14px 0 24px}.account-sync-status p{font-size:12px;color:#bfd2c5;overflow-wrap:anywhere;margin:0}.account-secondary{min-height:44px;padding:10px 14px;border-radius:10px;background:#ffffff08;color:#f4eddc;border:1px solid #ffffff40;font-size:12px}.account-sync-status button{flex-shrink:0}.account-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.account-section-heading h2{margin-top:0}.account-section-heading p{margin:0}.account-section-heading>a{font-size:12px;color:#f6cd62;flex-shrink:0}.account-quiz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.account-quiz{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid #ffffff20;border-radius:12px;background:#073a2880;text-decoration:none;color:#f4eddc;min-width:0}.account-quiz strong{font-size:14px;font-weight:600;overflow-wrap:anywhere;line-height:1.5}.account-quiz span{font-size:11px;color:#b9cdbf}.account-tools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.account-card .account-footnote{font-size:11px;margin:16px 0 0;color:#adbfaf}.account-password{border-top:1px solid #ffffff22;margin-top:18px}.account-password summary{padding:14px 0;min-height:44px;font-size:13px;color:#f6cd62;cursor:pointer}.account-password form{max-width:none;margin:8px 0 18px}.account-password input{font-size:15px}.account-password button{font-size:13px}.account-signout{padding:10px 14px;min-height:44px;background:#ff9a8510;color:#ffb5a5;border:1px solid #ff9a8550;border-radius:10px;font-size:12px;margin-top:6px}.account-notice{font-size:13px;color:#f6cd62;overflow-wrap:anywhere}.account-notice:empty{display:none}
.account-login{max-width:460px;margin:0 auto}.account-login .account-card{padding:30px}.account-login h2{margin-top:0;font-size:23px}.account-login .account-google{width:100%;min-height:48px;font-size:14px;background:#ffffff08;border:1px solid #ffffff55;color:#f4eddc;border-radius:10px;margin-top:12px}.account-divider{display:flex;align-items:center;gap:12px;font-size:11px;color:#b9cdbf;margin:24px 0}.account-divider:before,.account-divider:after{content:'';height:1px;background:#ffffff22;flex:1}.account-login form{max-width:none;margin:0;gap:18px}.account-login input{font-size:16px}.account-login-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-login-actions button{font-size:13px;padding:12px 14px;border-radius:10px}.account-help{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}.account-help button{font-size:11px;color:#c5d6ca;background:none;padding:8px 0;min-height:44px;font-weight:500;text-align:left}.account-join-note{text-align:center;font-size:12px;color:#bfd2c5}.account-join-note a{color:#f6cd62}
@media(max-width:700px){.account-profile{align-items:stretch;flex-direction:column}.account-card{padding:20px}.account-tools-grid{grid-template-columns:1fr}.account-quiz-grid{grid-template-columns:1fr}.account-stat{padding:18px}.account-stat strong{font-size:28px}.account-person{align-items:flex-start}.account-profile #identity{font-size:14px}.account-section-heading{align-items:flex-start;flex-direction:column}.account-sync-status{align-items:flex-start;flex-direction:column}.account-login .account-card{padding:22px}.account-stat-grid{gap:10px}.account-stat small{line-height:1.5}}

/* Focused quiz builder. Existing content types and saved formats are retained. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.builder-shell{min-width:0}.builder-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #ffffff26;background:#0a392b;padding:20px 24px;border-radius:18px;position:sticky;top:12px;z-index:10}.builder-name{flex:1;min-width:0}.builder-name>label{font-size:10px;letter-spacing:1px;color:#bccfbf}.builder-name #title{font-size:22px;font-weight:700;padding:8px 0;margin:0;background:none;border:0;border-radius:0;min-height:44px}.builder-name #draft-status{display:block;font-size:11px;color:#a9c6b5;line-height:1.5}.builder-top-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.builder-top-actions button{font-size:13px;padding:12px 18px;border-radius:10px;min-height:44px}.builder-outline{background:#ffffff06;color:#f4eddc;border:1px solid #ffffff40}.builder-more{position:relative;font-size:12px}.builder-more>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;padding:12px;color:#c5d6ca}.builder-more-menu{position:absolute;right:0;top:100%;width:260px;border:1px solid #ffffff40;background:#082f24;box-shadow:0 16px 30px #001b1266;border-radius:12px;padding:14px;display:grid;gap:14px}.builder-more-menu button{background:#ffffff10;color:#f4eddc;text-align:left;font-size:12px}.builder-more-menu label{font-size:12px}.builder-more-menu input{font-size:12px;padding:8px}.builder-more-menu a{font-size:12px;color:#f6cd62}
.builder-workspace{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;align-items:start;margin-top:20px}.builder-workspace[hidden],.builder-review[hidden]{display:none}.builder-sidebar{border:1px solid #ffffff20;border-radius:16px;background:#0a432f;padding:16px;position:sticky;top:134px}.builder-side-heading h2{font-size:15px;margin:0 0 14px;display:flex;align-items:center;justify-content:space-between}.builder-side-heading h2 span{font-size:11px;color:#b9cdbf}.builder-side-heading button{width:100%;font-size:12px;padding:10px;min-height:44px;border-radius:10px}.builder-sidebar #question-list{margin-top:18px;gap:6px;max-height:460px;overflow-y:auto}.builder-sidebar #question-list button{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px;border:1px solid transparent;border-radius:10px;background:transparent;font-size:12px;font-weight:500;color:#c9dbcf}.builder-sidebar #question-list button.selected{border-color:#eebb3e66;background:#eebb3e12;color:#f4eddc}.question-number{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;border-radius:7px;background:#ffffff10;color:#f6cd62;font-size:11px}.question-snippet{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.4;overflow-wrap:anywhere}.mobile-question-picker{display:none}
.builder-edit-area{background:#105338;border:1px solid #ffffff26;border-radius:18px;padding:28px;min-width:0}.builder-editor-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.builder-editor-heading h1{font-size:24px;line-height:1.2;margin:0}.builder-question-menu{position:relative;font-size:12px}.builder-question-menu>summary{cursor:pointer;color:#c5d6ca;padding:12px 0;min-height:44px}.builder-question-menu>div{position:absolute;right:0;min-width:180px;z-index:3;display:grid;gap:4px;border:1px solid #ffffff40;background:#082f24;padding:8px;border-radius:10px}.builder-question-menu button{padding:10px 12px;text-align:left;min-height:44px;background:transparent;color:#f4eddc;font-size:12px;font-weight:500;border-radius:8px}.builder-question-menu button:hover{background:#ffffff10}.builder-question-settings{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:16px;border-bottom:1px solid #ffffff22;padding-bottom:22px;margin:8px 0 24px}.builder-question-settings label{font-size:12px}.builder-question-settings input,.builder-question-settings select{font-size:14px;min-height:48px;padding:11px 12px}.builder-shell #editor label{margin:0;gap:8px;font-size:13px}.builder-question-content h2,.builder-answer-section h2{font-size:17px;margin:0 0 14px}.builder-question-content{margin:20px 0 28px}.builder-content-editor{min-width:0;margin:12px 0}.builder-content-editor textarea{font-size:16px;line-height:1.6;min-height:120px;background:#0a432f}.builder-content-editor.rich-content{padding:16px;border:1px solid #ffffff25;border-radius:12px;background:#0a432f77}.builder-content-label{display:block;font-size:13px;color:#c9dbcf;margin-bottom:10px}.builder-content-editor input[type=file]{font-size:12px;margin-bottom:16px}.builder-content-editor .question-image{max-height:240px}.builder-content-actions{display:flex;gap:12px}.builder-text-action{background:none;border:0;color:#bcd5c4;padding:8px 0;min-height:36px;font-size:12px;font-weight:500;border-radius:4px}.builder-text-action:hover{color:#f6cd62}.builder-content-tools{display:flex;gap:16px;flex-wrap:wrap}.builder-helper{font-size:12px;color:#bcd2c3;line-height:1.6}.builder-inline-details{margin-top:12px}.builder-inline-details>summary{font-size:12px;color:#bcd2c3;cursor:pointer;min-height:36px;padding:8px 0}.builder-inline-details label{margin-top:10px!important}.builder-inline-details input[type=checkbox]{justify-self:start}.builder-inline-details p{font-size:12px;color:#bcd2c3}.builder-answer-row{position:relative;min-width:0;margin:18px 0;padding:14px 16px 10px;border:1px solid #ffffff33;border-radius:14px;background:#0a432f55}.builder-answer-row legend{font-size:12px;font-weight:600;padding:0 7px;color:#cbded1}.builder-answer-row.is-correct{border-color:#6be3a8aa;background:#6be3a80a}.builder-answer-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}.builder-correct{font-size:11px;min-height:36px;padding:8px 12px;border:1px solid #ffffff44;background:#ffffff08;color:#cbded1;border-radius:8px}.builder-correct.selected{background:#6be3a820;border-color:#6be3a8;color:#9af1bf}.builder-answer-row .builder-content-editor{margin:10px 0}.builder-answer-row textarea{min-height:60px;font-size:15px;padding:12px}.builder-answer-row .builder-inline-details{margin:0}.builder-answer-reminder{font-size:12px;color:#f6cd62}.builder-answer-section>.builder-outline{font-size:12px;padding:10px 14px;border-radius:10px;min-height:44px}.builder-answer-section>label input{max-width:300px}.builder-question-footer{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #ffffff22;padding-top:24px;margin-top:28px}.builder-question-footer button{font-size:13px;padding:12px 16px;border-radius:10px}
.builder-review{border:1px solid #ffffff26;border-radius:18px;background:#105338;padding:28px;margin-top:20px;min-width:0}.builder-review-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.builder-review-heading h2{font-size:25px;margin:8px 0}.builder-review-heading p{font-size:13px;color:#c5d6ca;margin:0}.builder-review-heading button{font-size:12px;min-height:44px;padding:10px 14px;border-radius:10px}.builder-preview-nav{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:20px 0;border-bottom:1px solid #ffffff22;margin-bottom:24px}.builder-preview-nav button{font-size:12px;min-height:44px;padding:10px 14px;border-radius:10px}.builder-preview-nav span{font-size:12px;color:#c5d6ca}.builder-student-preview{max-width:780px;margin:0 auto;overflow-wrap:anywhere}.builder-student-preview .option{cursor:default}.builder-launch{border-top:1px solid #ffffff22;margin-top:30px;padding-top:20px}.builder-launch p{font-size:13px;color:#c5d6ca}.builder-launch>div{display:flex;gap:10px;flex-wrap:wrap}.builder-launch button{font-size:13px;min-height:44px;padding:12px 16px;border-radius:10px}.builder-footnote{font-size:11px;color:#afc8b8;line-height:1.6;margin:20px 0}.builder-shell #builder-error{font-size:13px;margin:14px 0;scroll-margin-top:145px}.builder-shell #builder-error:empty{display:none}
@media(max-width:900px){.builder-workspace{grid-template-columns:1fr}.builder-sidebar{position:static}.builder-sidebar #question-list{display:none}.builder-side-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.builder-side-heading h2{margin:0}.builder-side-heading button{width:auto}.mobile-question-picker{display:grid;font-size:12px;margin-top:14px}.mobile-question-picker select{font-size:14px}.builder-edit-area{padding:22px}.builder-topbar{padding:16px;gap:14px}.builder-top-actions button{padding:11px 12px}}
@media(max-width:600px){.builder-topbar{position:static;flex-wrap:wrap;gap:14px}.builder-name{flex-basis:100%}.builder-top-actions{width:100%;justify-content:flex-end}.builder-name #title{font-size:21px}.builder-question-settings{grid-template-columns:minmax(0,1fr) 110px;gap:10px}.builder-edit-area{padding:20px 16px}.builder-editor-heading h1{font-size:22px}.builder-answer-row{padding:12px 12px 8px}.builder-review{padding:20px 16px}.builder-review-heading{flex-direction:column;align-items:flex-start}.builder-content-tools{gap:12px}.builder-more-menu{width:240px}.builder-question-footer button{font-size:12px;padding:11px 12px}.builder-launch>div{flex-direction:column}.builder-shell #builder-error{scroll-margin-top:20px}}

.csv-import-dialog{width:min(760px,calc(100vw - 28px));max-width:none;max-height:min(88vh,900px);overflow:auto;border:1px solid #ffffff35;border-radius:18px;background:#0b3f2d;color:#f4eddc;padding:24px;box-shadow:0 24px 80px #001b12aa}.csv-import-dialog::backdrop{background:#001d15c9;backdrop-filter:blur(3px)}.csv-dialog-close{display:flex;justify-content:flex-end;margin:0}.csv-dialog-close button{min-height:40px;padding:8px 12px;font-size:12px}.csv-import-dialog h2{font-size:24px;margin:2px 0 8px}.csv-import-dialog>p{line-height:1.6}.csv-import-fields{display:grid;gap:14px;margin:20px 0}.csv-import-fields>label{display:grid;gap:7px;font-size:12px;font-weight:650}.csv-import-fields input,.csv-import-fields select{width:100%;font-size:14px;min-height:46px;padding:10px;border:1px solid #ffffff35;border-radius:10px;background:#073a28;color:#f4eddc}.csv-import-fields small{font-size:11px;color:#bfd2c5;font-weight:400;line-height:1.5}.csv-import-summary{font-size:13px;color:#f6cd62;margin:16px 0}.csv-import-errors:empty{display:none}.csv-import-errors{border:1px solid #ff9a8566;border-radius:10px;background:#9c35201c;padding:12px 16px;color:#ffd3c9;font-size:12px;line-height:1.5}.csv-import-errors ul{margin:0;padding-left:20px}.csv-import-preview{overflow:auto;margin-top:14px}.csv-import-preview table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.csv-import-preview caption{text-align:left;color:#bfd2c5;padding:8px 0}.csv-import-preview th,.csv-import-preview td{padding:10px;border-bottom:1px solid #ffffff1f}.csv-import-preview th{width:44px;color:#f6cd62}.csv-import-preview td:nth-child(2){min-width:220px;overflow-wrap:anywhere}.csv-import-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.csv-import-actions button{min-height:44px;padding:11px 16px;border-radius:10px;font-size:13px}.csv-import-actions button:disabled{opacity:.48;cursor:not-allowed}@media(max-width:600px){.csv-import-dialog{padding:18px}.csv-import-dialog h2{font-size:21px}.csv-import-actions{flex-direction:column-reverse}.csv-import-actions button{width:100%}.csv-import-preview table{min-width:580px}}

.builder-student-preview .option{color:#0a2e20;border-radius:14px;padding:18px 20px}.builder-correct{min-height:44px}

.teacher-access,.teacher-key-panel{margin:1.25rem 0;padding:1rem 1.2rem;border:1px solid var(--line,#3d7862);border-radius:16px;background:rgba(4,47,35,.3)}
.teacher-access summary,.teacher-key-panel summary{cursor:pointer;color:var(--gold,#f2bd3b);font-weight:700;padding:.4rem 0}
#teacher-access-form{display:grid;grid-template-columns:1fr;gap:.65rem;max-width:32rem;margin-top:1rem}
#teacher-access-form input,.teacher-key-panel input{width:100%;min-height:46px;padding:.7rem .85rem;border:1px solid var(--line,#3d7862);border-radius:10px;background:#073d2d;color:inherit}
.assignment-heading{font-size:1.15rem;margin:.2rem 0 .5rem}.assignment-create-form{display:flex;align-items:end;gap:.8rem;max-width:48rem;margin:1rem 0}.assignment-create-form label{flex:1}.assignment-create-form select{width:100%;min-height:46px;margin-top:.5rem;padding:.65rem .8rem;border:1px solid var(--line,#3d7862);border-radius:10px;background:#073d2d;color:inherit}.assignment-create-form button,.assignment-actions button{min-height:44px}.assignment-status{color:var(--gold,#f2bd3b);font-size:.9rem}.assignment-list{display:grid;gap:.7rem;margin-top:1rem}.assignment-item{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;border:1px solid #ffffff22;border-radius:12px;background:#073d2d66}.assignment-item strong{display:block}.assignment-item p{font-size:.8rem;margin:.35rem 0;color:#bfd2c5}.assignment-item label{display:block;font-size:.8rem;color:#bfd2c5}.assignment-item input{display:block;width:min(28rem,100%);min-height:42px;margin-top:.35rem;padding:.6rem .75rem;border:1px solid var(--line,#3d7862);border-radius:9px;background:#062f23;color:inherit;font-family:monospace;letter-spacing:.05em}.assignment-actions{display:flex;gap:.5rem;flex-shrink:0}.assignment-actions .secondary{margin:0}
.assignment-reports{margin-top:.8rem;border-top:1px solid #ffffff20;padding-top:.6rem}.assignment-reports>summary,.assignment-session>summary{min-height:42px;display:flex;align-items:center;cursor:pointer;color:var(--gold,#f2bd3b);font-size:.9rem}.assignment-session{margin:.6rem 0;padding:.5rem .7rem;border:1px solid #ffffff20;border-radius:9px}.assignment-results-table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;margin:.6rem 0;font-size:.8rem}.assignment-results-table th,.assignment-results-table td{padding:.55rem .65rem;text-align:left;border-bottom:1px solid #ffffff1c;white-space:nowrap}.assignment-results-table th{color:#f3c64e;font-weight:700}
.teacher-key-panel label{display:block;max-width:34rem;margin:.8rem 0;font-size:.9rem}
.teacher-key-panel label input{display:block;margin-top:.35rem;font-family:ui-monospace,monospace;letter-spacing:.04em}
.teacher-key-panel button{margin:.45rem .5rem .2rem 0}
@media(max-width:600px){.teacher-access,.teacher-key-panel{padding:.8rem}.teacher-key-panel button{width:100%;margin:.4rem 0}}
@media(max-width:600px){.assignment-create-form,.assignment-item{align-items:stretch;flex-direction:column}.assignment-actions button{flex:1}.assignment-item input{width:100%}}
.builder-back{flex-shrink:0;align-self:flex-start;color:#f6cd62;font-size:12px;text-decoration:none;padding:8px 10px;border:1px solid #ffffff30;border-radius:9px}.builder-back:hover{background:#ffffff10}.builder-delete-question{min-height:40px;padding:9px 12px;border:1px solid #ff9a8580;border-radius:9px;background:#9c35201c;color:#ffd0c6;font-size:12px}.builder-delete-question:hover:not(:disabled){background:#9c352044}.builder-delete-question:disabled{opacity:.48;cursor:not-allowed}.builder-editor-heading{flex-wrap:wrap}.self-paced-join{margin-top:1rem}.self-paced-join summary{cursor:pointer;color:var(--gold,#f2bd3b);font-weight:700}.self-paced-join form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:.8rem;margin-top:1rem}.self-paced-join form label{font-size:.85rem}.self-paced-join form input{width:100%;min-height:46px;margin-top:.45rem;padding:.7rem .85rem;border:1px solid var(--line,#3d7862);border-radius:10px;background:#073d2d;color:inherit}.self-paced-join form button{min-height:46px}@media(max-width:700px){.self-paced-join form{grid-template-columns:1fr}.builder-back{order:-1}}
.assignment-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.assignment-create-form .teacher-names-field{grid-column:1/-1}.assignment-create-form .teacher-names-input{width:100%;min-height:84px;margin-top:.45rem;padding:.7rem .85rem;border:1px solid var(--line,#3d7862);border-radius:10px;background:#073d2d;color:inherit;resize:vertical}.assignment-create-form .teacher-names-field small{display:block;margin-top:.45rem;color:#bfd2c5;font-size:.78rem;line-height:1.45}.assignment-item .assignment-actions{align-self:flex-start}@media(max-width:600px){.assignment-create-form{grid-template-columns:1fr}.assignment-create-form .teacher-names-field{grid-column:auto}}
.institution-card{margin-top:18px}.institution-card>h2{margin:8px 0}.institution-card>.institution-status{min-height:0;color:#f6cd62;font-size:13px}.institution-card>.institution-status:empty{display:none}.institution-action{border-top:1px solid #ffffff22;margin-top:14px}.institution-action summary{min-height:48px;display:flex;align-items:center;color:#f6cd62;font-weight:700;cursor:pointer}.institution-action form,.institution-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;margin:8px 0 14px;max-width:760px}.institution-action form label,.institution-form label{display:grid;gap:6px;font-size:12px;color:#d5e3d9}.institution-action input,.institution-form input,.institution-form select,.institution-action select,.institution-content select,.institution-content input{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #ffffff35;border-radius:9px;background:#073a28;color:#f4eddc}.institution-action form button,.institution-form button{min-height:44px}.institution-content{margin-top:20px;padding:20px;border:1px solid #ffffff22;border-radius:14px;background:#073a2866}.institution-content>h3{display:inline-block;margin:0 12px 0 0;font-size:20px}.institution-role{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eebb3e22;color:#f6cd62;font-size:10px;font-weight:800;letter-spacing:.06em}.institution-section{border-top:1px solid #ffffff20;margin-top:18px;padding-top:14px}.institution-section h4{font-size:15px;margin:0 0 12px}.institution-section p{margin:8px 0}.institution-people,.institution-quiz-list{display:grid;gap:8px}.institution-person{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #ffffff1e;border-radius:10px;background:#073a2870;min-width:0}.institution-person>div:first-child{min-width:0}.institution-person strong,.institution-person span{display:block;overflow-wrap:anywhere}.institution-person strong{font-size:13px}.institution-person span{margin-top:4px;color:#bfd2c5;font-size:11px}.institution-person-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}.institution-person-actions select{min-height:40px}.institution-person button{min-height:40px}.institution-form>button{align-self:end}.institution-invite-result{display:grid;gap:8px;margin:12px 0;padding:14px;border:1px solid #eebb3e55;border-radius:10px;background:#073a28}.institution-invite-result p{margin:0}.institution-invite-result input{font-family:ui-monospace,monospace;font-size:11px}.institution-assignment{flex-wrap:wrap}.institution-assignment>div{flex:1 1 180px}.institution-assignment input{flex:1 1 230px;font-family:ui-monospace,monospace;letter-spacing:.04em}.institution-start{display:inline-flex;min-height:40px;align-items:center;padding:8px 12px;border-radius:9px;background:#eebb3e;color:#073a28;text-decoration:none;font-size:12px;font-weight:750;flex-shrink:0}
@media(max-width:700px){.institution-content{padding:14px}.institution-action form,.institution-form{grid-template-columns:1fr}.institution-person{align-items:flex-start;flex-direction:column}.institution-person-actions{width:100%;flex-wrap:wrap}.institution-person-actions button,.institution-person-actions select{flex:1}.institution-assignment input{flex-basis:100%}.institution-start{width:100%;justify-content:center}}

.secret-input-wrap{position:relative;display:block;width:100%}
.secret-input-wrap input{padding-right:52px!important}
.secret-input-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;min-height:38px!important;padding:8px!important;border:0!important;border-radius:8px;background:transparent!important;color:#d5e3d9;cursor:pointer}
.secret-input-toggle:hover{background:#ffffff12!important;color:#f6cd62}
.secret-input-toggle:focus-visible{outline:2px solid #f6cd62;outline-offset:2px}
.secret-input-toggle .eye-icon{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.secret-input-toggle .eye-icon[hidden]{display:none}

.app-header .brand-mark{display:block;object-fit:cover;width:40px;height:40px;flex:0 0 40px;padding:0;border-radius:12px;background:#fff}
/* Free quiz allowance */
.quiz-quota-banner{margin:14px 0 0;padding:12px 16px;border:1px solid #eebb3e66;border-radius:12px;background:#eebb3e0d;color:#f6cd62;font-size:13px;line-height:1.5;text-align:left}
.quota-link{color:#f6cd62;font-weight:700;text-underline-offset:3px}
.builder-shell #quiz-quota-status{margin:12px 0;font-size:12px}
