.classroom-console{--tc-ink:#263f52;--tc-muted:#647c8c;--tc-line:#dce6ec;--tc-primary:#285e83;min-height:100dvh;color:var(--tc-ink);padding-bottom:max(24px, env(safe-area-inset-bottom));background:#f3f6f8}.classroom-console h1,.classroom-console h2,.classroom-console h3,.classroom-console p{overflow-wrap:anywhere;margin:0}.classroom-console h1{letter-spacing:-.5px;font-size:25px;line-height:1.4}.classroom-console h2{font-size:18px;line-height:1.5}.classroom-console h3{font-size:16px;line-height:1.5}.classroom-console small,.classroom-console .tc-muted{color:var(--tc-muted)}.classroom-console a{color:var(--tc-primary)}.classroom-console button,.classroom-console input,.classroom-console select,.classroom-console textarea{font-size:16px}.classroom-console button,.classroom-console select,.classroom-console input,.classroom-console .tc-file{min-height:44px}.classroom-console input,.classroom-console select,.classroom-console textarea{width:100%;color:var(--tc-ink);background:#fff;border:1px solid #bdcfdc;border-radius:9px;min-width:0;padding:11px 12px}.classroom-console input:focus-visible,.classroom-console select:focus-visible,.classroom-console button:focus-visible,.classroom-console a:focus-visible{outline-offset:3px;outline:3px solid #9ac5e1}.classroom-console input[type=checkbox]{width:20px;min-height:20px}.classroom-console label{flex-direction:column;gap:7px;font-size:14px;display:flex}.classroom-console label small{font-size:12px;line-height:1.6}.classroom-console form,.tc-stack{flex-direction:column;gap:17px;display:flex}.tc-header{border-bottom:1px solid var(--tc-line);padding:18px max(20px, env(safe-area-inset-left));background:#fff;justify-content:space-between;align-items:center;gap:16px;display:flex}.tc-brand{align-items:center;gap:11px;font-size:17px;font-weight:650;display:flex}.tc-brand>svg{width:42px;height:42px;color:var(--tc-primary);background:#e8f1f7;border-radius:10px;flex-shrink:0;padding:9px}.tc-brand small{margin-top:2px;font-size:11px;font-weight:400;display:block}.tc-header-actions{align-items:center;gap:7px;display:flex}.tc-header-actions a{align-items:center;min-height:44px;font-size:13px;display:flex}.tc-wrap{width:min(1100px,100%);margin:auto;padding:24px}.tc-login{width:min(490px,100%);margin:28px auto}.tc-title{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:21px;display:flex}.tc-title p{color:var(--tc-muted);margin-top:6px;font-size:13px;line-height:1.7}.tc-environment{background:#eaf0f5;border:1px solid #d2dfe8;border-radius:9px;margin-bottom:17px;padding:11px 14px;font-size:12px;line-height:1.7}.tc-notice{color:#285d3e;overflow-wrap:anywhere;background:#edf6f0;border:1px solid #c9dfd1;border-radius:9px;margin-bottom:17px;padding:13px 16px;font-size:14px;line-height:1.7}.tc-notice.error{color:#873c2b;background:#fff2ee;border-color:#eacfc4}.tc-notice.warning{color:#74531c;background:#fff8e9;border-color:#e9dcb6}.tc-course-selector{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-bottom:17px;display:grid}.tc-tabs{background:#e6edf2;border-radius:11px;gap:6px;margin:0 0 23px;padding:4px;display:flex}.tc-tabs button{color:#587184;background:0 0;border:0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:7px;padding:9px 12px;font-size:14px;display:flex}.tc-tabs button[aria-selected=true]{color:var(--tc-primary);background:#fff;font-weight:600;box-shadow:0 1px 4px #16394c10}.tc-button{color:var(--tc-primary);cursor:pointer;background:#fff;border:1px solid #bdcfdc;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-weight:500;line-height:1.4;text-decoration:none;display:inline-flex}.tc-button.primary{background:var(--tc-primary);border-color:var(--tc-primary);color:#fff}.tc-button.danger{color:#973c30;background:#fff3ef;border-color:#dec2bc}.tc-button:disabled{opacity:.5;cursor:not-allowed}.tc-button.icon-only{flex-shrink:0;width:44px;padding:10px}.tc-card{border:1px solid var(--tc-line);background:#fff;border-radius:13px;min-width:0;margin-bottom:18px;padding:23px}.tc-card-heading{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:17px;display:flex}.tc-card-heading p{color:var(--tc-muted);margin-top:5px;font-size:13px;line-height:1.7}.tc-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.tc-actions{flex-wrap:wrap;gap:9px;display:flex}.tc-actions>*{min-width:0}.tc-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.tc-layout{grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);align-items:start;gap:19px;display:grid}.tc-empty{text-align:center;color:var(--tc-muted);flex-direction:column;align-items:center;gap:12px;padding:37px 15px;font-size:14px;line-height:1.8;display:flex}.tc-empty>svg{color:#83a1b7}.tc-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:22px;display:grid}.tc-stat{background:#f3f7fa;border:1px solid #e2ebf0;border-radius:9px;padding:14px}.tc-stat strong{margin-bottom:3px;font-size:25px;font-weight:600;display:block}.tc-stat span{color:var(--tc-muted);font-size:11px}.tc-pill{color:#4b6e86;white-space:nowrap;background:#edf3f7;border-radius:5px;align-items:center;gap:5px;padding:5px 8px;font-size:12px;display:inline-flex}.tc-pill.running,.tc-pill.completed,.tc-pill.present{color:#39724b;background:#eaf5ee}.tc-pill.paused,.tc-pill.late,.tc-pill.pending{color:#806128;background:#fff5df}.tc-pill.ended,.tc-pill.absent{color:#946055;background:#f3ebea}.tc-list{flex-direction:column;gap:12px;display:flex}.tc-item{border:1px solid var(--tc-line);border-radius:10px;padding:17px}.tc-item>.tc-row{margin-bottom:10px}.tc-item p{color:var(--tc-muted);margin-bottom:13px;font-size:13px;line-height:1.7}.tc-item .tc-button{font-size:14px}.tc-qr{text-align:center;background:#f7fafc;border-radius:11px;flex-direction:column;align-items:center;gap:12px;padding:18px;display:flex}.tc-qr img{border:1px solid #e2eaf0;border-radius:8px;width:200px;max-width:100%}.tc-link{overflow-wrap:anywhere;font-size:12px;line-height:1.7}.tc-check{align-items:flex-start;line-height:1.7;flex-direction:row!important;gap:10px!important;display:flex!important}.tc-import-errors{color:#833e2f;background:#fff5f2;border:1px solid #e9c6be;border-radius:9px;padding:14px 18px;font-size:13px;line-height:1.8}.tc-import-errors ul{margin:7px 0 0;padding-left:20px}.tc-import-preview{max-height:360px;overflow-y:auto}.tc-roster{flex-direction:column;display:flex}.tc-student{border-bottom:1px solid #e6edf2;padding:15px 0}.tc-student:last-child{border-bottom:0}.tc-student>.tc-row{align-items:flex-start;margin-bottom:8px}.tc-student-name{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.tc-student-name strong{font-size:15px}.tc-student-name small{font-size:12px}.classroom-console .tc-number-pending{color:#8b5c1b}.tc-number-form{background:#f7fafc;border:1px solid #e2eaf0;border-radius:10px;margin-top:14px;padding:15px}.tc-student-detail{color:var(--tc-muted);flex-wrap:wrap;gap:12px;font-size:12px;line-height:1.8;display:flex}.tc-progress{background:#e8eff4;border-radius:5px;width:100%;height:5px;margin:10px 0;overflow:hidden}.tc-progress>span{background:#6d9ab9;border-radius:5px;height:100%;display:block}.tc-attendance-row{grid-template-columns:105px minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:11px;display:grid}.tc-attendance-row select,.tc-attendance-row input{padding:10px;font-size:14px}.tc-attendance-row button{padding:10px;font-size:13px}.tc-code{letter-spacing:6px;color:var(--tc-primary);font-size:30px;font-weight:600;margin:10px 0!important}.tc-detail{border-top:1px solid var(--tc-line);margin-top:20px;padding-top:20px}.tc-private-note{color:var(--tc-muted);font-size:12px;line-height:1.8}.tc-recovery-tools>summary{min-height:44px;color:var(--tc-primary);cursor:pointer;padding:10px 0;font-size:15px;font-weight:550;line-height:1.5}.tc-recovery-tools>.tc-stack{margin-top:14px}.tc-recovery-tools>summary:focus-visible{outline-offset:3px;border-radius:7px;outline:3px solid #9ac5e1}.tc-csv-panel{border:1px solid var(--tc-line);background:#f5f8fa;border-radius:10px;flex-direction:column;gap:12px;min-width:0;margin-top:17px;padding:15px;display:flex}.tc-csv-panel textarea{resize:vertical;white-space:pre;max-width:100%;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.6}.tc-file input[type=file]{border:0;padding:0;font-size:14px}.tc-refresh-note{color:var(--tc-muted);align-items:center;gap:5px;margin-top:8px;font-size:11px;display:flex}.tc-modal-body{flex-direction:column;gap:17px;display:flex}.classroom-console .modal{color:var(--tc-ink);max-width:600px}.classroom-console .modal h2{font-size:19px}.classroom-console .modal .icon-button{min-width:44px;min-height:44px}.classroom-console .modal p{font-size:14px;line-height:1.8}.tc-session-dock{display:none}.tc-card[id]{scroll-margin-top:20px}@media (width<=760px){.classroom-console.tc-live-console{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.tc-session-dock{z-index:20;padding:6px 12px max(6px, env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dce6ec;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -3px 14px #173c5010}.tc-session-dock button{color:#285e83;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:48px;font-size:14px;display:flex}.tc-wrap{padding:21px 17px}.tc-header{padding:14px 17px}.tc-header-actions a{display:none}.tc-layout{display:block}.tc-card{padding:20px 17px}.tc-title h1{font-size:23px}.tc-title{flex-wrap:wrap}.tc-tabs button{gap:5px;padding:9px 6px;font-size:13px}.tc-tabs svg{width:16px}.tc-stat-grid{gap:7px}.tc-stat{padding:10px 8px}.tc-stat strong{font-size:21px}.tc-stat span{font-size:10px}.tc-two{grid-template-columns:minmax(0,1fr)}.tc-course-selector{grid-template-columns:minmax(0,1fr) 44px}.tc-course-selector .tc-button{padding:10px;font-size:0}.tc-attendance-row{grid-template-columns:103px minmax(0,1fr)}.tc-attendance-row button{grid-column:1/-1}}.lab-student{color:#17243d;min-height:100dvh;padding:max(18px, env(safe-area-inset-top)) 18px max(28px, env(safe-area-inset-bottom));background:#f4f6fa}.lab-student *{box-sizing:border-box}.lab-student header{justify-content:space-between;align-items:center;gap:12px;max-width:700px;margin:0 auto 28px;display:flex}.lab-student .lab-brand{align-items:center;gap:9px;font-size:14px;font-weight:700;display:flex}.lab-student main{max-width:700px;margin:auto}.lab-student h1{letter-spacing:-.025em;margin:10px 0 16px;font-size:clamp(25px,6vw,34px);line-height:1.35}.lab-student h2{margin:0 0 14px;font-size:18px}.lab-student p{line-height:1.75}.lab-student small,.lab-muted{color:#63708a}.lab-eyebrow{color:#4266af;text-transform:uppercase;letter-spacing:.09em;margin:0;font-size:12px;font-weight:700}.lab-card{background:#fff;border:1px solid #e2e7ef;border-radius:15px;margin:18px 0;padding:22px}.lab-card>:last-child{margin-bottom:0}.lab-stack{gap:15px;display:grid}.lab-stack label{gap:8px;font-size:14px;font-weight:600;display:grid}.lab-stack input{color:#17243d;background:#fff;border:1px solid #c8d2e1;border-radius:9px;width:100%;min-height:48px;padding:11px 13px;font-size:16px}.lab-stack input:focus{border-color:#3567cf;outline:3px solid #dbe5fc}.lab-form-note{margin:0;font-size:13px}.lab-recovery{border-top:1px solid #e2e7ef;margin-top:20px;padding-top:8px}.lab-recovery>summary{cursor:pointer;color:#42629c;touch-action:manipulation;min-height:44px;padding:12px 0;font-size:14px}.lab-recovery>summary:focus-visible{border-radius:5px;outline:3px solid #dbe5fc}.lab-stack .lab-checkbox{align-items:center;gap:10px;min-height:44px;font-weight:400;display:flex}.lab-checkbox input{flex-shrink:0;width:18px;height:18px;min-height:18px}.lab-stack input:read-only{background:#f6f8fb}.lab-student button{touch-action:manipulation;cursor:pointer}.lab-btn{color:#fff;background:#245aca;border:1px solid #245aca;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:49px;padding:11px 16px;font-size:16px;font-weight:600;display:flex}.lab-btn.secondary{color:#254c92;background:#fff;border-color:#cbd5e5}.lab-btn:disabled,.lab-choice:disabled{cursor:wait;opacity:.55}.lab-alert{color:#80561a;overflow-wrap:anywhere;background:#fff9ee;border:1px solid #eed1a1;border-radius:10px;margin:14px 0;padding:12px 15px;line-height:1.6}.lab-alert.error{color:#973636;background:#fff4f4;border-color:#f1c8c8}.lab-alert.success{color:#27644c;background:#edf8f2;border-color:#b5d9ca}.lab-status{color:#63708a;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:9px;margin:14px 0;font-size:12px;display:flex}.lab-status button{color:#245aca;background:0 0;border:0;padding:5px 0}.lab-badge{color:#42629c;white-space:nowrap;background:#eaf0fa;border:1px solid #d6dfed;border-radius:20px;padding:5px 10px;font-size:12px}.lab-course-title{margin-bottom:24px}.lab-session-card{text-align:left}.lab-session-card h2{margin-bottom:5px}.lab-session-meta{color:#63708a;flex-wrap:wrap;gap:12px;margin:15px 0;font-size:13px;display:flex}.lab-progress{background:#dde5f1;border-radius:8px;height:6px;margin:18px 0;overflow:hidden}.lab-progress>span{background:#3567cf;height:100%;transition:width .3s;display:block}.lab-game-variables{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;margin:18px 0;display:grid}.lab-game-variables>div{background:#fff;border:1px solid #e1e7f0;border-radius:10px;padding:12px}.lab-game-variables small{margin-bottom:5px;font-size:12px;display:block}.lab-game-variables strong{font-size:21px}.lab-game-variables strong span{margin-left:4px;font-size:12px;font-weight:400}.lab-message{background:#eaf0f9;border-left:3px solid #456cae;border-radius:0 12px 12px 0;margin:20px 0;padding:17px 19px}.lab-message p{white-space:pre-line;margin:10px 0 0;font-size:18px}.lab-message small{font-weight:600}.lab-choice-list{gap:12px;margin:18px 0;display:grid}.lab-choice{text-align:left;color:#17243d;background:#fff;border:1px solid #cdd8e9;border-radius:12px;align-items:center;gap:12px;min-height:70px;padding:16px;font-size:16px;line-height:1.65;display:flex}.lab-choice:hover:not(:disabled){background:#f8faff;border-color:#3567cf}.lab-choice>.lab-letter{color:#4266af;background:#edf2fc;border-radius:8px;flex:0 0 28px;place-items:center;height:28px;font-size:12px;font-weight:700;display:grid}.lab-choice>.lab-choice-copy{flex:1}.lab-review{border-bottom:1px solid #e1e7ef;padding:15px 0}.lab-review:last-child{border:0}.lab-review summary{cursor:pointer;font-weight:600;line-height:1.6}.lab-review p{font-size:14px}.lab-result-score{letter-spacing:-.055em;color:#245aca;margin:22px 0;font-size:64px;font-weight:700;line-height:1}.lab-result-score span{color:#687c9e;letter-spacing:0;margin-left:8px;font-size:18px}.lab-completion{text-align:center;padding:30px 20px}.lab-verification .lab-stack{grid-template-columns:1fr auto;align-items:end}.lab-verification .lab-btn{width:auto}.lab-footer{color:#718097;text-align:center;max-width:700px;margin:30px auto 0;font-size:12px;line-height:1.7}.lab-preserve{white-space:pre-line}@media (width<=420px){.lab-student{padding-left:14px;padding-right:14px}.lab-card{padding:18px}.lab-student header{gap:6px}.lab-badge{font-size:11px}.lab-verification .lab-stack{grid-template-columns:1fr}.lab-verification .lab-btn{width:100%}}.lab-display{color:#17243d;background:#f3f6fb;min-height:100dvh;padding:28px clamp(24px,5vw,90px)}.lab-display *{box-sizing:border-box}.lab-display header{border-bottom:1px solid #dce4f0;justify-content:space-between;align-items:center;gap:20px;padding-bottom:20px;display:flex}.lab-display .display-brand{align-items:center;gap:12px;font-weight:700;display:flex}.lab-display .display-mark{color:#687c9a;font-size:14px}.lab-display main{max-width:1440px;margin:40px auto}.lab-display h1{letter-spacing:-.03em;margin:10px 0 16px;font-size:clamp(30px,4vw,58px);line-height:1.3}.lab-display h2{margin:0 0 20px;font-size:26px}.lab-display p{line-height:1.7}.display-muted{color:#637390}.display-eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#4166a5;font-size:14px;font-weight:700}.display-center{text-align:center;max-width:960px;margin:9vh auto}.display-code{justify-content:center;gap:clamp(6px,1vw,18px);margin:40px 0 26px;display:flex}.display-code span{color:#245aca;background:#fff;border:1px solid #d2deee;border-radius:16px;place-items:center;width:clamp(42px,7vw,86px);height:clamp(70px,10vw,120px);font-size:clamp(40px,6vw,78px);font-weight:700;display:grid}.display-button{color:#fff;cursor:pointer;background:#245aca;border:0;border-radius:10px;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 25px;font-size:16px;display:inline-flex}.display-button:disabled{opacity:.6;cursor:wait}.display-button.secondary{color:#245aca;background:#fff;border:1px solid #cdd8e9}.display-alert{color:#80561a;background:#fff8e9;border:1px solid #eddaac;border-radius:12px;max-width:960px;margin:18px auto;padding:13px 20px;line-height:1.6}.display-grid{grid-template-columns:1.15fr 1fr;align-items:center;gap:50px;display:grid}.display-qr{text-align:center;background:#fff;border:1px solid #dce5f1;border-radius:22px;justify-self:center;width:100%;max-width:450px;padding:26px}.display-qr img{aspect-ratio:1;width:min(100%,360px);margin:auto;display:block}.display-qr p{color:#637390;margin-bottom:0}.display-stats{grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0;display:grid}.display-stat{background:#fff;border:1px solid #dce5f1;border-radius:15px;padding:24px}.display-stat small{color:#637390;margin-bottom:14px;font-size:16px;display:block}.display-stat strong{color:#245aca;font-size:clamp(35px,5vw,68px);line-height:1}.display-stat strong span{color:#6c7d96;margin-left:7px;font-size:20px}.display-progress{background:#dce5f1;border-radius:12px;height:18px;margin:28px 0;overflow:hidden}.display-progress span{background:#3567cf;height:100%;transition:width .3s;display:block}.display-presence{color:#245aca;letter-spacing:.18em;font-variant-numeric:tabular-nums;margin:30px 0 12px;font-size:clamp(64px,10vw,150px);font-weight:700}.display-countdown{color:#245aca;border:1px solid #bdcfea;border-radius:40px;padding:10px 24px;font-size:25px;font-weight:700;display:inline-block}.display-ranking{grid-template-columns:1fr 1fr;gap:12px 30px;margin-top:30px;display:grid}.display-ranking-row{background:#fff;border:1px solid #dce5f1;border-radius:11px;align-items:center;gap:20px;min-height:64px;padding:17px 24px;display:flex}.display-ranking-row>span{color:#6c7d96;width:26px;font-size:20px}.display-ranking-row>strong{flex:1}.display-ranking-row>b{color:#245aca;font-size:25px}.display-footer{color:#75839a;border-top:1px solid #dce4f0;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:16px;font-size:13px;display:flex}@media (width<=700px){.lab-display{padding:20px}.lab-display header{flex-wrap:wrap}.lab-display main{margin:28px auto}.display-grid{grid-template-columns:1fr;gap:24px}.display-qr{max-width:320px}.display-stats{gap:8px}.display-stat{padding:14px}.display-stat small{font-size:13px}.display-ranking{grid-template-columns:1fr}.display-center{margin:6vh auto}}:root{color:#243a45;font-synthesis:none;--primary:#174a57;--primary-hover:#103b46;--accent:#e8f1f2;--border:#e1e7ea;--muted:#77858d;--danger:#b94444;--radius:12px;background:#f5f7f8;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,PingFang SC,sans-serif;font-weight:400;line-height:1.6}*{box-sizing:border-box}body{margin:0}.site-filing{padding:16px 20px calc(16px + env(safe-area-inset-bottom,0px));color:#60727e;text-align:center;font-size:12px;line-height:1.8}.site-filing a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #8bb8c5}input:focus,textarea:focus,select:focus{outline-offset:1px;border-color:#739eaa;outline:2px solid #a9cbd4}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:-.7px;font-size:30px;font-weight:650;line-height:1.35}h2{font-size:18px;font-weight:600;line-height:1.5}h3{font-size:16px}h4{font-size:14px;font-weight:600}a{color:inherit;text-decoration:none}small{font-size:12px}.muted{color:var(--muted);font-size:14px}.eyebrow{letter-spacing:.7px;color:#5b7f88;margin-bottom:9px;font-size:12px;font-weight:550}.micro-note{color:var(--muted);font-size:12px;line-height:1.7}.preserve-lines{white-space:pre-line;overflow-wrap:anywhere}.full-width{width:100%}.danger-text{color:var(--danger)!important}.button{white-space:nowrap;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:10px 16px;font-size:14px;font-weight:550;line-height:1.5;transition:background .15s,border-color .15s;display:inline-flex}.button svg{flex-shrink:0}.primary{background:var(--primary);color:#fff}.primary:hover:not(:disabled){background:var(--primary-hover)}.secondary{color:#34515e;background:#fff;border-color:#d8e1e5}.secondary:hover:not(:disabled){background:#f1f5f6;border-color:#b1c6cd}.ghost{color:#647982;background:0 0}.ghost:hover:not(:disabled){background:#e9eff2}.danger{background:var(--danger);color:#fff}.danger:hover:not(:disabled){background:#a13131}.compact{min-height:36px;padding:7px 11px;font-size:13px}.icon-button{color:#72818a;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:35px;height:35px;display:inline-flex}.icon-button:hover:not(:disabled){color:var(--primary);background:#edf2f3}.teacher-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--border);background:#fff;flex-direction:column;flex-shrink:0;width:246px;height:100vh;padding:30px 18px 18px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.3px;align-items:center;gap:10px;padding:0 9px 32px;font-size:17px;font-weight:650;display:flex}.brand-mark{background:var(--primary);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:42px;display:flex}.brand small{letter-spacing:2.1px;color:#8b9ca4;margin-top:3px;font-size:9px;font-weight:500;display:block}.sidebar-caption{letter-spacing:1px;color:#9aa6ac;margin-bottom:10px;padding:0 13px;font-size:11px}.nav-item{text-align:left;color:#6d808b;background:0 0;border:0;border-radius:7px;align-items:center;gap:11px;width:100%;min-height:45px;margin:3px 0;padding:10px 13px;font-size:13px;display:flex}.nav-item>span:last-child:not(.course-name){margin-left:auto;font-size:11px}.nav-item svg{flex-shrink:0}.nav-item:hover{background:#f5f8f9}.nav-item.active{color:var(--primary);background:#eaf2f4;font-weight:600}.sidebar-section{color:#96a1a7;letter-spacing:1px;justify-content:space-between;align-items:center;padding:24px 8px 6px 13px;font-size:11px;display:flex}.course-list{overflow:auto}.course-nav{gap:9px;font-size:13px}.course-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sidebar-empty{color:#a0aab0;padding:0 13px;font-size:12px;line-height:1.8}.sidebar-bottom{margin-top:auto;padding-top:20px}.storage-note{border-top:1px solid var(--border);color:#5b747f;align-items:flex-start;gap:9px;margin:8px 10px 18px;padding:14px 0;font-size:12px;display:flex}.storage-note small{color:#94a2a9;font-size:11px;display:block}.status-dot{background:#5f9991;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:7px;display:inline-block}.dashboard-main{flex:1;min-width:0}.workspace-header{border-bottom:1px solid var(--border);color:#516b78;background:#fafcfc;justify-content:space-between;align-items:center;height:76px;padding:0 42px;font-size:12px;display:flex}.workspace-header>div{align-items:center;gap:13px;min-width:0;display:flex}.workspace-header>div>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.breadcrumb{color:#8c9ba4;white-space:nowrap}.local-badge{white-space:nowrap;background:#fff;border:1px solid #dbe7e8;border-radius:5px;align-items:center;gap:7px;padding:5px 10px;font-size:11px;display:flex}.local-badge .status-dot{margin-top:0}.dashboard-content{max-width:1550px;margin:auto;padding:42px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.page-heading h1{margin-bottom:10px}.page-heading .muted{overflow-wrap:anywhere;max-width:650px;margin-bottom:0}.heading-actions{flex-shrink:0;gap:10px;display:flex}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:35px;display:grid}.stat-card{border:1px solid var(--border);background:#fff;border-radius:9px;padding:19px 21px}.stat-card>div{color:#7a8991;justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.stat-icon{color:#7998a3;background:#f1f6f7;border-radius:7px;padding:8px;display:flex}.stat-card strong{color:#2c4b59;margin:10px 0;font-size:30px;font-weight:600;line-height:1.2;display:block}.stat-card small{color:#a0abb1;font-size:11px}.activity-toolbar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;display:flex}.filter-tabs{background:#e9eef1;border-radius:7px;gap:2px;padding:4px;display:flex}.filter-tabs button{color:#82919a;background:0 0;border:0;border-radius:5px;min-height:34px;padding:5px 18px;font-size:12px}.filter-tabs .selected{color:var(--primary);background:#fff;font-weight:550;box-shadow:0 1px 3px #1c445510}.search-field{color:#8b9ba4;background:#fff;border:1px solid #dde5e9;border-radius:7px;align-items:center;gap:9px;width:280px;padding:0 12px;display:flex}.search-field input{background:0 0;border:0;outline:none;width:100%;min-width:0;padding:9px 0;font-size:12px}.activities-grid{grid-template-columns:repeat(auto-fill,minmax(295px,1fr));gap:20px;display:grid}.activity-card{border:1px solid var(--border);background:#fff;border-radius:11px;flex-direction:column;min-width:0;padding:24px;transition:border-color .2s,box-shadow .2s;display:flex}.activity-card:hover{border-color:#bed0d7;box-shadow:0 4px 16px #18455208}.card-top{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.activity-symbol{color:#4b7a87;background:#eaf2f4;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.status-badge{white-space:nowrap;border-radius:5px;padding:3px 9px;font-size:11px}.status-badge.draft{color:#a27b3e;background:#faf2e5}.status-badge.published{color:#528273;background:#eaf5ef}.status-badge.archived{color:#8b9299;background:#f0f2f4}.card-type{color:#95a2a9;overflow-wrap:anywhere;margin-bottom:7px;font-size:11px}.activity-card h2{letter-spacing:-.2px;overflow-wrap:anywhere;margin-bottom:10px;font-size:18px}.card-description{color:#82919a;-webkit-line-clamp:3;-webkit-box-orient:vertical;height:68px;margin-bottom:20px;font-size:13px;line-height:1.9;display:-webkit-box;overflow:hidden}.card-meta{color:#728a95;flex-wrap:wrap;gap:11px;margin-bottom:14px;font-size:11px;display:flex}.card-meta span+span:before{content:"·";color:#b5c0c6;padding-right:11px}.card-chapter{color:#9ba8af;border-top:1px solid #edf1f3;align-items:flex-start;gap:7px;margin-top:auto;padding:12px 0 18px;font-size:11px;display:flex}.card-chapter svg{flex-shrink:0;margin-top:2px}.card-chapter span{overflow-wrap:anywhere}.card-actions{border-top:1px solid #edf1f3;flex-wrap:wrap;align-items:center;gap:5px;padding-top:15px;display:flex}.card-actions .button:first-child{margin-right:auto}.empty-state{text-align:center;background:#fcfdfd;border:1px dashed #cddbe1;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:365px;padding:35px;display:flex}.empty-icon{color:#6e96a3;background:#eaf2f4;border-radius:16px;margin-bottom:20px;padding:16px}.empty-state h2{margin-bottom:10px;font-size:20px}.empty-state p{color:#8999a2;margin-bottom:23px;font-size:13px}.workspace-footer{color:#a5b0b7;border-top:1px solid #e1e8eb;justify-content:space-between;align-items:center;gap:16px;margin-top:37px;padding-top:20px;font-size:11px;display:flex}.workspace-footer>span{white-space:nowrap;align-items:center;gap:7px;display:flex}.workspace-footer p{text-align:right;margin:0}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:20;background:#193b4d59;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border:1px solid #d7e2e6;border-radius:13px;width:100%;max-width:560px;max-height:90dvh;padding:26px;overflow:auto;box-shadow:0 20px 65px #17384b24}.modal-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px;display:flex}.modal-heading h2{margin:0;font-size:20px}.modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:23px;display:flex}.field{color:#536d79;flex-direction:column;gap:8px;min-width:0;margin-bottom:20px;font-size:13px;display:flex}.field>span{font-weight:550}.field input,.field textarea,.field select,.condition-row input,.condition-row select{color:#2b4b5a;background:#fff;border:1px solid #dbe3e7;border-radius:6px;width:100%;min-width:0;padding:10px 12px;font-size:14px;line-height:1.55}.field input::placeholder,.field textarea::placeholder{color:#a9b5bb;font-size:13px}.field textarea{resize:vertical}.field small{color:#96a4ac;font-size:11px}.template-choice{text-align:left;color:#345461;background:#fff;border:1px solid #dce6ea;border-radius:9px;align-items:center;gap:13px;width:100%;margin-bottom:13px;padding:19px;display:flex}.template-choice:hover:not(:disabled){background:#f8fbfc;border-color:#8faebc}.template-choice>span:nth-child(2){flex:1;min-width:0}.template-choice strong{font-size:15px;display:block}.template-choice small{color:#92a0a7;margin-top:5px;font-size:11px;display:block}.template-icon{color:#6d96a5;background:#edf3f5;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.template-choice>svg{flex-shrink:0}.confirm-text{color:#71858f;font-size:14px;line-height:1.9}.error-notice{color:#a8514b;background:#fff2f1;border:1px solid #f4d4d0;border-radius:7px;align-items:flex-start;gap:10px;padding:13px;font-size:13px;line-height:1.8;display:flex}.error-notice svg{flex-shrink:0;margin-top:3px}.toast{z-index:50;color:#fff;background:#244f5c;border-radius:8px;align-items:center;gap:11px;max-width:min(650px,100% - 32px);padding:12px 15px;font-size:13px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #21495730}.toast>svg{flex-shrink:0}.toast .icon-button{color:#cfdee4;width:28px;height:28px}.toast.error{background:#9f514b}.toast span{overflow-wrap:anywhere;min-width:0}.editor-shell{min-height:100vh}.editor-header{z-index:10;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffed;align-items:center;gap:20px;padding:17px 30px;display:flex;position:sticky;top:0}.editor-header>.button{padding-left:0}.editor-title{flex:1;min-width:0}.editor-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;display:block;overflow:hidden}.editor-title>span{color:#8c9da6;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;display:block;overflow:hidden}.editor-actions{align-items:center;gap:9px;display:flex}.save-state{color:#8ea8a8;white-space:nowrap;padding-right:8px;font-size:11px}.save-state.unsaved{color:#a58b58}.editor-body{max-width:1220px;margin:0 auto;padding:30px 36px 60px}.editor-tabs{border-bottom:1px solid #dce5ea;gap:30px;margin-bottom:32px;display:flex}.editor-tabs button{color:#8e9fa8;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:9px;margin-bottom:-1px;padding:13px 2px 17px;font-size:14px;display:flex}.tab-number{letter-spacing:1px;font-size:11px}.editor-tabs .selected{color:var(--primary);border-bottom-color:var(--primary);font-weight:550}.editor-section{min-width:0;max-width:1030px;margin:auto}.section-heading{margin:8px 0 29px}.section-heading h1{margin-bottom:10px;font-size:27px}.section-heading>p:last-child{color:#8b9da6;max-width:820px;font-size:13px;line-height:1.9}.form-card{border:1px solid var(--border);background:#fff;border-radius:10px;margin-bottom:23px;padding:27px 30px}.form-card>h2{margin-bottom:23px}.form-card>.field:last-child{margin-bottom:0}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.numeric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.validation-panel{color:#9d844d;background:#fbf7ee;border:1px solid #eee3c9;border-radius:7px;margin-bottom:25px;font-size:12px}.validation-panel summary{cursor:pointer;align-items:center;gap:8px;padding:13px 15px;list-style:none;display:flex}.validation-panel summary span{color:#b09b76;margin-left:auto;font-size:11px}.validation-panel ul{margin-top:0;padding:0 30px 12px;line-height:1.9}.round-workspace{grid-template-columns:225px minmax(0,1fr);align-items:start;gap:25px;display:grid}.round-list{border:1px solid var(--border);background:#fff;border-radius:10px;padding:15px 12px;position:sticky;top:110px}.round-list-heading{justify-content:space-between;align-items:center;padding:0 6px 13px;font-size:13px;display:flex}.round-list-heading small{color:#95a6ae;margin-left:6px}.round-item{text-align:left;color:#7b919c;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:10px;width:100%;min-height:60px;margin-bottom:5px;padding:12px 10px;font-size:12px;display:flex}.round-item>span:first-child{color:#9bafb8;font-size:10px}.round-item>span:nth-child(2){overflow-wrap:anywhere;flex:1;min-width:0}.round-item small{color:#a4b2ba;margin-top:3px;font-size:10px;display:block}.round-item.selected{color:#315866;background:#eef5f7;border-color:#d0e0e5}.round-item>svg{flex-shrink:0}.round-list .micro-note{padding:10px 6px 0;font-size:10px}.round-detail{border:1px solid var(--border);background:#fff;border-radius:10px;min-width:0;padding:25px}.round-detail-heading,.option-list-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.round-detail-heading h2,.option-list-heading h3{margin:0}.option-list-heading{border-top:1px solid #e6edf0;margin-top:27px;padding-top:23px}.option-list-heading .muted{font-size:11px}.option-editor{background:#fff;border:1px solid #dce6ea;border-radius:8px;margin-bottom:15px;overflow:hidden}.option-editor summary{color:#587887;cursor:pointer;background:#fbfcfd;align-items:center;gap:12px;padding:15px;font-size:13px;list-style:none;display:flex}.option-letter{color:#7695a2;background:#e9f0f3;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:27px;font-size:12px;display:flex}.option-editor summary>span:nth-child(2){overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;display:-webkit-box;overflow:hidden}.option-editor summary>svg{flex-shrink:0}.option-editor-body{border-top:1px solid #e1e9ed;padding:20px}.numeric-section{border-top:1px dashed #dbe5ea;margin-top:25px;padding-top:20px}.numeric-section h4{margin-bottom:13px}.numeric-section small{color:#95a6af;margin-left:7px;font-size:10px;font-weight:400}.section-row{justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px;display:flex}.section-row h2{margin:0}.section-row>strong{color:#7896a3;font-size:13px}.skill-edit-row{border-top:1px solid #edf1f3;align-items:center;gap:15px;padding:14px 0;display:flex}.skill-edit-row .field{flex:1;margin:0}.skill-edit-row .field>span{color:#a7b6be;font-size:10px}.row-number{color:#9ab0bb;justify-content:center;align-items:center;width:28px;font-size:11px;display:flex}.info-strip{color:#7895a2;background:#f2f7f8;border-radius:7px;margin-top:20px;padding:13px;font-size:12px}.variable-editor{border:1px solid #e2e9ed;border-radius:7px;margin-top:18px;padding:22px}.variable-editor .numeric-grid .field{margin-bottom:0}.condition-row{grid-template-columns:minmax(0,1.6fr) minmax(0,.7fr) minmax(0,1fr) 35px;align-items:center;gap:12px;margin-bottom:12px;display:grid}.condition-row select,.condition-row input{font-size:13px}.ending-editor>.button{margin-bottom:20px}.fallback-editor{margin-top:25px}.preview-info{color:#70929f;align-items:flex-start;gap:17px;padding:3px 0 15px;font-size:14px;display:flex}.preview-info svg{flex-shrink:0}.preview-info p{margin:0}.student-shell{background:#f5f8f9;min-height:100vh}.student-header{background:#fff;border-bottom:1px solid #e1e8eb;justify-content:space-between;align-items:center;gap:18px;height:72px;padding:0 max(25px,50vw - 465px);display:flex}.student-brand{color:#547987;white-space:nowrap;align-items:center;gap:9px;font-size:14px;font-weight:600;display:flex}.student-version{color:#95a8b1;white-space:nowrap;border:1px solid #e3eaed;border-radius:4px;padding:3px 9px;font-size:10px}.student-main{max-width:800px;margin:0 auto;padding:48px 28px 35px}.welcome-heading{margin-bottom:30px}.student-category{color:#6d929e;letter-spacing:.4px;align-items:center;gap:8px;margin-bottom:20px;font-size:12px;display:inline-flex}.welcome-heading h1{letter-spacing:-1px;overflow-wrap:anywhere;margin-bottom:16px;font-size:35px;line-height:1.4}.welcome-heading>p{color:#7d97a3;overflow-wrap:anywhere;margin-bottom:24px;font-size:15px;line-height:1.9}.welcome-meta{flex-wrap:wrap;gap:12px;display:flex}.welcome-meta span{color:#8a9ea8;background:#fafcfd;border:1px solid #dde8ec;border-radius:5px;padding:5px 10px;font-size:11px}.student-card{background:#fff;border:1px solid #e0e9ed;border-radius:11px;min-width:0;margin-bottom:20px;padding:26px}.student-card h2{color:#557884;align-items:center;gap:9px;margin-bottom:15px;font-size:15px;display:flex}.student-card>p{color:#758d98;overflow-wrap:anywhere;margin-bottom:0;font-size:14px;line-height:2}.scenario-card>p{color:#587783}.role-grid{border-top:1px solid #e9eff2;grid-template-columns:1fr 1fr;gap:15px;margin-top:23px;padding-top:21px;display:grid}.role-grid>div{min-width:0}.role-grid small{color:#a2b3bb;margin-bottom:6px;font-size:11px;display:block}.role-grid strong{color:#6d8d9a;overflow-wrap:anywhere;align-items:flex-start;gap:8px;font-size:13px;font-weight:550;display:flex}.role-grid svg{flex-shrink:0;margin-top:2px}.objectives-card{background:#eff5f7;border-color:#dfe9ed}.start-instructions{color:#829ba6;grid-template-columns:24px 1fr;gap:10px 12px;padding:10px 7px 24px;font-size:12px;display:grid}.start-instructions p{margin:0}.instruction-number{color:#8da6b2;align-self:center;font-size:10px}.start-button{border-radius:8px;justify-content:space-between;width:100%;min-height:53px;padding:14px 22px;font-size:15px}.student-footnote{color:#a1b3bc;text-align:center;margin-top:15px;font-size:10px;line-height:1.8}.student-footer{text-align:center;letter-spacing:1px;color:#b0bfc6;padding:10px 25px 35px;font-size:10px}.game-progress-heading{color:#93a8b1;justify-content:space-between;align-items:center;gap:15px;margin-bottom:13px;font-size:11px;display:flex}.game-progress-heading>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.game-progress-heading strong{color:#698b9b;white-space:nowrap;font-size:11px;font-weight:500}.progress-track{background:#e1e9ed;border-radius:4px;height:4px;margin-bottom:23px;overflow:hidden}.progress-track>span{background:#608e9d;height:100%;transition:width .3s;display:block}.game-variables{background:#fff;border:1px solid #e1e9ed;border-radius:9px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin-bottom:32px;padding:17px 22px;display:grid}.game-variables>div{min-width:0}.game-variables small{color:#9badb6;overflow-wrap:anywhere;margin-bottom:4px;font-size:10px;display:block}.game-variables strong{color:#54798a;overflow-wrap:anywhere;font-size:21px;font-weight:550}.game-variables strong span{color:#9db0ba;margin-left:4px;font-size:10px;font-weight:400}.round-heading h1{overflow-wrap:anywhere;margin-bottom:12px;font-size:28px;line-height:1.4}.round-heading>p:last-child{color:#8ca2ad;overflow-wrap:anywhere;margin-bottom:25px;font-size:12px;line-height:1.9}.opponent-message{background:#edf4f7;border:1px solid #dce8ed;border-radius:11px;margin:0 0 31px;padding:24px 26px}.opponent-label{color:#6f919f;align-items:center;gap:11px;margin-bottom:16px;font-size:12px;display:flex}.opponent-label small{color:#9fb3bd;margin-top:1px;font-size:10px;display:block}.opponent-avatar{color:#7196a8;background:#dce9ef;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.opponent-message>p{letter-spacing:-.2px;color:#3d6477;overflow-wrap:anywhere;margin:0;font-size:19px;font-weight:500;line-height:1.9}.decision-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px;display:flex}.decision-heading h2{margin:0;font-size:15px}.decision-heading>span{color:#a3b4bd;font-size:10px}.strategy-list{flex-direction:column;gap:13px;display:flex}.strategy-button{text-align:left;color:#658593;background:#fff;border:1px solid #dae6ec;border-radius:9px;align-items:center;gap:15px;min-height:76px;padding:18px 22px;font-size:14px;line-height:1.9;transition:border-color .15s,background .15s;display:flex}.strategy-button:hover{background:#f8fcfd;border-color:#86acbd}.strategy-button>span:nth-child(2){overflow-wrap:anywhere;flex:1;min-width:0}.strategy-letter{color:#89a6b5;border:1px solid #e0e9ee;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:29px;height:31px;font-size:11px;display:flex}.strategy-button>svg{color:#a2bac5;flex-shrink:0}.feedback-heading{align-items:center;gap:15px;margin-bottom:23px;display:flex}.feedback-heading h1{margin-bottom:0;font-size:22px}.feedback-heading .eyebrow{margin-bottom:4px;font-size:10px}.feedback-check{color:#5f9789;background:#e3efec;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.chosen-strategy{background:#f0f4f6;border-left:3px solid #aac5d0;border-radius:0 6px 6px 0;margin-bottom:23px;padding:16px 19px}.chosen-strategy small{color:#99adb8;font-size:10px}.chosen-strategy p{color:#6d8b9b;margin:5px 0 0;font-size:13px;line-height:1.8}.delta-grid{border-top:1px solid #e7edf0;grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:15px;margin-top:23px;padding-top:17px;display:grid}.delta-grid small{color:#93a8b3;font-size:10px;display:block}.delta-grid strong{color:#819ba8;margin-top:6px;font-size:19px;font-weight:550;display:block}.delta-grid strong>span{margin-left:3px;font-size:10px;font-weight:400}.delta-positive{color:#699c89!important}.delta-negative{color:#bf877c!important}.round-scores{border-top:1px solid #e7edf0;flex-wrap:wrap;gap:12px;margin-top:16px;padding-top:17px;display:flex}.round-scores>span{color:#879eab;background:#f3f7f9;border-radius:4px;padding:4px 8px;font-size:10px}.round-scores strong{color:#5e899b;margin-left:8px;font-weight:500}.result-hero{text-align:center;background:#edf5f4;border:1px solid #dce9e6;border-radius:12px;margin-bottom:23px;padding:36px 28px}.result-hero.failure{background:#faf1ee;border-color:#ebdeda}.result-hero.neutral{background:#eff4f7;border-color:#dfe7eb}.result-icon{color:#6b9c92;border:1px solid #c8ddd7;border-radius:50%;margin-bottom:20px;padding:15px;display:inline-flex}.result-hero.failure .result-icon{color:#b18574;border-color:#e4cfc4}.result-hero h1{overflow-wrap:anywhere;margin-bottom:14px;font-size:27px}.result-hero .eyebrow{font-size:11px}.result-score{justify-content:center;align-items:center;gap:12px;margin:12px 0;display:flex}.result-score>strong{letter-spacing:-3px;color:#376c70;font-size:68px;font-weight:600;line-height:1.4}.result-score>span{text-align:left;color:#8ba7aa;font-size:10px;line-height:2}.result-hero>p:last-child{color:#97adb1;margin:0;font-size:10px}.result-variables{background:#f6f9fa;border:0;margin-top:23px;margin-bottom:0}.skill-results{flex-direction:column;gap:19px;display:flex}.skill-results>div>div:first-child{color:#7b96a4;justify-content:space-between;margin-bottom:8px;font-size:12px;display:flex}.skill-results strong{color:#8da5b1;font-size:11px;font-weight:500}.skill-progress{background:#edf2f5;border-radius:5px;height:6px;overflow:hidden}.skill-progress>span{background:#8aadb9;border-radius:5px;height:100%;display:block}.student-card .micro-note{margin-top:20px;font-size:10px;line-height:1.9}.decision-review{margin-top:34px}.decision-review>h2{justify-content:space-between;align-items:center;margin-bottom:20px;font-size:17px;display:flex}.decision-review>h2>span{color:#9eb0b9;font-size:10px;font-weight:400}.review-item{background:#fff;border:1px solid #e2e9ed;border-radius:9px;margin-bottom:15px;overflow:hidden}.review-item summary{cursor:pointer;align-items:center;gap:11px;padding:16px 20px;list-style:none;display:flex}.review-item summary>strong{overflow-wrap:anywhere;flex:1;font-size:13px}.review-item summary>svg{color:#abc0ca;flex-shrink:0}.review-number{color:#8da9b6;background:#edf3f5;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:25px;height:25px;font-size:11px;display:flex}.review-item>div{padding:0 20px 20px;font-size:12px;line-height:1.9}.review-item p{overflow-wrap:anywhere}.review-choice{color:#658695}.review-item .muted{color:#97a9b2;font-size:11px}.review-feedback{color:#7b95a3;background:#f5f8fa;border-radius:6px;padding:12px 14px}.review-changes{color:#9aaeb8;flex-wrap:wrap;gap:7px;font-size:9px;display:flex}.review-changes>span{border:1px solid #e3ebef;border-radius:4px;padding:3px 6px}.replay-button{margin-top:19px}.app-state{text-align:center;color:#718e9d;flex-direction:column;align-items:center;gap:16px;max-width:610px;margin:auto;padding:80px 25px;display:flex}.app-state h1{margin:0;font-size:24px}.app-state p{margin:0;font-size:14px;line-height:1.9}.app-state .error-notice{text-align:left}.recovery-upload{position:relative}@media (width>=1500px){.dashboard-content{padding:50px 56px}.workspace-header{padding:0 56px}.activity-card{padding:27px}.stat-card{padding:22px 25px}}@media (width<=1150px){.sidebar{width:218px;padding-left:12px;padding-right:12px}.brand{gap:8px;padding-left:6px;font-size:15px}.brand-mark{width:34px;height:38px}.dashboard-content{padding:30px}.workspace-header{padding:0 30px}.stats-grid{gap:12px}.stat-card{padding:16px}.stat-card small{font-size:10px}.page-heading{align-items:flex-start}.heading-actions{flex-direction:column}.editor-header{gap:12px;padding:15px 20px}.editor-actions .button{padding:9px 11px;font-size:12px}.save-state{display:none}.round-workspace{grid-template-columns:190px minmax(0,1fr);gap:20px}.editor-body{padding:25px 25px 50px}}@media (width<=800px){.teacher-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--border);width:100%;height:auto;padding:19px 20px 12px;display:block;position:static}.brand{padding:0 0 15px;font-size:17px}.sidebar-caption,.sidebar-empty{display:none}.sidebar-section{padding:0 0 5px}.sidebar>.nav-item{margin:0 0 8px}.course-list{gap:6px;max-width:100%;padding-bottom:5px;display:flex;overflow-x:auto}.course-nav{flex-shrink:0;width:auto;max-width:240px}.course-nav svg:last-child{display:none}.sidebar-bottom{border-top:1px solid #edf1f3;justify-content:flex-end;align-items:center;gap:8px;margin-top:6px;padding-top:8px;display:flex}.storage-note{border:0;gap:6px;margin:0 auto 0 0;padding:0;font-size:10px}.storage-note small{display:none}.sidebar-bottom .nav-item{gap:5px;width:auto;min-height:35px;padding:5px 7px;font-size:10px}.workspace-header{height:51px;padding:0 22px}.local-badge{padding:3px 6px;font-size:9px}.dashboard-content{padding:28px 22px}.page-heading h1{font-size:25px}.page-heading .eyebrow{font-size:10px}.page-heading .muted{font-size:12px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:25px}.stat-card{padding:16px 18px}.activity-toolbar{flex-wrap:wrap}.search-field,.filter-tabs{width:100%}.filter-tabs button{flex:1}.activities-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:15px}.workspace-footer{flex-direction:column;align-items:flex-start;gap:8px}.workspace-footer p{text-align:left}.editor-header{flex-wrap:wrap;gap:10px;padding:13px 18px}.editor-header>.button{font-size:12px}.editor-title{min-width:140px}.editor-actions{justify-content:flex-end;width:100%}.editor-actions .button{flex:1;max-width:200px}.editor-body{padding:18px 20px 40px}.editor-tabs{gap:18px;max-width:100%;margin-bottom:23px;overflow-x:auto}.editor-tabs button{gap:6px;font-size:12px}.tab-number{font-size:9px}.section-heading h1{font-size:23px}.section-heading>p:last-child{font-size:12px}.round-workspace{display:block}.round-list{margin-bottom:18px;padding:13px;position:static}.round-list-heading{padding-bottom:7px}.round-item{min-height:50px;margin-bottom:3px}.round-list .micro-note{display:none}.form-card{padding:23px}.round-detail{padding:20px}.numeric-grid{gap:12px}.validation-panel summary{flex-wrap:wrap}.validation-panel summary>span{margin-left:24px}.student-main{padding-top:33px}.student-header{height:63px}.welcome-heading h1{font-size:31px}}@media (width<=480px){.workspace-header{padding:0 18px}.workspace-header .breadcrumb,.workspace-header>div>svg{display:none}.dashboard-content{padding:27px 18px}.page-heading{flex-wrap:wrap;gap:17px;margin-bottom:22px}.heading-actions{flex-direction:row;width:100%}.heading-actions>.button{flex:1}.stat-card{padding:14px 16px}.stat-card strong{font-size:27px}.stat-icon{padding:6px}.stat-icon svg{width:17px;height:17px}.activities-grid{grid-template-columns:minmax(0,1fr)}.activity-card{padding:23px}.empty-state{padding:30px 20px}.modal{max-height:88dvh;padding:22px}.modal-backdrop{padding:15px}.template-choice{gap:11px;padding:15px}.template-choice small{font-size:10px}.template-icon{width:35px;height:38px}.editor-body{padding:15px 15px 35px}.editor-tabs{gap:16px}.editor-tabs button{gap:5px;font-size:11px}.tab-number{display:none}.editor-header{padding:12px 15px}.editor-actions{gap:6px}.editor-actions .button{gap:6px;padding:9px 7px;font-size:11px}.editor-actions .button svg{width:14px}.editor-title strong{font-size:13px}.form-card{padding:20px 17px}.two-columns{grid-template-columns:minmax(0,1fr);gap:0}.numeric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.numeric-grid .field{margin-bottom:11px}.field input,.field textarea,.field select,.condition-row input,.condition-row select{padding:10px;font-size:16px}.field{font-size:12px}.variable-editor{padding:17px}.round-detail{padding:18px 15px}.option-editor summary{gap:9px;padding:13px;font-size:12px}.option-editor-body{padding:17px 13px}.numeric-section small{margin:4px 0 0;display:block}.condition-row{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,.8fr) 29px;gap:6px}.condition-row select,.condition-row input{padding:10px 6px;font-size:13px}.condition-row .icon-button{width:29px}.section-row .button{padding:6px 8px;font-size:11px}.section-row h2{font-size:16px}.student-main{padding:29px 18px 25px}.student-header{padding:0 18px}.student-brand{gap:7px;font-size:12px}.student-version{font-size:9px}.welcome-heading{margin-bottom:24px}.student-category{margin-bottom:16px;font-size:10px}.welcome-heading h1{letter-spacing:-.5px;margin-bottom:13px;font-size:27px;line-height:1.5}.welcome-heading>p{margin-bottom:19px;font-size:13px}.welcome-meta{gap:7px}.welcome-meta span{padding:4px 7px;font-size:9px}.student-card{margin-bottom:16px;padding:22px 19px}.student-card>p{font-size:14px;line-height:1.95}.student-card h2{font-size:14px}.role-grid{gap:11px;margin-top:19px;padding-top:17px}.role-grid strong{gap:6px;font-size:11px}.role-grid svg{width:14px;height:14px}.role-grid small{font-size:9px}.start-instructions{padding:8px 3px 24px;font-size:11px}.start-button{min-height:52px;font-size:14px}.student-footnote{font-size:9px}.game-variables{grid-template-columns:repeat(auto-fit,minmax(85px,1fr));gap:11px;margin-bottom:27px;padding:13px 16px}.game-variables strong{font-size:18px}.game-variables small,.game-variables strong span{font-size:9px}.round-heading h1{margin-bottom:10px;font-size:24px}.round-heading .eyebrow{font-size:10px}.round-heading>p:last-child{font-size:11px}.opponent-message{margin-bottom:27px;padding:20px 19px}.opponent-message>p{font-size:16px;line-height:2}.opponent-label{font-size:11px}.opponent-label small{font-size:9px}.opponent-avatar{width:32px;height:32px}.strategy-button{gap:12px;min-height:80px;padding:17px 15px;font-size:14px}.strategy-button>svg{width:16px}.strategy-letter{width:25px;height:28px;font-size:10px}.decision-heading h2{font-size:14px}.feedback-heading h1{font-size:18px;line-height:1.6}.feedback-heading .eyebrow{font-size:9px}.feedback-heading{gap:12px}.feedback-check{width:36px;height:36px}.chosen-strategy{padding:13px 15px}.chosen-strategy p{font-size:12px}.delta-grid{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:12px}.delta-grid strong{font-size:17px}.delta-grid small{font-size:9px}.result-hero{padding:30px 18px}.result-hero h1{font-size:23px}.result-score>strong{font-size:62px}.decision-review>h2{font-size:15px}.review-item summary{padding:15px 17px}.review-item>div{padding:0 17px 17px}.review-choice{font-size:12px}.review-changes{font-size:9px}.result-variables{margin-top:20px;margin-bottom:0}.student-footer{font-size:9px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.student-card>p,.welcome-heading>p,.chosen-strategy p,.review-choice,.review-feedback{color:#526e7c}.strategy-button{color:#4f6b79}.round-heading>p:last-child,.review-item .muted{color:#687e88}.platform-shortcut{color:#345569;background:#eaf0f4;justify-content:space-between;align-items:center;gap:12px;padding:10px max(16px,50vw - 720px);font-size:13px;display:flex}.platform-shortcut .button{min-height:44px}
