.stu{--s-text: var(--text, #1b2533);--s-text-2: var(--text-2, #4a5568);--s-muted: var(--muted, #6b7686);--s-faint: var(--muted, #6b7686);--s-border: var(--border, #e2e6ec);--s-border-strong: var(--border-strong, #cdd3dc);--s-divider: var(--divider, #edf0f3);--s-ground: var(--ground, #f3f5f7);--s-surface: #ffffff;--s-surface-2: var(--surface-2, #f8f9fb);--s-primary: var(--primary, #2f4bd8);--s-primary-hover: var(--primary-hover, #2239b0);--s-primary-tint: var(--primary-tint, #eef1fd);--s-primary-tint-2: var(--primary-tint-2, #f6f8fe);--s-primary-soft: var(--primary-soft, #bac5f5);--s-success: var(--success, #16794c);--s-success-tint: var(--success-tint, #e8f5ee);--s-warn: var(--warn, #b4570b);--s-warn-dark: var(--warn-dark, #8f4508);--s-warn-tint: var(--warn-tint, #fdf1e6);--s-warn-border: var(--warn-border, #f1d2b4);--s-danger: var(--danger, #b42318);--s-danger-tint: var(--danger-tint, #fdecea);--s-dark: var(--text, #1b2533);--s-dark-2: var(--ground, #f3f5f7);--s-dark-3: var(--border-strong, #cdd3dc);--s-on-dark-muted: var(--text-2, #4a5568);min-height:100vh;display:flex;flex-direction:column;background:var(--s-ground);color:var(--s-text);font-family:var(--font)}.stu.stu-white{background:var(--s-surface)}.stu.stu-darkbg{background:var(--s-ground)}.stu h1,.stu h2,.stu h3{letter-spacing:-.012em}.stu a{color:var(--s-primary)}.stu a:hover{color:var(--s-primary-hover)}.stu-serif{font-family:var(--serif)}.stu-topnav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding:10px 40px;min-height:64px;background:var(--s-surface);border-bottom:1px solid var(--s-border)}@media (max-width: 640px){.stu-topnav{padding:10px 16px}}.stu-logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;color:var(--s-text)!important;text-decoration:none;border-radius:8px}.stu-nav{display:flex;flex-wrap:wrap;gap:2px}.stu-nav a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:8px;color:var(--s-text-2);font-weight:500;font-size:15px;text-decoration:none}.stu-nav a:hover{background:var(--s-ground);color:var(--s-text)}.stu-nav a.active{background:var(--s-primary-tint);color:var(--s-primary-hover);font-weight:600}.stu-user{display:flex;align-items:center;gap:8px}.stu-avatar{width:36px;height:36px;border-radius:50%;background:var(--s-primary-tint);color:var(--s-primary-hover);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.stu-main{width:100%;max-width:1040px;margin:0 auto;padding:40px 24px 56px;display:flex;flex-direction:column;gap:28px}.stu-main.narrow{max-width:820px;gap:20px;padding-top:32px}@media (max-width: 640px){.stu-main{padding:24px 16px 40px}}.stu-head{display:flex;flex-direction:column;gap:4px}.stu-h1{margin:0;font-size:28px;font-weight:700;line-height:1.2}.stu-sub{margin:0;font-size:16px;color:var(--s-text-2)}.stu-eyebrow{font-size:14px;font-weight:600;color:var(--s-text-2)}.stu-card{padding:24px;border-radius:14px;background:var(--s-surface);border:1px solid var(--s-border);display:flex;flex-direction:column;gap:12px}.stu-card h2,.stu-section-title{margin:0;font-size:17px;font-weight:700}.stu-muted{color:var(--s-muted)}.stu-small{font-size:14px}.stu-mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}.stu-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.stu-spacer{flex:1}.stu-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:8px;border:1px solid var(--s-border-strong);background:var(--s-surface);color:var(--s-text)!important;font:inherit;font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.stu-btn:hover:not(:disabled){background:var(--s-surface-2);border-color:#b9c1cc}.stu-btn:disabled{opacity:.5;cursor:not-allowed}.stu-btn.primary{background:var(--s-primary);border-color:var(--s-primary);color:#fff!important}.stu-btn.primary:hover:not(:disabled){background:var(--s-primary-hover);border-color:var(--s-primary-hover)}.stu-btn.lg{min-height:48px;font-size:16px;padding:0 22px}.stu-btn.sm{min-height:36px;padding:0 12px;font-size:14px}.stu-btn.block{width:100%}.stu-btn.on-dark{background:var(--s-surface)}.stu-btn.quiet,.stu-btn.ghost{min-height:40px;padding:0 12px;font-size:14px;border-color:transparent;background:transparent;color:var(--s-text-2)!important}.stu-btn.quiet:hover:not(:disabled),.stu-btn.ghost:hover:not(:disabled){background:var(--s-ground);border-color:transparent;color:var(--s-text)!important}.stu-btn svg{flex-shrink:0}.stu-link{font-size:14px;font-weight:600;color:var(--s-primary);text-decoration:none;white-space:nowrap}.stu-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;font-weight:600;font-size:13px;white-space:nowrap;background:var(--s-ground);color:var(--s-text-2)}.stu-pill.success{background:var(--s-success-tint);color:var(--s-success)}.stu-pill.warn{background:var(--s-warn-tint);color:var(--s-warn-dark)}.stu-pill.danger{background:var(--s-danger-tint);color:var(--s-danger)}.stu-pill.info{background:var(--s-primary-tint);color:var(--s-primary-hover)}.stu-pill.live{background:var(--s-success-tint);color:var(--s-success)}.stu-pill.live:before,.stu-pill.dot:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.stu-alert{padding:12px 14px;border-radius:10px;font-size:15px;line-height:1.5;background:var(--s-ground);color:var(--s-text-2)}.stu-alert.error{background:var(--s-danger-tint);color:var(--s-danger);font-weight:600}.stu-alert.warn{background:var(--s-warn-tint);color:var(--s-warn-dark)}.stu-alert.success{background:var(--s-success-tint);color:var(--s-success)}.stu-checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.stu-check{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:10px;font-size:15px;font-weight:600;line-height:1.4;background:var(--s-ground)}.stu-check svg{flex-shrink:0;margin-top:1px}.stu-check.ok{background:var(--s-success-tint)}.stu-check.warn{background:var(--s-warn-tint)}.stu-check-detail{display:block;font-size:13px;font-weight:400;color:var(--s-text-2);margin-top:2px}.stu-home-grid{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}.stu-hero-col{flex:2 1 460px;min-width:0;display:flex;flex-direction:column;gap:20px}.stu-exam-hero{padding:28px;border-radius:14px;background:var(--s-surface);border:1px solid var(--s-border);display:flex;flex-direction:column;gap:8px}.stu-exam-hero h2{margin:4px 0 0;font-size:24px;font-weight:700;line-height:1.25}.stu-exam-hero-course{font-size:15px;font-weight:600;color:var(--s-text-2)}.stu-exam-hero-meta{display:flex;flex-wrap:wrap;gap:6px 20px;margin:2px 0 0;padding:0;list-style:none;font-size:15px;color:var(--s-text-2)}.stu-exam-hero-meta li{display:inline-flex;align-items:center;gap:6px}.stu-exam-hero-meta svg{color:var(--s-muted)}.stu-exam-hero-panel{margin-top:16px;padding:20px;border-radius:12px;background:var(--s-primary-tint);display:flex;flex-direction:column;gap:16px}.stu-exam-hero-note{margin:0;font-size:15px;line-height:1.55;color:var(--s-text-2)}.stu-exam-hero .stu-code-panel{background:transparent}.stu-ready{flex:1 1 280px}.stu-ready h2{font-size:16px}.stu-empty{flex:2 1 460px;padding:32px 28px;border-radius:14px;background:var(--s-surface);border:1px solid var(--s-border);display:flex;flex-direction:column;gap:6px;justify-content:center}.stu-empty h2{margin:0;font-size:19px}.stu-rows{display:flex;flex-direction:column}.stu-result-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:14px 12px;margin:0 -12px;border-radius:10px;border-bottom:1px solid var(--s-divider);color:var(--s-text)!important;text-decoration:none}.stu-result-row:last-child{border-bottom:none}a.stu-result-row:hover{background:var(--s-primary-tint-2)}.stu-result-title{flex:1 1 240px;display:flex;flex-direction:column;gap:2px;font-weight:600}.stu-result-title small{font-size:13px;font-weight:400;color:var(--s-muted)}.stu-result-date{font-size:14px;color:var(--s-muted);white-space:nowrap}.stu-result-score{font-size:17px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:64px;text-align:right}.stu-tabs{display:flex;gap:4px;padding:4px;border-radius:10px;background:#e7eaef;align-self:flex-start}.stu-tab{min-height:40px;padding:0 16px;border-radius:7px;border:none;background:transparent;font:inherit;font-weight:600;font-size:15px;color:var(--s-text-2);cursor:pointer}.stu-tab[aria-selected=true]{background:var(--s-surface);color:var(--s-text);box-shadow:0 1px 2px #1b253314}.stu-tab .n{margin-left:6px;font-weight:500;color:var(--s-muted);font-variant-numeric:tabular-nums}.stu-exam-item{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:20px 24px;border-radius:14px;background:var(--s-surface);border:1px solid var(--s-border)}.stu-exam-item.live{border-color:var(--s-primary-soft)}.stu-date-tile{width:56px;height:60px;border-radius:10px;background:var(--s-ground);color:var(--s-text-2);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;line-height:1.15}.stu-date-tile .m{font-size:13px;font-weight:600}.stu-date-tile .d{font-size:21px;font-variant-numeric:tabular-nums}.stu-date-tile.live{background:var(--s-primary-tint);color:var(--s-primary-hover)}.stu-exam-item-body{flex:1 1 280px;display:flex;flex-direction:column;gap:4px;min-width:0}.stu-exam-item-body h2{margin:0;font-size:18px;font-weight:700}.stu-exam-item-when{font-size:14px;font-weight:600;color:var(--s-text-2)}.stu-exam-item.live .stu-exam-item-when{color:var(--s-success)}.stu-exam-item-meta{font-size:14px;color:var(--s-text-2)}.stu-checkin{flex:1;width:100%;max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:24px;padding:32px 24px 56px}@media (max-width: 640px){.stu-checkin{padding:24px 16px 40px}}.stu-checkin-back,.stu-back{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;color:var(--s-primary)!important;font-size:14px;font-weight:600;text-decoration:none;padding:4px 0;border-radius:6px}.stu-checkin-back:hover,.stu-back:hover{color:var(--s-primary-hover)!important}.stu-checkin-head{display:flex;flex-direction:column;gap:6px}.stu-checkin-head h1{margin:0;font-size:28px;font-weight:700;line-height:1.2}.stu-checkin-head .meta{font-size:15px;color:var(--s-text-2)}.stu-checkin-cards{width:100%;display:flex;flex-wrap:wrap;gap:20px;align-items:stretch}.stu-checkin-card{flex:1 1 320px;padding:24px;border-radius:14px;background:var(--s-surface);border:1px solid var(--s-border);display:flex;flex-direction:column;gap:16px}.stu-step-head{display:flex;align-items:center;gap:12px}.stu-step-head h2{margin:0;font-size:17px;font-weight:700}.stu-step-num{width:28px;height:28px;border-radius:50%;background:var(--s-primary-tint);color:var(--s-primary-hover);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.stu-step-num.ok{background:var(--s-success-tint);color:var(--s-success)}.stu-step-num.warn{background:var(--s-warn-tint);color:var(--s-warn-dark)}.stu-checkin-foot{font-size:14px;color:var(--s-text-2)}.stu-code{margin:0;padding:0;border:none;display:flex;flex-direction:column;gap:8px;min-width:0}.stu-code legend{font-size:14px;font-weight:600;color:var(--s-text-2);margin-bottom:8px;padding:0}.stu-code-boxes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;max-width:372px}.stu-code-box{height:60px;width:100%;min-width:0;border-radius:10px;border:1px solid var(--s-border-strong);background:#fff;text-align:center;font-family:var(--font);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;color:var(--s-text);caret-color:var(--s-primary)}.stu-code-box:focus,.stu-code-box:focus-visible{outline:none;border-color:var(--s-primary);box-shadow:0 0 0 1px var(--s-primary),0 0 0 4px #2f4bd82e}.stu-code-box[aria-invalid=true]{border-color:var(--s-danger)}.stu-code-panel{display:flex;flex-direction:column;gap:14px}.stu-exam{background:var(--s-ground)}.stu-lockbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;padding:0 24px;min-height:60px;background:var(--s-surface);border-bottom:1px solid var(--s-border);color:var(--s-text)}@media (max-width: 640px){.stu-lockbar{padding:8px 16px;flex-wrap:wrap;gap:8px 12px}}.stu-lock-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;background:var(--s-success-tint);color:var(--s-success);font-size:13px;font-weight:700;white-space:nowrap}.stu-lock-badge.off{background:var(--s-warn-tint);color:var(--s-warn-dark)}.stu-lockbar-title{flex:1 1 200px;min-width:0;display:flex;align-items:baseline;gap:10px;font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden}.stu-lockbar-title small{font-size:14px;font-weight:500;color:var(--s-muted)}.stu-lockbar-title .t{overflow:hidden;text-overflow:ellipsis}.stu-sync{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:500;white-space:nowrap;color:var(--s-text-2)}.stu-sync svg{flex-shrink:0}.stu-sync.synced svg{color:var(--s-success)}.stu-sync.pending svg{color:var(--s-warn)}.stu-sync .dot{width:7px;height:7px;border-radius:50%}.stu-timer{display:inline-flex;align-items:center;gap:8px;font-family:var(--font);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700;padding:6px 14px;border-radius:99px;border:1px solid var(--s-border);background:var(--s-ground);color:var(--s-text);white-space:nowrap}.stu-timer svg{color:var(--s-muted)}.stu-timer.low{background:var(--s-warn-tint);border-color:var(--s-warn-border);color:var(--s-warn-dark)}.stu-timer.low svg{color:var(--s-warn)}.stu-exam-body{flex:1;display:flex;justify-content:center;padding:40px 24px 120px}@media (max-width: 640px){.stu-exam-body{padding:16px 0 112px}}.stu-paper{width:100%;max-width:760px;min-width:0;align-self:flex-start;padding:44px 56px 48px;border-radius:12px;background:var(--s-surface);border:1px solid var(--s-border);box-shadow:var(--shadow-paper)}@media (max-width: 640px){.stu-paper{padding:28px 20px 32px;border-radius:0;border-left:none;border-right:none}}.stu-question{display:flex;flex-direction:column;gap:28px;min-width:0}.stu-question-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:-12px}.stu-question-meta>span{font-size:14px;font-weight:500;color:var(--s-muted);font-variant-numeric:tabular-nums}.stu-question-meta>span b{font-weight:600;color:var(--s-text-2)}.stu-mark{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border-radius:8px;border:1px solid transparent;background:transparent;font:inherit;font-weight:600;font-size:14px;color:var(--s-text-2);cursor:pointer}.stu-mark:hover{background:var(--s-ground);color:var(--s-text)}.stu-mark[aria-checked=true]{border-color:var(--s-warn-border);background:var(--s-warn-tint);color:var(--s-warn-dark)}.stu-mark[aria-checked=true] svg{fill:currentColor}.stu-prompt{margin:0;font-family:var(--serif);font-size:22px;font-weight:400;line-height:1.55;letter-spacing:0!important;color:var(--s-text);white-space:pre-wrap;overflow-wrap:anywhere}.stu-prompt:focus{outline:none}.stu-options{display:flex;flex-direction:column;gap:10px}.stu-option{display:flex;align-items:flex-start;gap:16px;min-height:56px;padding:14px 18px;border-radius:10px;border:1px solid var(--s-border-strong);background:#fff;font:inherit;text-align:left;color:var(--s-text);cursor:pointer;transition:background .1s,border-color .1s,box-shadow .1s}.stu-option:hover{border-color:#aab4c3;background:var(--s-surface-2)}.stu-option[aria-checked=true]{border-color:var(--s-primary);box-shadow:inset 0 0 0 1px var(--s-primary);background:var(--s-primary-tint)}.stu-option-letter{width:28px;height:28px;margin-top:1px;border-radius:50%;border:1.5px solid #aab4c3;background:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--s-text-2);flex-shrink:0}.stu-option[aria-checked=true] .stu-option-letter{background:var(--s-primary);border-color:var(--s-primary);color:#fff}.stu-option-text{font-family:var(--serif);font-size:18px;line-height:1.5;padding-top:1px;overflow-wrap:anywhere}.stu-hint{margin:0;font-size:13px;color:var(--s-muted)}.stu-field{display:flex;flex-direction:column;gap:8px}.stu-field label{font-size:14px;font-weight:600;color:var(--s-text-2)}.stu-answer-input{min-height:54px;padding:0 16px;border-radius:10px;border:1px solid var(--s-border-strong);font-family:var(--serif);font-size:20px;color:var(--s-text);background:#fff;width:100%;max-width:440px}.stu-answer-input.mono,.stu-answer-input.num{font-family:var(--font);font-variant-numeric:tabular-nums;font-weight:500;max-width:280px}.stu-answer-input:focus-visible{outline:none;border-color:var(--s-primary);box-shadow:0 0 0 1px var(--s-primary),0 0 0 4px #2f4bd824}.stu-field-error{font-size:14px;font-weight:600;color:var(--s-danger)}.stu-rubric{padding:16px;border-radius:10px;background:var(--s-ground);display:flex;flex-direction:column;gap:8px}.stu-rubric h2{margin:0;font-size:14px;font-weight:700}.stu-rubric-row{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--s-text-2)}.stu-rubric-row b{font-weight:600;white-space:nowrap;color:var(--s-text);font-variant-numeric:tabular-nums}details.stu-rubric-details{border-top:1px solid var(--s-divider);border-bottom:1px solid var(--s-divider);margin-top:-8px}details.stu-rubric-details>summary{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:600;color:var(--s-text-2);cursor:pointer;list-style:none;border-radius:6px}details.stu-rubric-details>summary::-webkit-details-marker{display:none}details.stu-rubric-details>summary svg{transition:transform .15s;color:var(--s-muted)}details.stu-rubric-details[open]>summary svg{transform:rotate(90deg)}details.stu-rubric-details>summary .pts{margin-left:auto;font-weight:500;color:var(--s-muted)}.stu-rubric-list{list-style:none;margin:0;padding:0 0 14px 24px;display:flex;flex-direction:column;gap:8px}.stu-rubric-list li{display:flex;justify-content:space-between;gap:16px;font-size:14px;line-height:1.5;color:var(--s-text-2)}.stu-rubric-list li b{font-weight:600;color:var(--s-text);white-space:nowrap;font-variant-numeric:tabular-nums}.stu-editor{display:flex;flex-direction:column;gap:0;border:1px solid var(--s-border-strong);border-radius:10px;overflow:hidden;background:#fff}.stu-editor:focus-within{border-color:var(--s-primary);box-shadow:0 0 0 1px var(--s-primary),0 0 0 4px #2f4bd81f}.stu-editor-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 18px;border-bottom:1px solid var(--s-divider);font-size:13px;color:var(--s-muted)}.stu-editor-bar label{font-size:14px;font-weight:600;color:var(--s-text-2)}.stu-editor textarea{border:none;outline:none;resize:vertical;min-height:380px;padding:20px 22px;font-family:var(--serif);font-size:18px;line-height:1.75;color:var(--s-text);background:#fff}.stu-editor-foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:10px 18px 12px;border-top:1px solid var(--s-divider);background:var(--s-surface-2)}.stu-wordcount{flex:1 1 260px;display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.stu-wordcount .aim{font-weight:400;color:var(--s-muted)}.stu-wordcount .over{font-weight:600;color:var(--s-warn-dark)}.stu-progress{height:4px;border-radius:99px;background:var(--s-border);overflow:hidden;max-width:320px}.stu-progress>span{display:block;height:4px;border-radius:99px;background:var(--s-primary)}.stu-progress.over>span{background:var(--s-warn)}.stu-bottombar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--s-surface);border-top:1px solid var(--s-border)}.stu-bottombar-inner{position:relative;max-width:808px;margin:0 auto;padding:12px 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}@media (max-width: 640px){.stu-bottombar-inner{padding:10px 16px;gap:8px}.stu-bottombar .stu-btn.lg{padding:0 14px}}.stu-bottombar-inner>:first-child{justify-self:start}.stu-bottombar-inner>:nth-child(3){justify-self:end}.stu-qtoggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:8px;border:1px solid transparent;background:transparent;font:inherit;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--s-text);cursor:pointer;white-space:nowrap}.stu-qtoggle:hover,.stu-qtoggle[aria-expanded=true]{background:var(--s-ground)}.stu-qtoggle svg{color:var(--s-muted);flex-shrink:0}.stu-qtoggle .chev{transition:transform .15s}.stu-qtoggle[aria-expanded=true] .chev{transform:rotate(180deg)}.stu-navigator{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);width:min(400px,calc(100vw - 32px));max-height:calc(100vh - 160px);overflow:auto;padding:20px;border-radius:14px;background:var(--s-surface);border:1px solid var(--s-border);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;gap:16px}.stu-navigator-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.stu-navigator h2{margin:0;font-size:16px;font-weight:700}.stu-icon-btn{width:36px;height:36px;border-radius:8px;border:none;background:transparent;color:var(--s-text-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.stu-icon-btn:hover{background:var(--s-ground);color:var(--s-text)}.stu-qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px}.stu-qcell{position:relative;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:var(--font);font-variant-numeric:tabular-nums;font-size:14px;font-weight:600;background:#fff;border:1px solid var(--s-border-strong);color:var(--s-text-2);cursor:pointer;padding:0}.stu-qcell:hover{border-color:#aab4c3}.stu-qcell.answered{background:var(--s-primary-tint);border-color:var(--s-primary-soft);color:var(--s-primary-hover)}.stu-qcell.marked:after{content:"";position:absolute;top:4px;right:4px;width:7px;height:7px;border-radius:50%;background:var(--s-warn)}.stu-qcell.marked{border-color:var(--s-warn-border)}.stu-qcell.current{border-color:var(--s-primary);box-shadow:inset 0 0 0 1px var(--s-primary);color:var(--s-primary-hover)}.stu-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--s-text-2);font-variant-numeric:tabular-nums}.stu-legend span{display:inline-flex;align-items:center;gap:7px}.stu-swatch{position:relative;width:14px;height:14px;border-radius:4px;background:#fff;border:1px solid var(--s-border-strong);flex-shrink:0}.stu-swatch.answered{background:var(--s-primary-tint);border-color:var(--s-primary-soft)}.stu-swatch.marked{border-color:var(--s-warn-border)}.stu-swatch.marked:after{content:"";position:absolute;top:2px;right:2px;width:5px;height:5px;border-radius:50%;background:var(--s-warn)}.stu-offline-note{margin:0;font-size:13px;line-height:1.5;color:var(--s-muted)}.stu-center{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 16px}.stu-center .stu-card{max-width:540px;width:100%}.stu-review{flex:1;display:flex;justify-content:center;padding:40px 24px 56px}@media (max-width: 640px){.stu-review{padding:16px 0 40px}}.stu-review-main{display:flex;flex-direction:column;gap:24px}.stu-review-main h1{margin:0;font-size:26px;font-weight:700}.stu-review-main h1:focus{outline:none}.stu-review-lede{margin:-16px 0 0;font-size:15px;color:var(--s-text-2)}.stu-counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--s-border);border-radius:12px;overflow:hidden}.stu-count{padding:16px 20px;display:flex;flex-direction:column;gap:2px;background:#fff}.stu-count+.stu-count{border-left:1px solid var(--s-border)}.stu-count b{font-size:28px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--s-text)}.stu-count span{font-size:14px;color:var(--s-text-2)}.stu-count.marked b{color:var(--s-warn-dark)}.stu-count.none b{color:var(--s-danger)}.stu-count.zero b{color:var(--s-muted)}.stu-review-sub{margin:0;font-size:15px;font-weight:700}.stu-review-list{list-style:none;margin:-12px 0 0;padding:0;display:flex;flex-direction:column}.stu-review-list li{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--s-divider)}.stu-review-list li:last-child{border-bottom:none}.stu-review-list .qn{font-weight:700;font-variant-numeric:tabular-nums;min-width:32px;color:var(--s-text-2)}.stu-review-list .qp{flex:1;font-family:var(--serif);font-size:16px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stu-review-list .st{font-size:13px;font-weight:600;white-space:nowrap;padding:2px 8px;border-radius:99px}.stu-review-list .st.marked{color:var(--s-warn-dark);background:var(--s-warn-tint)}.stu-review-list .st.none{color:var(--s-danger);background:var(--s-danger-tint)}.stu-review-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding-top:8px}.stu-review-actions.split>*{flex:1}.stu-after{padding:18px 20px;border-radius:10px;background:var(--s-ground);display:flex;flex-direction:column;gap:10px}.stu-after h2{margin:0;font-size:14px;font-weight:700;color:var(--s-text)}.stu-after ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px;font-size:14px;line-height:1.55;color:var(--s-text-2)}.stu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1b253352;display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.stu-dialog{width:100%;max-width:440px;padding:28px;border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-pop)}.stu-dialog h2{margin:0;font-size:20px;font-weight:700}.stu-dialog .stu-review-actions{padding-top:12px}.stu-toast{position:fixed;bottom:88px;left:50%;transform:translate(-50%);z-index:40;padding:12px 18px;border-radius:10px;background:#fff;border:1px solid var(--s-border);color:var(--s-text);font-weight:600;box-shadow:var(--shadow-pop)}.stu-done{max-width:520px;width:100%;margin:24px auto 0;padding:44px 36px 36px;border-radius:14px;background:#fff;border:1px solid var(--s-border);box-shadow:var(--shadow-paper);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.stu-done-check{width:56px;height:56px;border-radius:50%;background:var(--s-success-tint);color:var(--s-success);display:flex;align-items:center;justify-content:center;margin-bottom:4px}.stu-done h1{margin:0;font-size:26px;font-weight:700}.stu-done-title{margin:0;font-size:16px;font-weight:600;color:var(--s-text-2)}.stu-done-text{margin:0;font-size:15px;line-height:1.6;color:var(--s-text-2)}.stu-receipt{margin:12px 0 4px;padding:16px 28px;border-radius:10px;background:var(--s-surface-2);border:1px dashed #aab4c3;display:flex;flex-direction:column;gap:4px}.stu-receipt span:first-child{font-size:13px;font-weight:500;color:var(--s-text-2)}.stu-receipt .code{font-family:var(--font);font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;letter-spacing:.08em}.stu-done-foot{margin:0;font-size:14px;line-height:1.55;color:var(--s-muted)}.stu-course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.stu-course{padding:18px 20px;border-radius:12px;border:1px solid var(--s-border);background:#fff;font:inherit;text-align:left;display:flex;flex-direction:column;gap:4px;cursor:pointer;color:var(--s-text)}.stu-course:hover{border-color:var(--s-primary-soft)}.stu-course[aria-pressed=true]{border-color:var(--s-primary);box-shadow:inset 0 0 0 1px var(--s-primary)}.stu-course .c{font-size:14px;font-weight:600;color:var(--s-text-2)}.stu-course .p{font-size:28px;font-weight:700;font-variant-numeric:tabular-nums}.stu-course .n{font-size:13px;color:var(--s-muted)}.stu-fb-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:24px;padding:28px;border-radius:14px;background:#fff;border:1px solid var(--s-border)}.stu-fb-head-main{flex:1 1 300px;display:flex;flex-direction:column;gap:6px}.stu-fb-head h1{margin:0;font-size:26px;font-weight:700;line-height:1.25}.stu-fb-head .eyebrow{font-size:14px;font-weight:600;color:var(--s-text-2)}.stu-fb-head .when{font-size:14px;color:var(--s-muted)}.stu-fb-comment{margin:10px 0 0;padding:14px 16px;border-radius:10px;background:var(--s-ground);font-size:15px;line-height:1.6;color:var(--s-text-2);white-space:pre-wrap}.stu-fb-comment strong{display:block;margin-bottom:2px;color:var(--s-text);font-size:14px}.stu-fb-score{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.stu-fb-score b{font-size:40px;font-weight:700;color:var(--s-text);line-height:1.1;font-variant-numeric:tabular-nums}.stu-fb-score b small{font-size:20px;font-weight:500;color:var(--s-muted)}.stu-fb-score span{font-size:14px;color:var(--s-text-2)}.stu-fbq{padding:24px 28px;border-radius:14px;background:#fff;border:1px solid var(--s-border);display:flex;flex-direction:column;gap:14px}.stu-fbq-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}.stu-fbq-head h2{margin:0;font-size:14px;font-weight:600;color:var(--s-text-2)}.stu-fbq-prompt{font-family:var(--serif);font-size:19px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.stu-ans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.stu-ans{padding:12px 16px;border-radius:10px;background:var(--s-ground);display:flex;flex-direction:column;gap:4px;font-family:var(--serif);font-size:17px;line-height:1.5;overflow-wrap:anywhere}.stu-ans>span:first-child{font-family:var(--font);font-size:13px;font-weight:600;color:var(--s-text-2)}.stu-ans .stu-mono{font-family:var(--font);font-weight:600}.stu-ans.good{background:var(--s-success-tint)}.stu-ans.good>span:first-child{color:var(--s-success)}.stu-ans.bad{background:var(--s-warn-tint)}.stu-ans.bad>span:first-child{color:var(--s-warn-dark)}.stu-ans.essay{background:#fff;border:1px solid var(--s-border);padding:16px 20px;white-space:pre-wrap;line-height:1.7;max-height:460px;overflow:auto}.stu-teacher-note{padding:12px 16px;border-radius:10px;background:var(--s-primary-tint);font-size:15px;line-height:1.55;color:var(--s-text);white-space:pre-wrap}.stu-loading{display:flex;align-items:center;gap:12px;padding:24px 4px;color:var(--s-text-2)}.stu-spin{width:20px;height:20px;border-radius:50%;border:2.5px solid var(--s-border);border-top-color:var(--s-primary);animation:stu-spin .8s linear infinite}@keyframes stu-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.stu-spin{animation-duration:2.4s}.stu-qtoggle .chev,details.stu-rubric-details>summary svg{transition:none}}.stu :focus-visible{outline:2px solid var(--s-primary);outline-offset:2px;box-shadow:none}.stu .stu-editor textarea:focus-visible,.stu .stu-answer-input:focus-visible,.stu .stu-code-box:focus-visible{outline:none}.stu-fbq-scan{display:block;max-width:100%;max-height:420px;border:1px solid var(--s-border, #E2E6EC);border-radius:10px;background:#fff;margin:8px 0}.stu-home-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.stu-trial-card{display:flex;flex-direction:column;gap:10px;flex:0 1 340px;max-width:340px;padding:16px;border-radius:14px;background:var(--s-surface);border:2px solid var(--s-primary)}.stu-trial-title{display:flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:700}.stu-trial-title svg{color:var(--s-primary)}.stu-dev{display:flex;flex-direction:column;gap:8px}.stu-dev-line{display:flex;align-items:center;gap:8px;margin:0;padding:8px 10px;border-radius:10px;font-size:14px;font-weight:600;line-height:1.35;background:var(--s-ground);color:var(--s-text-2)}.stu-dev-line svg{flex-shrink:0}.stu-dev-line.ok{background:var(--s-success-tint);color:var(--s-text)}.stu-dev-line.warn{background:var(--s-warn-tint);color:var(--s-text)}.stu-update-box{display:flex;flex-direction:column;gap:4px}.stu-dev-line.stu-update{justify-content:space-between;flex-wrap:wrap;padding:6px 6px 6px 10px;color:var(--s-text)}.stu-update-text{flex:1 1 auto;min-width:0}.stu-update-box .stu-dev-sub a{color:var(--s-primary);font-weight:600}.stu-dev-sub{margin:0;font-size:13px;font-weight:400;color:var(--s-muted)}.stu-dev-list,.stu-dev-notes,.stu-dev-all{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.4}.stu-dev-list{color:var(--s-text)}.stu-dev-notes{color:var(--s-muted)}.stu-dev-all{list-style:none;padding:0;color:var(--s-text-2)}.stu-dev-all li{display:flex;align-items:flex-start;gap:6px}.stu-dev-all svg{flex-shrink:0;margin-top:2px}.stu-dev-actions{display:flex;gap:16px}.stu-linkbtn{padding:0;border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--s-primary);cursor:pointer}.stu-linkbtn:hover{text-decoration:underline}.stu-trial-try{width:100%}.stu-trial-meta{margin:0;font-size:13px;color:var(--s-muted)}@media (max-width: 640px){.stu-trial-card{flex:1 1 100%;max-width:none}}.stu-trial-stop{white-space:nowrap}.stu-trial-exit-code{font-family:var(--mono, ui-monospace, SFMono-Regular, Menlo, monospace);font-size:20px;font-weight:700;letter-spacing:.08em}.stu-exam{--stu-text-scale: 1}.stu-lockbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:16px;min-height:68px;padding:8px 24px}.stu-lb-left,.stu-lb-right{display:flex;align-items:center;gap:12px;min-width:0}.stu-lb-right{justify-content:flex-end;gap:10px}.stu-lb-center{display:flex;flex-direction:column;align-items:center;gap:3px}.stu-lockbar-title{flex:1 1 auto;flex-direction:column;align-items:flex-start;gap:2px;font-size:16px}.stu-lockbar-title .t{max-width:100%}.stu-lockbar-title small{font-size:14px}.stu-directions-btn{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:none;font:inherit;font-size:13px;font-weight:500;color:var(--s-text-2);cursor:pointer;transition:color .15s}.stu-directions-btn:hover,.stu-directions-btn[aria-expanded=true]{color:var(--s-primary)}.stu-directions-btn .chev{transition:transform .2s}.stu-directions-btn[aria-expanded=true] .chev{transform:rotate(180deg)}.stu-lockbar .stu-timer{border:0;background:none;padding:0;font-size:22px;min-height:28px;min-width:72px;justify-content:center;transition:opacity .2s,color .2s}.stu-lockbar .stu-timer.hidden{opacity:0}.stu-lockbar .stu-timer.low{background:none;color:var(--s-warn-dark)}.stu-timer-toggle{border:1.5px solid var(--s-text);background:var(--s-surface);border-radius:99px;padding:1px 14px;font:inherit;font-size:12px;font-weight:600;color:var(--s-text);cursor:pointer;transition:border-color .15s,color .15s}.stu-timer-toggle:hover{border-color:var(--s-primary);color:var(--s-primary)}.stu-battery{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:99px;font-size:12px;font-weight:600;color:var(--s-text-2);white-space:nowrap;transition:background .2s,color .2s}.stu-battery.low{background:var(--s-warn-tint);color:var(--s-warn-dark)}.stu-battery.critical{background:var(--s-danger-tint);color:var(--s-danger)}.stu-tool{display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-width:56px;padding:5px 10px;border:0;border-radius:8px;background:none;font:inherit;font-size:12px;font-weight:500;color:var(--s-text);cursor:pointer;transition:background .15s,color .15s}.stu-tool:hover,.stu-tool.on{background:var(--s-primary-tint);color:var(--s-primary)}.stu-pop{position:absolute;top:calc(100% + 6px);z-index:40;min-width:240px;max-width:min(420px,calc(100vw - 32px));padding:14px 16px;border-radius:12px;background:var(--s-surface);border:1px solid var(--s-border);box-shadow:var(--shadow-pop);font-size:14px;color:var(--s-text);animation:stu-pop-in .18s ease-out}.stu-pop p{margin:0 0 6px}.stu-pop-title{font-weight:700}.stu-pop ul{margin:0;padding-left:18px;line-height:1.6;color:var(--s-text-2)}.stu-pop-left{left:24px}.stu-pop-right{right:16px}.stu-menu{padding:6px;min-width:220px}.stu-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:none;font:inherit;font-size:14px;color:var(--s-text);text-align:left;cursor:pointer;transition:background .12s,color .12s}.stu-menu-item svg{color:var(--s-primary)}.stu-menu-item:hover,.stu-menu-item:focus-visible{background:var(--s-primary-tint);color:var(--s-primary)}.stu-menu-note{margin-left:auto;font-size:12px;color:var(--s-muted)}@keyframes stu-pop-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@media (max-width: 760px){.stu-lockbar{grid-template-columns:minmax(0,1fr) auto;padding:8px 14px}.stu-lb-center{grid-column:2;grid-row:1}.stu-lb-right{grid-column:1 / -1;justify-content:space-between}.stu-sync-text{display:none}}.stu-qhead{display:flex;align-items:center;gap:12px;margin:-44px -56px -8px;padding:0 14px 0 0;min-height:48px;background:var(--s-surface-2);border-bottom:1px solid var(--s-border);border-radius:12px 12px 0 0;overflow:hidden}.stu-qnum{align-self:stretch;min-width:48px;padding:0 12px;display:flex;align-items:center;justify-content:center;background:var(--s-primary);color:#fff;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.stu-qhead-pts{font-size:13px;font-weight:500;color:var(--s-muted);white-space:nowrap}.stu-qhead .stu-mark{margin-left:2px}.stu-qhead .stu-mark svg{transition:fill .15s}.stu-crossout-tool{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:34px;border-radius:8px;border:1.5px solid var(--s-border-strong);background:var(--s-surface);color:var(--s-text-2);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.stu-crossout-tool:hover{border-color:var(--s-primary);color:var(--s-primary)}.stu-crossout-tool[aria-pressed=true]{background:var(--s-primary);border-color:var(--s-primary);color:#fff}@media (max-width: 640px){.stu-qhead{margin:-28px -20px -8px;border-radius:0}}.stu-option-row{display:flex;align-items:center;gap:12px}.stu-option-row>.stu-option{flex:1;min-width:0}.stu-option-row.crossed>.stu-option{background:var(--s-ground);border-color:var(--s-border);color:#9aa3b0}.stu-option-row.crossed .stu-option-text{text-decoration:line-through;text-decoration-thickness:1.5px}.stu-option-row.crossed .stu-option-letter{border-color:var(--s-border-strong);color:#9aa3b0}.stu-cross-btn{flex-shrink:0;width:48px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:none;font:inherit;font-size:12px;font-weight:700;color:var(--s-primary);cursor:pointer;animation:stu-pop-in .18s ease-out;transition:background .15s}.stu-cross-btn:hover{background:var(--s-primary-tint)}.stu-cross-letter{position:relative;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--s-text-2);display:inline-flex;align-items:center;justify-content:center;color:var(--s-text-2);font-size:12px}.stu-cross-letter:after{content:"";position:absolute;left:-6px;right:-6px;top:50%;height:1.5px;background:var(--s-text-2)}.stu-exam .stu-prompt{font-size:calc(22px * var(--stu-text-scale))}.stu-exam .stu-option-text,.stu-exam .stu-answer-input,.stu-exam .stu-essay{font-size:calc(18px * var(--stu-text-scale))}.stu-bottombar-inner{max-width:none;padding:10px 24px}.stu-who{justify-self:start;display:inline-flex;align-items:baseline;gap:8px;min-width:0;font-size:14px;color:var(--s-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stu-who b{font-weight:600;color:var(--s-text);overflow:hidden;text-overflow:ellipsis}.stu-who .netid{font-variant-numeric:tabular-nums;color:var(--s-muted)}.stu-who .netid:before{content:"· "}.stu-bottombar-nav{justify-self:end;display:flex;gap:8px}.stu-qtoggle{background:var(--s-text);color:#fff;padding:0 18px;transition:background .15s}.stu-qtoggle:hover,.stu-qtoggle[aria-expanded=true]{background:var(--s-primary)}.stu-qtoggle svg{color:inherit}.stu-navigator{width:min(440px,calc(100vw - 32px));animation:stu-nav-in .2s ease-out}@keyframes stu-nav-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.stu-navigator .stu-legend{justify-content:center;padding-bottom:12px;border-bottom:1px solid var(--s-border)}.stu-navigator .stu-legend svg{color:var(--s-text)}.stu-qgrid{padding-top:8px}.stu-qcell{border-style:dashed;color:var(--s-primary);transition:border-color .12s,background .12s}.stu-swatch{border-style:dashed}.stu-qcell.answered{border-style:solid;background:var(--s-primary);border-color:var(--s-primary);color:#fff}.stu-swatch.answered{border-style:solid;background:var(--s-primary);border-color:var(--s-primary)}.stu-qcell.current{box-shadow:0 0 0 2px var(--s-surface),0 0 0 4px var(--s-text)}.stu-qcell.answered.current{color:#fff}.stu-qcell-pin{position:absolute;top:-15px;left:50%;transform:translate(-50%);color:var(--s-text);line-height:0}.stu-goreview{align-self:center;border-radius:99px;border-color:var(--s-primary);color:var(--s-primary);padding:0 22px}.stu-goreview:hover{background:var(--s-primary-tint)}@media (max-width: 760px){.stu-bottombar-inner{grid-template-columns:auto 1fr}.stu-who{display:none}.stu-qtoggle{justify-self:start}}@media (prefers-reduced-motion: reduce){.stu-pop,.stu-navigator,.stu-cross-btn{animation:none}}.stu-directions-btn .chev{transform:rotate(180deg)}.stu-directions-btn[aria-expanded=true] .chev{transform:none}.stu-who{gap:6px}.stu-navigator .stu-qgrid{padding-top:14px}.stu-review-grid{display:flex;flex-direction:column;gap:14px;padding:18px 0 6px}.stu-start-bar{display:flex;align-items:center;gap:12px;min-height:60px;padding:0 24px;background:var(--s-surface);border-bottom:1px solid var(--s-border)}.stu-start-title{flex:1;min-width:0;font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stu-start-card{width:min(620px,100%);gap:16px;animation:stu-pop-in .22s ease-out}.stu-start-card h1{margin:0;font-size:26px}.stu-rules{margin:4px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.stu-rules li{position:relative;padding:12px 14px 12px 40px;border-radius:10px;background:var(--s-surface-2);border:1px solid var(--s-border);line-height:1.5;color:var(--s-text-2)}.stu-rules li:before{content:"";position:absolute;left:16px;top:19px;width:9px;height:9px;border-radius:50%;background:var(--s-primary)}.stu-rules b{color:var(--s-text)}.stu-start-battery{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;font-weight:600;font-size:14px;background:var(--s-success-tint);color:var(--s-success)}.stu-start-battery.low,.stu-start-battery.critical{background:var(--s-warn-tint);color:var(--s-warn-dark)}.stu-ready{display:flex;align-items:center;gap:10px;font-weight:600;cursor:pointer}.stu-start-card .stu-ready{flex:none}.stu-ready input{width:20px;height:20px;accent-color:var(--s-primary)}.stu-code-card{align-items:stretch;text-align:left}.stu-linkbtn{align-self:center;border:0;background:none;padding:6px 10px;border-radius:8px;font:inherit;font-size:14px;font-weight:600;color:var(--s-text-2);cursor:pointer;transition:color .15s,background .15s}.stu-linkbtn:hover{color:var(--s-primary);background:var(--s-primary-tint)}.stu-tabnum{font-variant-numeric:tabular-nums}.stu-shake{animation:stu-shake .42s ease-in-out}@keyframes stu-shake{0%,to{transform:none}20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}@media (prefers-reduced-motion: reduce){.stu-shake,.stu-start-card{animation:none}}.stu-pop-warn{border-color:var(--s-warn-border);background:var(--s-warn-tint)}.stu-exam .stu-lockbar,.stu-exam .stu-bottombar{z-index:50}.stu-navigator-top{position:sticky;top:-20px;z-index:2;margin:-20px -20px 0;padding:20px 20px 0;display:flex;flex-direction:column;gap:16px;background:var(--s-surface);border-radius:14px 14px 0 0}.stu-lbl-short{display:none}.stu-exam .stu-bottombar{container:stu-bottombar / inline-size}.stu-navigator{width:min(440px,calc(100cqw - 24px))}@container stu-bottombar (max-width: 760px){.stu-bottombar-inner{grid-template-columns:auto 1fr;padding:10px 16px}.stu-who{display:none}.stu-qtoggle{justify-self:start}}@container stu-bottombar (max-width: 560px){.stu-bottombar-inner{padding:8px 12px;gap:8px}.stu-bottombar .stu-btn.lg{min-height:40px;padding:0 12px;font-size:15px}.stu-bottombar .stu-qtoggle{min-height:40px;padding:0 12px}.stu-bottombar-nav{gap:6px}.stu-bottombar .stu-lbl-long{display:none}.stu-bottombar .stu-lbl-short{display:inline}}@container stu-bottombar (max-width: 340px){.stu-bottombar .stu-btn.lg svg{display:none}}@media (max-width: 900px){.stu-lockbar .stu-sync-text{display:none}.stu-lockbar{gap:10px;padding-left:16px;padding-right:16px}}.t-shell{min-height:100vh;display:flex;flex-wrap:wrap;background:var(--ground);color:var(--text);font-family:var(--font)}.t-nav{flex:1 1 240px;max-width:100%;box-sizing:border-box;padding:24px 16px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:4px;position:sticky;top:0;align-self:flex-start;min-height:100vh}.t-brand{display:flex;align-items:center;gap:10px;padding:4px 12px 24px;font-weight:700;font-size:18px;color:var(--text);text-decoration:none;border-radius:10px}.t-nav-link{display:flex;align-items:center;gap:12px;padding:12px;min-height:var(--touch);border-radius:var(--r-control);color:var(--text-2);font-weight:500;font-size:15px;text-decoration:none}.t-nav-link:hover{background:var(--ground);color:var(--text)}.t-nav-link[aria-current=page]{background:var(--primary-tint);color:var(--primary);font-weight:600}.t-nav-badge{margin-left:auto;min-width:22px;padding:1px 7px;border-radius:99px;background:var(--warn-tint);color:var(--warn);font-size:12px;font-weight:700;text-align:center}.t-nav-spacer{flex-grow:1}.t-nav-user{margin:16px 4px 0;padding:14px;border-radius:12px;background:var(--ground);display:flex;flex-direction:column;gap:8px}.t-nav-user-name{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-nav-user .muted{font-size:12px}.t-signout{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);font:inherit;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;align-self:flex-start}.t-signout:hover{border-color:var(--primary);color:var(--primary)}.t-main{flex:999 1 560px;min-width:0;box-sizing:border-box;padding:32px 40px 48px;display:flex;flex-direction:column;gap:24px}@media (max-width: 820px){.t-nav{position:static;min-height:0;flex-direction:row;flex-wrap:wrap;align-items:center;padding:12px 16px;border-right:none;border-bottom:1px solid var(--border)}.t-brand{padding:4px 12px 4px 4px}.t-nav-spacer{display:none}.t-nav-user{margin:0 0 0 auto;padding:0;background:none;flex-direction:row;align-items:center}.t-nav-user-name,.t-nav-user .muted{display:none}.t-main{padding:20px 16px 40px}}.t-page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.t-page-head h1{margin:0;font-size:28px;font-weight:700;letter-spacing:-.01em}.t-page-head p{margin:0;font-size:15px;color:var(--muted)}.t-head-text{display:flex;flex-direction:column;gap:6px;min-width:0}.t-head-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.t-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.t-course-chip{padding:3px 8px;border-radius:6px;background:var(--primary-tint);color:var(--primary);font-weight:600;font-size:13px}.t-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--primary);text-decoration:none;align-self:flex-start;border-radius:6px}.t-back:hover{color:var(--primary-hover)}.t-card{padding:24px;border-radius:var(--r-card);background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:16px;min-width:0}.t-card h2{margin:0;font-size:18px;font-weight:700}.t-card-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.t-card-link{font-size:14px;font-weight:600;color:var(--primary);text-decoration:none}.t-card-link:hover{color:var(--primary-hover);text-decoration:underline}.t-columns{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}.t-col-3{flex:3 1 440px;min-width:0}.t-col-2{flex:2 1 320px;min-width:0}.t-aside{display:flex;flex-direction:column;gap:20px}.t-muted{color:var(--muted)}.t-small{font-size:13px}.t-empty{padding:28px 16px;text-align:center;color:var(--muted);font-size:14px;border-radius:12px;background:var(--ground)}.t-empty strong{display:block;color:var(--text);font-size:15px;margin-bottom:4px}.t-inline-error{color:var(--danger);font-size:13px;font-weight:600}.t-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.t-action-card{display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:14px;background:var(--surface);border:1px solid var(--border);color:var(--text);text-decoration:none;transition:border-color .12s ease,box-shadow .12s ease}.t-action-card:hover{border-color:var(--primary-soft);box-shadow:0 2px 10px #2f4bd814}.t-action-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center}.t-action-icon.blue{background:var(--primary-tint);color:var(--primary)}.t-action-icon.orange{background:var(--warn-tint);color:var(--warn)}.t-action-icon.green{background:var(--success-tint);color:var(--success)}.t-action-title{font-weight:600;font-size:16px}.t-action-sub{font-size:14px;color:var(--muted);line-height:1.5}.t-banner{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding:22px 24px;border-radius:var(--r-card);background:var(--surface);border:1px solid var(--border);border-left:0;box-shadow:inset 4px 0 0 var(--primary);color:var(--text)}.t-banner-text{flex:1 1 320px;display:flex;flex-direction:column;gap:6px;min-width:0}.t-banner-eyebrow{font-size:13px;font-weight:600;color:var(--primary)}.t-banner h2{margin:0;font-size:22px;font-weight:700}.t-banner-sub{font-size:14px;color:var(--text-2)}.t-dark-box{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 18px;border-radius:var(--r-tile);background:var(--primary-tint);color:var(--primary)}.t-dark-box-label{font-size:12px;font-weight:600;color:var(--text-2)}.t-dark-box-value{font-family:var(--font);font-size:26px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--primary)}.t-btn-light{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:var(--r-control);border:none;background:var(--primary);color:#fff;font:inherit;font-weight:600;font-size:15px;text-decoration:none;cursor:pointer}.t-btn-light:hover{background:var(--primary-hover);color:#fff}.t-btn-dark-outline{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:var(--r-control);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:inherit;font-weight:600;font-size:14px;cursor:pointer}.t-btn-dark-outline:hover:not(:disabled){background:var(--ground)}.t-btn-dark-outline:disabled{opacity:.55;cursor:not-allowed}.t-btn-dark-danger{border-color:#e8b4ae;color:var(--danger)}.t-btn-dark-danger:hover:not(:disabled){background:var(--danger-tint)}.t-table-scroll{overflow-x:auto}.t-table{width:100%;border-collapse:collapse;font-size:14px}.t-table th{text-align:left;padding:10px 8px;font-weight:600;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap}.t-table td{padding:14px 8px;border-bottom:1px solid var(--divider);vertical-align:middle}.t-table tbody tr:last-child>td{border-bottom:none}.t-table .num{text-align:right;font-variant-numeric:tabular-nums}.t-table .strong{font-weight:600}.t-table a.t-row-link{color:var(--text);font-weight:600;text-decoration:none}.t-table a.t-row-link:hover{color:var(--primary);text-decoration:underline}.t-table tr.t-expand>td{background:var(--ground);padding:16px}.t-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:99px;font-weight:600;font-size:13px;white-space:nowrap;background:var(--divider);color:var(--text-2)}.t-pill.green{background:var(--success-tint);color:var(--success)}.t-pill.orange{background:var(--warn-tint);color:var(--warn)}.t-pill.blue{background:var(--primary-tint);color:var(--primary)}.t-pill.red{background:var(--danger-tint);color:var(--danger)}.t-pill.live:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:6px}.t-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.t-stat{padding:16px 18px;border-radius:14px;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.t-stat.warn{border-color:var(--warn-border)}.t-stat-value{font-size:28px;font-weight:700;line-height:1.15;font-variant-numeric:tabular-nums}.t-stat-value small{font-size:16px;color:var(--muted);font-weight:500}.t-stat-label{font-size:13px;color:var(--muted)}.t-stat-value.blue{color:var(--primary)}.t-stat-value.green{color:var(--success)}.t-stat-value.grey{color:var(--muted)}.t-stat-value.orange{color:var(--warn)}.t-stats.results .t-stat-label{order:-1}.t-stats.results .t-stat-value{font-size:30px}.t-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);overflow-x:auto}.t-tab{min-height:44px;padding:0 16px;font:inherit;font-weight:600;font-size:15px;color:var(--muted);background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-1px;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center}.t-tab:hover{color:var(--text)}.t-tab[aria-selected=true],.t-tab[aria-pressed=true]{color:var(--primary);border-bottom-color:var(--primary)}.t-title-input{font:inherit;font-size:28px;font-weight:700;letter-spacing:-.01em;color:var(--text);border:1px solid transparent;border-radius:10px;padding:2px 8px;margin-left:-9px;background:transparent;width:min(640px,100%)}.t-title-input:hover{border-color:var(--border)}.t-title-input:focus-visible{border-color:var(--primary);background:var(--surface)}.t-title-input[aria-invalid=true]{border-color:var(--danger)}.t-add-btn{min-height:40px;padding:0 14px;border-radius:10px;border:1px dashed #b9c0d0;background:var(--surface);font:inherit;font-weight:600;font-size:14px;color:var(--primary);cursor:pointer}.t-add-btn:hover{border-color:var(--primary);background:var(--primary-tint-2)}.t-menu-wrap{position:relative}.t-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:220px;padding:6px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:0 10px 30px #14161f1f;display:flex;flex-direction:column}.t-menu button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-height:44px;padding:8px 12px;border:none;border-radius:8px;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--text);text-align:left;cursor:pointer}.t-menu button span{font-size:12px;font-weight:500;color:var(--muted)}.t-menu button:hover,.t-menu button:focus-visible{background:var(--primary-tint-2)}.t-q{border-radius:12px;border:1px solid var(--border);background:var(--surface)}.t-q.invalid{border-color:var(--warn-border);background:var(--warn-bg)}.t-q-summary{display:flex;gap:14px;padding:16px;align-items:flex-start}.t-q-num{font-family:var(--mono);font-weight:600;color:var(--muted);padding-top:1px}.t-q.invalid .t-q-num{color:var(--warn-dark)}.t-q-toggle{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;border:none;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:6px}.t-q-prompt{font-size:15px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.t-q-prompt.placeholder{color:var(--faint);font-style:italic}.t-q-meta{font-size:13px;color:var(--muted)}.t-q.invalid .t-q-meta{color:var(--warn-dark);font-weight:600}.t-q-tools{display:flex;gap:4px;flex-shrink:0}.t-icon-btn{width:36px;height:36px;min-width:36px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.t-icon-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.t-icon-btn:disabled{opacity:.4;cursor:not-allowed}.t-icon-btn.danger:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.t-q-body{border-top:1px solid var(--divider);padding:16px;display:flex;flex-direction:column;gap:14px}.t-field{display:flex;flex-direction:column;gap:6px;min-width:0}.t-field>label,.t-label{font-size:13px;font-weight:600;color:var(--text-2)}.t-field .input,.t-field .textarea,.t-field select{border-color:var(--border-strong);font-size:15px}.t-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.t-grid-prompt{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px}@media (max-width: 560px){.t-grid-2,.t-grid-prompt{grid-template-columns:minmax(0,1fr)}}.t-opt-row{display:flex;align-items:center;gap:10px}.t-opt-row input[type=radio]{width:20px;height:20px;accent-color:var(--primary);flex-shrink:0;margin:0}.t-opt-letter{width:28px;height:28px;border-radius:8px;background:var(--ground);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;flex-shrink:0}.t-tf{display:flex;gap:10px;flex-wrap:wrap}.t-tf label{flex:1 1 140px;display:flex;align-items:center;gap:10px;min-height:48px;padding:0 14px;border-radius:10px;border:1px solid var(--border-strong);font-weight:600;cursor:pointer}.t-tf label:has(input:checked){border:2px solid var(--primary);background:var(--primary-tint-2);color:var(--primary-hover)}.t-tf input{width:18px;height:18px;accent-color:var(--primary);margin:0}.t-rubric-row{display:grid;grid-template-columns:minmax(0,1fr) 96px 36px;gap:8px;align-items:center}.t-rubric-total{font-size:13px;font-weight:600;color:var(--muted)}.t-rubric-total.ok{color:var(--success)}.t-rubric-total.bad{color:var(--warn)}.t-link-btn{align-self:flex-start;border:none;background:none;padding:6px 0;font:inherit;font-size:14px;font-weight:600;color:var(--primary);cursor:pointer;border-radius:6px}.t-link-btn:hover:not(:disabled){color:var(--primary-hover);text-decoration:underline}.t-link-btn:disabled{color:var(--faint);cursor:not-allowed}.t-addbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:4px}.t-addbar-label{font-size:13px;font-weight:600;color:var(--muted);margin-right:4px}.t-chip-btn{min-height:36px;padding:0 12px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);font:inherit;font-size:13px;font-weight:600;color:var(--text-2);cursor:pointer}.t-chip-btn:hover{border-color:var(--primary);color:var(--primary)}.t-setting{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--divider)}.t-setting:last-child{border-bottom:none}.t-setting-text{display:flex;flex-direction:column;gap:2px}.t-setting-title{font-weight:600;font-size:14px}.t-setting-sub{font-size:13px;color:var(--muted)}.t-note{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:10px;background:var(--ground);font-size:13px;line-height:1.5;color:var(--text-2)}.t-note svg{flex-shrink:0;margin-top:1px}.t-live-head{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding:20px 24px;border-radius:var(--r-card);background:var(--surface);border:1px solid var(--border);color:var(--text)}.t-live-title{display:flex;flex-direction:column;gap:2px;flex:1 1 240px;min-width:0}.t-live-title h2{margin:0;font-size:20px;font-weight:700}.t-live-title span{font-size:13px;color:var(--text-2)}.t-code{font-family:var(--font);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;letter-spacing:.12em;margin-right:-.12em}.t-code-sm{font-size:24px}.t-mini-link{border:0;background:none;padding:0 0 0 4px;font:inherit;font-weight:600;color:var(--primary);text-decoration:underline;cursor:pointer}.t-mini-link:disabled{opacity:.6;cursor:default}.t-live-time{font-family:var(--font);font-size:34px;font-weight:700;font-variant-numeric:tabular-nums}.t-live-actions{display:flex;flex-wrap:wrap;gap:8px}.t-confirm-dark{flex-basis:100%;display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--r-tile);background:var(--danger-tint)}.t-confirm-dark p{flex:1 1 280px;margin:0;font-size:14px;color:var(--text)}.t-legend{display:flex;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--text-2)}.t-legend span{display:inline-flex;align-items:center;gap:6px}.t-swatch{width:12px;height:12px;border-radius:4px;display:inline-block}.t-swatch.writing{background:var(--primary-tint);border:1px solid var(--primary)}.t-swatch.done{background:var(--success)}.t-swatch.offline{background:var(--divider);border:1px dashed var(--faint)}.t-swatch.look{background:var(--warn)}.t-front{text-align:center;font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--muted);padding:8px;border-radius:8px;background:var(--ground)}.t-seats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;list-style:none;margin:0;padding:0}.t-seat{min-height:56px;border-radius:10px;padding:8px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;min-width:0}.t-seat-name{font-size:12px;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-seat-sub{font-family:var(--mono);font-size:11px;font-weight:500}.t-seat.writing{background:var(--primary-tint);border:1px solid var(--primary);color:var(--primary-hover)}.t-seat.done{background:var(--success);border:1px solid var(--success);color:#fff}.t-seat.offline{background:var(--divider);border:1px dashed var(--faint);color:var(--text-2)}.t-seat.look{background:var(--warn);border:1px solid var(--warn);color:#fff}.t-flag{padding:16px;border-radius:12px;border:1px solid var(--warn-border);background:var(--warn-bg);display:flex;flex-direction:column;gap:10px}.t-flag-top{display:flex;justify-content:space-between;gap:8px;font-size:13px}.t-flag-who{font-weight:700;color:var(--warn-dark)}.t-flag-detail{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.t-flag-actions{display:flex;gap:8px}.t-flag-actions>*{flex:1}.t-btn-outline{min-height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);font:inherit;font-weight:600;font-size:14px;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.t-btn-outline:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.t-btn-outline:disabled{opacity:.55;cursor:not-allowed}.t-btn-warn{min-height:44px;padding:0 14px;border-radius:10px;border:none;background:var(--warn);color:#fff;font:inherit;font-weight:600;font-size:14px;cursor:pointer}.t-btn-warn:hover:not(:disabled){background:var(--warn-dark)}.t-results-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:16px 20px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.t-results-bar .t-head-text{flex:1 1 260px;gap:2px}.t-results-bar strong{font-size:17px}.t-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;border-radius:12px;background:var(--warn-bg);border:1px solid var(--warn-border)}.t-confirm p{flex:1 1 280px;margin:0;font-size:14px}.t-chart{display:flex;align-items:flex-end;gap:10px;height:200px;padding-bottom:8px;border-bottom:1px solid var(--border-strong)}.t-chart-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;height:100%}.t-chart-n{font-size:12px;font-weight:600;color:var(--text-2)}.t-chart-bar{width:100%;border-radius:6px 6px 0 0;background:var(--primary-soft)}.t-chart-bar.hi{background:var(--primary)}.t-chart-labels{display:flex;gap:10px}.t-chart-labels span{flex:1;min-width:0;text-align:center;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-kv{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:10px 0;border-bottom:1px solid var(--divider)}.t-kv:last-of-type{border-bottom:none}.t-kv>span:last-child{font-weight:600;text-align:right}.t-answers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.t-answer{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;padding:12px;border-radius:10px;background:var(--surface);border:1px solid var(--border);align-items:start}.t-answer-given{font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}.t-answer-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;min-width:170px}.t-override{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.t-override .input{width:72px;min-height:36px;padding:4px 8px}.t-mini-btn{min-height:36px;padding:0 10px;border-radius:8px;border:1px solid var(--border-strong);background:var(--surface);font:inherit;font-size:13px;font-weight:600;color:var(--text);cursor:pointer}.t-mini-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.t-mini-btn:disabled{opacity:.5;cursor:not-allowed}.t-mini-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.t-mini-btn.primary:hover:not(:disabled){background:var(--primary-hover);color:#fff}.t-expand-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(240px,2fr);gap:20px;align-items:start}@media (max-width: 900px){.t-expand-grid{grid-template-columns:minmax(0,1fr)}}.t-expand-grid h3{margin:0 0 8px;font-size:15px}.t-grade-head{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:16px 20px;border-radius:14px;background:var(--surface);border:1px solid var(--border)}.t-grade-head .t-head-text{flex:1 1 260px;gap:2px}.t-grade-head .t-head-text strong{font-size:17px}.t-check{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;min-height:44px;cursor:pointer}.t-check input{width:20px;height:20px;accent-color:var(--primary);margin:0}.t-progress{display:flex;flex-direction:column;gap:4px;min-width:200px}.t-progress-track{height:8px;border-radius:99px;background:var(--divider);overflow:hidden}.t-progress-fill{height:8px;border-radius:99px;background:var(--primary)}.t-grade-layout{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}.t-qpicker{flex:1 1 220px;max-width:260px;padding:18px;border-radius:16px;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:8px}@media (max-width: 900px){.t-qpicker{max-width:none}}.t-qpicker h2{margin:0 0 4px;font-size:14px;font-weight:700;color:var(--muted)}.t-qpick{display:flex;flex-direction:column;gap:2px;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);font:inherit;text-align:left;color:var(--text);cursor:pointer}.t-qpick:hover{border-color:var(--primary-soft)}.t-qpick[aria-current=true]{background:var(--primary-tint-2);border:2px solid var(--primary);padding:11px}.t-qpick-title{font-weight:700;font-size:14px}.t-qpick-sub{font-size:13px;color:var(--muted)}.t-qpick-sub.done{color:var(--success);font-weight:600}.t-grade-main{flex:3 1 460px;min-width:0;padding:28px;border-radius:16px;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:18px}.t-grade-main .t-grade-prompt{margin:0;font-size:19px;font-weight:600;line-height:1.5;white-space:pre-wrap}.t-anon{font-family:var(--mono);font-size:13px;padding:4px 10px;border-radius:8px;background:var(--ground)}.t-essay{padding:20px;border-radius:12px;background:#f7f8fa;border:1px solid var(--border);font-size:16px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.t-essay.empty{color:var(--muted);font-style:italic}.t-grade-aside{flex:2 1 340px;min-width:0;padding:24px;border-radius:16px;background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:16px}.t-grade-aside h2{margin:0;font-size:16px;font-weight:700}.t-criterion{margin:0;padding:0;border:none;display:flex;flex-direction:column;gap:8px;min-width:0}.t-criterion legend{font-size:14px;font-weight:700;margin-bottom:8px;padding:0}.t-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:6px}.t-level{min-height:44px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);font:inherit;font-weight:600;color:var(--text);cursor:pointer;padding:0 4px}.t-level:hover{border-color:var(--primary)}.t-level[aria-pressed=true]{border:2px solid var(--primary);background:var(--primary-tint-2);color:var(--primary-hover);font-weight:700}.t-total{font-size:26px;font-weight:700}.t-total small{font-size:16px;color:var(--muted);font-weight:500}.t-save-next{min-height:48px;padding:0 22px;border-radius:12px;border:none;background:var(--primary);font:inherit;font-weight:600;font-size:15px;color:#fff;cursor:pointer}.t-save-next:hover:not(:disabled){background:var(--primary-hover)}.t-save-next:disabled{background:#b9c0d0;cursor:not-allowed}.t-keys{font-size:12px;color:var(--muted)}.t-autobox{padding:12px 14px;border-radius:12px;background:var(--ground);font-size:14px;line-height:1.5;color:var(--text-2)}.t-gb-filter{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.t-select{min-height:44px;padding:0 10px;border-radius:10px;border:1px solid var(--border-strong);font:inherit;font-weight:500;background:var(--surface);color:var(--text)}.t-gb-wrap{padding:8px;border-radius:16px;background:var(--surface);border:1px solid var(--border);overflow-x:auto}.t-gb th,.t-gb td{padding:12px}.t-gb td.cell{padding:8px}.t-gb th .t-gb-course{display:block;font-weight:500;font-size:12px;color:var(--faint)}.t-cell{display:inline-flex;align-items:center;min-height:36px;padding:0 10px;border-radius:8px;font-size:14px;white-space:nowrap;border:1px solid transparent}.t-cell.graded{color:var(--text)}.t-cell.needs_grading{background:var(--primary-tint-2);border-color:var(--primary);color:var(--primary-hover);font-weight:600}.t-cell.in_progress{background:var(--warn-tint);border-color:var(--warn);color:var(--warn-dark);font-weight:600}.t-cell.missing{background:var(--danger-tint);border-color:var(--danger);color:#8e1b12;font-weight:600}.t-cell.not_taken{background:var(--divider);border:1px dashed var(--faint);color:var(--text-2)}.t-swatch.needs_grading{background:var(--primary-tint-2);border:1px solid var(--primary)}.t-swatch.in_progress{background:var(--warn-tint);border:1px solid var(--warn)}.t-swatch.missing{background:var(--danger-tint);border:1px solid var(--danger)}.t-swatch.not_taken{background:var(--divider);border:1px dashed var(--faint)}.t-login{min-height:100vh;display:flex;flex-wrap:wrap;background:var(--ground);font-family:var(--font);color:var(--text)}.t-login-side{flex:1 1 380px;box-sizing:border-box;padding:40px 48px;background:var(--primary-tint);color:var(--text);display:flex;flex-direction:column;gap:28px}.t-login-side .t-brand{color:var(--text);padding:0}.t-login-side h2{margin:auto 0 0;font-size:30px;font-weight:700;line-height:1.25;letter-spacing:-.01em;max-width:440px}.t-login-points{list-style:none;margin:0 0 auto;padding:0;display:flex;flex-direction:column;gap:12px;color:var(--text-2);font-size:15px}.t-login-points li{display:flex;gap:10px;align-items:center}.t-login-points svg{color:var(--primary)}.t-login-main{flex:1 1 420px;display:flex;align-items:center;justify-content:center;padding:40px 24px}.t-login-card{width:100%;max-width:400px;padding:32px;border-radius:var(--r-card);background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:20px}.t-login-card h1{margin:0;font-size:26px;font-weight:700}.t-login-card form{display:flex;flex-direction:column;gap:16px}.t-login-switch{font-size:14px;color:var(--muted);text-align:center}.t-login-switch a{color:var(--primary);font-weight:600}.t-demo{padding:10px 12px;background:var(--ground);border-radius:10px;font-size:13px;color:var(--text-2)}@media (max-width: 820px){.t-login-side{padding:24px;gap:16px}.t-login-side h2{margin-top:8px;font-size:22px}.t-login-points{display:none}}.t-card .center-screen,.t-grade-main .center-screen{min-height:160px}.t-btn-light.t-btn-solid-danger{background:var(--danger)}.t-btn-light.t-btn-solid-danger:hover:not(:disabled){background:#8f1c13}.t-review{display:flex;flex-direction:column;gap:20px}.t-review-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.t-review-nav{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.t-review-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.t-review-head h1{margin:0 0 4px;font-size:28px;font-weight:700;letter-spacing:-.01em}.t-review-score{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.t-review-score-n{font-size:34px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.t-review-score-n small{font-size:18px;font-weight:600;color:var(--muted)}.t-review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.t-review-q{gap:12px}.t-review-q-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.t-review-q-title{font-weight:700;font-size:15px}.t-review-q-title .t-muted{font-weight:500}.t-review-prompt{margin:0;font-family:var(--serif);font-size:19px;line-height:1.45;color:var(--text)}.t-review-answers{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.t-review-given,.t-review-correct{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:var(--r-tile);background:var(--surface-2);border:1px solid var(--divider)}.t-review-correct{background:var(--success-tint);border-color:transparent}.t-review-value{font-family:var(--serif);font-size:17px;color:var(--text);word-break:break-word}.t-review-essay{font-family:var(--serif);font-size:17px;line-height:1.65;color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:520px;overflow:auto}.t-review-grade{display:flex;flex-direction:column;gap:12px;padding-top:12px;border-top:1px solid var(--divider)}.t-review-rubric{display:flex;flex-direction:column;gap:10px}.t-review-crit{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.t-review-grade-row{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.t-review-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.t-review-events{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:14px}.t-seg{display:inline-flex;border:1px solid var(--border-strong);border-radius:var(--r-control);overflow:hidden}.t-seg button{min-width:40px;min-height:36px;border:0;border-left:1px solid var(--border);background:var(--surface);font:inherit;font-weight:600;color:var(--text-2);cursor:pointer}.t-seg button:first-child{border-left:0}.t-seg button.on{background:var(--primary);color:#fff}.t-seg button:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.t-ok{color:var(--success);font-weight:600}.t-seat-link{display:flex;flex-direction:column;align-items:center;gap:2px;color:inherit;text-decoration:none;width:100%}.t-seat-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:8px}.t-review-scan{display:block;max-width:100%;max-height:420px;border:1px solid var(--border);border-radius:var(--r-tile);background:#fff;margin:4px 0 8px}.t-gb-late{margin-left:4px;font-size:11px;font-weight:700;color:var(--warn);text-transform:uppercase;letter-spacing:.04em}.t-class-list{display:flex;flex-direction:column;gap:14px}.t-class-card{gap:14px}.t-class-head{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.t-class-head>div:first-child{flex:1 1 220px}.t-class-code{display:flex;align-items:baseline;gap:8px;padding:6px 14px;border-radius:var(--r-tile);background:var(--primary-tint);color:var(--primary)}.t-class-body,.t-class-add{display:flex;flex-direction:column;gap:10px}.t-class-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-top:6px;border-top:1px solid var(--divider)}.t-live-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:stretch}.t-seat-action{display:block;padding:0 10px 8px;font-size:12px}.t-class-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.t-gc-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;min-height:230px;transition:box-shadow .15s ease}.t-gc-card:hover,.t-gc-card:focus-within{box-shadow:0 4px 16px #1b25331f}.t-gc-banner{position:relative;display:flex;flex-direction:column;gap:2px;padding:18px 20px 20px;min-height:96px;color:#fff;text-decoration:none;background-image:radial-gradient(circle at 92% 18%,rgba(255,255,255,.16) 0 46px,transparent 47px),radial-gradient(circle at 78% 110%,rgba(255,255,255,.1) 0 60px,transparent 61px)}.t-gc-banner:hover .t-gc-name,.t-gc-banner:focus-visible .t-gc-name{text-decoration:underline}.t-gc-banner:focus-visible{outline:3px solid var(--primary-soft);outline-offset:-3px}.t-gc-name{font-size:22px;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.t-gc-term{font-size:15px;opacity:.95}.t-gc-teacher{font-size:13px;opacity:.9;margin-top:6px}.t-gc-body{flex:1;display:flex;flex-wrap:wrap;gap:4px 16px;padding:14px 20px;color:var(--text-2);font-size:14px}.t-gc-foot{display:flex;align-items:center;gap:6px;padding:8px 12px 8px 20px;border-top:1px solid var(--divider)}.t-gc-code{flex:1;font-weight:600;letter-spacing:.06em;color:var(--text-2);font-size:14px}.t-class-new{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.t-class-new-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}.t-crumbs{font-size:14px;color:var(--muted)}.t-crumbs a{color:var(--primary)}.t-gc-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px;min-height:150px;padding:24px 28px;border-radius:16px;color:#fff;background-image:radial-gradient(circle at 88% 22%,rgba(255,255,255,.16) 0 70px,transparent 71px),radial-gradient(circle at 70% 130%,rgba(255,255,255,.1) 0 90px,transparent 91px)}.t-gc-hero h1{margin:0;font-size:32px;line-height:1.2;color:#fff}.t-gc-hero p{margin:6px 0 0;font-size:16px;opacity:.95}.t-gc-hero-btn{font:inherit;font-weight:600;padding:8px 16px;border-radius:999px;border:0;background:#fff;color:var(--text);cursor:pointer}.t-gc-hero-btn:focus-visible{outline:3px solid var(--primary-soft)}.t-gc-share{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:14px 20px;background:var(--surface);border:1px solid var(--border);border-radius:14px}.t-gc-share>div{display:flex;align-items:baseline;gap:10px}.t-cx-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.t-cx-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--divider)}.t-cx-row:last-child{border-bottom:0}.t-cx-row>div:first-child{flex:1}.t-avatar{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--primary-tint);color:var(--primary)}@media (max-width: 560px){.t-gc-hero{padding:18px;min-height:120px}.t-gc-hero h1{font-size:24px}}.t-fx{display:flex;flex-direction:column;gap:16px;max-width:860px;margin:0 auto;width:100%}.t-fx-top{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 0;background:var(--ground)}.t-fx-head{gap:14px;border-top:8px solid var(--primary)}.t-fx-head .t-title-input{font-size:28px}.t-fx-basics{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-start}.t-fx-more{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;padding:6px 0;border:0;background:none;font:inherit;font-weight:600;color:var(--primary);cursor:pointer}.t-fx-more:focus-visible{outline:2px solid var(--primary-soft);outline-offset:2px;border-radius:6px}.t-fx-more-body{display:flex;flex-direction:column;gap:14px;padding-top:12px;border-top:1px solid var(--divider)}.t-fx-questions{display:flex;flex-direction:column;gap:12px}.t-fx-qhead{margin:8px 0 0;font-size:18px}.t-fx-questions>.t-q{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:4px 16px}.t-fx-questions>.t-q:focus-within{box-shadow:inset 4px 0 0 var(--primary)}.t-fx-add{gap:12px;align-items:flex-start}.t-fx-ask{gap:12px;border:2px solid var(--primary-soft)}.t-apps{border:0;padding:0;margin:0}.t-apps legend{font-weight:600;font-size:14px;margin-bottom:4px;padding:0}.t-apps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 16px}.t-check{display:flex;gap:8px;align-items:flex-start;font-size:14px;cursor:pointer}.t-check input{margin-top:3px}.t-warn-text{color:var(--warn, #b4570b)}.fp-code-editor{height:100%;min-height:0}.fp-code-editor .cm-editor{height:100%}.fp-code-editor.readonly .cm-activeLine,.fp-code-editor.readonly .cm-activeLineGutter{background:transparent}.stu-exam-body.code{padding:16px 16px 92px}.stu-paper.stu-cq-paper{max-width:1480px;padding:0;gap:0;overflow:hidden}.stu-cq-paper .stu-qhead{margin:0}.stu-cq{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);height:calc(100vh - 280px);min-height:560px}.stu-cq-left{min-width:0;overflow:auto;padding:28px 32px 32px;display:flex;flex-direction:column;gap:22px;border-right:1px solid var(--s-border)}.stu-exam .stu-cq .stu-prompt{font-size:calc(18px * var(--stu-text-scale, 1));line-height:1.6}.stu-cq-examples{display:flex;flex-direction:column;gap:18px}.stu-cq-example h2{margin:0 0 8px;font-size:15px;font-weight:700;color:var(--s-text)}.stu-cq-io{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stu-cq-io.three{grid-template-columns:repeat(3,minmax(0,1fr))}.stu-cq-io>div{min-width:0;display:flex;flex-direction:column;gap:4px}.stu-cq-io span{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--s-muted)}.stu-cq pre,.stu-fbq-code{margin:0;padding:10px 12px;border-radius:8px;background:var(--s-surface-2);border:1px solid var(--s-border);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:calc(13px * var(--stu-text-scale, 1));line-height:1.55;color:var(--s-text);white-space:pre-wrap;overflow-wrap:anywhere;max-height:240px;overflow:auto}.stu-fbq-code{max-height:480px}.stu-cq-right{min-width:0;min-height:0;display:flex;flex-direction:column;background:#fff}.stu-cq-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-height:44px;padding:6px 14px;border-bottom:1px solid var(--s-border);background:var(--s-surface-2)}.stu-cq-lang{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:99px;background:var(--s-primary-tint);color:var(--s-primary);font-size:13px;font-weight:700}.stu-cq-meta{font-size:12.5px;color:var(--s-muted)}.stu-cq-editor{flex:1 1 auto;min-height:140px;overflow:hidden}.stu-cq-editor:focus-within{box-shadow:inset 0 0 0 2px #2f4bd859}.stu-cq-note{padding:14px 18px;border-top:1px solid var(--s-border);background:var(--s-primary-tint-2);color:var(--s-text-2);font-size:14px}.stu-cq-sep{flex:0 0 auto;height:10px;cursor:row-resize;border-top:1px solid var(--s-border);background:var(--s-surface-2);position:relative;touch-action:none}.stu-cq-sep:after{content:"";position:absolute;left:50%;top:3px;width:40px;height:4px;margin-left:-20px;border-radius:99px;background:var(--s-border-strong)}.stu-cq-sep:hover:after,.stu-cq-sep:focus-visible:after{background:var(--s-primary)}.stu-cq-sep:focus-visible{outline:2px solid var(--s-primary);outline-offset:-2px}.stu-cq-panel{flex:0 0 auto;min-height:120px;display:flex;flex-direction:column;overflow:hidden;border-top:1px solid var(--s-border)}.stu-cq-tabs{display:flex;align-items:center;gap:10px;padding:6px 12px;border-bottom:1px solid var(--s-divider)}.stu-cq-tabs [role=tablist]{display:flex;gap:4px}.stu-cq-tabs [role=tab]{height:34px;padding:0 12px;border:0;border-radius:8px;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--s-muted);cursor:pointer}.stu-cq-tabs [role=tab]:hover{background:var(--s-ground);color:var(--s-text)}.stu-cq-tabs [role=tab][aria-selected=true]{background:var(--s-primary-tint);color:var(--s-primary)}.stu-cq-status{font-size:13px;color:var(--s-muted)}.stu-cq-run{display:inline-flex;align-items:center;gap:8px}.stu-cq-problem{margin:8px 14px 0;padding:8px 12px;border-radius:8px;background:var(--s-warn-tint);border:1px solid var(--s-warn-border);color:var(--s-warn-dark);font-size:13.5px}.stu-cq-out{flex:1;overflow:auto;padding:12px 14px 16px;display:flex;flex-direction:column;gap:10px}.stu-cq-out>p{margin:0}.stu-cq-out.custom label,.stu-cq-run-out .lbl{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--s-muted)}.stu-cq-stdin{min-height:72px;resize:vertical;padding:8px 10px;border-radius:8px;border:1px solid var(--s-border-strong);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.5}.stu-cq-stdin:focus{outline:none;border-color:var(--s-primary);box-shadow:0 0 0 3px #2f4bd826}.stu-cq-run-out{display:flex;flex-direction:column;gap:6px}.stu-cq-run-out .lbl{display:flex;align-items:center;gap:8px}.stu-cq-run-out .time,.stu-cq-result .time{font-weight:500;text-transform:none;letter-spacing:0;color:var(--s-muted);font-size:12.5px}.stu-cq .stu-cq-stderr{background:var(--s-danger-tint);border-color:#f3c4bf;color:var(--s-danger)}.stu-cq-summary{font-size:14px;font-weight:600;color:var(--s-warn-dark)}.stu-cq-summary.ok{color:var(--s-success)}.stu-cq-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.stu-cq-result{border:1px solid var(--s-border);border-radius:10px;overflow:hidden}.stu-cq-result.pass{border-color:#bfe0cd}.stu-cq-result.fail{border-color:#f0cdc9}.stu-cq-result summary{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;font-size:14px;font-weight:600;list-style:none}.stu-cq-result summary::-webkit-details-marker{display:none}.stu-cq-result details>:not(summary){margin:0 12px 12px}.stu-cq-pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:99px;font-size:12px;font-weight:700;text-transform:none;letter-spacing:0}.stu-cq-pill.pass{background:var(--s-success-tint);color:var(--s-success)}.stu-cq-pill.fail,.stu-cq-pill.error{background:var(--s-danger-tint);color:var(--s-danger)}.stu-cq-pill.timeout{background:var(--s-warn-tint);color:var(--s-warn-dark)}.stu-cq-pill.unavailable{background:var(--s-ground);color:var(--s-muted)}.stu-ans.code{display:flex;flex-direction:column;gap:8px}@media (max-width: 960px){.stu-cq{grid-template-columns:1fr;height:auto}.stu-cq-left{border-right:0;border-bottom:1px solid var(--s-border)}.stu-cq-right{height:80vh;min-height:520px}.stu-cq-io.three{grid-template-columns:1fr}}.t-code-q{display:flex;flex-direction:column;gap:16px}.t-code-editor{height:220px;border:1px solid var(--border-strong, #cdd3dc);border-radius:10px;overflow:hidden;resize:vertical}.t-code-editor:focus-within{border-color:var(--primary, #2f4bd8);box-shadow:0 0 0 3px #2f4bd81f}.t-code-editor.readonly{height:auto;max-height:520px;overflow:auto;resize:none}.t-code-tests{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.t-code-test{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid var(--border, #e2e6ec);border-left:4px solid var(--primary, #2f4bd8);border-radius:10px}.t-code-test.hidden{border-left-color:var(--muted, #6b7686);background:var(--surface-2, #f8f9fb)}.t-code-test-head{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.t-code-test-head strong{font-size:14px}.t-code-test-head .t-icon-btn{margin-left:auto}.t-seg{display:inline-flex;border:1px solid var(--border-strong, #cdd3dc);border-radius:8px;overflow:hidden}.t-seg button{height:30px;padding:0 12px;border:0;background:#fff;font:inherit;font-size:13px;font-weight:600;color:var(--text-2, #4a5568);cursor:pointer}.t-seg button+button{border-left:1px solid var(--border-strong, #cdd3dc)}.t-seg button[aria-pressed=true]{background:var(--primary, #2f4bd8);color:#fff}.t-code-pts{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--text-2, #4a5568)}.t-code-pts input{width:72px}.textarea.mono,.t-code-pre,.t-code-table pre,.t-code-io pre,.t-code-stderr,.t-review-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:13px}.t-review-code{white-space:pre-wrap}.t-code-summary{display:flex;flex-direction:column;gap:8px}.t-code-pre,.t-code-io pre,.t-code-stderr{margin:0;padding:8px 10px;border-radius:8px;background:var(--surface-2, #f8f9fb);border:1px solid var(--border, #e2e6ec);white-space:pre-wrap;overflow-wrap:anywhere;max-height:220px;overflow:auto}.t-code-stderr{background:var(--danger-tint, #fdecea);color:var(--danger, #b42318)}.t-code-table{width:100%;border-collapse:collapse;font-size:13px}.t-code-table th,.t-code-table td{text-align:left;vertical-align:top;padding:6px 8px;border-bottom:1px solid var(--divider, #edf0f3)}.t-code-table pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;max-height:120px;overflow:auto}.t-code-answer{display:flex;flex-direction:column;gap:10px}.t-code-answer-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.t-code-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.t-code-results li{border:1px solid var(--border, #e2e6ec);border-radius:8px}.t-code-results li.pass{border-color:#bfe0cd}.t-code-results li.fail{border-color:#f0cdc9}.t-code-results summary{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:6px 10px;font-size:13.5px;font-weight:600;cursor:pointer}.t-code-results details>:not(summary){margin:0 10px 10px}.t-code-io{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.t-code-io>div{display:flex;flex-direction:column;gap:4px;min-width:0}.t-code-io span{font-size:12px;font-weight:600;color:var(--muted, #6b7686)}.t-code-pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:99px;font-size:12px;font-weight:700}.t-code-pill.pass{background:var(--success-tint, #e8f5ee);color:var(--success, #16794c)}.t-code-pill.fail,.t-code-pill.error{background:var(--danger-tint, #fdecea);color:var(--danger, #b42318)}.t-code-pill.timeout{background:var(--warn-tint, #fdf1e6);color:var(--warn-dark, #8f4508)}.t-code-pill.unavailable{background:var(--surface-2, #f8f9fb);color:var(--muted, #6b7686)}.t-bulk-code{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:560px}.fp-code-loading{padding:16px;font-size:13px;color:var(--muted, #6b7686)}.fp-code-plain{width:100%;height:100%;min-height:200px;border:0;outline:none;resize:none;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;font-size:14px;line-height:1.6;-moz-tab-size:4;tab-size:4}.ext-page{min-height:100vh;background:var(--ground);color:var(--text);font-family:var(--font);display:flex;align-items:center;justify-content:center;padding:24px 16px;box-sizing:border-box}.ext-card{width:100%;max-width:520px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-paper);padding:32px;box-sizing:border-box;display:flex;flex-direction:column;gap:14px}.ext-card h1{margin:0;font-size:22px;line-height:1.3;font-weight:700}.ext-card p,.ext-card ol{margin:0;font-size:15px;line-height:1.6;color:var(--text-2)}.ext-eyebrow{font-size:13px;font-weight:600;color:var(--muted);margin:0}.ext-small{font-size:13px!important;color:var(--muted)!important}.ext-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.ext-btn{min-height:var(--touch);padding:0 18px;border-radius:var(--r-control);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font:600 15px/1 var(--font);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer}.ext-btn:hover{background:var(--surface-2)}.ext-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.ext-btn.primary:hover{background:var(--primary-hover)}.ext-btn:focus-visible,.ext-choice:focus-within,.ext-input:focus-visible{outline:3px solid var(--primary-soft);outline-offset:2px}.ext-spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--primary-tint);border-top-color:var(--primary);animation:ext-spin .9s linear infinite}@keyframes ext-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.ext-spinner{animation:none}}.ext-status{display:flex;align-items:center;gap:14px}.ext-alert{border-radius:var(--r-tile);padding:12px 14px;font-size:14px;line-height:1.5;background:var(--warn-tint);color:var(--warn-dark);border:1px solid var(--warn-border)}.ext-settings{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:14px;font-family:var(--font);color:var(--text)}.ext-settings legend{padding:0;margin-bottom:10px;font-size:15px;font-weight:700}.ext-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.ext-choice{position:relative;display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-tile);background:var(--surface);cursor:pointer}.ext-choice:hover{border-color:var(--border-strong)}.ext-choice.selected{border-color:var(--primary);background:var(--primary-tint-2);box-shadow:inset 0 0 0 1px var(--primary)}.ext-choice input{margin:3px 0 0;accent-color:var(--primary);width:18px;height:18px;flex:none}.ext-choice-title{display:block;font-size:15px;font-weight:600}.ext-choice-hint{display:block;margin-top:3px;font-size:13px;line-height:1.45;color:var(--text-2)}.ext-fields{display:flex;flex-direction:column;gap:16px;padding:16px;border:1px solid var(--border);border-radius:var(--r-tile);background:var(--surface-2)}.ext-field{display:flex;flex-direction:column;gap:6px}.ext-field label{font-size:14px;font-weight:600}.ext-optional{font-weight:500;color:var(--muted)}.ext-input{width:100%;box-sizing:border-box;min-height:var(--touch);padding:10px 12px;border:1px solid var(--border-strong);border-radius:var(--r-control);background:var(--surface);color:var(--text);font:400 15px/1.4 var(--font)}textarea.ext-input{min-height:110px;resize:vertical}.ext-input[aria-invalid=true]{border-color:var(--danger)}.ext-hint{margin:0;font-size:13px;line-height:1.5;color:var(--text-2)}.ext-error{margin:0;font-size:13px;line-height:1.5;color:var(--danger);font-weight:600}.ext-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.ext-chips li{font-size:12px;padding:4px 8px;border-radius:999px;background:var(--primary-tint);color:var(--primary);font-weight:600}.ext-warn{color:#9a4a06}ul.ext-warn{margin:4px 0 0;padding-left:18px}.fp-qimgs{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:10px}.fp-qimgs.compact{margin:4px 0 8px;gap:8px}.fp-qimg-btn{display:block;padding:0;border:1px solid var(--border);border-radius:var(--r-tile);background:var(--surface);cursor:zoom-in;overflow:hidden;min-width:var(--touch);min-height:var(--touch)}.fp-qimg-btn:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.fp-qimg-btn img{display:block;max-width:min(100%,360px);max-height:260px;object-fit:contain}.fp-qimgs.compact .fp-qimg-btn img{max-width:140px;max-height:100px}.fp-qimgs li{max-width:100%}.fp-viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#f3f5f7f0;display:flex;align-items:center;justify-content:center;padding:16px}.fp-viewer-box{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);box-shadow:var(--shadow-pop);padding:52px 16px 16px;max-width:min(96vw,1200px);max-height:94vh;display:flex;flex-direction:column;align-items:center;gap:10px}.fp-viewer-box img{max-width:100%;max-height:calc(94vh - 110px);object-fit:contain}.fp-viewer-close{position:absolute;top:8px;right:8px;min-height:var(--touch);padding:0 16px;border:1px solid var(--border-strong);border-radius:var(--r-control);background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.fp-viewer-alt{margin:0;color:var(--text-2);font-size:14px;text-align:center}.fp-imged{display:flex;flex-direction:column;gap:10px}.fp-imged-drop{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;border:1.5px dashed var(--border-strong);border-radius:var(--r-tile);background:var(--surface-2);color:var(--text-2);font-size:14px}.fp-imged-drop.over{border-color:var(--primary);background:var(--primary-tint-2)}.fp-imged-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.fp-imged-item{display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--border);border-radius:var(--r-tile);background:var(--surface)}.fp-imged-item img{width:100%;height:120px;object-fit:contain;background:var(--surface-2);border-radius:6px}.fp-imged-row{display:flex;gap:6px;align-items:center}.fp-imged-row input{flex:1;min-width:0}.fp-topic-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.fp-topic-chips li,.fp-topic-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:999px;background:var(--primary-tint);color:var(--primary-hover);font-size:13px;font-weight:600;line-height:1.6}.fp-topic-chip button{border:none;background:transparent;color:inherit;cursor:pointer;font:inherit;font-size:15px;line-height:1;padding:2px 4px;min-width:24px;min-height:24px;border-radius:999px}.fp-topic-chip button:focus-visible{outline:2px solid var(--primary)}.fp-topic-box{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 8px;min-height:var(--touch);border:1px solid var(--border-strong);border-radius:var(--r-control);background:var(--surface)}.fp-topic-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint)}.fp-topic-box.invalid{border-color:var(--danger)}.fp-topic-box input{flex:1 1 140px;min-width:120px;border:none;outline:none;font:inherit;font-size:14px;padding:6px 2px;background:transparent;color:var(--text)}.fp-topic-box input:focus,.fp-topic-box input:focus-visible{outline:none;box-shadow:none;border:none}.fp-topic-menu{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:20;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-control);box-shadow:var(--shadow-pop);max-height:220px;overflow:auto}.fp-topic-menu li{padding:8px 10px;border-radius:6px;font-size:14px;cursor:pointer;display:flex;justify-content:space-between;gap:8px}.fp-topic-menu li[aria-selected=true]{background:var(--primary-tint)}.fp-topic-menu li span{color:var(--muted);font-size:12px}.ext-choices.three{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.fp-offline-note{margin:8px auto 0;max-width:760px;width:calc(100% - 32px)}.stu-calc{position:fixed;z-index:45;left:calc(100vw - 360px);top:84px;width:336px;max-width:calc(100vw - 16px);display:flex;flex-direction:column;background:var(--s-surface, #fff);border:1px solid var(--s-border, #e2e6ec);border-radius:14px;box-shadow:0 18px 48px #1b25332e,0 2px 6px #1b25330f;color:var(--s-text, #1b2533);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px) scale(.97);transform-origin:top right;transition:opacity .18s ease-out,transform .18s ease-out,visibility 0s linear .18s}.stu-calc.open{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .18s ease-out,transform .18s ease-out,visibility 0s}.stu-calc.graphing{width:420px}.stu-calc-head{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 12px;border-bottom:1px solid var(--s-divider, #edf0f3);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:14px 14px 0 0}.stu-calc-head:active{cursor:grabbing}.stu-calc-head:focus-visible{outline:2px solid var(--s-primary, #2f4bd8);outline-offset:-2px}.stu-calc-grip{width:14px;height:14px;background:radial-gradient(circle,var(--s-border-strong, #cdd3dc) 1.4px,transparent 1.6px) 0 0 / 7px 7px}.stu-calc-title{font-weight:700;font-size:14px;flex:1}.stu-calc-tabs{flex:1;display:inline-flex;gap:2px;padding:3px;border-radius:9px;background:var(--s-ground, #f3f5f7)}.stu-calc-tabs button{flex:1;border:0;border-radius:7px;background:none;padding:5px 10px;font:inherit;font-size:13px;font-weight:600;color:var(--s-text-2, #4a5568);cursor:pointer;transition:background .15s,color .15s,box-shadow .15s}.stu-calc-tabs button[aria-selected=true]{background:var(--s-surface, #fff);color:var(--s-primary, #2f4bd8);box-shadow:0 1px 3px #1b25331f}.stu-calc-angle{border:1px solid var(--s-border, #e2e6ec);border-radius:6px;background:var(--s-surface, #fff);padding:3px 8px;font:inherit;font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--s-primary, #2f4bd8);cursor:pointer;transition:background .15s}.stu-calc-angle:hover{background:var(--s-primary-tint, #eef1fd)}.stu-calc-close{width:30px;height:30px}.stu-calc-body{padding:12px}.stu-calc-body[hidden]{display:none}.stu-calc-display{display:flex;flex-direction:column;gap:2px;padding:8px 10px;margin-bottom:10px;border-radius:10px;background:var(--s-surface-2, #f8f9fb);border:1px solid var(--s-border, #e2e6ec);transition:border-color .15s}.stu-calc-display:focus-within{border-color:var(--s-primary, #2f4bd8)}.stu-calc-display.error{border-color:var(--s-danger, #b42318)}.stu-calc-prev{min-height:16px;font-size:12px;color:var(--s-muted, #6b7686);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stu-calc .stu-calc-input:focus,.stu-calc .stu-calc-input:focus-visible{outline:none;box-shadow:none}.stu-calc-input{width:100%;border:0;background:none;padding:0;font:inherit;font-size:20px;font-variant-numeric:tabular-nums;text-align:right;color:var(--s-text, #1b2533);outline:none}.stu-calc-result{min-height:24px;font-size:18px;font-weight:700;text-align:right;color:var(--s-primary, #2f4bd8);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stu-calc-display.error .stu-calc-result{font-size:13px;font-weight:600;color:var(--s-danger, #b42318)}.stu-calc-keys{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.stu-calc-key{height:40px;border:1px solid var(--s-border, #e2e6ec);border-radius:8px;background:var(--s-surface, #fff);font:inherit;font-size:15px;font-weight:600;color:var(--s-text, #1b2533);cursor:pointer;transition:background .12s,border-color .12s,transform .08s}.stu-calc-key:hover{background:var(--s-surface-2, #f8f9fb);border-color:var(--s-border-strong, #cdd3dc)}.stu-calc-key:active{transform:scale(.96)}.stu-calc-key.fn{background:var(--s-ground, #f3f5f7);font-size:13px}.stu-calc-key.op{background:var(--s-primary-tint, #eef1fd);color:var(--s-primary, #2f4bd8);font-size:17px}.stu-calc-key.act{color:var(--s-danger, #b42318);font-size:13px}.stu-calc-key.eq{background:var(--s-primary, #2f4bd8);border-color:var(--s-primary, #2f4bd8);color:#fff;font-size:18px}.stu-calc-key.eq:hover{background:var(--s-primary-hover, #2239b0)}.stu-graph{display:flex;flex-direction:column;gap:8px}.stu-graph-fns{display:flex;flex-direction:column;gap:6px}.stu-graph-fn{display:grid;grid-template-columns:10px auto 1fr;align-items:center;gap:6px 8px}.stu-graph-swatch{width:10px;height:10px;border-radius:50%}.stu-graph-y{font-size:13px;font-weight:600;color:var(--s-text-2, #4a5568);white-space:nowrap}.stu-graph-input{min-width:0;height:32px;padding:0 8px;border:1px solid var(--s-border, #e2e6ec);border-radius:7px;font:inherit;font-size:14px;transition:border-color .15s}.stu-graph-input:focus{outline:none;border-color:var(--s-primary, #2f4bd8)}.stu-graph-input[aria-invalid=true]{border-color:var(--s-danger, #b42318)}.stu-graph-err{grid-column:3;font-size:12px;color:var(--s-danger, #b42318)}.stu-graph-canvas-wrap{position:relative;border:1px solid var(--s-border, #e2e6ec);border-radius:10px;overflow:hidden;background:#fff}.stu-graph-canvas{display:block;max-width:100%;cursor:grab;touch-action:none}.stu-graph-canvas:active{cursor:grabbing}.stu-graph-canvas:focus-visible{outline:2px solid var(--s-primary, #2f4bd8);outline-offset:-2px}.stu-graph-tools{position:absolute;top:6px;right:6px;display:flex;flex-direction:column;gap:4px}.stu-graph-tools .stu-icon-btn{width:30px;height:30px;background:#ffffffeb;border:1px solid var(--s-border, #e2e6ec)}.stu-graph-coords{position:absolute;left:8px;bottom:6px;font-size:11px;color:var(--s-muted, #6b7686);background:#ffffffd9;padding:0 4px;border-radius:4px;pointer-events:none}.stu-graph-hint{margin:0;font-size:12px;color:var(--s-muted, #6b7686)}.stu-pane{position:fixed;right:0;bottom:0;z-index:31;display:flex;flex-direction:column;max-width:100vw;background:var(--s-surface, #fff);border-left:1px solid var(--s-border, #e2e6ec);box-shadow:-10px 0 32px #1b253314;animation:stu-pane-in .2s ease-out}@keyframes stu-pane-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}.stu-pane-resize{position:absolute;left:-4px;top:0;bottom:0;width:8px;cursor:col-resize;touch-action:none;z-index:2}.stu-pane-resize:after{content:"";position:absolute;left:3px;top:0;bottom:0;width:2px;background:transparent;transition:background .15s}.stu-pane-resize:hover:after,.stu-pane-resize:focus-visible:after{background:var(--s-primary, #2f4bd8)}.stu-pane-resize:focus-visible{outline:none}.stu-pane-head{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 18px;border-bottom:1px solid var(--s-divider, #edf0f3);color:var(--s-primary, #2f4bd8)}.stu-pane-head h2{flex:1;margin:0;font-size:16px;color:var(--s-text, #1b2533)}.stu-pane-body{flex:1;min-height:0;overflow:auto;padding:14px 16px;display:flex;flex-direction:column}.stu-pane-stack{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}.stu-pane-sub{display:flex;align-items:center;gap:10px;min-width:0}.stu-pane-subtitle{flex:1;min-width:0;font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stu-exam.has-pane .stu-exam-body{margin-right:var(--stu-pane-w, 520px);transition:margin-right .2s ease-out}.stu-exam.has-pane .stu-bottombar{right:var(--stu-pane-w, 520px)}@media (max-width: 760px){.stu-pane{width:100vw!important}.stu-pane-resize{display:none}.stu-exam.has-pane .stu-exam-body{margin-right:0}.stu-exam.has-pane .stu-bottombar{right:0}}.stu-filelist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.stu-filerow{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:1px solid var(--s-border, #e2e6ec);border-radius:10px;background:var(--s-surface, #fff);font:inherit;font-size:14px;color:var(--s-text, #1b2533);text-align:left;transition:border-color .15s,background .15s}button.stu-filerow{cursor:pointer}button.stu-filerow:hover{border-color:var(--s-primary-soft, #bac5f5);background:var(--s-primary-tint-2, #f6f8fe)}.stu-filerow svg{flex:none;color:var(--s-primary, #2f4bd8)}.stu-filerow-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.stu-filerow-size{font-size:12px;color:var(--s-muted, #6b7686);white-space:nowrap}.stu-viewer{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0;-webkit-user-select:text;user-select:text}.stu-viewer-wait{margin:0}.stu-viewer-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding-bottom:6px;border-bottom:1px solid var(--s-divider, #edf0f3)}.stu-viewer-group{display:inline-flex;align-items:center;gap:4px}.stu-viewer-group .stu-icon-btn{width:32px;height:32px}.stu-viewer-group .stu-icon-btn:disabled{opacity:.4;cursor:default}.stu-viewer-zoom{min-width:44px;text-align:center;font-size:13px;font-variant-numeric:tabular-nums}.stu-viewer-page{display:inline-flex;align-items:center;gap:6px;font-size:13px}.stu-viewer-page input{width:44px;height:30px;padding:0 6px;border:1px solid var(--s-border, #e2e6ec);border-radius:6px;font:inherit;text-align:center}.stu-viewer-search{display:inline-flex;align-items:center;gap:4px;margin-left:auto}.stu-viewer-search input{width:130px;height:30px;padding:0 8px;border:1px solid var(--s-border, #e2e6ec);border-radius:6px;font:inherit;font-size:13px}.stu-viewer-search input:focus,.stu-viewer-page input:focus{outline:none;border-color:var(--s-primary, #2f4bd8)}.stu-viewer-hits{font-size:12px;color:var(--s-muted, #6b7686);min-width:52px}.stu-viewer-canvas{flex:1;min-height:240px;overflow:auto;padding:12px;border-radius:10px;background:var(--s-ground, #f3f5f7);text-align:center}.stu-viewer-canvas.grab{cursor:grab}.stu-viewer-canvas.grab:active{cursor:grabbing}.stu-viewer-canvas canvas,.stu-viewer-canvas img{display:inline-block;background:#fff;box-shadow:0 1px 4px #1b25331f;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.stu-viewer-text{flex:1;margin:0;padding:14px 16px;overflow:auto;border-radius:10px;background:var(--s-surface-2, #f8f9fb);border:1px solid var(--s-border, #e2e6ec);font-family:var(--serif, Georgia, serif);font-size:15px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.stu-pdf{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.stu-pdf-main{display:flex;gap:8px;flex:1;min-height:0}.stu-pdf-pages{flex:none;width:44px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.stu-pdf-pagebtn{height:30px;border:1px solid var(--s-border, #e2e6ec);border-radius:6px;background:var(--s-surface, #fff);font:inherit;font-size:12px;font-variant-numeric:tabular-nums;color:var(--s-text-2, #4a5568);cursor:pointer;transition:background .12s,border-color .12s}.stu-pdf-pagebtn:hover{border-color:var(--s-primary-soft, #bac5f5)}.stu-pdf-pagebtn.hit{border-color:#e7a33e;background:#fff7e8}.stu-pdf-pagebtn.on{background:var(--s-primary, #2f4bd8);border-color:var(--s-primary, #2f4bd8);color:#fff}.stu-web{gap:8px}.stu-web-bar{display:flex;align-items:center;gap:4px}.stu-web-bar .stu-icon-btn{width:32px;height:32px}.stu-web-bar .stu-icon-btn:disabled{opacity:.4;cursor:default}.stu-web-host{flex:1;min-width:0;margin:0 6px;padding:5px 10px;border-radius:99px;background:var(--s-ground, #f3f5f7);font-size:13px;color:var(--s-text-2, #4a5568);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none}.stu-web-frame{position:relative;flex:1;min-height:300px;border:1px solid var(--s-border, #e2e6ec);border-radius:10px;overflow:hidden;background:#fff}.stu-web-frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.stu-web-blocked{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:24px;text-align:center;background:#fffffff5;color:var(--s-primary, #2f4bd8);animation:stu-pop-in .18s ease-out}.stu-web-blocked p{margin:0;color:var(--s-text, #1b2533)}.stu-web-hint{margin:0;font-size:12px;line-height:1.4;color:var(--s-muted, #6b7685)}.stu-upload{display:flex;flex-direction:column;gap:10px;text-align:left}.stu-upload-head{display:flex;flex-direction:column;gap:2px}.stu-upload-head h2{margin:0;font-size:16px}.stu-drop{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:18px;border:1.5px dashed var(--s-border-strong, #cdd3dc);border-radius:12px;background:var(--s-surface-2, #f8f9fb);color:var(--s-text-2, #4a5568);font-size:14px;transition:border-color .15s,background .15s}.stu-drop svg{color:var(--s-primary, #2f4bd8)}.stu-drop.over{border-color:var(--s-primary, #2f4bd8);background:var(--s-primary-tint, #eef1fd)}.stu-drop.full{border-style:solid}.stu-upload.compact .stu-drop{padding:12px}.stu-upload-errors{margin:0;padding-left:28px}.stu-upload .stu-filerow.static{padding:8px 12px}.stu-upload-meter{position:relative;display:flex;flex-direction:column;gap:4px}.stu-upload-meter span{display:block;height:4px;border-radius:99px;background:var(--s-primary, #2f4bd8);transition:width .25s ease-out}.stu-upload-meter:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:99px;background:var(--s-divider, #edf0f3);z-index:-1}.stu-upload-meter small{font-size:12px;color:var(--s-muted, #6b7686)}.stu-start-tools{margin:0;font-size:14px;color:var(--s-text-2, #4a5568)}.stu-checkin-wide{flex-basis:100%}.t-tools{gap:14px}.t-tools-title{margin:0;font-size:16px}.t-tool{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--border, #e2e6ec);border-radius:10px;transition:border-color .15s,background .15s}.t-tool:has(>.t-check input:checked){border-color:var(--primary-soft, #bac5f5);background:var(--primary-tint-2, #f6f8fe)}.t-tool-sub{display:flex;flex-direction:column;gap:8px;padding-left:26px;animation:stu-pop-in .18s ease-out}.t-sites{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.t-sites li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 4px 4px 10px;border-radius:8px;background:var(--surface, #fff);border:1px solid var(--border, #e2e6ec);font-size:14px}.t-sites li .mono{flex:none}.t-site-warn{flex:1;min-width:0;font-size:12px;line-height:1.35;color:var(--warn-dark, #8a5a00)}.t-sites-add{display:flex;gap:8px;max-width:460px}.t-sites-add .input{flex:1}.t-materials{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.t-material{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border, #e2e6ec);border-radius:10px;background:var(--surface, #fff);font:inherit;font-size:14px;cursor:pointer;transition:border-color .15s,background .15s}.t-material:hover,.t-material.on{border-color:var(--primary, #2f4bd8);background:var(--primary-tint, #eef1fd)}.t-material-kind{font-size:11px;font-weight:700;color:var(--primary, #2f4bd8)}.t-material-name{font-weight:600}.t-material-view{--s-text: var(--text, #1b2533);--s-text-2: var(--text-2, #4a5568);--s-muted: var(--muted, #6b7686);--s-border: var(--border, #e2e6ec);--s-border-strong: var(--border-strong, #cdd3dc);--s-ground: var(--ground, #f3f5f7);--s-surface: #fff;--s-surface-2: var(--surface-2, #f8f9fb);--s-primary: var(--primary, #2f4bd8);display:flex;flex-direction:column;height:min(78vh,900px)}@media (prefers-reduced-motion: reduce){.stu-calc,.stu-calc.open,.stu-pane,.stu-web-blocked,.t-tool-sub,.stu-exam.has-pane .stu-exam-body,.stu-upload-meter span{animation:none;transition:none}.stu-calc-key:active{transform:none}}.sc-steps{display:flex;flex-direction:column;gap:20px}.sc-stepper{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sc-stepbtn{width:100%;min-height:56px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-tile);background:var(--surface);font:inherit;color:var(--text);text-align:left;cursor:pointer}.sc-stepbtn:hover{border-color:var(--primary-soft)}.sc-stepbtn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sc-stepbtn[aria-current=step]{border-color:var(--primary);background:var(--primary-tint)}.sc-stepnum{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border-strong);font-weight:700;font-size:14px;font-variant-numeric:tabular-nums}.sc-stepbtn[aria-current=step] .sc-stepnum{background:var(--primary);border-color:var(--primary);color:#fff}.sc-steptext{display:flex;flex-direction:column;min-width:0}.sc-steplabel{font-weight:700;font-size:14px}.sc-stephint{font-size:12px;color:var(--text-2)}.sc-panel,.sc-step-body{display:flex;flex-direction:column;gap:16px}.sc-step-body h3,.sc-qmain h3,.sc-release h3{margin:0 0 6px;font-size:16px}.sc-card-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start;margin-bottom:12px}.sc-card-head p{margin:0}.sc-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.sc-small{font-size:13px}.sc-roster{list-style:none;margin:12px 0 0;padding:0;max-height:280px;overflow:auto;border:1px solid var(--border);border-radius:var(--r-tile);display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.sc-check{display:flex;gap:8px;align-items:center;min-height:44px;padding:4px 12px;cursor:pointer}.sc-check input{width:18px;height:18px;accent-color:var(--primary)}.sc-check .t-muted{font-size:12px;margin-left:auto}.sc-lines{list-style:none;margin:8px 0 12px;padding:0;display:flex;flex-direction:column}.sc-lines li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--divider)}.sc-lines-prompt{min-width:0;font-family:var(--serif)}.sc-lines-input{display:flex;align-items:center;gap:6px;flex:none}.sc-lines-input .input{width:76px}.sc-print-card p{margin:0 0 6px}.sc-drop{border:2px dashed var(--border-strong);border-radius:var(--r-card);background:var(--surface);padding:28px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.sc-drop.is-over{border-color:var(--primary);background:var(--primary-tint-2)}.sc-drop p{margin:0}.sc-drop-title{font-weight:700;font-size:16px}.sc-file-btn{margin-top:8px;cursor:pointer}.sc-file-btn:focus-within{outline:2px solid var(--primary);outline-offset:2px}.sc-progress{width:min(420px,100%);height:8px;border-radius:4px;background:var(--divider);overflow:hidden;margin-top:8px}.sc-progress span{display:block;height:100%;background:var(--primary);transition:width .2s}.sc-file-name{font-weight:600;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sc-unmatched{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.sc-um-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;border:1px solid var(--warn-border);background:var(--warn-bg);border-radius:var(--r-tile);padding:12px}.sc-um-preview{display:block;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--surface)}.sc-um-preview img{display:block;width:100%;height:auto}.sc-um-missing{display:grid;place-items:center;height:220px;color:var(--muted);font-size:13px}.sc-um-body{display:flex;flex-direction:column;gap:8px;min-width:0}.sc-um-reason,.sc-um-name{margin:0}.sc-um-name img{max-width:100%;max-height:80px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.sc-um-name figcaption{font-size:12px}.sc-um-form{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:10px}.sc-queue{display:grid;grid-template-columns:240px minmax(0,1fr);gap:20px;align-items:start}.sc-qlist{display:flex;flex-direction:column;gap:6px;position:sticky;top:16px}.sc-qlist>p{margin:0 0 4px}.sc-qbtn{display:flex;flex-direction:column;gap:4px;text-align:left;width:100%;padding:10px 12px;min-height:44px;border:1px solid var(--border);border-radius:var(--r-tile);background:var(--surface);font:inherit;color:var(--text);cursor:pointer}.sc-qbtn[aria-current=true]{border-color:var(--primary);background:var(--primary-tint)}.sc-qbtn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.sc-qbtn-title{font-weight:700;font-size:14px}.sc-qbtn-sub{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sc-low{font-size:12px;color:var(--warn-dark);font-weight:600}.sc-keys{margin-top:12px;padding:10px 12px;border-radius:var(--r-tile);background:var(--surface-2);border:1px solid var(--border);font-size:12px;color:var(--text-2);display:flex;flex-direction:column;gap:4px}.sc-keys kbd{display:inline-block;min-width:18px;padding:0 4px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:4px;background:var(--surface);font:inherit;font-weight:700;text-align:center}.sc-qmain{display:flex;flex-direction:column;gap:12px;min-width:0}.sc-qhead{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:16px}.sc-prompt{font-family:var(--serif);font-size:16px;margin:0 0 6px;white-space:pre-wrap}.sc-key{margin:0;font-size:14px}.sc-filter{align-self:flex-start}.sc-filter button{padding:0 12px}.sc-groups{display:flex;flex-direction:column;gap:8px}.sc-group{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border:1px solid var(--primary-soft);background:var(--primary-tint-2);border-radius:var(--r-tile)}.sc-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.sc-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-card);padding:14px;scroll-margin:80px}.sc-item.is-active{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint)}.sc-item.is-low{border-left:4px solid var(--warn)}.sc-item-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}.sc-who{font-weight:700}.sc-who .t-muted{font-weight:500;font-size:13px;margin-left:4px}.sc-item-body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px}.sc-crop{border:1px solid var(--border);border-radius:8px;background:#fff;padding:4px;min-height:60px;display:flex;align-items:center;justify-content:center;overflow:auto;max-height:420px}.sc-crop img{display:block;max-width:100%;height:auto}.sc-draft{display:flex;flex-direction:column;gap:6px;min-width:0}.sc-draft p{margin:0}.sc-draft-points strong{font-size:20px;font-variant-numeric:tabular-nums}.sc-conf{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--success-tint);color:var(--success)}.sc-conf.is-low{background:var(--warn-tint);color:var(--warn-dark)}.sc-transcript{font-family:var(--serif)}.sc-comment{color:var(--text-2);font-size:14px}.sc-bubbles{font-weight:600}.sc-tags{display:flex;flex-wrap:wrap;gap:6px}.sc-tag{padding:2px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);font-size:12px}.sc-edit{display:flex;flex-direction:column;gap:8px;margin-top:6px}.sc-actions{margin-top:8px}.sc-how{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sc-how li{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-tile);padding:10px 12px;font-size:13px;color:var(--text-2)}.sc-how strong{color:var(--text)}.sc-release p{margin:0 0 8px}@media (max-width: 900px){.sc-stepper,.sc-how{grid-template-columns:repeat(2,minmax(0,1fr))}.sc-queue{grid-template-columns:1fr}.sc-qlist{position:static}.sc-item-body,.sc-um-card{grid-template-columns:1fr}}.lms-providers{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.lms-provider{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:44px;padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:var(--surface);font:inherit;text-align:left;cursor:pointer;color:var(--text)}.lms-provider:hover{border-color:var(--primary)}.lms-provider[aria-pressed=true]{border-color:var(--primary);background:var(--primary-tint);box-shadow:inset 0 0 0 1px var(--primary)}.lms-provider-name{font-weight:700;font-size:15px}.lms-form{display:flex;flex-direction:column;gap:14px}.lms-help{border-radius:12px;background:var(--ground);padding:12px 16px;font-size:14px;color:var(--text-2)}.lms-help summary{cursor:pointer;font-weight:600;color:var(--primary);min-height:28px}.lms-help ol{margin:8px 0 4px;padding-left:20px;display:flex;flex-direction:column;gap:4px}.lms-help p{margin:8px 0 0}.lms-conn{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--divider)}.lms-conn:last-child{border-bottom:none}.lms-conn-main{display:flex;flex-direction:column;gap:4px;min-width:0}.lms-conn-title{display:flex;align-items:center;gap:8px;font-weight:700}.lms-conn-sub{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.lms-actions{display:flex;flex-wrap:wrap;gap:8px}.lms-note{font-size:13px;color:var(--muted);margin:0}.ins-stack{display:flex;flex-direction:column;gap:20px;min-width:0}.ins-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}.ins-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.ins-card-head h2,.ins-section-title{margin:0;font-size:18px}.ins-toggles{display:flex;flex-wrap:wrap;gap:16px}.ins-check{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--text-2);min-height:32px;cursor:pointer}.ins-check input{width:18px;height:18px;accent-color:var(--primary)}.ins-filters{flex-wrap:wrap}.ins-exam-picker{position:relative}.ins-exam-picker>summary{list-style:none;cursor:pointer}.ins-exam-picker>summary::-webkit-details-marker{display:none}.ins-exam-picker fieldset{position:absolute;right:0;top:calc(100% + 6px);z-index:20;min-width:280px;max-height:340px;overflow:auto;margin:0;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 10px 30px #1b25331f;display:flex;flex-direction:column;gap:4px}.ins-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:13px;color:var(--text-2)}.ins-legend-title{font-weight:600;color:var(--text)}.ins-legend-item{display:inline-flex;align-items:center;gap:6px}.ins-swatch{width:14px;height:14px;border-radius:4px;display:inline-block}.ins-heat-0{background:#dce3fb;color:var(--text)}.ins-heat-1{background:#b7c4f6;color:var(--text)}.ins-heat-2{background:#8b9fef;color:var(--text)}.ins-heat-3{background:#4f68e0;color:#fff}.ins-heat-4{background:#2239b0;color:#fff}.ins-heat-none{background:var(--surface);color:var(--muted);box-shadow:inset 0 0 0 1px var(--border);background-image:repeating-linear-gradient(135deg,transparent 0 5px,var(--divider) 5px 6px)}.ins-heat-wrap{overflow-x:auto;max-width:100%}.ins-heat{border-collapse:separate;border-spacing:2px;font-size:14px;min-width:100%}.ins-heat th{text-align:left;font-weight:600;color:var(--text-2);padding:6px 8px;vertical-align:bottom;white-space:nowrap}.ins-heat thead th{font-size:13px}.ins-heat tbody th{color:var(--text);max-width:240px;white-space:normal}.ins-heat-exam{display:block;max-width:140px;overflow:hidden;text-overflow:ellipsis}.ins-heat-date{display:block;font-weight:500;color:var(--muted);font-size:12px}.ins-heat-cell{min-width:72px;height:40px;padding:0 10px;border-radius:6px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}.ins-heat-total{outline:2px solid var(--surface);font-weight:700}.ins-heat-trend{padding:0 8px;white-space:nowrap}.ins-trend{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-2)}.ins-trend.up{color:var(--primary)}.ins-reteach{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.ins-reteach li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--divider)}.ins-reteach li:last-child{border-bottom:none}.ins-small-btn{min-height:40px;padding:8px 14px;font-size:14px;white-space:nowrap;text-decoration:none;align-self:flex-start}.ins-prompt{font-family:var(--serif);font-size:14px;color:var(--text-2);margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ins-chips{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none}.ins-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:99px;background:var(--primary-tint);color:var(--primary);font-size:13px;font-weight:600}.ins-chip.strong{background:var(--success-tint);color:var(--success)}.ins-chip.weak{background:var(--warn-tint);color:var(--warn-dark)}.ins-mistakes{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.ins-mistake{gap:10px}.ins-mistake-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.ins-mistake-head h3{margin:0;font-size:16px;line-height:1.35}.ins-examples{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.ins-examples q{font-family:var(--serif);color:var(--text);font-size:14px}.ins-examples a{color:var(--primary)}.ins-spark{display:block;overflow:visible}.ins-spark-ref{stroke:var(--border-strong);stroke-width:1;stroke-dasharray:3 3}.ins-spark-line{fill:none;stroke:var(--primary);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.ins-spark-dot{fill:var(--primary);stroke:var(--surface);stroke-width:1.5}.ins-note{font-weight:500;color:var(--muted);font-size:12px;text-transform:none;letter-spacing:0}.ins-practice{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}@media (max-width: 640px){.ins-two,.ins-mistakes{grid-template-columns:1fr}.ins-exam-picker fieldset{left:0;right:auto}}.pr-bar{position:relative;height:8px;min-width:80px;border-radius:99px;background:var(--divider);overflow:hidden}.pr-bar>span{position:absolute;inset:0 auto 0 0;border-radius:99px;background:var(--primary)}.pr-make h2,.pr-h2{margin:0;font-size:18px;font-weight:700}.pr-section{display:flex;flex-direction:column;gap:12px}.pr-make-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:24px;margin-top:16px}@media (max-width: 860px){.pr-make-grid{grid-template-columns:1fr}}.pr-make fieldset{border:none;margin:0;padding:0;min-width:0}.pr-make legend{font-size:14px;font-weight:600;color:var(--text-2);margin-bottom:8px;padding:0}.pr-search{display:block;margin-bottom:8px}.pr-student-list{list-style:none;margin:0;padding:0;max-height:360px;overflow:auto;border:1px solid var(--border);border-radius:var(--r-tile)}.pr-student{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-bottom:1px solid var(--divider)}.pr-student:last-child{border-bottom:none}.pr-student.on{background:var(--primary-tint-2)}.pr-student input{margin-top:3px;width:18px;height:18px;flex-shrink:0}.pr-student label{display:flex;flex-direction:column;gap:4px;cursor:pointer;min-width:0}.pr-student-name{font-weight:600}.pr-weak{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px}.pr-topic{padding:2px 8px;border-radius:99px;background:var(--warn-tint);color:var(--warn-dark)}.pr-topic-pct{font-variant-numeric:tabular-nums;opacity:.85}.pr-options{display:flex;flex-direction:column;gap:16px}.pr-make .pr-options{align-items:stretch}.pr-radio{display:flex;align-items:center;gap:8px;min-height:36px;cursor:pointer}.pr-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pr-chip{min-height:36px;padding:0 12px;border-radius:99px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);font:inherit;font-size:14px;cursor:pointer}.pr-chip[aria-pressed=true]{background:var(--primary-tint);border-color:var(--primary);color:var(--primary);font-weight:600}.pr-chip:focus-visible,.pr-dot:focus-visible,.pr-stu-option:focus-within{outline:2px solid var(--primary);outline-offset:2px}.pr-chip-n{font-size:12px;color:var(--muted)}.pr-count{max-width:120px}.pr-skipped{margin:0;padding:10px 14px 10px 28px;border-radius:var(--r-tile);background:var(--warn-bg);border:1px solid var(--warn-border);color:var(--warn-dark);font-size:14px}.pr-set-row{display:flex;flex-direction:row;text-align:left;justify-content:space-between;align-items:center;gap:12px}.pr-set{display:flex;flex-direction:column;gap:16px}.pr-set-title{margin:0;font-size:17px;font-weight:700}.pr-dropped{font-size:13px;color:var(--text-2)}.pr-dropped summary{cursor:pointer}.pr-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.pr-item{display:flex;flex-direction:column;gap:8px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--r-tile);background:var(--surface)}.pr-item.needs{border-color:var(--warn-border);background:var(--warn-bg)}.pr-item-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.pr-item-head .t-pill{margin-left:auto}.pr-item-n{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--primary-tint);color:var(--primary);font-weight:700;font-size:13px}.pr-prompt,.pr-stu-prompt{margin:0;font-family:var(--serif);font-size:17px;line-height:1.5;white-space:pre-wrap}.pr-item .pr-options{margin:0;padding-left:22px;gap:4px;font-size:15px}.pr-item .pr-options li.correct{color:var(--success);font-weight:600}.pr-item .pr-options li.correct:after{content:" ✓"}.pr-key{display:grid;grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;font-size:14px}.pr-key dt{color:var(--muted)}.pr-key dd{margin:0;font-weight:600}.pr-item-actions{display:flex;gap:16px;align-items:center}.pr-danger{color:var(--danger)!important}.pr-note{margin:0;font-size:13px;color:var(--warn-dark)}.pr-source{margin:0}.pr-form{display:flex;flex-direction:column;gap:12px}.pr-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pr-opt-edit{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.pr-opt-edit legend{font-size:14px;font-weight:600;margin-bottom:4px}.pr-opt-row{display:flex;align-items:center;gap:8px}.pr-opt-row input[type=radio]{width:18px;height:18px}.pr-add{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.pr-add .t-select{max-width:420px}.pr-set-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;padding-top:12px;border-top:1px solid var(--divider)}.pr-needs{margin-right:auto;font-size:14px;color:var(--warn-dark)}.pr-progress-cell{display:flex;flex-direction:column;gap:6px;min-width:160px}.pr-stu-note{display:inline-block;margin:0 0 6px;padding:4px 10px;border-radius:99px;background:var(--success-tint);color:var(--success);font-size:13px;font-weight:600}.pr-stu-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.pr-stu-set{display:flex;flex-direction:column;gap:6px;color:inherit;text-decoration:none}.pr-stu-set:hover{border-color:var(--primary-soft)}.pr-stu-set:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.pr-stu-set-title{font-size:17px;font-weight:700}.pr-stu-progress{display:flex;align-items:center;gap:12px}.pr-stu-progress .pr-bar{flex:1;max-width:320px}.pr-dots{display:flex;flex-wrap:wrap;gap:6px}.pr-dot{width:40px;height:40px;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);font:inherit;font-weight:600;cursor:pointer}.pr-dot[aria-current=step]{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);color:var(--primary)}.pr-dot.ok{background:var(--success-tint);border-color:#a9d8bf;color:var(--success)}.pr-dot.miss{background:var(--warn-tint);border-color:var(--warn-border);color:var(--warn-dark)}.pr-dot.saved{background:var(--primary-tint)}.pr-stu-item{display:flex;flex-direction:column;gap:14px}.pr-stu-options{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.pr-stu-option{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 14px;border:1px solid var(--border);border-radius:var(--r-tile);background:var(--surface);cursor:pointer;font-family:var(--serif);font-size:16px}.pr-stu-option.on{border-color:var(--primary);background:var(--primary-tint-2)}.pr-stu-option input{position:absolute;opacity:0;width:1px;height:1px}.pr-stu-letter{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--border-strong);font-family:var(--font);font-weight:700;font-size:13px;flex-shrink:0}.pr-stu-option.on .pr-stu-letter{background:var(--primary);border-color:var(--primary);color:#fff}.pr-stu-field{display:flex;flex-direction:column;gap:6px}.pr-stu-input,.pr-stu-text{min-height:48px;padding:10px 14px;border:1px solid var(--border-strong);border-radius:var(--r-control);background:var(--surface);color:var(--text);font-family:var(--serif);font-size:17px;max-width:100%}.pr-stu-input{max-width:360px}.pr-stu-input:focus-visible,.pr-stu-text:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.pr-stu-actions{margin-top:14px}.pr-feedback{margin:0;padding:12px 16px;border-radius:var(--r-tile);background:var(--primary-tint);color:var(--text)}.pr-feedback p{margin:6px 0 0}.pr-feedback.ok{background:var(--success-tint);color:var(--success)}.pr-feedback.miss{background:var(--warn-tint);color:var(--warn-dark)}.pr-rubric ul{margin:4px 0 0;padding-left:20px}.pr-stu-nav{display:flex;justify-content:space-between;gap:12px}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAAQAABAAAAAACEwAAAOmAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEgAZBEICoMkgmcLFgABNgIkAyYEIAWFNAdiDAcb3wYgngU5GW9qFpxcIlPzNPVjx7JSP3iet+s9971Zzn7Q8yEHG1C91aUi2aFP6j1c07wqko0ssGwl8RDyRPehgRL1M2Z+akJOifHwcbX3d1ZvWowiysMskA0v3NL0wohiuX//l5EDn7gc/6xs+9oikSbyg6LCvegvncOw87lpLFr4wF0a4AIKCLJtSQTXJ0FUc+nW+HePCPAAAEUITQhwS1VELdq2lyi7mSBClGUAfAiQcQoLURwIEAbFSTgpoQyQKZ5QAIQmFC1RkEIyQbp0pOgGEpLm3PgkW7FBndVwEN1qI7KmHk2wjgMoN/MuNwf0QzU7Z/j7kmFrZXIicgFQg/oLEmlS/KkQSoFU6jDNFoqGGVviKyYilIFgeICEGqgfEltBPQFQQINQmoBQhgEQgQJp4CdRoy9ui0o85+N8br7clI0pPwej4FsISZ8AAG4AocADpkJsAmKJAgaVDFMxCCmFTiMiwqAEjpMAFgtkLp3maM5wD/V4R2VGmtOOnpVldz6417+z3Hs/fjQ3vH/P8VTm8PUfPsiyszHmoVMsvf3e3PCx2Nz17t3UTWLjVinvrCiLufT6svGmhrWE6j1tzjbHRH9FSDV/huK83vrzvQ3fI6ndj0Zy4vGOxfHp5Y1xeSVeq2vI33SA3qppmjKsHF6ZEGh7/N5KGlGRkPj/ZcXKUFbp4I6/swFaqzO4Ma0xdWffCXO6Pk1bcMKYilvTUptzO3JeZGW9yGnPTWl2rULNEeDgdJnXYLs0jrQATKiT/q1eKoDq8x6fmt/6kqv5H9f6D+D76dxIgF8Hd4wmlf/C2bAnARD8c2b1CGD+x+Y/y3RXsZSaYiOmkDkC4A/SVw6msSjArYwhliYAAAAUAab1aFK6gHsy1ZSJ5GiRKf5RJtNa/MsMRW7JbKqsltnlGy71VyZZRzQe4YCJuAlcAgYBASK0IhA+h+aGwWGxiY5BNcKNFPyXRTSMIyJwXYs4fF3zMJaefnNbRz6JWyM8BCMQF4gQ1zGIwSL5COaageEcIIQVyWcpV6jaNCYBAB/3oC9fpXzFLGNS1cPDhIcenLt9c3odbByMS851lFpG5gSIfGIfNo4VsYQ1kdcJGCW/zusPwACXQSNgjSTBBhgOyzwy+zRO0LeRVF2TgEDPYsADhE8RQ4/8DQob9KVubTdI9VgUOrQYYhO7OOyNE6/83y22ZK7Ttxot1TzIenBoNZW4JkySwrgAB+bE17sUW2WXxLfqlLEJAA==) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/plus-jakarta-sans-vietnamese-400-normal-Cg2kxhWu.woff2) format("woff2"),url(/assets/plus-jakarta-sans-vietnamese-400-normal-B8TCSmUq.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/plus-jakarta-sans-latin-ext-400-normal-D127hM_v.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-ext-400-normal-2ppkqaOR.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/plus-jakarta-sans-latin-400-normal-Dhut76fR.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-400-normal-BDKaGhyp.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAAQwABAAAAAACHQAAAPWAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAZBEICoMkgmULFgABNgIkAyYEIAWFXgdiDAcbAwdRlE3OAiA/C2NnWmqDevE1lV86rytbx0YiXN7GJix16cheg+c///7dZ+Z+SEzSUhXoEkLHLqv//fu/tfY3nUm+g2lnlqwhYmnWZ232zf5BQiV0qzxKoR5UjVQLFR7+uVfv+5lDN4WzaUwPWEASTFvwak+Pl2rLqgUqWr/l7mqeJpR5FlJkbclrawv4WyBZaRDdxDX5/xelhdVKE4m2zbooInWEO19jURQVPvBuOvDkAcHeliEDXwoiZxo1/tstIsAWAChCaEKAtVDJ1GlxfR+yN4oBZBkAkwkC5GqIAOJAgDAoloQlxZUBIvkTCoDQhKLN8VKYRQwXjizagXkAs434JyuYQT2rCECN1YtcoBrzICIWQLla63ltC57YDcVwpmCYNY1OyAtAdew3EEiTvR8LrhQIpZ4sGxUNU3fqKTYIVwZ6wxb4twhACrICgAIauNIEuDI0Ahw50sBOoCL3fkMFiomxx/Jz8zHHWET500Ih1xCSmuAAwBqAK7AF44Bd4MsRYFApIMBjEJKlWhoePhvhmMSB1Ro5D2fWZibFkofp/bPMacp6vCkbxnNyp3atz66P1K75BuuPeXZe/3xXNlQfm0uF9U+mqV1rYHNKX80eoYGO1L5bZLBZ37LabkggZnym3HIxRqivANhY/1+NlKncG/kn6rGEPYd8ufSeriuFFF+iE7bqaWxa2cwaeQv2IOd05Pu/v386CWdDv/T35UJC4mam3WgqVPQregeerWBu3ebN2oUbvNYNa6rhi42eyuXw8IeI7mbYQmSZbagRBFiwdM8fzreS7vMYYAP1qq91voMA1Q4fa+5fH3DIfZZa/wf49R3rCfj7vreXVLqyajqYUwAEL5tOveUx/znVL7LYKlnPKrmnolmug3QdfFMwL6AAa+kMvjQBAACgCLB3Q4ZkrYDnMeuxRGJMWIp9xLO0Yn/tRhXLTLY7LHOxtrLspWtkOQoWz3RiK1gvGpDu7RYZwAZpLaN/Ac04HxVYgSgPozliYCw2tMGgYyTfNo8UIapRLkpAFNGCCkRsCIUiIwkSrKIRmBCKtK3CeNoWCJaOBovWO1eiGjtbu6AdMojvZ7gAkSxeogxJckwwIY7zRM50xcsSL0Wivtr+a7VlzZbxdGA3ZJE8avQ8Osn60jlc6Io43TCRLFEbA7XGAKPhvtpGjuUcBq3PuCISsnGiorvImzBPYPxsJFXbCM7XsRrn4tCVkKHD7hpFxJrGULWyNQj1JhQ6tBhiJuZiYV6k/hXAuNiagHXH+8Rkbte5sz8+pJaoJtH4Rg5JTJoeMxsvf4RbbhkZAA==) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/plus-jakarta-sans-vietnamese-500-normal-DiU8zqi-.woff2) format("woff2"),url(/assets/plus-jakarta-sans-vietnamese-500-normal-CvE5C8T-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/plus-jakarta-sans-latin-ext-500-normal-9VZagAe1.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-ext-500-normal-CqEEAICU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/plus-jakarta-sans-latin-500-normal-Bf-nb4oT.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-500-normal-DYtqi0QS.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAAQcABAAAAAACIgAAAPAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAZBEICoMogmULFgABNgIkAyYEIAWFbgdiDAcbEwcgnge2zWYrRGrW2DqMIvVrh6cG/6B/9ecmGb7Z3Q/IFcgSYAe7BJC/X2tvBdPop7KYypr+m92/iE0nEhIeMkO6SiJfo3oCmXALgMKT3MtvBPKJY8aL5MhAnUgFTTtot/MqGvHOs2lU9Q389/gPWGD8OnXqgVcTwoAOlml+fY8ISAAABiEsQkCcfJqR9RrMrkL5sN7YgnIcgPcI0ND+tgWFgADhMEQRUQzp0EAhDQgMAMIiDJZGIQw0QxcQglR7gIaTAJxem07kgZk/RAFNG1EPIqmPikUAw83adWYBsiTlOuSSfR4QSqV+uYBYAWCym1dALhRa/LaQDgnkQ44ZqGCCgsHPGkQJIh1aQkoANhOAoqYTABjAAulQCCZ961aAVCpRQBK5DLnlpEyuQ94T/Fr/y+9P+P6+tpe2EKiCkPekgIyzOB0gAQwALACyIQkcxisYPoeQo0Vdxox0UqqeqmCkgYx4y2BooMbXE6tdS7YDeeteTdtzKT7/TrH4xvv3gwV37zJ1VaZO8+/d07S1WYNNu5i6+2Kw4H7JYN2dOwOKxHpeyepQljdHsPpoGnc8Z7AqpeqGBtHxiIV+RCkJvVwuTza50nPJys9dUz5nzMrN/fWWXWob/8YVjM3kb7y63KydGR+YGNbat1O1Nnf72eOGw1t7d6vW5M7MrDmEiZ9XoOg04PBxEtup5mrNDdy0qDUPziYfVw7bRInVXCoWmYxZcvMFXJlxd3WrOJAFIIAIUfZw5V4co5j3UgAEYLbbT8PLfUCASVM8W/aXnim937L2JcDT/cUyAcCLrSu6UeK/TuuPMAYAwdtmNYcI8P8ZNcFsjcfMVKpdBkNmL3wDzEaKAUbCCCBOBTTZUBRazyAgmT1Y5GLAGU102aJcGrENyarCtjTwX+lo7BBVvLLDlHLNTqaCVXYqPs2W1NCdIrIkyFCvaAoQQOIa5z+BNhATyzIFYxlUvA0ilUyBrRCZVMMQg2CRweXwmMbSsWwYy2MFy+JQYFiGo1tamoNnU2VgjhSHypCC2GRpC8bNls4Wo9ROLoW+TmRvokIsHs1SGB2a9JBJMET+vGMHI6VLSgvG3tG8qxbMWNCzBMByXOYyUOzG1PYUSR+BZJyytzvh0YwxNo/VIEAsuvgmi2yIRsTDPIa4MAViU2pHHotDpuKvcXFSeIgpDUN0CHYqQ5RGIIpElfr+RKwdB/J5k8HKyimksCLh2n1+E6BbgTtCZZihUmTdNt4Hm5nhckW9+7pY/GgOVVCd79LCtL/Iz9rnFgEAAAA=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-vietnamese-600-normal-Y4VTTRme.woff2) format("woff2"),url(/assets/plus-jakarta-sans-vietnamese-600-normal-5YsyKbU1.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-latin-ext-600-normal-DQgPU_Cg.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-ext-600-normal-B0WRRYJ1.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/plus-jakarta-sans-latin-600-normal-DLTa1BUW.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-600-normal-BR_Ojra4.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAAP4ABAAAAAACEAAAAOfAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbahwoBmA/U1RBVEQAZBEICoMogmULFgABNgIkAyYEIAWFKAdiDAcbzQZAHgnZGeYNcatNpH4Ez1Ne9X5V0koPnZXA23BP8lGsq7ncS/JfgvHIEMLN3G0KLFyFwfEVqsKhsUUm3AKg8CT3pr93/Mf0hc2NmkjbJu1J/zpfy7DzNvbxWTYp4C4NcJ13AUFvs3CpSRLzS+U69m4UAYIAgEIQNIIAAfLqINWtv7QF+UN7UQT5WADGIIAM6ccjyAQEECwUPgQfimgKUFAJhgJA0AgKjUKWn1pMfjVYcQaoB7Hbki/qKjaoxaojQBNpFulOXRpARl5AcbK2XVyFd0Lcs1aoyQ3scOnrwtYAKFd9BFwy0vu+EE0C8pImDHCIaRj0asAchGjKKEkQ8LcIgPjVVQAUoIFoMgJEU2gJCFdIBkJwjXvnlij3rDG2x5pf5o25afqZWkaet4FBNoIYQxh0APFoQBDoD1gCJKMALJQBFC0LQSyJz4qLswThPSSMsRwbfk1niDMo0D7YtktOZ2fAgRMy6/jjwOKsooE9T544S7Kzmbk1vuPinByZtSPJ2XuUmcceOUuelHB2ZmX1z1HrcTlthwRlU51N17z8jSRna1OV3fV99b0b/uK7yOHDST6sLbvDLbeja1zGlNE1PKentEtMelwhT/56rn/19RbtRFONJiO6q3erGr//zKenjUZ21+heJeHeng2BK6+1bM+beoW2bba19ASXheuNfRwedJTam9ptLdzYPyuklZu7VsrMQOEmHZqR8sMALz4O8VgX95PLX0kAHFDX9Pd1uM8IoCKLJdwp+rFHWNVvPq0/ADw9VTQegBcH1nQlx3w9tV3woAAQ+NlC6qEf+tf9Iut+NZOq4ONKTgPAaj8FAFPcYECA8hSSyXkwwBQCBFmPRiw/cFeaa0ohd4oqFT7Jq9RU96+0KOpTaVPZo9JDQXuKUMqrMBJNkNiIn6xhcTxYwCUfAlpDIVVkHlEFXLpdJpfNQfwfkZgwoFUrQce5YkRoIbgCLRBna7VqxpI1gYSwQOVTcUS1SRURmk1AAcMOEye4UKRMhxZterUbZLMQhALCoTYt+rXo1Oa4xrSyGSybeFln3nnZsmrRqsEufdKgNVsnodgV/v0aZTq08ViZLRtkDtz786/hkMekI2XGJYgDcUKZuptJ2NyYT5PQtNChUCuCfIhciZlasVBPguyaftQBDgB5fYlCixZLbPGI11Or9/v+12WMG+62laxVUtVprdzZUbJ2WX+vPgmZr91w2JzuNWVKlr8oZt5Jaxk=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/plus-jakarta-sans-vietnamese-700-normal-CV6qDkkj.woff2) format("woff2"),url(/assets/plus-jakarta-sans-vietnamese-700-normal-BCh_uG_5.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/plus-jakarta-sans-latin-ext-700-normal-BajbvANd.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-ext-700-normal-8-d-IyIQ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/plus-jakarta-sans-latin-700-normal-CfpNZvy6.woff2) format("woff2"),url(/assets/plus-jakarta-sans-latin-700-normal-DqEcQeE5.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-ext-400-normal-CWV284fw.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-ext-400-normal-CYkrUebz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-400-normal-C44pakCn.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-400-normal-DEwCKrdL.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-greek-400-normal-Cw5-AHNN.woff2) format("woff2"),url(/assets/source-serif-4-greek-400-normal-D_DO3bho.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-vietnamese-400-normal-DFDfvBrN.woff2) format("woff2"),url(/assets/source-serif-4-vietnamese-400-normal-9XEw6Pmr.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-ext-400-normal-B5LksYz5.woff2) format("woff2"),url(/assets/source-serif-4-latin-ext-400-normal-DKmgyNre.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-400-normal-DJ5YJwmz.woff2) format("woff2"),url(/assets/source-serif-4-latin-400-normal-C1O10bxN.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-cyrillic-ext-600-normal-D_E8FDgP.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-ext-600-normal-h2VnbV3V.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-cyrillic-600-normal-BDP5YDHD.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-600-normal-CHh5eQWW.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-greek-600-normal-DdRkKr-1.woff2) format("woff2"),url(/assets/source-serif-4-greek-600-normal-OkzgCkGB.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-vietnamese-600-normal-B33FcZBi.woff2) format("woff2"),url(/assets/source-serif-4-vietnamese-600-normal-CKUOBVO_.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-latin-ext-600-normal-pa-C5Dkf.woff2) format("woff2"),url(/assets/source-serif-4-latin-ext-600-normal-B2fExS53.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/source-serif-4-latin-600-normal-DouSKlru.woff2) format("woff2"),url(/assets/source-serif-4-latin-600-normal-DeJomR3S.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-ext-400-italic-zoDFlEzN.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-ext-400-italic-Drp6JL_V.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-cyrillic-400-italic-BLN19cOa.woff2) format("woff2"),url(/assets/source-serif-4-cyrillic-400-italic-C-sRFhvU.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-greek-400-italic-C7D4Dq0H.woff2) format("woff2"),url(/assets/source-serif-4-greek-400-italic-Ce3U_qGW.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-vietnamese-400-italic-B7_QYl3c.woff2) format("woff2"),url(/assets/source-serif-4-vietnamese-400-italic-7zG0SGDK.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-ext-400-italic-Cj8BerOQ.woff2) format("woff2"),url(/assets/source-serif-4-latin-ext-400-italic-Cttr6ITu.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/source-serif-4-latin-400-italic-0j97Jm6B.woff2) format("woff2"),url(/assets/source-serif-4-latin-400-italic-DZulBB6l.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font: "Plus Jakarta Sans", system-ui, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--serif: "Source Serif 4", "Source Serif Pro", Georgia, "Times New Roman", "Songti SC", serif;--mono: var(--font);--ground: #F3F5F7;--surface: #FFFFFF;--surface-2: #F8F9FB;--border: #E2E6EC;--border-strong: #CDD3DC;--divider: #EDF0F3;--text: #1B2533;--text-2: #4A5568;--muted: #6B7686;--faint: #6B7686;--primary: #2F4BD8;--primary-hover: #2239B0;--primary-tint: #EEF1FD;--primary-tint-2: #F6F8FE;--primary-soft: #BAC5F5;--success: #16794C;--success-tint: #E8F5EE;--warn: #B4570B;--warn-dark: #8F4508;--warn-tint: #FDF1E6;--warn-border: #F1D2B4;--warn-bg: #FFF9F3;--danger: #B42318;--danger-tint: #FDECEA;--dark: #1B2533;--dark-2: #F3F5F7;--dark-3: #CDD3DC;--on-dark-muted: #4A5568;--r-control: 8px;--r-tile: 10px;--r-card: 14px;--touch: 44px;--shadow-paper: 0 1px 2px rgba(27, 37, 51, .04), 0 6px 24px rgba(27, 37, 51, .05);--shadow-pop: 0 12px 32px rgba(27, 37, 51, .12)}:root{--bg: #f3f5f7;--card: #ffffff;--border: #e2e6ec;--primary: #2f4bd8;--primary-hover: #2239b0;--primary-tint: #eef1fd;--success: #16794c;--success-bg: #e8f5ee;--warning: #b4570b;--warning-bg: #fdf1e6;--error: #b42318;--error-bg: #fdecea;--text: #1b2533;--text-2: #4a5568;--dark: #1b2533;--yellow-bg: #fff6db;--yellow-border: #f0d78c;--radius: 10px;--radius-lg: 14px;--font: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: var(--font);--focus: 0 0 0 2px #ffffff, 0 0 0 4px var(--primary)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01" off}h1,h2,h3{margin:0;line-height:1.25;letter-spacing:-.01em}h1{font-size:1.75rem;font-weight:700}h2{font-size:1.25rem;font-weight:700}h3{font-size:1.05rem;font-weight:700}p{margin:0}.mono,.tnum{font-variant-numeric:tabular-nums}.serif{font-family:var(--serif)}.muted{color:var(--text-2)}.small{font-size:.875rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:none;box-shadow:var(--focus)}.app-header{background:var(--card);border-bottom:1px solid var(--border)}.app-header.dark{background:var(--card)}.app-header-inner{max-width:1120px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:16px;min-height:64px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.1rem;color:inherit;text-decoration:none;border-radius:8px}.header-spacer{flex:1}.header-user{color:var(--text-2);font-size:.9rem}.page{max-width:1120px;margin:0 auto;padding:28px 20px 64px}.page.narrow{max-width:760px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:16px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row.end{justify-content:flex-end}.row.between{justify-content:space-between}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.card.tight{padding:16px 20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:10px;border:1px solid transparent;font:inherit;font-weight:600;font-size:.95rem;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--card);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){border-color:#c9cede;background:#fafbfd}.btn-ghost{background:transparent;color:var(--primary)}.btn-ghost:hover:not(:disabled){background:var(--primary-tint)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover:not(:disabled){background:#8f1c13}.btn-danger-outline{background:var(--card);color:var(--error);border-color:#f0c7c2}.btn-danger-outline:hover:not(:disabled){background:var(--error-bg)}.btn-lg{min-height:52px;padding:0 24px;font-size:1.05rem}.btn-block{width:100%}.btn-icon{min-width:44px;padding:0 10px}.field{display:flex;flex-direction:column;gap:6px}.field>label,.label{font-weight:600;font-size:.9rem}.input,.select,.textarea{font:inherit;color:var(--text);min-height:44px;padding:10px 12px;border:1px solid #cfd4e0;border-radius:10px;background:#fff;width:100%}.textarea{min-height:80px;resize:vertical}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--primary)}.input[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--error)}.field-error{color:var(--error);font-size:.85rem;font-weight:500}.hint{color:var(--text-2);font-size:.85rem}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.8rem;font-weight:700;white-space:nowrap;border:1px solid transparent}.chip:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.chip.no-dot:before{display:none}.chip-draft{background:#eef0f5;color:var(--text-2)}.chip-live{background:var(--success-bg);color:var(--success)}.chip-closed{background:#eceef3;color:#3b3f4c}.chip-success{background:var(--success-bg);color:var(--success)}.chip-warning{background:var(--warning-bg);color:var(--warning)}.chip-error{background:var(--error-bg);color:var(--error)}.chip-info{background:var(--primary-tint);color:var(--primary)}.chip-neutral{background:#eef0f5;color:var(--text-2)}.alert{border-radius:12px;padding:12px 16px;font-weight:500;border:1px solid transparent}.alert-error{background:var(--error-bg);color:var(--error);border-color:#f4c9c4}.alert-warning{background:var(--warning-bg);color:var(--warning);border-color:#f6d3bb}.alert-success{background:var(--success-bg);color:var(--success);border-color:#bfe2cf}.alert-info{background:var(--primary-tint);color:var(--primary-hover);border-color:#cdd5f8}.banner-yellow{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--yellow-bg);border-bottom:1px solid var(--yellow-border);color:#6b4a00;text-align:center;padding:7px 16px;font-weight:600;font-size:.84rem;line-height:1.4}.banner-yellow svg{flex-shrink:0}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:100%;max-width:420px}.login-card .brand{margin-bottom:24px}.login-hint{margin-top:16px;padding:10px 12px;background:var(--bg);border-radius:10px;font-size:.875rem;color:var(--text-2)}.list{display:flex;flex-direction:column;gap:12px}.list-item{display:flex;align-items:center;gap:16px;padding:18px 20px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:inherit;text-decoration:none;flex-wrap:wrap}a.list-item:hover{border-color:#c9cede}.list-item-main{flex:1;min-width:200px}.list-item-title{font-weight:700;font-size:1.05rem}.empty{text-align:center;padding:48px 24px;color:var(--text-2)}.q-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.q-card.invalid{border-color:#efb3ab}.q-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.q-num{font-weight:800}.q-tools{margin-left:auto;display:flex;gap:6px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-3{display:grid;grid-template-columns:2fr 1fr 1fr;gap:14px}@media (max-width: 640px){.grid-2,.grid-3{grid-template-columns:1fr}}.option-row{display:flex;align-items:center;gap:10px}.option-row input[type=radio]{width:22px;height:22px;accent-color:var(--primary);flex:none}.option-letter{font-family:var(--mono);font-weight:700;width:22px;color:var(--text-2)}.add-bar{display:flex;gap:10px;flex-wrap:wrap;padding:16px;border:1px dashed #c9cede;border-radius:var(--radius);align-items:center}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:20px}.tab{min-height:44px;padding:0 16px;font:inherit;font-weight:600;color:var(--text-2);background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-1px;cursor:pointer;border-radius:8px 8px 0 0}.tab[aria-selected=true]{color:var(--primary);border-bottom-color:var(--primary)}.tab:hover{color:var(--text)}.live-hero{background:var(--primary-tint);color:var(--text);border-radius:var(--radius-lg);padding:28px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}@media (max-width: 720px){.live-hero{grid-template-columns:1fr}}.code-label{color:var(--text-2);font-size:.85rem;font-weight:600}.start-code{font-family:var(--mono);font-weight:700;font-size:clamp(3.5rem,9vw,6rem);letter-spacing:.12em;font-variant-numeric:tabular-nums;color:var(--primary);line-height:1;margin-top:6px}.live-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.stat{background:var(--card);border-radius:12px;padding:12px 14px}.stat-value{font-size:1.6rem;font-weight:800}.stat-label{color:var(--text-2);font-size:.8rem;font-weight:600}.table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg)}table.table{width:100%;border-collapse:collapse;font-size:.92rem}.table th{text-align:left;font-size:.85rem;color:var(--text-2);font-weight:600;padding:12px 14px;border-bottom:1px solid var(--border);background:#fafbfd;white-space:nowrap}.table td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table .num{text-align:right;font-variant-numeric:tabular-nums}.confirm-box{border:1px solid #f4c9c4;background:var(--error-bg);border-radius:12px;padding:14px 16px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stat-light{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.stat-light .stat-value{font-size:1.8rem}.stat-light .stat-label{color:var(--text-2)}.bar{height:8px;border-radius:99px;background:#eceef3;overflow:hidden;min-width:80px}.bar>span{display:block;height:100%;background:var(--primary)}.answer-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.answer-item{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:start;padding:10px 12px;border-radius:10px;background:var(--bg)}.expand-row td{background:#fbfbfd}.exam-shell{min-height:100vh;display:flex;flex-direction:column}.exam-header .title{font-weight:700;font-size:1.05rem}.save-status{display:inline-flex;align-items:center;gap:8px;font-size:.88rem;font-weight:600;padding:6px 12px;border-radius:999px}.save-status.synced{color:var(--success)}.save-status.pending{color:#8f4508}.badge-locked{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:700;padding:6px 12px;border-radius:999px;background:var(--success-bg);color:var(--success)}.timer{font-family:var(--mono);font-weight:700;font-size:1.35rem;padding:4px 12px;border-radius:10px;background:var(--bg);font-variant-numeric:tabular-nums}.timer.low{background:var(--warning-bg);color:#8f4508}.exam-body{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:28px 20px 48px;display:grid;grid-template-columns:1fr 260px;gap:24px;align-items:start}@media (max-width: 860px){.exam-body{grid-template-columns:1fr}}.question-card{padding:32px}.question-meta{color:var(--text-2);font-weight:600;font-size:.9rem;margin-bottom:10px}.question-prompt{font-size:1.3rem;font-weight:600;line-height:1.45;white-space:pre-wrap;margin-bottom:24px}.mcq-options{display:flex;flex-direction:column;gap:12px}.mcq-option{display:flex;align-items:center;gap:14px;width:100%;min-height:60px;padding:12px 18px;border-radius:12px;border:2px solid var(--border);background:#fff;font:inherit;font-size:1.05rem;text-align:left;color:var(--text);cursor:pointer}.mcq-option:hover{border-color:#b8c2ef}.mcq-option[aria-checked=true]{border-color:var(--primary);background:var(--primary-tint)}.mcq-letter{flex:none;width:34px;height:34px;border-radius:8px;display:grid;place-items:center;font-family:var(--mono);font-weight:700;background:#eef0f5;color:var(--text-2)}.mcq-option[aria-checked=true] .mcq-letter{background:var(--primary);color:#fff}.mcq-selected{margin-left:auto;font-size:.85rem;font-weight:700;color:var(--primary)}.answer-input{font-size:1.25rem;min-height:56px;max-width:420px}.question-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px;flex-wrap:wrap}.navigator h3{margin-bottom:12px}.nav-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.nav-cell{min-height:44px;border-radius:10px;border:1px solid var(--border);background:#fff;font:inherit;font-weight:700;font-family:var(--mono);cursor:pointer;color:var(--text-2);position:relative}.nav-cell.answered{background:var(--primary-tint);color:var(--primary);border-color:#cdd5f8}.nav-cell.current{border:2px solid var(--text);color:var(--text)}.nav-legend{display:flex;flex-direction:column;gap:6px;margin-top:14px;font-size:.82rem;color:var(--text-2)}.legend-swatch{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid var(--border);vertical-align:-2px;margin-right:8px;background:#fff}.legend-swatch.answered{background:var(--primary-tint);border-color:#cdd5f8}.legend-swatch.current{border:2px solid var(--text)}.center-screen{min-height:60vh;display:grid;place-items:center;padding:24px;text-align:center}.done-check{width:112px;height:112px;border-radius:50%;background:var(--success-bg);color:var(--success);display:grid;place-items:center;margin:0 auto 20px}.receipt{font-family:var(--mono);font-size:2rem;font-weight:700;letter-spacing:.08em;padding:12px 20px;background:var(--bg);border-radius:12px;display:inline-block}.code-input{font-family:var(--mono);font-size:1.8rem;letter-spacing:.4em;text-align:center;max-width:220px;min-height:60px;font-weight:700}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--primary-tint);border-top-color:var(--primary);animation:spin .8s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.spinner{animation:none}}.fp-wordmark{font-weight:800;letter-spacing:-.02em}
