:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#203238;background:#eef2f1;line-height:1.5;color-scheme:light;font-synthesis:none;--teal:#15766a;--line:#e1e8e5;--muted:#73837e}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,summary,select{cursor:pointer}button{border:1px solid var(--teal);border-radius:8px;padding:9px 14px;min-height:38px;background:var(--teal);color:white;font-size:13px;font-weight:600;transition:background .15s,box-shadow .15s}button:hover:not(:disabled){background:#105e54;box-shadow:0 2px 5px #142b2510}button.secondary{background:#fff;color:#30534c;border-color:#d4dfda}button.secondary:hover:not(:disabled){background:#f3f8f5}button.quiet{background:transparent;color:#63756e;border-color:transparent}button.quiet:hover:not(:disabled){background:#e6eeea;box-shadow:none}button:disabled{opacity:.42;cursor:not-allowed}input,select,textarea{width:100%;border:1px solid #d8e1dc;border-radius:7px;background:#fff;color:#263c35;padding:10px 11px;font-size:13px;outline:none}select{min-height:40px}input:focus,select:focus,textarea:focus{border-color:#499b8e;box-shadow:0 0 0 3px #15766a12}textarea{resize:vertical;min-height:104px;line-height:1.65}input:disabled,select:disabled,textarea:disabled{background:#f5f7f6;color:#8d9994;cursor:not-allowed}::placeholder{color:#98a59f}:focus-visible{outline:3px solid #6fb9a8;outline-offset:3px}h1,h2,p{margin:0}h1{font-size:19px;font-weight:650;letter-spacing:-.5px}h2{font-size:18px;letter-spacing:-.3px}.muted{color:var(--muted);font-size:14px}.eyebrow{display:block;color:#82958c;font-size:10px;letter-spacing:1.65px;font-weight:700}.topbar{height:64px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce5df;background:#fafcfb}.brand{display:flex;gap:11px;align-items:center}.brand-mark{width:33px;height:33px;background:#e1eee7;color:var(--teal);border-radius:9px;display:grid;place-items:center;font-size:27px}.brand strong{display:block;font-size:16px;font-weight:650;line-height:1.4}.brand-caption{font-size:9px;letter-spacing:2px;color:#85978d}#identity{display:flex;align-items:center;gap:10px;font-size:13px;color:#456155}.reviewer-dot{width:7px;height:7px;border-radius:50%;background:#70a28a}.topbar #logout{margin-left:8px;padding:5px 10px;font-size:12px}main{max-width:1880px;margin:auto;padding:0 24px 20px}.banner{height:32px;display:flex;gap:9px;align-items:center;font-size:11px;color:#8a7848;padding:0 2px}.banner strong{font-weight:600}.demo-dot{width:5px;height:5px;border-radius:50%;background:#b69b55}#notice{position:fixed;top:16px;left:50%;transform:translateX(-50%);max-width:min(620px,90vw);z-index:20;background:#fff;border:1px solid #cddfd5;color:#315c47;border-radius:10px;padding:10px 18px;font-size:13px;box-shadow:0 8px 26px #193d2820;pointer-events:none}#notice.error{border-color:#e5b8af;background:#fff3ee;color:#913e2b;pointer-events:auto}.assignment{height:70px;display:flex;align-items:center;justify-content:space-between;gap:20px}.assignment-title .eyebrow{margin-bottom:2px}.actions{display:flex;align-items:center;gap:9px}.assignment select{width:155px;font-weight:550;background:#f9fbfa}.toolbar-divider{width:1px;height:24px;background:#d5dfd9;margin:0 4px}.review-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:18px;height:calc(100dvh - 186px);min-height:570px;max-height:1120px}.game-panel{min-width:0;min-height:0;background:#141e23;border-radius:13px;overflow:hidden;display:flex;flex-direction:column;border:1px solid #243137;box-shadow:0 8px 30px #1c3b2a08}.game-top{display:flex;justify-content:space-between;align-items:center;padding:17px 20px;background:#1a272c;border-bottom:1px solid #2b373c;gap:12px}.session-heading{display:flex;align-items:center;gap:9px}.session-heading h2{color:#dbe5e3;font-size:14px;letter-spacing:.2px}.live-dot{height:6px;width:6px;border-radius:50%;background:#83a69c}.badge{border:1px solid #40594f;background:#294038;color:#c1dbce;font-size:10px;padding:3px 8px;border-radius:5px;white-space:nowrap}#player{position:relative;flex:1;min-height:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 45%,#24363b 0%,#17252a 55%,#132024 100%);overflow:hidden}#stream-placeholder{font-size:13px;color:#92a6a8;text-align:center;padding:24px;letter-spacing:.3px}#stream-placeholder:before{content:'◇';display:block;font-size:46px;line-height:1.6;color:#54766f;margin-bottom:12px}#stream-placeholder:after{content:'场景将在会话连接后显示';display:block;font-size:11px;color:#617f80;letter-spacing:.3px;margin-top:8px}#player iframe{width:100%;height:100%;border:0;position:absolute;inset:0}.game-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-top:1px solid #27363b;background:#1a272c}.game-bottom p{font-size:11px;color:#94aaa8;min-width:0}.game-button{background:transparent;color:#aec2bc;border:1px solid #3d5350;font-size:11px;padding:6px 10px;min-height:32px;white-space:nowrap}.game-button:hover:not(:disabled){background:#2b423c}.game-hint{display:flex;justify-content:space-between;color:#6d8a87;padding:10px 18px;font-size:10px;gap:10px}.game-hint kbd{font-family:inherit;display:inline-block;color:#8da29f;border:1px solid #344944;border-radius:3px;font-size:9px;min-width:16px;text-align:center;margin-right:2px}.hint-divider{padding:0 8px;color:#48665d}.review-panel{min-height:0;min-width:0;border:1px solid #dce5df;border-radius:13px;background:#fff;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 30px #1c3b2a05}.review-heading{display:flex;align-items:center;justify-content:space-between;padding:19px 20px 15px;border-bottom:1px solid var(--line)}.review-heading h2{margin-top:2px}.guided-tag{font-size:10px;color:#618270;background:#eef5f0;padding:4px 8px;border-radius:5px}#feedback-form{display:flex;flex-direction:column;flex:1;min-height:0}.review-scroll{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ccd8d0 transparent;padding:17px 20px 10px;flex:1;min-height:0}.case-summary{margin-bottom:15px}.case-meta{display:flex;justify-content:space-between;align-items:center}.case-meta>div{display:flex;align-items:center;gap:9px}.meta-label{font-size:10px;color:#899a90;letter-spacing:.2px;font-weight:500}.case-meta strong{font-size:13px;letter-spacing:.3px}.case-type{font-size:10px;color:#728679;border:1px solid #dce6de;border-radius:4px;padding:1px 6px}.environment-line{display:flex;align-items:baseline;gap:10px;font-size:11px;margin-top:6px;color:#758a7c;overflow-wrap:anywhere}.rubric-box{background:#f3f7f4;border-left:2px solid #72a58b;border-radius:0 7px 7px 0;padding:10px 12px;margin-top:12px}.rubric-box .meta-label{color:#54826a;font-weight:650}.rubric-caption{font-weight:400;color:#7c9586}.rubric-box p{margin-top:4px;font-size:12px;color:#486354;line-height:1.7;overflow-wrap:anywhere}fieldset{border:0;padding:0;margin:0;min-width:0}.rating-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rating-grid label,.comment-label{display:block;color:#496055;font-size:11px;font-weight:600;margin-bottom:14px}.rating-grid label>span:first-child{display:block;margin-bottom:7px;overflow-wrap:anywhere}.rating-grid select{font-size:12px;padding:9px 8px;min-height:38px}.field-hint{display:block;color:#98a59c;font-size:9px;font-weight:400;margin-top:5px}.label-line{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}.optional{font-weight:400;font-size:10px;color:#9caaa1}.comment-label textarea{font-size:12px;min-height:95px;max-height:240px;background:#fdfefd}.attachments{font-size:11px;border-top:1px solid var(--line);padding-top:10px;color:#7c8f82}.attachments summary{display:flex;justify-content:space-between;list-style:none}.attachments summary::-webkit-details-marker{display:none}.attachments[open] summary{margin-bottom:12px}.file-label{display:block;font-size:11px}.file-label input{margin-top:6px;font-size:10px;padding:7px}.check{display:flex;gap:7px;align-items:flex-start;margin:12px 0;font-size:10px;line-height:1.7}.check input{width:13px;margin:3px 0 0;flex:none;accent-color:var(--teal)}.review-submit{padding:14px 20px 12px;border-top:1px solid var(--line);background:#fff;flex:none}.submit-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:9px}.submit-actions button{padding:10px 8px;font-size:12px;white-space:nowrap}.save-hint{font-size:9px;color:#a0ada4;margin-top:8px;text-align:center}#saved-note{font-size:11px;color:#22775b;margin-bottom:8px}#saved-note:empty{display:none}.login-card{max-width:420px;margin:11vh auto 0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:34px;box-shadow:0 15px 45px #16392b08}.login-card h1{font-size:24px;margin:10px 0}.login-card .muted{font-size:12px;margin-bottom:26px}.login-card label{display:block;font-size:12px;margin:16px 0;color:#557061}.login-card input{margin-top:7px}.login-card button{width:100%;margin-top:6px;display:flex;justify-content:space-between}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}
@media(min-width:1600px){.review-layout{grid-template-columns:minmax(0,1fr) 440px;gap:22px}.review-scroll{padding:20px 24px}.review-heading{padding-left:24px;padding-right:24px}.rubric-box p{font-size:13px}.comment-label textarea{min-height:135px}.rating-grid label,.comment-label{font-size:12px}.review-submit{padding-left:24px;padding-right:24px}}
@media(max-height:800px) and (min-width:961px){.review-layout{height:calc(100dvh - 171px);min-height:490px}.assignment{height:60px}.review-heading{padding-top:13px;padding-bottom:12px}.review-scroll{padding-top:12px}.rubric-box{margin-top:8px;padding:7px 10px}.case-summary{margin-bottom:10px}.rating-grid label,.comment-label{margin-bottom:10px}.comment-label textarea{min-height:78px;height:78px}.review-submit{padding-top:10px;padding-bottom:8px}.game-top{padding:14px 18px}}
@media(max-width:1100px) and (min-width:961px){main{padding-left:16px;padding-right:16px}.review-layout{grid-template-columns:minmax(0,1fr) 360px;gap:12px}.review-scroll,.review-heading,.review-submit{padding-left:16px;padding-right:16px}.game-hint{font-size:9px}}
@media(max-width:960px){.topbar{height:58px;padding:0 16px}main{padding:0 14px 20px}.assignment{height:auto;min-height:76px;flex-wrap:wrap;gap:12px;padding:12px 0}.assignment-title{display:none}.assignment>.actions{width:100%;gap:7px}.assignment select{flex:1;min-width:0;width:auto}.assignment button{font-size:11px;padding:8px 10px}.toolbar-divider{display:none}.review-layout{display:flex;flex-direction:column;height:auto;max-height:none;min-height:0;gap:14px}.game-panel{height:clamp(260px,43vw,420px);flex:none;position:sticky;top:8px;z-index:3;box-shadow:0 5px 18px #152e3320}.game-top{padding:10px 14px}.game-bottom{padding:8px 12px}.game-bottom p{font-size:10px}.game-hint{display:none}.review-panel{overflow:visible}.review-scroll{overflow:visible;padding:17px 20px}.review-heading{padding:15px 20px}.review-submit{border-radius:0 0 13px 13px}.banner{font-size:10px;gap:6px;height:29px}#notice{top:8px;font-size:11px;padding:8px 12px}.comment-label textarea{min-height:105px}.login-card{margin-top:7vh;padding:26px}.brand-caption{font-size:8px}#identity{gap:6px;font-size:11px}.topbar #logout{margin:0;padding:5px 6px}.game-top h2{font-size:12px}.review-layout:has(.game-panel iframe) .game-panel{height:clamp(260px,50vw,440px)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.runtime-health{display:flex;flex-wrap:wrap;gap:5px 15px;padding:8px 16px;background:#17282b;color:#a8bdb7;font-size:11px;border-bottom:1px solid #2b3d40}.runtime-health [data-level=ok]{color:#9cd3b9}.runtime-health [data-level=bad]{color:#f2ae91}.runtime-health [data-level=wait]{color:#d3c597}.game-bottom{flex-wrap:wrap}.game-bottom .actions{flex-wrap:wrap;gap:6px}.game-bottom p{flex:1;min-width:150px}@media(max-width:960px){.runtime-health{font-size:10px;padding:5px 12px;gap:3px 12px}.game-panel{min-height:320px}.game-bottom .actions{gap:4px}.game-button{padding:5px 7px}}

.rubric-language h3{font-size:12px;margin:12px 0 8px;color:#52634f}.rubric-language p{margin:8px 0;font-size:13px;line-height:1.65}.rubric-language+section{border-top:1px solid #ddd;padding-top:4px}.taxonomy-label{font-size:12px;margin-top:8px;color:#657461}#task-select{max-width:360px}#environment-select{max-width:165px}.assignment .actions{flex-wrap:wrap}.assignment-title #case-count{font-size:12px}.rubric-box{overflow-wrap:anywhere}

/* Minimal public sign-in. Review rubrics retain both languages. */
body.at-login{background:#f8f8f6;color:#161a19}
body.at-login .topbar{display:none}
body.at-login main{min-height:100dvh;display:grid;place-items:center;padding:64px 24px}
body.at-login .login-card{width:100%;max-width:440px;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;transform:translateY(-24px)}
body.at-login .login-card h1{font-size:clamp(32px,5vw,44px);font-weight:600;line-height:1.12;letter-spacing:-1.7px;margin:0 0 44px}
body.at-login .login-card label{display:block;color:#373d3a;font-size:13px;font-weight:500;margin:0 0 22px}
body.at-login .login-card input{display:block;height:52px;margin-top:9px;border:1px solid #d9ddda;border-radius:9px;padding:0 15px;background:#fff;color:#171d19;font-size:15px;box-shadow:none}
body.at-login .login-card input:focus{border-color:#6b8073;box-shadow:0 0 0 3px #243c2b0a;outline:none}
body.at-login .login-card input::placeholder{color:#9a9f9b}
body.at-login .login-card button{display:block;height:52px;justify-content:center;border:1px solid #202b25;border-radius:9px;background:#202b25;color:#fff;font-size:14px;font-weight:500;margin-top:30px}
body.at-login .login-card button:hover:not(:disabled){background:#35433a;box-shadow:none}
body.at-login #demo{display:none!important}
@media(max-width:600px){body.at-login main{padding:40px 28px}body.at-login .login-card{transform:none}body.at-login .login-card h1{margin-bottom:36px;letter-spacing:-1.1px}}

/* Shared overview */
.workspace-nav{display:flex;gap:6px;margin:4px 0 34px;border-bottom:1px solid #e4e7e5;padding-bottom:12px}.workspace-nav button{background:transparent;color:#69736c;border:0;padding:10px 18px}.workspace-nav .selected{background:#e7ede8;color:#244333}.overview-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.overview-heading h1{font-size:34px;letter-spacing:-1px;line-height:1.2;margin:9px 0}.overview-heading p,.section-heading p{color:#727b75;margin:8px 0;line-height:1.6}.live-update{font-size:12px;color:#4a7256;white-space:nowrap}.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-bottom:28px}.stats-grid article{background:#fff;border:1px solid #e3e8e3;border-radius:12px;padding:24px}.stats-grid article>span{display:block;color:#657168;font-size:13px}.stats-grid strong{display:block;font-size:42px;line-height:1.35;font-weight:600;letter-spacing:-1.5px;margin:8px 0}.stats-grid small{color:#7d867e;font-size:12px}.stats-grid .accepted-stat{background:#eff5ef;border-color:#d7e5d8}.accepted-stat strong{color:#365c3e}.queue-card,.progress-card{border:1px solid #e0e6e0;border-radius:14px;background:white;padding:28px;margin-bottom:24px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.section-heading h2{font-size:20px;margin:0}.section-heading p{font-size:13px;max-width:620px}.section-heading select{width:auto;min-width:145px}.slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.slot{background:#f8faf7;border:1px dashed #d2dcd1;border-radius:10px;padding:20px;min-height:150px}.slot.occupied{border:1px solid #c6d9c8;background:#f0f6f0}.slot-label{color:#7f8b80;font-size:10px;font-weight:700;letter-spacing:1.4px}.slot h3{margin:14px 0 7px;font-size:19px}.slot p{font-size:13px;color:#6d796e;margin:0}.slot button{margin-top:10px;padding:4px 0;font-size:12px}.waiting-heading{display:flex;align-items:center;gap:10px;margin:24px 0 6px}.waiting-heading h3{font-size:14px;margin:0}.waiting-heading>span{background:#eef1ec;padding:2px 8px;border-radius:20px;font-size:11px}.empty-queue{color:#939b93;font-size:13px}.waiting-row{display:flex;align-items:center;gap:18px;border-top:1px solid #edf0eb;padding:12px 0;font-size:13px}.waiting-row button{margin-left:auto}.queue-number{background:#eef1eb;border-radius:50%;width:26px;height:26px;display:grid;place-items:center}.table-scroll{overflow-x:auto}.progress-table{border-collapse:collapse;width:100%;text-align:left;font-size:13px;white-space:nowrap}.progress-table th{color:#879086;font-size:11px;font-weight:500;padding:0 12px 14px;border-bottom:1px solid #e4e9e1}.progress-table td{padding:15px 12px;border-bottom:1px solid #edf0eb}.progress-table td:first-child{font-weight:600}.progress-table button{padding:5px;font-size:12px}.baseline-label,.approval-names{display:block;margin-top:4px;color:#899087;font-size:11px;font-weight:400}.status-pill{background:#f2f3ee;color:#7b816e;border-radius:5px;padding:5px 9px;font-size:11px}.status-pill.accepted{background:#e7f1e6;color:#35633d}body.at-login #reviewer{height:52px;border:1px solid #d8ded8;background-color:white;border-radius:7px;font-size:15px;padding:0 14px;width:100%;margin-top:9px}#dashboard{max-width:1200px;margin:auto}.workspace-nav{max-width:1200px;margin-left:auto;margin-right:auto}#review-view[hidden],#dashboard[hidden]{display:none!important}
@media(max-width:760px){.overview-heading{align-items:flex-start;flex-direction:column;gap:10px}.overview-heading h1{font-size:27px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stats-grid article{padding:16px}.stats-grid strong{font-size:32px}.slots-grid{grid-template-columns:1fr}.slot{min-height:100px}.queue-card,.progress-card{padding:18px}.section-heading{align-items:flex-start;flex-wrap:wrap}.workspace-nav{margin-bottom:24px}.stats-grid small{font-size:11px}}
.table-scroll{position:relative;max-width:100%}
@media(max-width:600px){.topbar{gap:12px;height:auto;min-height:64px;padding-top:10px;padding-bottom:10px}.brand{min-width:0;gap:8px}.brand strong{font-size:12px}.brand-mark{flex-shrink:0;width:27px;height:27px;font-size:22px}#identity{flex-shrink:0;gap:5px}.topbar #logout{white-space:nowrap}.reviewer-dot{display:none}}

/* Canonical five-category taxonomy and separate progress tab. */
#progress-view{max-width:1200px;margin:0 auto 24px}.workspace-nav button:hover:not(:disabled){color:#244333;background:#e7ede8}.progress-filters{display:flex;gap:8px;flex-wrap:wrap}.progress-filters select{max-width:280px}.progress-result-count{font-size:12px;color:#6c7b71;margin:0 0 18px}.progress-bug-type{white-space:normal;min-width:220px;max-width:300px}.taxonomy-category-label{display:block;font-size:11px;color:#6c7d74;line-height:1.6;margin-bottom:5px}.taxonomy-subtype-label{display:block;font-size:12px;color:#274738;line-height:1.55;font-weight:600}.taxonomy-zh{display:block;font-size:11px;color:#798b80;margin-top:4px;line-height:1.6}.task-taxonomy{margin-top:16px;padding:13px 14px;border:1px solid #d7e3d9;border-radius:8px;background:#fafcf9}.task-taxonomy>.meta-label{display:block;margin-bottom:8px;font-weight:600;color:#557360}.task-taxonomy .taxonomy-subtype-label{font-size:14px}.taxonomy-overview{margin-top:32px;margin-bottom:32px}.taxonomy-overview h2{font-size:20px}#taxonomy-categories{display:grid;gap:16px}.taxonomy-card{--category-color:#47715c;border:1px solid #dde6df;border-radius:12px;overflow:hidden;display:grid;grid-template-columns:240px minmax(0,1fr);background:white}.taxonomy-card[data-category=collision]{--category-color:#926244}.taxonomy-card[data-category=visual]{--category-color:#5a6799}.taxonomy-card[data-category=state]{--category-color:#886887}.taxonomy-card[data-category=semantic]{--category-color:#8b7b39}.taxonomy-card-heading{padding:22px;border-top:3px solid var(--category-color);background:#fafcf9}.taxonomy-card-heading h3{font-size:16px;line-height:1.4;color:var(--category-color);margin:0}.taxonomy-card-heading .taxonomy-zh{margin-top:8px}.taxonomy-counts{font-size:12px;color:#798b7e;margin-top:16px}.taxonomy-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.taxonomy-type{display:flex;flex-direction:column;justify-content:space-between;text-align:left;background:white;border:0;border-left:1px solid #edf1ec;border-radius:0;padding:20px;gap:16px;min-width:0;min-height:155px;color:#334d3b;font-weight:400}.taxonomy-type:hover:not(:disabled){background:#f1f6f0;box-shadow:inset 0 -3px var(--category-color)}.taxonomy-type-title{display:block}.taxonomy-type-title strong{display:block;color:var(--category-color);font-size:12px;margin-bottom:9px}.taxonomy-type-title>span{display:block;font-size:13px;line-height:1.5}.taxonomy-type-title small{display:block;margin-top:7px;color:#829086;font-size:11px;line-height:1.5}.taxonomy-type-count{font-size:11px;color:#738574;white-space:nowrap}.slot-taxonomy{display:block;font-size:11px;margin-top:12px;color:#718476;line-height:1.6}.queue-taxonomy{color:#718476;font-size:11px}.waiting-row{flex-wrap:wrap}
@media(max-width:1000px){.taxonomy-card{grid-template-columns:1fr}.taxonomy-card-heading{padding:16px 20px}.taxonomy-counts{margin-top:8px}.taxonomy-type{min-height:170px}.progress-filters{width:100%}.progress-filters select{flex:1;min-width:140px;max-width:none}}
@media(max-width:600px){.taxonomy-overview>.section-heading{gap:8px}.taxonomy-types{grid-template-columns:1fr}.taxonomy-type{min-height:0;flex-direction:row;align-items:center;border-left:0;border-top:1px solid #edf1ec;padding:16px;gap:10px}.taxonomy-type-title strong{margin-bottom:5px}.taxonomy-type-title small{margin-top:4px}.taxonomy-type-count{font-size:10px}.workspace-nav{gap:1px}.workspace-nav button{padding:10px 12px;font-size:12px}.progress-filters select{width:100%;flex-basis:100%}}

.taxonomy-toolbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.taxonomy-switch{display:flex;gap:3px;background:#e4ebe4;border:1px solid #d9e2da;border-radius:9px;padding:3px}.taxonomy-switch button{border:0;border-radius:6px;min-height:32px;padding:6px 17px;background:transparent;color:#748276;font-weight:500}.taxonomy-switch button[aria-pressed=true]{background:white;color:#284c36;box-shadow:0 1px 4px #20352812}.taxonomy-switch button:hover:not(:disabled){background:#f8fbf7;color:#284c36}.taxonomy-scope{color:#7a887d;font-size:12px;line-height:1.6;margin:-8px 0 18px}.taxonomy-percentage{display:block;font-size:28px;line-height:1.2;color:var(--category-color);margin-top:17px;letter-spacing:-.6px}.taxonomy-card-heading .taxonomy-counts{margin-top:6px}.taxonomy-share-bar{height:4px;background:#e8ede7;border-radius:4px;margin-top:13px;overflow:hidden}.taxonomy-share-bar span{display:block;background:var(--category-color);height:100%;border-radius:4px}.taxonomy-type{min-height:170px;justify-content:center}.taxonomy-type-count{margin-top:auto}.taxonomy-type-title>span{font-weight:500}
@media(max-width:600px){.taxonomy-toolbar{width:100%;justify-content:space-between;gap:10px}.taxonomy-switch button{padding:6px 14px}.taxonomy-type{min-height:0;justify-content:space-between}.taxonomy-type-count{margin-top:0}.taxonomy-percentage{font-size:26px;margin-top:12px}.taxonomy-scope{margin-top:0}}

/* Readable environment-prefixed task identifiers. */
#case-id{overflow-wrap:anywhere;min-width:0}.case-meta>div{min-width:0}.case-meta .meta-label{flex-shrink:0}.session-heading{min-width:0}.session-heading h2{overflow-wrap:anywhere}.slot p{overflow-wrap:anywhere}.progress-table td:first-child{font-size:12px;letter-spacing:-.1px}

/* Compact review workspace */
.assignment{justify-content:flex-start;height:auto;min-height:64px;padding:12px 0}.assignment>.actions{width:100%;display:flex;gap:10px}#task-select{max-width:430px;flex:1}.review-scroll{padding-top:20px}.submit-actions{grid-template-columns:1.3fr 1fr 1fr}.rubric-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.rubric-toolbar .taxonomy-switch button{font-size:11px;padding:4px 8px;min-height:28px}.rubric-toolbar .taxonomy-switch{padding:2px}.rubric-box p{font-size:13px;margin-top:10px}.case-meta{gap:10px}.case-meta>div{min-width:0}.case-meta .meta-label{white-space:nowrap}#stream-placeholder:after{content:''}.review-layout{height:calc(100dvh - 204px)}
@media(max-width:960px){.review-layout{height:auto}.assignment>.actions{flex-wrap:wrap}#task-select{max-width:none;min-width:195px}#environment-select{max-width:145px}.game-panel{position:relative;top:auto}.submit-actions{grid-template-columns:1.3fr 1fr 1fr}}

@media(min-width:961px){.review-layout{min-height:440px}}

#player.switching:after{content:'Switching task…';position:absolute;inset:0;z-index:5;display:grid;place-items:center;background:#14252be6;color:#c7ddd6;font-size:15px}#player.switching iframe{pointer-events:none}

/* Minimal game controls */
.action-space{display:flex;align-items:center;flex-wrap:wrap;gap:10px 22px;padding:11px 18px;border-top:1px solid #304348;background:#192b30;color:#bbcfcc;font-size:11px}.action-space strong{font-size:11px;font-weight:600;color:#e0eae6;margin-right:2px}.action-space span{display:inline-flex;align-items:center;gap:7px}.action-space kbd{font:inherit;font-size:10px;padding:2px 5px;border:1px solid #435d60;border-radius:4px;color:#e0eae6;background:#21383d}.game-heading-actions{display:flex;align-items:center;gap:12px}#player{border-radius:0 0 12px 12px}@media(max-width:960px){.action-space{padding:8px 12px;gap:7px 12px;font-size:10px}.action-space strong{width:100%}.game-heading-actions{gap:6px}}

.scene-box{margin-top:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}.scene-box .meta-label{font-size:12px;font-weight:650;color:#496055}.scene-box p{margin-top:10px;color:#63756e;font-size:13px;line-height:1.7;overflow-wrap:anywhere}

/* Session actions and read-only peer feedback. */
.assignment>.actions{align-items:flex-start}.session-controls{flex:none}.session-buttons{display:flex;gap:8px}.session-buttons button{white-space:nowrap}.end-reminder{color:#b42318;font-size:13px;line-height:1.5;margin-top:6px}.peer-reviews{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:0 0 16px}.peer-reviews>summary{font-size:14px;font-weight:600;color:#496055}.peer-review{padding:14px 0;border-bottom:1px solid var(--line)}.peer-review:last-child{border:0;padding-bottom:0}.peer-review-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px}.peer-quality{font-size:12px;border-radius:4px;padding:2px 7px;background:#edf1f0;color:#52625e}.peer-quality.pass{color:#146249;background:#eaf6ee}.peer-quality.fail{color:#aa3429;background:#fff0ed}.peer-quality.uncertain{color:#85631d;background:#fff8e5}.peer-meta,.peer-review time,.peer-version{font-size:12px;color:#73837e;margin-top:6px}.peer-version{color:#92622c}.peer-comment{font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}.peer-empty{font-size:14px;color:#73837e;padding-top:12px}.peer-review time{display:block}
@media(max-width:960px){.session-controls{width:100%}.end-reminder{font-size:13px}.assignment>.actions{align-items:center}}

.rubric-section{margin:14px 0}.rubric-section>strong{font-size:12px;color:#496055}.rubric-section>p{margin:5px 0 0;white-space:pre-line;line-height:1.65}

.rubric-details{border-top:1px solid #dce6df;margin-top:10px;padding-top:8px}.rubric-details>summary{font-size:12px;color:#376c54;line-height:1.5}.rubric-details[open]>summary{margin-bottom:10px}

.engine-summary>h2{font-size:18px;line-height:1.4;margin:0 0 12px;color:#344e45}.engine-summary+.engine-summary{margin-top:4px}.taxonomy-scope{font-size:13px;line-height:1.6;color:#727b75;margin:-8px 0 22px}.taxonomy-toolbar{flex-wrap:wrap;gap:12px}.progress-filters{flex-wrap:wrap}

/* Compact current reviewer results directly below the task identifier. */
.case-review-status{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;min-width:0}
.review-result{font-size:12px;line-height:1.5;padding:3px 8px;border-radius:5px;overflow-wrap:anywhere;max-width:100%;background:#edf1f0;color:#52625e}
.review-result.pass{color:#146249;background:#eaf6ee}
.review-result.uncertain{color:#85631d;background:#fff8e5}
.review-result.fail{color:#aa3429;background:#fff0ed}
.review-result-note{font-size:12px;color:var(--muted);line-height:1.5}

/* The visual category has four subtypes. */
@media(min-width:601px){.taxonomy-card[data-category=visual] .taxonomy-types{grid-template-columns:repeat(2,minmax(0,1fr))}}
.progress-filters{justify-content:flex-end;max-width:750px}.progress-quality{font-weight:600}.progress-quality.pass{color:#256341}.progress-quality.fail{color:#a33434}.progress-quality.uncertain{color:#826417}

/* Published content updates and version-separated review history. */
.updated-badge{display:inline-block;margin-left:8px;padding:3px 8px;border-radius:999px;background:#e8f1fc;color:#285f96;font-size:11px;font-weight:650;white-space:nowrap;vertical-align:middle}
.case-update{margin:12px 0;padding:12px;border:1px solid #d8e5f3;border-radius:10px;background:#f5f9fd}.case-update .updated-badge{margin-left:0}.update-date{margin-left:8px;font-size:12px;color:#627789}.case-update details{margin-top:9px}.case-update p{font-size:13px;line-height:1.55;margin:8px 0 0}.update-personal{color:#285f96;font-weight:600}
.review-group-label{flex-basis:100%;font-size:11px;color:#62766f;font-weight:600}.previous-reviews{width:100%;margin-top:8px}.previous-reviews summary,.case-update summary{cursor:pointer;font-size:12px;color:#536d66}.previous-reviews .review-result{display:inline-block;margin:8px 5px 0 0}.review-version-group h4{font-size:12px;margin:10px 0}

.review-queue{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;margin-bottom:12px;border:1px solid #d9e5df;border-radius:10px;background:#f4f8f6;color:#48675b;font-size:13px}.queue-position{overflow-wrap:anywhere}.review-queue .quiet{padding:5px 10px}
