:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#2d8065;--accent-bg:#2d80651f;--accent-border:#2d806580;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}:root{--site-green:#2d8065;--site-green-dark:#205e49;--site-green-soft:#e4f6e9;--site-bg:#f3f8f4;--site-border:#d8e5dc;--site-text:#2f4539;--site-muted:#667a6e}.portal-shell,.auth-page,.portal-message,.public-board{background:var(--site-bg);min-height:100svh;color:var(--site-text)}.portal-shell{--instructor-accent:var(--site-green);--instructor-button-text:#fff}button{border-radius:10px!important}.game-editor-topbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.game-editor-topbar strong{text-overflow:ellipsis;white-space:nowrap;margin-right:auto;overflow:hidden}.game-editor-topbar button,.game-editor-topbar a{border:1px solid var(--site-border);color:var(--site-text);cursor:pointer;font:inherit;background:#fff;border-radius:8px;align-items:center;padding:.55rem .8rem;line-height:1.2;text-decoration:none;display:inline-flex}.game-editor-topbar button:hover:not(:disabled),.game-editor-topbar a:hover{border-color:var(--instructor-accent,var(--site-green));color:var(--instructor-accent,var(--site-green))}.portal-message{place-content:center;gap:.5rem;display:grid}.portal-message h1{margin:0;font-size:2rem}.auth-page{box-sizing:border-box;place-items:center;padding:2rem;display:grid}.auth-card{border:1px solid var(--site-border);text-align:left;box-sizing:border-box;background:#fff;border-radius:22px;gap:1rem;width:min(26rem,100%);padding:2.25rem;display:grid;box-shadow:0 24px 60px #205e491a}.auth-card__mark,.portal-logo{object-fit:contain;width:2.75rem;height:2.75rem;display:block}.auth-card h1{margin:0;font-size:2rem}.auth-card>p{color:var(--site-muted)}.auth-card label,.admin-create label,.create-board-card label{gap:.35rem;font-size:.85rem;font-weight:650;display:grid}.auth-card input,.admin-create input,.create-board-card input,.create-board-card select{border:1px solid var(--site-border);color:var(--site-text);font:inherit;background:#fff;border-radius:9px;padding:.75rem .85rem}.auth-card>button[type=submit]{width:100%;min-height:2.75rem;padding:.75rem 1rem;font-weight:700}.portal-shell .portal-primary{background:var(--instructor-accent)!important;color:var(--instructor-button-text)!important;border:0!important}.portal-shell .portal-primary:hover{filter:brightness(.9)}.portal-error{color:#a42828;background:#fff0f0;border-radius:8px;padding:.7rem .9rem;font-size:.88rem}.portal-header{border-bottom:1px solid var(--site-border);background:#fff;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;min-height:72px;padding:.75rem 2rem;display:grid}.portal-header>div:first-child{justify-self:start;align-items:center;gap:.65rem;min-width:0;line-height:1.2;display:flex}.portal-header>div:first-child strong{min-width:0}.portal-header nav{flex-wrap:wrap;grid-area:2/1/auto/-1;justify-content:center;gap:.35rem;display:flex}.portal-header button,.dashboard button,.admin-panel button{border:1px solid var(--site-border);color:var(--site-text);cursor:pointer;font:inherit;background:#fff;border-radius:8px;padding:.55rem .8rem}.portal-header nav button{background:0 0;border:0;border-radius:0}.portal-header nav button.active{color:var(--instructor-accent);box-shadow:inset 0 -3px var(--instructor-accent)}.portal-user{justify-self:end;align-items:center;gap:.8rem;display:flex}.portal-user span{text-align:right;line-height:1.15;display:grid}.portal-user small{color:var(--site-muted);text-transform:capitalize}.account-appearance{border-bottom:1px solid var(--site-border);background:#f8fcf8;flex-wrap:wrap;align-items:center;gap:.8rem 1rem;padding:.7rem 2rem;display:flex}.account-appearance label{align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}.account-appearance input{border:1px solid var(--site-border);background:0 0;border-radius:6px;width:2rem;height:1.7rem;padding:0}.account-appearance input[type=range]{border:0;width:8rem;height:auto}.account-appearance small{color:var(--site-muted)}.account-appearance__group{border:1px solid var(--site-border);background:#fff;border-radius:9px;flex-wrap:wrap;align-items:center;gap:.45rem .7rem;padding:.45rem .65rem;display:inline-flex}.account-appearance__group>strong{color:var(--site-green-dark);font-size:.78rem}.account-appearance--feedback{align-items:stretch;gap:.75rem;display:grid}.account-appearance__feedback-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.account-appearance__feedback-heading h2{margin:0}.account-appearance__feedback-heading label{color:var(--site-muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.account-appearance__feedback-heading select{min-width:10rem}.account-appearance--feedback>p{color:var(--site-muted);margin:0;font-size:.85rem}.account-appearance__feedback-row{border:1px solid var(--site-border);box-sizing:border-box;background:#fff;border-radius:9px;grid-template-columns:minmax(10rem,.5fr) minmax(12rem,1fr) minmax(12rem,1fr);align-items:center;gap:.65rem 1rem;width:100%;padding:.65rem .75rem;display:grid}.account-appearance__feedback-row>strong{color:var(--site-green-dark);font-size:.85rem}.account-appearance__feedback-row label{color:var(--site-muted);gap:.3rem;font-size:.78rem;display:grid}.account-appearance__feedback-row input{box-sizing:border-box;width:100%;height:2rem;font:inherit;color:var(--site-text);background:#fff;padding:.35rem .5rem}.admin-panel>.board-branding-panel{--border:var(--site-border);--bg:#f8fcf8;--code-bg:#fff;--text:var(--site-muted);--text-h:var(--site-text);margin-bottom:2rem}.dashboard,.admin-panel,.question-banks-page,.reports-page{text-align:left;width:min(1180px,100% - 2rem);margin:0 auto;padding:2.5rem 0 4rem}.portal-section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.75rem;display:flex}.portal-section-heading h1{margin:0 0 .25rem;font-size:2.2rem}.portal-section-heading h2{margin:0 0 .25rem}.portal-section-heading p{color:var(--site-muted)}.legacy-banner{background:var(--site-green-soft);border:1px solid #b9d9c6;border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1rem 1.2rem;display:flex}.legacy-banner p{color:var(--site-muted);font-size:.9rem}.create-board-card{border:1px solid var(--site-border);background:#fff;border-radius:12px;grid-template-columns:minmax(12rem,1fr) minmax(11rem,auto) minmax(10rem,auto) auto;align-items:end;gap:1rem;margin-bottom:1.25rem;padding:1.15rem;display:grid}.create-board-card>div{gap:.5rem;display:flex}.board-library{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.board-card{border:1px solid var(--site-border);background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 8px 22px #205e490f}.board-card__preview{place-content:center;gap:.2rem;width:100%;height:9rem;display:grid;color:var(--site-green)!important;background:linear-gradient(145deg,#dff1e5,#f8fcf8)!important;border:0!important;border-radius:0!important}.board-card__preview span{font-size:2rem}.board-card__preview em{font-size:.85rem;font-style:normal}.board-card__body{padding:1rem}.board-card h2{text-overflow:ellipsis;white-space:nowrap;margin:0 0 .35rem;overflow:hidden}.board-card p{color:var(--site-muted);font-size:.78rem}.board-card__type{font-weight:700;color:var(--site-green-dark)!important}.board-card__actions{flex-wrap:wrap;gap:.4rem;margin-top:.9rem;display:flex}.board-card__actions button,.board-card__actions a{border:1px solid var(--instructor-accent,#2d8065);background:var(--instructor-accent,#2d8065);color:var(--instructor-button-text,#fff);font:inherit;cursor:pointer;border-radius:8px;align-items:center;padding:.38rem .55rem;font-size:.73rem;line-height:1.2;text-decoration:none;display:inline-flex}.portal-danger{color:#b12f37!important;border-color:#efc8cb!important}.empty-library{text-align:center;color:var(--site-muted);border:1px dashed #b9cdbf;border-radius:15px;grid-column:1/-1;padding:5rem 1rem}.empty-library span{color:var(--site-green);font-size:2rem}.empty-library h2{margin-top:.6rem}.folder-organizer{border:1px solid var(--site-border);background:#fff;border-radius:13px;grid-template-columns:minmax(12rem,1fr) minmax(15rem,auto);gap:1rem;margin-bottom:1.25rem;padding:1rem;display:grid}.folder-tree{align-content:start;gap:.25rem;display:grid}.folder-tree>button,.folder-tree__group>div,.folder-tree__child{display:flex}.folder-tree button{color:var(--site-text);text-align:left;background:0 0;border:0}.folder-tree button:not(.folder-tree__delete){border-radius:7px;flex:1;justify-content:space-between;gap:1rem;padding:.42rem .55rem;display:flex}.folder-tree button.active{background:var(--site-green-soft);color:var(--site-green-dark);font-weight:700}.folder-tree__child{margin-left:1.15rem}.folder-tree__delete{padding:.25rem .45rem;color:#a42828!important}.folder-create{align-content:start;gap:.45rem;display:grid}.folder-create input,.folder-create select,.board-card__folder select,.bank-create input,.bank-create select{border:1px solid var(--site-border);color:inherit;font:inherit;background:#fff;border-radius:8px;padding:.55rem .65rem}.board-card__folder{color:var(--site-muted);gap:.25rem;margin-top:.75rem;font-size:.72rem;display:grid}.bank-create{border:1px solid var(--site-border);background:#fff;border-radius:12px;align-items:end;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}.bank-create label{flex:1;gap:.3rem;font-size:.8rem;font-weight:700;display:grid}.bank-workspace{grid-template-columns:15rem minmax(0,1fr);gap:1rem;display:grid}.bank-list{align-content:start;gap:.4rem;display:grid}.bank-list button{border:1px solid var(--site-border);color:inherit;text-align:left;background:#fff;border-radius:9px;gap:.15rem;padding:.7rem;display:grid}.bank-list button.active{border-color:var(--site-green);background:var(--site-green-soft)}.bank-list small{color:var(--site-muted)}.bank-editor__heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.bank-editor__heading h2{margin:0}.admin-create{border:1px solid var(--site-border);background:#fff;border-radius:12px;grid-template-columns:1fr 1.2fr 1fr auto;align-items:end;gap:.8rem;padding:1.1rem;display:grid}.account-list{gap:.6rem;margin-top:1.25rem;display:grid}.account-row{border:1px solid var(--site-border);background:#fff;border-radius:11px;grid-template-columns:minmax(12rem,1fr) auto auto auto;align-items:center;gap:.8rem;padding:.9rem 1rem;display:grid}.account-row>div:first-child{display:grid}.account-row span{color:var(--site-muted);font-size:.82rem}.role-badge,.status-badge{text-transform:capitalize;background:#f0edf3;border-radius:999px;padding:.23rem .55rem}.role-badge--admin{background:var(--site-green-soft);color:var(--site-green-dark)!important}.status-badge{background:#fff3cf;color:#8c641c!important}.account-row__actions{gap:.4rem;display:flex}.public-board__header{border-bottom:1px solid var(--site-border);background:#fff;padding:.7rem 1rem}.public-board__header h1{margin:0;font-size:1.2rem}.public-board .question-modal__card>button{border:1px solid var(--accent);background:var(--accent);color:var(--button-text,#fff)}.reports-workspace{grid-template-columns:minmax(250px,320px) minmax(0,1fr);align-items:start;gap:1.35rem;display:grid}.reports-list{gap:.55rem;max-height:calc(100vh - 8rem);display:grid;position:sticky;top:1rem;overflow:auto}.reports-list>button{color:#252943;text-align:left;background:#fff;border:1px solid #dde1ef;border-radius:12px;gap:.25rem;width:100%;padding:.85rem;display:grid}.reports-list>button.active{border-color:var(--site-green);background:var(--site-green-soft);box-shadow:0 8px 24px #205e491a}.report-list-item{gap:.35rem;display:grid}.report-list-item>button:first-child{color:#252943;text-align:left;background:#fff;border:1px solid #dde1ef;border-radius:12px;gap:.25rem;width:100%;padding:.85rem;display:grid}.report-list-item>button:first-child.active{border-color:var(--site-green);background:var(--site-green-soft);box-shadow:0 8px 24px #205e491a}.report-list-item select{color:#514a5a;font:inherit;background:#fff;border:1px solid #dcd6e3;border-radius:7px;padding:.35rem .5rem;font-size:.78rem}.report-delete{justify-self:start;color:#000!important;background:#ef4444!important;border-color:#d66!important;padding:.45rem .7rem!important;font-size:.8rem!important}.report-detail__actions .portal-primary,.report-detail__actions .report-delete{box-sizing:border-box;align-items:center;height:2rem;line-height:1;display:inline-flex}.report-delete-folder{color:#b12f37!important;border-color:#efc8cb!important;font-size:.78rem!important}.report-detail__actions{justify-content:flex-end;align-items:end;gap:.65rem;display:flex}.report-detail__actions select{box-sizing:border-box;height:2rem;color:inherit;font:inherit;background:#fff;border:1px solid #dcd6e3;border-radius:8px;padding:.45rem .55rem;font-size:.8rem;line-height:1}.reports-folder-filter{color:#756d80;gap:.3rem;font-size:.8rem;font-weight:700;display:grid}.reports-folder-filter select{color:inherit;font:inherit;background:#fff;border:1px solid #dcd6e3;border-radius:8px;padding:.45rem .55rem}.reports-list span,.reports-list small{color:#6e748c}.reports-list>div{text-align:center;border:1px dashed #ccc4d4;border-radius:12px;padding:1.5rem}.report-detail{min-width:0}.report-detail__header{color:#fff;background:linear-gradient(135deg,#205e49,#3e9273);border-radius:15px;justify-content:space-between;align-items:center;gap:1.25rem;padding:1.35rem;display:flex}.report-detail__header h2,.report-detail__header p{margin:.25rem 0 0}.report-detail__header h2{color:#fff}.report-detail__header .portal-primary{white-space:nowrap;border-radius:8px;padding:.45rem .7rem;font-size:.8rem;text-decoration:none}.report-stat-grid{grid-template-columns:repeat(4,1fr);gap:.75rem;margin:1rem 0;display:grid}.report-stat-grid article{background:#fff;border:1px solid #e0e3ee;border-radius:13px;gap:.5rem;padding:1rem;display:grid}.report-stat-grid span{color:#70758b;font-size:.82rem}.report-stat-grid strong{font-size:1.7rem}.report-alert-grid{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.report-alert-grid article,.report-section{background:#fff;border:1px solid #e0e3ee;border-radius:14px;padding:1.15rem}.report-alert-grid h3,.report-section h3{margin:0 0 .85rem}.report-alert-grid h3{gap:.2rem;display:grid}.report-alert-grid h3 small{color:#7c8195;font-weight:500}.report-alert-grid ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.report-alert-grid li{background:#f7f7fb;border-radius:9px;gap:.15rem;padding:.65rem;display:grid}.report-alert-grid li span,.report-alert-grid p{color:#6e748c;font-size:.85rem}.report-section{margin-top:.85rem}.report-table-wrap{overflow-x:auto}.report-section table{border-collapse:collapse;width:100%}.report-section th,.report-section td{text-align:left;white-space:nowrap;border-bottom:1px solid #eceef5;padding:.65rem .75rem}.report-section th{color:#62687e;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.report-section__hint{color:#74798e;margin:-.35rem 0 .75rem;font-size:.85rem}.report-pending-grading>article{background:#fffdf5;border:1px solid #e3d8ae;border-radius:10px;gap:.65rem;margin-top:.65rem;padding:.85rem;display:grid}.report-pending-grading>article>header{justify-content:space-between;gap:1rem;display:flex}.report-pending-grading>article>header div{gap:.2rem;display:grid}.report-pending-grading>article>header small{color:#74798e}.report-pending-grading>article>header span{color:#775a09;font-weight:700}.report-pending-grading pre{color:#303a34;font:inherit;white-space:pre-wrap;background:#fff;border-radius:7px;margin:0;padding:.7rem}.report-pending-grading__actions{flex-wrap:wrap;gap:.5rem;display:flex}.report-pending-grading__actions button{color:#fff;cursor:pointer;background:#2d8065;border:1px solid #2d8065;border-radius:8px;padding:.45rem .75rem}.report-pending-grading__actions button+button{color:#344139;background:#fff;border-color:#64736b}.report-player-row--selected td{background:var(--site-green-soft)}.report-player-link{color:var(--site-green-dark);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.report-player-link:hover{color:#164735}.report-player-responses{background:#f8fcf8;border:1px solid #c8dfd0;border-radius:12px;margin-top:1rem;padding:1rem}.report-player-responses>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.report-player-responses h4,.report-player-responses p{margin:0}.report-player-responses header p{color:#74798e;margin-top:.2rem;font-size:.85rem}.report-player-responses header button{color:var(--site-green-dark);cursor:pointer;background:#fff;border:1px solid #c8dfd0;border-radius:7px;padding:.35rem .6rem}.report-player-responses__list{gap:.65rem;margin-top:.85rem;display:grid}.report-player-responses__list article{background:#fff;border:1px solid #e6e2f3;border-radius:9px;gap:.45rem;padding:.8rem;display:grid}.report-player-responses__list article>div:first-child{gap:.2rem;display:grid}.report-player-responses__list article>div:first-child small{color:#74798e}.report-player-response__answer{justify-content:space-between;align-items:center;gap:1rem;display:flex}.report-player-response__answer span{overflow-wrap:anywhere}.report-player-response__answer strong.correct{color:#237a46}.report-player-response__answer strong.incorrect{color:#b12f37}.report-player-responses__list article>small{color:#74798e}.report-type-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;display:grid}.report-type-grid article{background:#f7f7fb;border-radius:10px;gap:.3rem;padding:.8rem;display:grid}.report-type-grid strong{color:var(--site-green-dark);font-size:1.35rem}.report-type-grid small,.report-question-list header small,.report-question-list>article>p{color:#74798e}.report-question-list{gap:.75rem;display:grid}.report-question-list>article{border:1px solid #e6e8f1;border-radius:11px;padding:.9rem}.report-question-list>article.difficult{background:#fff9f7;border-color:#efb0a9}.report-question-list header{justify-content:space-between;gap:1rem;display:flex}.report-question-list header>div{gap:.2rem;display:grid}.report-question-list>article>p{margin:.45rem 0 .75rem}.report-question-list>article>div{gap:.45rem;display:grid}.report-question-list>article>div>div{grid-template-columns:minmax(120px,1fr) minmax(100px,2fr) 90px;align-items:center;gap:.65rem;font-size:.82rem;display:grid}.report-question-list i{background:#e9ebf3;border-radius:999px;height:7px;overflow:hidden}.report-question-list i b{border-radius:inherit;background:var(--site-green);height:100%;display:block}@media (width<=800px){.portal-header{grid-template-columns:minmax(0,1fr) auto;padding:.6rem 1rem}.portal-header nav{grid-area:2/1/auto/-1;justify-content:center}.portal-header>div:first-child strong{font-size:.9rem}.portal-user span{display:none}.board-library,.create-board-card,.admin-create,.folder-organizer,.bank-workspace,.reports-workspace{grid-template-columns:1fr}.reports-list{max-height:18rem;position:static}.report-stat-grid{grid-template-columns:repeat(2,1fr)}.report-alert-grid{grid-template-columns:1fr}.bank-create{flex-direction:column;align-items:stretch}.account-row{grid-template-columns:1fr auto}.account-row__actions{grid-column:1/-1}.account-appearance__feedback-row{grid-template-columns:1fr}.account-appearance__feedback-heading{flex-direction:column;align-items:flex-start}}@media (width<=960px){.portal-header{grid-template-columns:minmax(0,1fr) auto}.portal-header nav{grid-area:2/1/auto/-1;justify-content:center}}@media (width<=560px){.portal-header>div:first-child{grid-area:1/1/auto/-1}.portal-header .portal-user{grid-area:2/1/auto/-1}.portal-header nav{grid-row:3}}.conversation-report__audio audio{width:100%}.conversation-report__turns{gap:1rem;margin:0;padding:0 0 0 1.25rem;display:grid}.conversation-report__turns li{gap:.3rem;display:grid}.conversation-report__turns li.is-playing .conversation-report__a{border-color:var(--site-green);background:var(--site-green-soft)}.conversation-report__q{margin:0;font-weight:600}.conversation-report__a{text-align:left;color:#514a5a;width:100%;font:inherit;cursor:pointer;background:#fff;border:1px solid #e2dfe7;border-radius:8px;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.55rem .7rem;display:flex}.conversation-report__a:disabled{cursor:default;opacity:.8}.conversation-report__a small{color:#a49caf;font-variant-numeric:tabular-nums;flex:none}.conversation-report__note{color:#514a5a;margin:0;font-size:.85rem}.conversation-report__note em{color:#817989;font-style:normal}.conversation-report__lists{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.conversation-report__lists h4{margin:0 0 .35rem;font-size:.85rem}.conversation-report__lists ul{color:#514a5a;gap:.25rem;margin:0;padding-left:1.1rem;font-size:.88rem;display:grid}
