:root{--bg:#f9fafb;--card:#fff;--text:#111827;--muted:#6b7280;--border:#11182714;--accent:#4f7ce0;--accent-hover:#3b63c4;--accent-soft:#4f7ce014;--danger:#d97775;--success:#5ba876;--amber:#c2993e;--font:var(--font-inter), "Inter", ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;--text-size:16px;--text-leading:1.65;--title-1:28px;--title-2:18px;--title-3:14px;--radius-card:0px;--shadow-card:none;--nav-h:63px;--s1:6px;--s2:10px;--s3:14px;--s4:18px;--s5:24px}html,body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:var(--text-size);line-height:var(--text-leading);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}*{box-sizing:border-box}a{color:inherit;text-decoration:none}.container{max-width:1240px;margin:0 auto;padding:28px}.container.containerWide{max-width:min(92vw,1600px)}.practiceGrid{display:block}.questionTopBar{border-bottom:1px solid var(--border);grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:18px;display:grid}.questionTopBarRight{justify-content:flex-end;display:flex}@media (max-width:600px){.questionTopBar{grid-template-columns:auto 1fr auto;gap:8px;margin-bottom:12px;padding-bottom:12px}}.qaTwoCol{grid-template-columns:var(--qa-split,50%) 8px 1fr;align-items:stretch;gap:0;min-height:100%;display:grid}.qaLeft{scrollbar-gutter:stable;gap:12px;padding-right:4px;display:grid;overflow-y:auto}.passage-ref{border-radius:2px;transition:background-color .3s}.passage-ref.active-highlight{-webkit-box-decoration-break:clone;box-decoration-break:clone;background-color:#fef08a}.passage-ref u{text-decoration-color:#0006}.para-marker{text-align:center;color:var(--muted);margin:8px 0 2px;font-weight:600}.insertion-point{color:var(--muted);font-weight:700}.qaRight{scrollbar-gutter:stable;align-content:start;gap:0;padding-left:20px;display:grid;overflow-y:auto}.qaRightPanel{padding:24px}.qaDivider{cursor:col-resize;background:var(--border);-webkit-user-select:none;user-select:none;touch-action:none;justify-content:center;align-items:center;transition:background .15s;display:flex}.qaDivider:hover{background:#2563eb40}.qaDivider:after{content:"";background:repeating-linear-gradient(#1118274d 0 5px,#0000 5px 9px);border-radius:2px;width:3px;height:32px;display:block}.qaDivider:hover:after{background:repeating-linear-gradient(to bottom, var(--accent) 0px, var(--accent) 5px, transparent 5px, transparent 9px)}@media (max-width:980px){.qaTwoCol{grid-template-columns:1fr}.qaDivider{display:none}.qaRight{border-top:1px solid var(--border);padding-top:14px;padding-left:0}.qaRightPanel{padding:16px}}@media (max-width:500px){.qaRightPanel{padding:12px}.option{gap:10px;padding:10px 12px}.optionBadge{flex:0 0 28px;width:28px;height:28px;font-size:12px}}.srOnly{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-only{display:none}.card{background:var(--card);border-radius:var(--radius-card);box-shadow:var(--shadow-card);border:1px solid #1118271a;padding:20px 24px}.card+.card{margin-top:-1px}.card.subcard{box-shadow:none;background:#fff;border:1px solid #11182714;border-radius:0;padding:16px 20px}.sectionLabel{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:13px}.card.explanation{background:#2563eb0a;border:1px solid #2563eb2e;padding-left:20px;position:relative}.card.explanation:before{content:"";background:var(--accent);border-radius:0;width:4px;position:absolute;top:0;bottom:0;left:0}.h1{font-size:var(--title-1);letter-spacing:-.01em;margin:0 0 var(--s2);font-weight:750;line-height:1.2}.h2{font-size:var(--title-2);letter-spacing:-.005em;margin:0 0 var(--s2);font-weight:700;line-height:1.25}.muted{color:var(--muted)}.small{font-size:13px;line-height:1.35}.kbd{border:1px solid var(--border);background:#00000008;border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.prose{max-width:none;color:var(--text);font-size:16px;line-height:1.65}.prose p{margin:0 0 12px}.prose p:last-child{margin-bottom:0}.prose h3,.prose h4{margin:14px 0 8px;line-height:1.25}.prose ul,.prose ol{margin:10px 0 12px 20px}.prose li{margin:6px 0}.prose strong{font-weight:700}.prose em{font-style:italic}.prose img{border-radius:0;max-width:100%;height:auto}.prose .stimulus_reference img{object-fit:contain;max-width:min(320px,100%);height:auto;max-height:320px;margin:8px auto;display:block}.prose table{border-collapse:collapse;max-width:100%;margin:12px 0;font-size:15px;width:auto!important}.prose th,.prose td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:8px 12px}.prose th{background:var(--surface,#f9fafb);font-weight:700}.prose tr:nth-child(2n){background:#00000005}.prose caption{caption-side:top;text-align:left;margin-bottom:6px;font-weight:700}.btn{background:var(--accent);border:1px solid var(--accent);color:#fff;cursor:pointer;letter-spacing:.01em;border-radius:8px;padding:10px 16px;font-size:14px;font-weight:700;line-height:1.1;transition:background .15s,border-color .15s,box-shadow .15s,transform 60ms}.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn.primary{background:linear-gradient(160deg, #6b9bd2 0%, var(--accent) 100%);border-color:var(--accent);box-shadow:0 4px 14px #2563eb59}.btn.primary:hover{background:linear-gradient(160deg,#2563eb 0%,#1d4ed8 100%);border-color:#1d4ed8;box-shadow:0 6px 20px #2563eb66}.btn.secondary{border:1px solid var(--border);color:var(--text);background:#fff}.btn.secondary:hover{background:#1118270a}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.sm{padding:4px 10px;font-size:12px}.btnRow{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.modeToggleBar{background:var(--card);border:1px solid var(--border);border-radius:10px;align-items:center;gap:14px;margin-bottom:12px;padding:10px 16px;display:flex}.modeToggleBtn{cursor:pointer;white-space:nowrap;border:2px solid #0000;border-radius:8px;padding:8px 20px;font-size:14px;font-weight:700;transition:background .18s,color .18s,border-color .18s,box-shadow .18s}.modeToggleBtn.trainingActive{background:var(--accent);color:#fff;border-color:var(--accent)}.modeToggleBtn.teacherActive{color:#fff;background:#7c3aed;border-color:#7c3aed;box-shadow:0 2px 8px #7c3aed4d}.modeToggleBtn:hover{opacity:.9}.modeToggleHint{color:var(--muted);font-size:13px;line-height:1.3}.input,select,textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:10px 12px;font-size:14.5px;line-height:1.4}textarea.input{line-height:1.55}.input:focus,select:focus,textarea:focus{border-color:var(--accent)}label{color:var(--muted);margin:10px 0 6px;font-size:12px;display:block}.pill{border:1px solid var(--border);background:#0000000a;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.pill.clickable{cursor:pointer;transition:background .15s,border-color .15s,color .15s}.pill.clickable:hover{border-color:var(--accent);color:var(--accent)}.pill.clickable.selected{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 2px var(--accent-soft), 0 2px 6px #2563eb40;font-weight:600}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;background:#0000000a;border:1px solid #1118272e;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;transition:background .12s,border-color .12s;display:inline-flex}.chip input[type=checkbox],.domainChip input[type=checkbox],.categoryChip input[type=checkbox]{display:none}.chip:not(.on):hover{background:#00000014;border-color:#00000026}.chip.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent);font-weight:600}.chip.sm{color:#1f2937;background:#fff;border-color:#00000038;gap:6px;padding:4px 10px;font-size:12px}.chip.sm.on{background:var(--accent-soft);border-color:var(--accent)}.chip.circle{justify-content:center;gap:0;width:36px;min-width:36px;height:36px;padding:0;font-size:13px;font-weight:700}.chip.diff-easy.on{border-color:var(--success);background:#5ba8761f}.chip.diff-medium.on{border-color:var(--amber);background:#c2993e1f}.chip.diff-hard.on{border-color:var(--danger);background:#d977751f}.chip.diff-easy:not(.on):hover{background:#5ba87614;border-color:#5ba87666}.chip.diff-medium:not(.on):hover{background:#c2993e14;border-color:#c2993e66}.chip.diff-hard:not(.on):hover{background:#d9777514;border-color:#d9777566}.chip.band-low.on{border-color:var(--success);background:#5ba8761f}.chip.band-mid.on{border-color:var(--amber);background:#c2993e1f}.chip.band-high.on{border-color:var(--danger);background:#d977751f}.chip.band-low:not(.on):hover{background:#5ba87614;border-color:#5ba87666}.chip.band-mid:not(.on):hover{background:#c2993e14;border-color:#c2993e66}.chip.band-high:not(.on):hover{background:#d9777514;border-color:#d9777566}.filterInlineRow{align-items:center;gap:10px;margin-top:8px;display:flex}.filterInlineLabel{color:var(--text);white-space:nowrap;flex:0 0 80px;font-size:12px}.filterBar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-start;gap:6px 0;margin-bottom:14px;padding-bottom:14px;display:flex}.filterBarSection{flex-direction:column;gap:6px;padding:0 22px;display:flex}.filterBarSection:first-child{padding-left:0}.filterBarSection:last-child{padding-right:0}.filterCheck{cursor:pointer;white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.filterCount{color:#374151;background:#00000012;border-radius:10px;flex-shrink:0;padding:1px 6px;font-size:10px;line-height:1.6}.filterDomainCols{grid-template-columns:1fr 1fr;gap:20px;margin-top:14px;display:grid}.domainGroup{border-left:3px solid #0000001f;margin-bottom:10px;padding-left:10px}.domainGroup:last-child{margin-bottom:0}.domainGroup.math{border-left-color:#2563eb}.domainGroup.rw{border-left-color:#ea580c}.domainChip{cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;color:var(--text);background:0 0;border:none;border-radius:0;align-items:center;gap:10px;padding:9px 12px;font-size:14px;font-weight:600;line-height:1.3;display:flex}.domainChip.math{color:#1e3a8a}.domainChip.math.on{color:#1e3a8a;font-weight:600}.domainChip.rw{color:#9a3412}.domainChip.rw.on{color:#7c2d12;font-weight:600}.domainChip input{accent-color:var(--accent);flex-shrink:0}.categoryChip{cursor:pointer;-webkit-user-select:none;user-select:none;letter-spacing:.06em;text-transform:uppercase;color:#1f2937;background:#0000000a;border:none;border-radius:0;align-items:center;gap:8px;width:100%;margin-bottom:12px;padding:10px 14px;font-size:14px;font-weight:800;transition:background .12s,color .12s;display:flex}.categoryChip.math{color:#1e3a8a;background:#2563eb17}.categoryChip.math.on{color:#1e3a8a;background:#2563eb40}.categoryChip.math:not(.on):hover{background:#2563eb21}.categoryChip.math input{accent-color:#1d4ed8}.categoryChip.rw{color:#9a3412;background:#ea580c14}.categoryChip.rw.on{color:#7c2d12;background:#ea580c40}.categoryChip.rw:not(.on):hover{background:#ea580c1f}.categoryChip.rw input{accent-color:#c2410c}.categoryChip input{accent-color:var(--accent);flex-shrink:0}.filterCardHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.filterSectionLabel{text-transform:uppercase;letter-spacing:.06em;color:#1f2937;margin-bottom:6px;font-size:12px;font-weight:700}.domainRow{background:#00000008;align-items:stretch;gap:0;transition:background .12s;display:flex}.domainRow.math{background:#2563eb0f}.domainRow.math.on{background:#2563eb38}.domainRow.math:not(.on):hover{background:#2563eb1a}.domainRow.rw{background:#ea580c0f}.domainRow.rw.on{background:#ea580c38}.domainRow.rw:not(.on):hover{background:#ea580c1a}.domainRow .domainChip{border-radius:0;flex:1;min-width:0}.domainSkillsBtn{color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:4px;padding:0 12px;font-size:11px;font-weight:600;transition:color .12s;display:flex}.domainSkillsBtn:hover{color:var(--text)}.domainSkillsBtn.math{color:#3b82f6}.domainSkillsBtn.math:hover{color:#2563eb}.domainSkillsBtn.rw{color:#ea580c}.domainSkillsBtn.rw:hover{color:#c2410c}.domainSkillsBtn.hasSelection{font-weight:700}.domainSkillsBtn svg{transition:transform .15s}.domainSkillsBtn svg.open{transform:rotate(180deg)}.skillsPopover{background:var(--card);border:1px solid var(--border);z-index:10;border-radius:8px;margin-top:4px;margin-bottom:4px;position:relative;overflow:hidden;box-shadow:0 4px 16px #0000001a}.skillsPopover.math{border-color:#2563eb40}.skillsPopover.rw{border-color:#ea580c40}.skillsPopoverBody{flex-wrap:wrap;gap:6px;max-height:200px;padding:10px 12px;display:flex;overflow-y:auto}.topicChips{flex-flow:wrap;align-items:flex-start;gap:6px;margin-top:8px;padding-left:12px;display:flex}.qbCardsRow{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}@media (max-width:768px){.qbCardsRow{grid-template-columns:1fr}}.qbMiniCard{padding:14px 16px}.qbMiniCardHeader{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.qbMiniCardHeader .h3{font-size:15px}.qbTestList{flex-direction:column;gap:0;display:flex}.qbTestRow{border-bottom:1px solid var(--border);color:var(--text);justify-content:space-between;align-items:center;gap:8px;padding:7px 0;text-decoration:none;transition:background .1s;display:flex}.qbTestRow:last-child{border-bottom:none}.qbTestRow:hover{background:#00000005}.qbTestInfo{flex-direction:column;gap:1px;min-width:0;display:flex}.qbTestName{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.qbTestScores{flex-shrink:0;align-items:center;gap:8px;display:flex}.qbTestBadge{letter-spacing:-.02em;font-size:16px;font-weight:700}.qbTestBadgeSub{color:var(--muted);white-space:nowrap;font-size:11px}.qbSessionList{flex-direction:column;gap:8px;display:flex}.qbSessionItem{flex-direction:column;gap:4px;display:flex}.qbSessionMeta{justify-content:space-between;align-items:center;gap:8px;display:flex}.qbSessionTiles{flex-wrap:wrap;gap:3px;display:flex}.qbTile{color:#fff;border-radius:3px;justify-content:center;align-items:center;width:20px;height:20px;font-size:9px;font-weight:700;line-height:1;display:flex}.qbTile.correct{background:var(--success)}.qbTile.incorrect{background:var(--danger)}.qbTile.easy{box-shadow:inset 0 -2px #22c55e80}.qbTile.medium{box-shadow:inset 0 -2px #eab30880}.qbTile.hard{box-shadow:inset 0 -2px #ef444480}.qRow{cursor:pointer;display:block}.qRowMain{gap:4px;display:grid}.qRowTop{justify-content:space-between;align-items:center;gap:10px;display:flex}.qKey{color:var(--text);font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:13px;font-weight:700}.qBadges{flex-shrink:0;align-items:center;gap:6px;display:flex}.qPill{padding:3px 8px;font-size:11px}.qRowSub{font-size:12px}.qStatus{font-size:13px;font-weight:700;line-height:1}.qStatus.correct{color:var(--success)}.qStatus.wrong{color:var(--danger)}.qStatus.unanswered{color:var(--muted)}.qMark{color:var(--amber);font-size:13px;line-height:1}.qDiffPill{text-align:center;min-width:56px}.qAttempted{color:var(--muted);white-space:nowrap;font-size:11px}.qRow.easy{box-shadow:inset 3px 0 #22c55ea6,0 1px 3px #0000000a}.qRow.medium{box-shadow:inset 3px 0 #eab308a6,0 1px 3px #0000000a}.qRow.hard{box-shadow:inset 3px 0 #ef4444a6,0 1px 3px #0000000a}.option{cursor:pointer;background:#fff;border:1.5px solid #1118272e;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;transition:box-shadow .15s,border-color .15s,transform 80ms,background .15s;display:flex}@media (min-width:900px){.option{padding:12px 15px}}.option:hover{box-shadow:none;background:#11182708;transform:none}.option.selected{box-shadow:0 0 0 3px var(--accent-soft);background:#2563eb0f;border-color:#2563eba6}.option.selected:hover{box-shadow:0 0 0 3px var(--accent-soft), 0 8px 18px #0000000f}.optionBadge{text-transform:uppercase;border:1.5px solid #11182747;border-radius:999px;flex:0 0 34px;justify-content:center;align-items:center;width:34px;height:34px;margin-top:0;font-size:14px;font-weight:750;line-height:1;display:inline-flex}.option.selected .optionBadge{border-color:var(--accent);background:var(--accent);color:#fff}.optionContent{overflow-wrap:anywhere;flex:auto;min-width:0}.optionContent .prose{font-size:15.5px;line-height:1.6}.optionContent .prose p{margin:0}.optionContent .prose p+p{margin-top:10px}.option .optionContent .prose img{object-fit:contain;margin:4px 0;display:block;width:auto!important;max-width:min(140px,100%)!important;height:auto!important;max-height:80px!important}.optionContent .prose mjx-container{font-size:1.02em}.optionContent:has(mjx-container){padding-top:0}.optionList{gap:10px;margin-top:10px;display:grid}.option.correct{background:#f0fdf4;border-color:#15803d;box-shadow:0 0 0 3px #15803d24}.option.correct .optionBadge{color:#fff;background:#15803d;border-color:#15803d}.option.incorrect{background:#fef2f2;border-color:#b91c1c;box-shadow:0 0 0 3px #b91c1c24}.option.incorrect .optionBadge{color:#fff;background:#b91c1c;border-color:#b91c1c}.option.revealCorrect{background:#15803d0f;border-color:#15803d}.option.revealCorrect .optionBadge{color:#15803d;background:#fff;border-color:#15803d}.option.crossed{opacity:.45}.option.crossed .optionBadge{border-color:var(--muted);color:var(--muted);text-decoration:line-through}.option.crossed .optionContent{text-decoration:line-through}.crossOutBtn{cursor:pointer;text-transform:uppercase;color:#1118278c;background:0 0;border:1.5px solid #11182747;border-radius:999px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:750;transition:border-color .12s,color .12s,background .12s;display:inline-flex;position:relative;overflow:hidden}.crossOutBtn:after{content:"";background:currentColor;height:1.5px;position:absolute;top:50%;left:-2px;right:-2px;transform:translateY(-50%)}.crossOutBtn:hover{color:#111827bf;border-color:#1118278c}.crossOutBtn.active{border-color:var(--text);color:var(--text);background:#1118270f}.row{flex-wrap:wrap;gap:12px;display:flex}.col{flex:1;min-width:260px}hr{border:none;border-top:1px solid var(--border);margin:18px 0}.toast{border:1px solid var(--border);background:#0000000a;border-radius:0;margin-top:12px;padding:10px 12px}.nav{border-bottom:1px solid var(--border);z-index:100;background:#fff;position:sticky;top:0;overflow-x:hidden}.navInner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;max-width:1240px;margin:0 auto;padding:14px 24px;display:flex}.navLeft{align-items:center;gap:28px;min-width:0;display:flex}.logo{flex-shrink:0;width:auto;height:34px;display:block}.navLinks{flex-wrap:wrap;gap:18px;display:flex}.navLinks a{color:var(--text);opacity:.85;white-space:nowrap;font-size:14px;font-weight:500}.navLinks a:hover{color:var(--accent);opacity:1}.navRight{align-items:center;gap:14px;display:flex}.userEmail{color:var(--muted);font-size:13px}@media (max-width:768px){.navInner{gap:6px;padding:10px 16px}.navLeft{flex-wrap:wrap;gap:12px;width:100%}.navLinks{order:3;gap:10px;width:100%}.navLinks a{font-size:13px}.navRight{gap:8px;margin-left:auto}.userEmail{display:none}.testTypeToggle{order:2;margin-left:auto}.logo{height:28px}.container{padding:16px}}.navRoleBadge{text-transform:uppercase;letter-spacing:.06em;background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:2px 7px;font-size:10px;font-weight:700}.navBillingLink{color:var(--muted);border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500;text-decoration:none;transition:color .15s,background .15s}.navBillingLink:hover{color:var(--accent);background:var(--accent-soft,#4f7ce014)}.testTypeToggle{border:1px solid var(--border);border-radius:8px;display:flex;overflow:hidden}.testTypeBtn{letter-spacing:.04em;color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 14px;font-size:12px;font-weight:700;transition:background .15s,color .15s}.testTypeBtn:hover{background:var(--accent-soft);color:var(--accent)}.testTypeBtn.testTypeActive{background:var(--accent);color:#fff}.modalOverlay{z-index:200;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modalCard{background:#fff;border:1px solid #1118271a;border-radius:0;width:90%;max-width:700px;max-height:80vh;padding:24px;overflow:auto;box-shadow:0 20px 40px #00000026}.correctModal{max-width:800px;max-height:85vh}.correctFields{gap:14px;margin-top:4px;display:grid}.correctLabel{gap:4px;display:grid}.correctLabelText{color:var(--muted);font-size:13px;font-weight:600}.correctTextarea{resize:vertical;min-height:48px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:13px}.questionGrid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:10px;margin-top:16px;display:grid}.mapItem{justify-content:center;align-items:center;padding:10px 10px 12px;display:flex}.mapItem.active{background:var(--accent-soft);border-color:var(--accent)}.qmapTrigger{border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#00000008;border-radius:999px;align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.qmapTrigger:hover{background:#0000000d}.qmapTrigger:disabled{opacity:.55;cursor:default}.qmapTriggerCount{font-size:15px;font-weight:750;line-height:1}.qmapTriggerChevron{color:var(--muted);font-size:12px;transform:translateY(1px)}.topBarTimer{color:var(--muted);align-items:center;gap:5px;font-size:13px;font-weight:500;line-height:1;display:inline-flex}.topBarTimer svg{opacity:.6}.statusPillRow{background:var(--bg,#00000005);border-bottom:1px solid var(--border);border-radius:0;margin:-20px -24px 16px;padding:10px 14px}.mapItem{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:0;justify-content:center;align-items:center;padding:12px 10px;display:flex;position:relative}.mapNum{z-index:1;font-size:14px;position:relative}.mapItem.diffEasy{background:#dcfce7;border-color:#86efac}.mapItem.diffMed{background:#fef9c3;border-color:#fde047}.mapItem.diffHard{background:#fee2e2;border-color:#fca5a5}.mapItem.diffVHard{background:#fce7f3;border-color:#f9a8d4}.mapItem.diffExtreme{background:#ede9fe;border-color:#c4b5fd}.mapItem.diffUnknown{background:#f3f4f6;border-color:#e5e7eb}.mapItem.active{outline-offset:-2px;box-shadow:none;outline:2px solid #11182759}.mapIconCorner{z-index:2;pointer-events:none;position:absolute;top:0}.mapIconLeft{left:0}.mapIconRight{right:0}.mapIconBadge{color:#fff;width:16px;height:16px;box-shadow:none;border-radius:999px;place-items:center;display:grid}.mapIconBadge svg{width:12px;height:12px;display:block}.mapIconBadge.mark{background:#eab308f2}.mapIconBadge.correct{background:#16a34af2}.mapIconBadge.incorrect{background:#dc2626f2}.mapIconBadge svg{display:block}.landingMain{justify-content:center;align-items:flex-start;min-height:calc(100vh - 62px);padding:80px 24px 40px;display:flex}.landingWrap{grid-template-columns:1fr 420px;align-items:start;gap:48px;width:100%;max-width:960px;display:grid}@media (max-width:780px){.landingWrap{grid-template-columns:1fr;gap:32px}.landingMain{align-items:flex-start;padding-top:32px}}.landingLogo{width:auto;height:44px;margin-bottom:24px;display:block}.landingTitle{letter-spacing:-.02em;margin:0 0 14px;font-size:36px;font-weight:800;line-height:1.1}.landingSubtitle{color:var(--muted);margin:0 0 18px;font-size:15px;line-height:1.7}.landingFeatures{gap:10px;margin:0;padding:0;list-style:none;display:grid}.landingFeatures li{color:var(--muted);padding-left:20px;font-size:14px;position:relative}.landingFeatures li:before{content:"✓";color:var(--accent);font-weight:700;position:absolute;left:0}.landingLinksRow{gap:12px;margin-top:16px;display:flex}.landingFeatureLink{background:var(--surface,#f8fafc);border:1px solid var(--border);color:var(--text);border-radius:10px;flex:1;align-items:center;gap:10px;padding:10px 16px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.landingFeatureLink:hover{border-color:var(--accent);box-shadow:0 2px 8px #4f7ce01f}.landingFeatureLinkLarge{border-width:2px;border-radius:14px;padding:16px 20px}.landingFeatureLinkLarge:hover{background:#4f7ce008}.landingFeatureLinkIconLg{width:48px;height:48px}.landingFeatureLinkIcon{width:36px;height:36px;color:var(--accent);background:#4f7ce01a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.landingFooter{margin-top:20px;padding:16px 0}.landingCard{background:var(--card);box-shadow:none;border:1px solid #1118271a;border-radius:0;padding:28px}.landingTabs{border-bottom:1px solid var(--border);margin-bottom:20px;display:flex}.landingTab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-1px;padding:10px;font-size:14px;font-weight:600;transition:color .15s,border-color .15s}.landingTab.active{color:var(--accent);border-bottom-color:var(--accent)}.landingForm{gap:2px;display:grid}.landingSubmit{justify-content:center;width:100%;margin-top:14px;padding:12px;font-size:15px}.landingSwitch{text-align:center;color:var(--muted);margin:12px 0 0;font-size:13px}.landingLink{color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.passwordWrap{align-items:center;display:flex;position:relative}.passwordWrap .input{flex:1;padding-right:40px}.passwordToggle{cursor:pointer;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:8px}.passwordToggle:hover{color:var(--text)}.forgotLink{text-align:right;margin-top:4px;margin-bottom:4px;display:block}.dbMain{max-width:1000px;padding-top:28px;padding-bottom:56px}.dbBanner{background:linear-gradient(135deg, var(--accent-soft) 0%, transparent 60%);border-left:4px solid var(--accent);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:-1px;padding:24px 28px;display:flex}.dbBannerText{flex-direction:column;gap:4px;display:flex}.dbBannerGreeting{letter-spacing:-.01em;font-size:22px;font-weight:700}.dbBannerActions{flex-wrap:wrap;flex-shrink:0;gap:10px;display:flex}.dbBannerChips{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.dbBannerChip{color:var(--muted);background:#0000000a;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.5;display:inline-block}.dbBannerChip.accent{color:var(--accent);background:#3b82f614;font-weight:600}.dbStatsRow{background:#1118271a;grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:-1px;display:grid}@media (max-width:700px){.dbStatsRow{grid-template-columns:1fr 1fr}}.dbStatCard{padding:16px 20px}.dbStatValue{letter-spacing:-.02em;margin-bottom:5px;font-size:36px;font-weight:800;line-height:1}.dbStatLabel{color:var(--muted);font-size:12px;font-weight:500}.dbPerfGrid{background:#1118271a;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:-1px;display:grid}@media (max-width:680px){.dbPerfGrid{grid-template-columns:1fr}}.dbPerfCard{padding:20px 24px}.dbPerfCardHeader{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:16px;display:flex}.dbSectionPct{letter-spacing:-.01em;font-size:20px;font-weight:800;line-height:1}.dbDomainList{flex-direction:column;gap:4px;display:flex}.dbDomainBlock{flex-direction:column;display:flex}.dbDomainRow{border-radius:0;grid-template-columns:1fr auto 148px;align-items:center;gap:12px;padding:8px;transition:background .1s;display:grid}.dbDomainRow:hover{background:var(--bg)}.dbDomainLeft{align-items:center;gap:5px;min-width:0;display:flex}.dbChevron{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:transform .15s;display:inline-flex}.dbChevron svg{fill:none;width:12px;height:12px;stroke:var(--muted);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.dbChevron.open{transform:rotate(90deg)}.dbChevron.invisible{visibility:hidden}.dbDomainName{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.dbRowCount{color:var(--muted);white-space:nowrap;text-align:right;font-size:12px}.dbTopicList{border-left:2px solid var(--border);flex-direction:column;gap:0;margin-bottom:4px;margin-left:6px;padding-left:10px;display:flex}.dbTopicRow{border-radius:0;grid-template-columns:1fr auto 148px;align-items:center;gap:12px;padding:4px 8px;transition:background .1s;display:grid}.dbTopicRow:hover{background:var(--bg)}.dbTopicName{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.dbProgressBar{background:#11182714;border-radius:999px;flex:1;height:6px;overflow:hidden}.dbProgressFill{border-radius:999px;height:100%;transition:width .4s}.dbBottomRow{background:#1118271a;grid-template-columns:1fr 2fr;align-items:stretch;gap:1px;display:grid}@media (max-width:680px){.dbBottomRow{grid-template-columns:1fr}}.dbTestCard{flex-direction:column;padding:20px 24px;display:flex}.dbTestBtn{text-align:center;justify-content:center;margin-top:auto}.dbActivityCard{padding:20px 24px}.dbActivityList{flex-direction:column;margin-top:4px;display:flex}.dbActivityItem{border-bottom:1px solid var(--border);cursor:pointer;color:inherit;align-items:center;gap:12px;padding:9px 0;text-decoration:none;transition:background .1s;display:flex}.dbActivityItem:last-child{border-bottom:none}.dbActivityItem:hover{background:#11182705;border-radius:0;margin:0 -8px;padding:9px 8px}.dbActivityDot{border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.dbActivityDot.correct{color:#15803d;background:#dcfce7}.dbActivityDot.incorrect{color:#b91c1c;background:#fee2e2}.dbActivityInfo{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.dbActivityTopic{font-weight:600}.dbActivityDate{white-space:nowrap;flex-shrink:0}.dbStatValueSm{font-size:28px}.dbTestScoreList{flex-direction:column;gap:0;display:flex}.dbTestScoreRow{border-bottom:1px solid var(--border);cursor:pointer;color:inherit;align-items:center;gap:12px;padding:10px 0;text-decoration:none;transition:background .1s;display:flex}.dbTestScoreRow:last-of-type{border-bottom:none}.dbTestScoreRow:hover{background:#11182705;border-radius:0;margin:0 -8px;padding:10px 8px}.dbTestScoreInfo{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.dbTestScoreName{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.dbTestScoreBadges{flex-shrink:0;gap:12px;display:flex}.dbTestScoreBadge{flex-direction:column;align-items:center;min-width:40px;display:flex}.dbTestScoreBadgeNum{font-size:16px;font-weight:700;line-height:1.1}.dbTestScoreBadgeLabel{color:var(--muted);font-size:10px}.dbSessionList{flex-direction:column;gap:12px;display:flex}.dbSessionCard{padding:16px 20px}.dbSessionHeader{margin-bottom:10px}.dbSessionMeta{justify-content:space-between;align-items:center;gap:10px;display:flex}.dbSessionDate{color:var(--text);font-size:13px;font-weight:600}.dbSessionStats{color:var(--muted);font-size:13px}.dbSessionTiles{flex-wrap:wrap;gap:6px;display:flex}.dbSessionTile{cursor:pointer;border:none;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:36px;height:36px;font-size:11px;font-weight:700;transition:opacity .12s,transform 80ms;display:flex}.dbSessionTile:hover{opacity:.8;transform:scale(1.08)}.dbSessionTile.correct{background:var(--success);color:#fff}.dbSessionTile.incorrect{background:var(--danger);color:#fff}.dbSessionTile.easy{box-shadow:inset 0 -3px #22c55e80}.dbSessionTile.medium{box-shadow:inset 0 -3px #eab30880}.dbSessionTile.hard{box-shadow:inset 0 -3px #ef444480}.dbSessionTileNum{font-size:11px;line-height:1}.dbSessionTileIcon{opacity:.85;font-size:10px;line-height:1}.mathShell .prose table{max-width:100%;display:block;overflow-x:auto;width:fit-content!important}.mathShell .prose img,.qaRightPanel .prose img{max-width:min(360px,100%);height:auto;margin:8px auto;display:block}.ptStimulus img{object-fit:contain;max-width:min(320px,100%);height:auto;max-height:320px;margin:8px auto;display:block}.mathShell .prose mjx-container[display=true]{margin:6px 0 8px}.markReviewTopBtn{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:13px;font-weight:700;line-height:1;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.markReviewTopBtn:hover{background:#00000008}.markReviewTopBtn:active{transform:translateY(1px)}.markReviewTopBtnIcon{color:#9ca3af;transition:color .15s;display:inline-flex}.markReviewTopBtn.isMarked{background:#fef9c3;border-color:#eab308}.markReviewTopBtn.isMarked .markReviewTopBtnIcon{color:#a16207}.infoBtn{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:700;line-height:1;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.infoBtn:hover{background:#00000008}.infoBtn:active{transform:translateY(1px)}.infoPopOverlay{z-index:99;position:fixed;inset:0}.infoPop{z-index:100;white-space:nowrap;background:#fff;border:1px solid #1118271a;border-radius:0;gap:8px;min-width:220px;padding:12px 16px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 4px 20px #00000021}.infoPopRow{justify-content:space-between;align-items:baseline;gap:20px;font-size:13px;display:flex}.infoPopRow span:last-child{text-align:right;font-weight:600}.brokenBtn{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:13px;font-weight:700;line-height:1;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.brokenBtn:hover{background:#00000008}.brokenBtn:active{transform:translateY(1px)}.brokenBtnIcon{color:#9ca3af;transition:color .15s;display:inline-flex}.brokenBtn.isBroken{border-color:var(--danger);background:#d977751f}.brokenBtn.isBroken .brokenBtnIcon{color:#dc2626}.errorLogHasNote{border-color:var(--accent)!important;color:var(--accent)!important}.errorLogPanel{background:var(--surface,#00000005);border:1px solid var(--border);border-radius:0;margin-top:12px;padding:12px}.errorLogTextarea{resize:vertical;width:100%;min-height:60px;font-size:13px;line-height:1.5}.toolTabs{align-items:stretch;gap:18px;margin-left:6px;display:inline-flex}.toolTab{appearance:none;cursor:pointer;color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;place-items:center;gap:6px;padding:6px 10px 8px;display:grid}.toolTab:hover{color:var(--text)}.toolTab.active{color:var(--text);border-bottom-color:#111827e6}.toolTabIcon{width:28px;height:28px;display:block}.toolTabLabel{font-size:12.5px;font-weight:600;line-height:1}.markBtn{align-items:center;gap:10px;display:inline-flex}.markBtnIcon{color:#94a3b8;justify-content:center;align-items:center;display:inline-flex}.markBtn.marked .markBtnIcon{color:#eab308f2}.mathShell{grid-template-columns:var(--calcW,550px) 12px minmax(0, 1fr);align-items:stretch;gap:0;display:grid}.mathLeft{background:#f9fafb;border:1px solid #1118271a;border-radius:0;align-self:start;max-height:calc(100vh - 24px);position:sticky;top:12px;overflow:hidden}.mathLeftHeader{border-bottom:1px solid var(--border);background:#11182708;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.mathToolTitle{font-weight:700}.calcBody{padding-right:8px}.calcBody.hidden{opacity:0;visibility:hidden;pointer-events:none}.desmosHost{background:#fff;width:100%;height:min(700px,100vh - 220px)}.ptQuestionPanel .desmosHost{height:min(700px,100vh - 260px)}.ptQuestionPanel .mathLeft{max-height:calc(100vh - 140px)}.calcMinBody{height:calc(100vh - 92px)}.mathDivider{cursor:col-resize;touch-action:none;align-self:stretch;min-height:360px;position:relative}.mathDivider:before{content:"";background:var(--border);width:1px;margin:0 auto;transition:background .15s;position:absolute;inset:0}.mathDivider:hover:before{background:#2563eb59}.mathDivider:after{content:"";background:#11182726;border-radius:999px;width:4px;height:28px;transition:background .15s,height .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mathDivider:hover:after{background:#2563eb8c;height:38px}.mathDivider.min{cursor:default}.mathRight{min-width:0;padding-left:12px}.mathShell.min{width:100%;display:block}.mathShell.min .mathLeft,.mathShell.min .mathDivider,.mathShell.min .mathDivider.min{display:none}.mathShell.min .mathRight{padding-left:0}@media (max-width:920px){.mathShell,.mathShell.min{grid-template-columns:1fr;gap:14px}.mathDivider,.mathDivider.min{display:none}.mathLeft{order:2;position:relative;top:auto}.mathRight{order:1;padding-left:0}.mathShell.min .mathLeft{display:none}.desmosHost,.calcMinBody{height:360px}.mathLeftHeader{padding:8px 10px}}@media (max-width:500px){.desmosHost,.calcMinBody{height:300px}}.refModalHeader{cursor:move;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding-bottom:8px;display:flex;position:relative}.refModalClose{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:4px 8px;font-size:24px;line-height:1;position:absolute;top:0;right:0}.refModalClose:hover{color:var(--text)}.refSheetContent{flex:1;padding:12px;overflow:auto}.refSheetImg{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;width:auto;max-width:100%;height:auto;max-height:none;margin:0 auto;display:block}.qNumBadge{color:#fff;background:#111827;border-radius:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:750;line-height:1;display:inline-flex;box-shadow:0 2px 6px #00000026}.ptLandingMain{max-width:680px;padding-top:32px;padding-bottom:48px}.ptLaunchPanel{margin-bottom:32px}.ptLaunchTitle{margin-bottom:16px;font-size:16px;font-weight:700}.ptLaunchFields{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.ptLaunchField{flex-direction:column;flex:1;gap:5px;min-width:200px;display:flex}.ptLaunchLabel{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:12px;font-weight:600}.ptLaunchSelect{border:1px solid var(--border);background:var(--bg);color:var(--text);cursor:pointer;appearance:auto;border-radius:8px;padding:8px 10px;font-size:14px}.ptLaunchSelect:focus{outline:2px solid var(--accent);outline-offset:1px}.ptLaunchFooter{justify-content:flex-end;align-items:center;gap:12px;display:flex}.ptLaunchError{color:var(--danger);font-size:13px}.ptLaunchBtn{padding:8px 20px}.ptLandingSection{margin-bottom:28px}.ptLandingSectionLabel{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:10px;font-size:12px;font-weight:700}.ptInProgressCard{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.ptInProgressInfo{flex-direction:column;gap:2px;display:flex}.ptInProgressName{font-size:15px;font-weight:600}.ptHistoryRow{flex-wrap:wrap;align-items:center;gap:16px;padding:14px 20px;display:flex}.ptHistoryRowBorder{border-bottom:1px solid var(--border)}.ptHistoryLeft{flex-direction:column;flex:1;gap:2px;min-width:140px;display:flex}.ptHistoryName{font-size:14px;font-weight:600}.ptHistoryScores{flex-wrap:wrap;gap:16px;display:flex}.ptHistoryBtn{flex-shrink:0;padding:5px 14px;font-size:13px}.ptScoreBadge{flex-direction:column;align-items:center;min-width:52px;display:flex}.ptScoreNum{font-size:18px;font-weight:700;line-height:1.1}.ptScoreLabel{color:var(--muted);text-align:center;font-size:11px}.ptTchDashboard{flex-direction:column;gap:16px;display:flex}.ptTchSection{padding:18px 20px}.ptTchSectionHeader{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.ptTchInfoCard{padding:16px 20px}.ptTchInfoRow{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.ptTchInfoStat{flex-direction:column;gap:1px;display:flex}.ptTchInfoValue{letter-spacing:-.02em;font-size:20px;font-weight:750}.ptTchInfoLabel{color:var(--muted);font-size:11px}.ptTchInfoDiv{background:var(--border);flex-shrink:0;width:1px;height:32px}@media (max-width:600px){.ptTchInfoRow{grid-template-columns:1fr 1fr;display:grid}.ptTchInfoDiv{display:none}}.ptTchTable{overflow-x:auto}.ptTchThead{border-bottom:2px solid var(--border);align-items:center;gap:8px;padding:8px 0;display:flex}.ptTchTh{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex:1;font-size:11px;font-weight:700}.ptTchThNum{text-align:right;flex:.6}.ptTchRow{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 0;font-size:13px;display:flex}.ptTchRow:last-child{border-bottom:none}.ptTchTd{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ptTchTdNum{text-align:right;font-variant-numeric:tabular-nums;flex:.6}.ptTchPager{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.ptImpactSummary{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:24px;margin-bottom:16px;padding-bottom:14px;display:flex}.ptImpactStat{flex-direction:column;gap:1px;display:flex}.ptImpactValue{letter-spacing:-.02em;font-size:22px;font-weight:750}.ptImpactLabel{color:var(--muted);font-size:11px}.ptProgressList{flex-direction:column;gap:2px;display:flex}.ptProgressRow{border-bottom:1px solid #0000000a;align-items:center;gap:12px;padding:8px 0;display:flex}.ptProgressRow:last-child{border-bottom:none}.ptProgressInfo{flex-direction:column;flex-shrink:0;gap:1px;width:130px;display:flex}.ptProgressName{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.ptProgressScores{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.ptProgressFirst,.ptProgressLatest{font-variant-numeric:tabular-nums;text-align:center;min-width:32px;font-size:13px;font-weight:700}.ptProgressBar{background:var(--border);border-radius:3px;flex:1;min-width:80px;height:6px;position:relative}.ptProgressLine{background:#00000014;height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.ptProgressDot{background:var(--accent);border:2px solid var(--card);z-index:1;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;transform:translate(-50%,-50%)}.ptProgressChange{font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;width:48px;font-size:14px;font-weight:700}.ptProgressChange.up{color:var(--success)}.ptProgressChange.down{color:var(--danger)}.ptDomainGrid{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:700px){.ptDomainGrid{grid-template-columns:1fr}}.ptDomainGroupLabel{text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;font-size:12px;font-weight:800}.ptDomainCard{border:1px solid var(--border);border-radius:8px;margin-bottom:6px;overflow:hidden}.ptDomainCardHeader{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;transition:background .12s;display:flex}.ptDomainCardHeader:hover{background:#00000005}.ptDomainCardInfo{flex-direction:column;gap:1px;min-width:0;display:flex}.ptDomainCardName{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.ptDomainCardRight{flex-shrink:0;align-items:center;gap:8px;display:flex}.ptDomainAccBar{background:var(--border);border-radius:3px;width:60px;height:6px;overflow:hidden}.ptDomainAccFill{border-radius:3px;height:100%;transition:width .3s}.ptDomainAccValue{text-align:right;min-width:36px;font-size:13px}.ptDomainChevron{color:var(--muted);transition:transform .15s}.ptDomainChevron.open{transform:rotate(180deg)}.ptDomainSkills{border-top:1px solid var(--border);background:#00000003;padding:6px 12px 12px}.ptSkillGroup{margin-bottom:8px}.ptSkillGroup:last-child{margin-bottom:0}.ptSkillGroupLabel{text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;padding-top:4px;font-size:11px;font-weight:700}.ptSkillRow{align-items:center;gap:8px;padding:3px 0;font-size:12px;display:flex}.ptSkillName{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ptSkillStats{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}.ptSkillAcc{font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;min-width:32px;font-weight:700}.ptSession{height:calc(100dvh - var(--nav-h));flex-direction:column;display:flex;overflow:hidden}.ptSessionHeader{background:#dbeafe;border-bottom:1px solid #bfdbfe;flex-shrink:0;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 20px;display:grid}.ptQCount{text-align:center;color:var(--text);white-space:nowrap;font-size:15px;font-weight:700}.ptQCountSep{color:var(--muted);font-weight:400}.ptHeaderRight{justify-content:flex-end;align-items:center;gap:12px;display:flex}.ptModuleLabel{font-size:15px;font-weight:600}.ptTimer{font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--text);text-align:center;background:#1118270f;border-radius:20px;padding:6px 22px;font-size:22px;font-weight:700}.ptTimerUrgent{color:var(--danger);background:#fef2f2}.ptQuestionPanel{box-sizing:border-box;background:#fff;flex:1;padding:24px 20px;overflow-y:auto}.ptSingleCol{width:100%;max-width:800px;margin:0 auto}.ptQNumRow{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:8px;padding-bottom:10px;display:flex}.ptQNumBadge{background:var(--text);color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:15px;font-weight:700;display:inline-flex}.ptMarkBtn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:3px 8px;font-size:13px;font-weight:500;line-height:1;transition:color .15s,background .12s;display:inline-flex}.ptMarkBtn:hover{color:var(--text);background:#1118270d}.ptMarkBtn.marked{color:#92400e}.ptStimulus{background:var(--bg);border:1px solid var(--border);border-radius:0;margin-bottom:16px;padding:16px;font-size:14px;line-height:1.7}.ptStem{margin-bottom:16px;padding-top:16px;font-size:15px;line-height:1.65}.ptOptions{flex-direction:column;gap:8px;display:flex}.ptOption{border:1.5px solid var(--border);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 14px;transition:border-color .12s,background .12s;display:flex}.ptOption:hover:not(.disabled),.ptOption.selected{border-color:var(--accent);background:var(--accent-soft)}.ptOption.disabled{cursor:default;opacity:.85}.ptOption input[type=radio]{accent-color:var(--accent);flex-shrink:0;margin-top:3px}.ptOptionLabel{flex-shrink:0;min-width:18px;font-size:14px;font-weight:600}.ptOptionContent{font-size:14px;line-height:1.55}.ptSprWrap{max-width:320px}.ptNavBar{background:#dbeafe;border-top:2px solid #bfdbfe;flex-shrink:0;box-shadow:0 -3px 14px #0000000d}.ptQMap{border-bottom:1px solid var(--border);flex-wrap:nowrap;justify-content:center;gap:6px;padding:12px 24px;display:flex;overflow-x:auto}.ptNavFooter{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 16px;display:grid}.ptNavRight{justify-content:flex-end;gap:8px;display:flex}.ptQPill{color:#fff;cursor:pointer;white-space:nowrap;background:#111827;border:none;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:8px 22px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.ptQPill:hover{background:#1f2937}.ptQPillArrow{font-size:10px;transition:transform .2s;display:inline-block}.ptQPillArrow.open{transform:rotate(180deg)}.ptQChip{border:1.5px solid var(--border);background:var(--card);cursor:pointer;width:32px;height:32px;color:var(--muted);border-radius:6px;font-size:12px;font-weight:600;transition:background .1s,border-color .1s;position:relative}.ptQChip:hover{border-color:var(--accent);color:var(--accent)}.ptQChip.answered{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ptQChip.active{background:var(--accent);border-color:var(--accent);color:#fff}.ptQChip.marked:after{content:"";background:#f59e0b;border-radius:50%;width:5px;height:5px;position:absolute;top:3px;right:3px}.ptNavButtons{justify-content:flex-end;gap:8px;display:flex}.ptOverlay{z-index:100;background:#0006;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ptConfirmCard{width:100%;max-width:400px}.ptCompositeNum{color:var(--accent);font-size:48px;font-weight:800;line-height:1}.ptCompositeLabel{color:var(--muted);margin-top:2px;font-size:12px}.ptDomainTable{border-collapse:collapse;width:100%;font-size:14px}.ptDomainTable th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface,#f9fafb);padding:4px 8px 8px;font-size:12px;font-weight:600}.ptDomainRow td,.ptSkillRow td{border-bottom:1px solid var(--border);vertical-align:middle;padding:8px}.ptDomainRow:nth-child(2n) td{background:#00000005}.ptDomainRow:hover td{background:#0000000a}.ptSkillRow td{color:var(--muted);font-size:13px}.ptrvMain{max-width:1100px;padding-top:28px;padding-bottom:64px}.ptrvBack{margin-bottom:14px;text-decoration:none;display:inline-block}.ptrvBack:hover{text-decoration:underline}.ptrvTopRow{grid-template-columns:auto 1fr;align-items:start;gap:16px;margin-bottom:28px;display:grid}@media (max-width:700px){.ptrvTopRow{grid-template-columns:1fr}}.ptrvScoreCard{flex-direction:column;align-items:center;gap:16px;min-width:200px;padding:24px 28px;display:flex}.ptrvCompositeWrap{flex-direction:column;align-items:center;display:flex}.ptrvDivider{background:var(--border);width:100%;height:1px}.ptrvSections{flex-direction:column;gap:12px;width:100%;display:flex}.ptrvSectionItem{align-items:baseline;gap:8px;display:flex}.ptrvSectionNum{min-width:44px;font-size:22px;font-weight:700;line-height:1}.ptrvSectionName{flex:1;font-size:13px;font-weight:600}.ptrvSkillsCard{padding:20px 24px;overflow:auto}.ptrvReviewRow{grid-template-columns:300px 1fr;align-items:start;gap:16px;display:grid}@media (max-width:780px){.ptrvReviewRow{grid-template-columns:1fr}}.ptrvTilesPanel{overflow-y:auto}.ptrvTileGroup{margin-bottom:20px}.ptrvTileGroupLabel{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:5px;font-size:11px;font-weight:700}.ptrvTileGrid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.ptrvTile{cursor:pointer;border:2px solid #0000;border-radius:8px;outline:none;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:8px 4px 6px;transition:opacity .12s,outline .12s;display:flex}.ptrvTile.correct{background:var(--success);color:#fff}.ptrvTile.incorrect{color:#fff;background:#dc2626}.ptrvTile.skipped{background:var(--bg);border-color:var(--border);color:var(--muted)}.ptrvTile:hover{opacity:.82}.ptrvTile.selected{outline:3px solid var(--accent);outline-offset:2px}.ptrvTileNum{font-size:15px;font-weight:700;line-height:1}.ptrvTileDomain{text-transform:uppercase;letter-spacing:.03em;opacity:.85;font-size:9px;font-weight:600;line-height:1}.ptrvDetailWrap{top:calc(var(--nav-h) + 12px);max-height:calc(100vh - var(--nav-h) - 32px);border-radius:0;position:sticky;overflow-y:auto}.ptrvDetailEmpty{border:1px dashed var(--border);border-radius:0;justify-content:center;align-items:center;min-height:160px;display:flex}.ptrvDetail{border:1px solid var(--border);background:var(--surface);border-radius:0;overflow:hidden}.ptrvDetailHeader{border-bottom:1px solid var(--border);background:var(--bg);z-index:2;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px 12px;display:flex;position:sticky;top:0}.ptrvDetailMeta{flex-wrap:wrap;flex:1;align-items:flex-start;gap:10px;min-width:0;display:flex}.ptrvQBadge{white-space:nowrap;border-radius:20px;flex-shrink:0;padding:2px 8px;font-size:13px;font-weight:700}.ptrvQBadge.correct{color:#166534;background:#dcfce7}.ptrvQBadge.incorrect{color:#991b1b;background:#fee2e2}.ptrvQBadge.skipped{background:var(--bg);border:1px solid var(--border);color:var(--muted)}.ptrvDetailMetaText{flex-direction:column;gap:2px;min-width:0;display:flex}.ptrvDetailSubj{font-size:13px;font-weight:600}.ptrvDetailDomain{color:var(--muted);font-size:12px}.ptrvDetailSkill{color:var(--muted);font-size:11px;font-style:italic}.ptrvDetailNav{flex-shrink:0;gap:6px;display:flex}.ptrvNavBtn{padding:4px 10px;font-size:14px}.ptrvDetailBody{padding:16px}.ptrvStimulus{background:var(--bg);border:1px solid var(--border);border-radius:8px;max-height:280px;margin-bottom:16px;padding:14px 16px;font-size:14px;line-height:1.7;overflow-y:auto}.ptrvDetailStem{font-size:15px;line-height:1.65}.ptrvAnswerSection{border-top:1px solid var(--border);padding:12px 16px 16px}.ptrvAnswerToggle{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--text);border-radius:8px;align-items:center;gap:8px;padding:7px 14px;font-size:14px;font-weight:600;transition:background .12s;display:flex}.ptrvAnswerToggle:hover{background:var(--bg)}.ptrvAnswerToggle.open{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ptrvToggleChevron{margin-left:auto;font-size:10px}.ptrvAnswerBody{flex-direction:column;gap:10px;margin-top:14px;display:flex}.ptrvAnswerRows{flex-direction:column;gap:10px;display:flex}.ptrvAnswerRow{flex-direction:column;gap:4px;display:flex}.ptrvAnswerLabel{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11px;font-weight:700}.ptrvAnswerValue{border-radius:8px;align-items:flex-start;gap:8px;padding:8px 12px;font-size:14px;line-height:1.5;display:flex}.ptrvAnswerValue.correct{color:#166534;background:#dcfce7;border:1px solid #86efac}.ptrvAnswerValue.incorrect{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.ptrvAnswerValue.skipped{background:var(--bg);border:1px solid var(--border);color:var(--muted);font-style:italic}.ptrvOptLetter{flex-shrink:0;min-width:16px;font-weight:700}.ptrvOptText{flex:1;min-width:0}.ptrvRationale{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.ptrvRationaleLabel{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:700}.ptrvRationaleBody{font-size:14px;line-height:1.65}.ptrvScoreHeader{flex-wrap:wrap;align-items:center;gap:32px;margin-bottom:28px;display:flex}.ptrvScoreRing{flex-shrink:0}.ptrvSectionScores{flex-wrap:wrap;flex:1;gap:16px;display:flex}.ptrvSectionCard{background:var(--surface,#f9fafb);border:1px solid var(--border);text-align:center;border-radius:12px;flex:1;min-width:140px;padding:20px 28px}.ptrvSectionScore{color:var(--accent);font-size:32px;font-weight:800;line-height:1}.ptrvSectionLabel{margin-top:4px;font-size:14px;font-weight:600}.ptrvSectionDetail{color:var(--muted);margin-top:2px;font-size:12px}.ptrvDomainRow{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px;display:grid}@media (max-width:700px){.ptrvDomainRow{grid-template-columns:1fr}}.ptrvDomainCard{padding:24px 28px}.ptrvDomainCardTitle{text-align:center;margin:0 0 4px;font-size:20px;font-weight:700}.ptrvDomainCardSub{color:var(--muted);text-align:center;margin:0 0 20px;font-size:13px}.ptrvDomainBars{flex-direction:column;gap:16px;display:flex}.ptrvDomainBarHeader{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.ptrvDomainBarName{font-size:14px;font-weight:500}.ptrvDomainBarPct{color:#fff;text-align:center;border-radius:12px;min-width:44px;padding:2px 10px;font-size:13px;font-weight:700}.ptrvDomainBarTrack{background:#e8e8e8;border-radius:4px;height:8px;overflow:hidden}.ptrvDomainBarFill{border-radius:4px;height:100%;transition:width .4s}.ptrvSection{margin-bottom:24px}.ptrvSectionH2{margin:0 0 4px;font-size:20px;font-weight:700}.ptrvSectionSub{color:var(--muted);margin:0 0 16px;font-size:13px}.ptrvDiffGrid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (max-width:700px){.ptrvDiffGrid{grid-template-columns:1fr}}.ptrvDiffCard{text-align:center;padding:24px}.ptrvDiffTitle{margin:0 0 2px;font-size:18px;font-weight:700}.ptrvDiffCount{color:var(--muted);margin:0 0 16px;font-size:13px}.ptrvDonut{justify-content:center;margin-bottom:16px;display:flex}.ptrvDiffLegend{flex-direction:column;align-items:flex-start;gap:6px;width:fit-content;margin:0 auto;display:flex}.ptrvDiffLegendItem{align-items:center;gap:8px;font-size:13px;display:flex}.ptrvDiffDot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.ptrvCritGrid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (max-width:800px){.ptrvCritGrid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.ptrvCritGrid{grid-template-columns:1fr}}.ptrvCritCard{padding:16px 20px}.ptrvCritHeader{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:2px;display:flex}.ptrvCritName{font-size:14px;font-weight:600}.ptrvCritPct{font-size:20px;font-weight:800;line-height:1}.ptrvCritDomain{color:var(--muted);margin-bottom:8px;font-size:12px}.ptrvCritBar{background:#e8e8e8;border-radius:3px;height:6px;margin-bottom:6px;overflow:hidden}.ptrvCritBarFill{border-radius:3px;height:100%;transition:width .4s}.ptrvCritDetail{color:var(--muted);font-size:12px}.ptrvTimingCard{padding:20px 24px}.ptrvTimingRow{align-items:center;gap:12px;margin-bottom:14px;display:flex}.ptrvTimingRow:last-of-type{margin-bottom:12px}.ptrvTimingLabel{text-align:right;min-width:100px;color:var(--muted);flex-shrink:0;font-size:12px;font-weight:600}.ptrvTimingBarWrap{flex:1;align-items:center;gap:10px;display:flex}.ptrvTimingBar{background:#e8e8e8;border-radius:4px;flex:1;height:28px;display:flex;position:relative}.ptrvTimingSeg{cursor:pointer;min-width:2px;transition:opacity .15s;position:relative}.ptrvTimingSeg:first-child{border-radius:4px 0 0 4px}.ptrvTimingSeg:last-child{border-radius:0 4px 4px 0;border-right:none!important}.ptrvTimingSeg:first-child:last-child{border-radius:4px}.ptrvTimingSeg:hover{opacity:.75}.ptrvTimingSeg.correct{background:var(--success,#22c55e)}.ptrvTimingSeg.incorrect{background:#dc2626}.ptrvTimingSeg.skipped{background:#999}.ptrvTimingTooltip{color:#fff;white-space:nowrap;z-index:10;pointer-events:none;background:#333;border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:6px 10px;font-size:12px;display:flex;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000040}.ptrvTimingTooltip .correct{color:#86efac}.ptrvTimingTooltip .incorrect{color:#fca5a5}.ptrvTimingTooltip .skipped{color:#ccc}.ptrvTimingTotal{color:var(--muted);flex-shrink:0;min-width:44px;font-size:12px;font-weight:600}.ptrvTimingLegend{color:var(--muted);justify-content:center;gap:16px;padding-top:4px;font-size:12px;display:flex}.ptrvTimingLegDot{vertical-align:middle;border-radius:3px;width:10px;height:10px;margin-right:4px;display:inline-block}.ptrvTimingLegDot.correct{background:var(--success,#22c55e)}.ptrvTimingLegDot.incorrect{background:#dc2626}.ptrvTimingLegDot.skipped{background:#999}.adminMain{padding-bottom:48px}.adminTabLayout{grid-template-columns:200px 1fr;align-items:start;gap:24px;display:grid}@media (max-width:860px){.adminTabLayout{grid-template-columns:1fr}}.adminSideNav{background:var(--bg-card,#fff);border:1px solid var(--border,#e5e7eb);border-radius:10px;flex-direction:column;gap:2px;padding:10px 8px;display:flex;position:sticky;top:20px}@media (max-width:860px){.adminSideNav{flex-flow:wrap;gap:4px;padding:8px;position:static}}.adminSideNavTitle{border-bottom:1px solid var(--border,#e5e7eb);margin-bottom:4px;padding:6px 10px 10px;font-size:18px;font-weight:800}@media (max-width:860px){.adminSideNavTitle{display:none}}.adminSideNavBtn{cursor:pointer;color:var(--fg,#374151);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:13px;font-weight:600;transition:background .1s,color .1s;display:flex}.adminSideNavBtn:hover{background:var(--bg,#f3f4f6)}.adminSideNavBtn.active{background:var(--accent,#2563eb);color:#fff}.adminTabContent{min-width:0}.adminUserMgmtGrid{grid-template-columns:1fr 1fr;gap:20px;margin-top:16px;display:grid}@media (max-width:960px){.adminUserMgmtGrid{grid-template-columns:1fr}}.adminPanels{grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:24px;display:grid}@media (max-width:640px){.adminPanels{grid-template-columns:1fr 1fr}}.adminPanel{text-align:center;padding:16px;transition:border-color .15s}.adminPanelCount{margin-bottom:2px;font-size:28px;font-weight:700;line-height:1.1}.adminPanelTitle{font-size:13px;font-weight:600}.adminStatsRow{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;display:grid}@media (max-width:1100px){.adminStatsRow{grid-template-columns:1fr}}.adminStatCard{flex-direction:column;gap:14px;padding:18px 20px;display:flex}.adminStatCardHeader{justify-content:space-between;align-items:center;display:flex}.adminStatTitle{margin:0;font-size:15px;font-weight:700}.adminStatBadge{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.adminStatBigRow{gap:20px;display:flex}.adminStatBig{flex-direction:column;flex:1;align-items:center;display:flex}.adminStatBigNum{font-size:30px;font-weight:800;line-height:1.1}.adminStatBigLabel{color:var(--muted);margin-top:2px;font-size:12px;font-weight:600}.adminStatBreakdown{flex-wrap:wrap;gap:6px;display:flex}.adminStatTag{border:1.5px solid;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.adminVolumeChart{align-items:flex-end;gap:6px;height:120px;display:flex}.adminVolumeBar{flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.adminVolumeBarStack{flex-direction:column-reverse;width:100%;height:80px;display:flex}.adminVolumeBarFill{border-radius:3px 3px 0 0;width:100%;min-height:0;transition:height .3s}.adminVolumeBarPractice{background:#3b82f6}.adminVolumeBarTest{background:#8b5cf6;border-radius:3px 3px 0 0}.adminVolumeBarLabel{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:4px;font-size:10px;overflow:hidden}.adminVolumeBarCount{font-size:11px;font-weight:700}.adminVolumeLegend{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.adminLegDot{vertical-align:middle;border-radius:2px;width:8px;height:8px;margin-right:3px;display:inline-block}.adminAdoptionList{flex-direction:column;gap:8px;display:flex}.adminAdoptionRow{align-items:center;gap:8px;display:flex}.adminAdoptionLabel{min-width:110px;font-size:13px;font-weight:600}.adminAdoptionBarBg{background:var(--bg,#f3f4f6);border-radius:4px;flex:1;height:8px;overflow:hidden}.adminAdoptionBarFill{background:#22c55e;border-radius:4px;min-width:2px;height:100%;transition:width .3s}.adminAdoptionVal{text-align:right;min-width:70px;font-size:13px;font-weight:700}.adminAdoptionFooter{margin-top:4px}.adminStatsRow2{grid-template-columns:repeat(2,1fr)}@media (max-width:900px){.adminStatsRow2{grid-template-columns:1fr}}.adminScoreBarFill{background:#8b5cf6}.adminDomainBars{flex-direction:column;gap:6px;display:flex}.adminDomainRow{align-items:center;gap:8px;display:flex}.adminDomainLabel{white-space:nowrap;text-overflow:ellipsis;min-width:90px;font-size:12px;font-weight:600;overflow:hidden}.adminDomainBarFill{background:#3b82f6;border-radius:4px;min-width:2px;height:100%;transition:width .3s}.adminDomainVal{text-align:right;min-width:36px;font-size:12px;font-weight:700}.adminQTable{flex-direction:column;gap:0;font-size:13px;display:flex}.adminQTableHeader{color:var(--muted);border-bottom:1px solid var(--border);grid-template-columns:80px 1fr 48px 40px;gap:6px;padding:4px 0;font-size:11px;font-weight:700;display:grid}.adminQTableRow{border-bottom:1px solid var(--border,#f3f4f6);grid-template-columns:80px 1fr 48px 40px;align-items:center;gap:6px;padding:5px 0;display:grid}.adminQTableId{color:var(--muted);font-family:SF Mono,Fira Code,monospace;font-size:11px}.adminQTableSkill{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.adminQTableAcc{text-align:right;font-weight:700}.adminQTableN{color:var(--muted);text-align:right;font-size:11px}.adminHeatmapGrid{flex-wrap:wrap;gap:6px;display:flex}.adminHeatCell{border:1px solid;border-radius:6px;flex-direction:column;align-items:center;gap:1px;min-width:80px;padding:6px 10px;display:flex}.adminHeatLabel{text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:11px;font-weight:600;overflow:hidden}.adminHeatVal{font-size:14px;font-weight:800}.adminGrid{grid-template-columns:1fr 380px;align-items:start;gap:24px;display:grid}@media (max-width:960px){.adminGrid{grid-template-columns:1fr}}.adminColMain,.adminColSide{min-width:0}.adminSection{margin-bottom:24px}.adminSectionHeader{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.adminSideTitle{margin:0 0 10px;font-size:15px;font-weight:700}.adminAssignGridCompact{grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;margin-bottom:12px;display:grid}@media (max-width:520px){.adminAssignGridCompact{grid-template-columns:1fr}}.adminPagination{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.adminPaginationBtns{align-items:center;gap:8px;display:flex}.adminPageBtn{border:1px solid var(--border);cursor:pointer;color:var(--text);background:0 0;border-radius:6px;padding:3px 12px;font-size:12px;font-weight:600}.adminPageBtn:disabled{opacity:.35;cursor:default}.adminPageBtn:not(:disabled):hover{background:#1118270a}.adminTable{border-collapse:collapse;width:100%;font-size:13px}.adminTable th{text-align:left;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface,#f9fafb);z-index:1;padding:8px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.adminTable td{border-bottom:1px solid var(--border);padding:8px 12px}.adminTable tbody tr:nth-child(2n){background:#00000005}.adminTable tbody tr:last-child td{border-bottom:none}.adminTable tbody tr:hover{background:#1118270a}.adminTableEmail{font-size:13px;font-weight:500}.adminRoleSelect{border:1px solid var(--border);background:var(--card);cursor:pointer;border-radius:6px;padding:3px 6px;font-size:12px;font-weight:600}.adminRoleSelect:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.adminScoreDialog{margin-top:4px;padding:16px}.adminLabel{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;font-weight:500;display:flex}.adminSelect,.adminInput{border:1px solid var(--border);background:var(--card);color:var(--text);border-radius:8px;width:100%;padding:7px 10px;font-size:14px}.adminSelect:focus,.adminInput:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);outline:none}.adminFieldset{border:1px solid var(--border);border-radius:0;margin:12px 0 0;padding:12px}.adminLegend{padding:0 6px;font-size:13px;font-weight:600}.adminFieldRow{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}@media (max-width:520px){.adminFieldRow{grid-template-columns:1fr}}.tchPage{max-width:1280px;padding-top:24px;padding-bottom:48px}.tchDashHeader{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.tchInfoCard{margin-bottom:24px;padding:20px 24px}.tchInfoRow{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.tchInfoStat{flex-direction:column;gap:2px;display:flex}.tchInfoStatValue{letter-spacing:-.02em;font-size:22px;font-weight:750}.tchInfoStatLabel{color:var(--muted);font-size:12px}.tchInfoDivider{background:var(--border);flex-shrink:0;width:1px;height:36px}.tchInviteCode{font-family:var(--font-mono,monospace);letter-spacing:.06em;color:var(--accent)}.tchDashBody{grid-template-columns:1fr minmax(0,300px);align-items:start;gap:20px;max-width:100%;display:grid}@media (max-width:960px){.tchDashBody{grid-template-columns:1fr}}@media (max-width:600px){.tchInfoRow{gap:16px}.tchInfoDivider{display:none}.tchInfoRow{grid-template-columns:1fr 1fr;display:grid}}.tchDashGrid{grid-template-columns:1fr minmax(0,320px);align-items:start;gap:20px;max-width:100%;display:grid}@media (max-width:960px){.tchDashGrid{grid-template-columns:1fr}}.tchDashFeedsCol{gap:16px;min-width:0;display:grid}.tchDashAlertsCol{align-items:start;gap:14px;min-width:0;display:grid}.tchSectionHeader{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.tchFeedList{flex-direction:column;max-height:420px;display:flex;overflow-y:auto}.tchFeedRow{cursor:pointer;text-align:left;border:none;border-bottom:1px solid var(--border);width:100%;font:inherit;color:inherit;background:0 0;align-items:center;gap:12px;padding:10px 4px;transition:background .12s;display:flex}.tchFeedRow:last-child{border-bottom:none}.tchFeedRow:hover{background:var(--surface-hover,#00000008)}.tchFeedAvatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:flex}.tchFeedInfo{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tchFeedName{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.tchFeedMeta{color:var(--text-muted,#888);font-size:12px}.tchFeedStat{text-align:right;flex-shrink:0;min-width:44px;font-size:15px;font-weight:700}.tchFeedTestScore{text-align:right;flex-shrink:0;font-size:14px}.tchRosterPanel{min-width:0}.tchRosterCard{padding:0;overflow:hidden}.tchRosterHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.tchRosterTable{overflow-x:auto}.tchRosterThead{border-bottom:1px solid var(--border);background:#11182706;grid-template-columns:minmax(180px,2fr) 110px 80px 80px 80px 80px minmax(100px,1fr);gap:0;padding:0 16px;display:grid}.tchRosterTh{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:10px 8px;font-size:11px;font-weight:700}.tchRosterTh:hover{color:var(--text)}.tchRosterThNum,.tchRosterTdNum,.tchRosterThTrend,.tchRosterTdTrend{text-align:center}.tchRosterThActions,.tchRosterTdActions{text-align:right}.tchRosterRow{border-bottom:1px solid var(--border);grid-template-columns:minmax(180px,2fr) 110px 80px 80px 80px 80px minmax(100px,1fr);gap:0;padding:0 16px;transition:background .1s;display:grid}.tchRosterRow:last-child{border-bottom:none}.tchRosterRow:hover{background:#2563eb08}.tchRosterRow.inactive,.tchRosterRow.declining{background:#d977750a}.tchRosterRow.improving{background:#5ba8760a}.tchRosterTd{align-items:center;min-width:0;padding:12px 8px;font-size:13px;display:flex}.tchRosterTdName{align-items:center;gap:10px;min-width:0;display:flex}.tchRosterAvatar{color:#fff;background:linear-gradient(135deg,#6b9bd2,#9b8ec4);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:flex}.tchRosterStudentName{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;display:block;overflow:hidden}.tchRosterTarget{color:var(--muted);font-size:11px;display:block}.tchRosterTdActive{flex-direction:column;justify-content:center;align-items:flex-start;gap:0;font-size:13px}.tchRosterTdActive.warn{color:var(--danger);font-weight:600}.tchRosterWeekly{color:var(--muted);font-size:11px;font-weight:400}.tchRosterTdNum{justify-content:center;font-size:13px}.tchRosterTdTrend{justify-content:center}.tchRosterTdActions{justify-content:flex-end;gap:6px}.tchRosterBtn{border-radius:6px!important;padding:4px 10px!important;font-size:12px!important}@media (max-width:800px){.tchRosterThead,.tchRosterRow{grid-template-columns:minmax(140px,2fr) 90px 60px 60px 60px minmax(80px,1fr)}.tchRosterThTrend,.tchRosterTdTrend{display:none}}.tchAlertsPanel{flex-direction:column;gap:14px;display:flex;position:sticky;top:24px}.tchAlertCard{min-width:0;padding:16px;overflow:hidden}.tchAlertTitle{border-bottom:2px solid var(--border);margin:0 0 10px;padding-bottom:8px;font-size:14px;font-weight:700}.tchAlertTitleWarn{border-bottom-color:var(--amber)}.tchAlertTitleDanger{border-bottom-color:var(--danger)}.tchAlertTitleSuccess{border-bottom-color:var(--success)}.tchAlertList{flex-direction:column;gap:8px;min-width:0;display:flex}.tchAlertItem{justify-content:space-between;align-items:center;gap:8px;display:flex}.tchAlertItemInfo{flex-direction:column;min-width:0;display:flex}.tchAlertItemName{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.tchAlertItemMeta{color:var(--muted);font-size:11px}.tchAlertBtn{flex-shrink:0;padding:3px 8px!important;font-size:11px!important}.tchMain{max-height:calc(100vh - var(--nav-h));padding:24px 28px;overflow-y:auto}.tchDashHub{max-width:960px}.tchDashHubHeader{align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.tchDashTabs{border-bottom:2px solid var(--border);gap:4px;margin-bottom:20px;padding-bottom:0;display:flex}.tchDashTab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:8px 16px;font-size:14px;font-weight:600;transition:color .15s,border-color .15s}.tchDashTab:hover{color:var(--text)}.tchDashTab.active{color:var(--accent);border-bottom-color:var(--accent)}.tchDashOverview{gap:20px;display:grid}.tchHubSessionList{flex-direction:column;gap:2px;display:flex}.tchHubSessionRow{background:var(--bg);border:1px solid var(--border);cursor:pointer;text-align:left;color:var(--text);border-radius:0;grid-template-columns:1.5fr 1fr .5fr .5fr;align-items:center;gap:8px;padding:10px 12px;font-size:13px;transition:background .12s;display:grid}.tchHubSessionRow:hover{background:var(--surface)}.tchHubSessionName{font-weight:600}.tchHubSessionDate{color:var(--muted);font-size:12px}.tchHubSessionCount{text-align:center;font-size:12px}.tchHubSessionAcc{text-align:right;font-weight:600}.tchHubTestList{flex-direction:column;gap:2px;display:flex}.tchHubTestRow{background:var(--bg);border:1px solid var(--border);cursor:pointer;text-align:left;color:var(--text);border-radius:0;grid-template-columns:1.2fr 1fr .7fr 1.5fr;align-items:center;gap:8px;padding:10px 12px;font-size:13px;transition:background .12s;display:grid}.tchHubTestRow:hover{background:var(--surface)}.tchHubTestName{font-weight:600}.tchHubTestLabel,.tchHubTestDate{color:var(--muted);font-size:12px}.tchHubTestScore{text-align:right;font-size:14px}.tchActivityTable{overflow-x:auto}.tchActivityHeader{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);border-bottom:2px solid var(--border);grid-template-columns:1.8fr repeat(6,.6fr) .8fr;gap:4px;padding:8px 10px;font-size:11px;font-weight:700;display:grid}.tchActivityRow{border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;grid-template-columns:1.8fr repeat(6,.6fr) .8fr;gap:4px;padding:10px;transition:background .12s;display:grid}.tchActivityRow:hover{background:var(--bg)}.tchActNameCol{flex-direction:column;gap:1px;min-width:0;display:flex}.tchActCol{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;font-size:13px;display:flex}.tchMasteryBarWrap{align-items:center;gap:6px;min-width:80px;display:flex}.tchMasteryBarWrap.small{gap:4px;min-width:60px}.tchMasteryValue{font-variant-numeric:tabular-nums;font-size:13px}.tchMasteryBarWrap.small .tchMasteryValue{font-size:11px}.tchMasteryTrack{background:var(--border);border-radius:3px;flex:1;height:6px;overflow:hidden}.tchMasteryFill{border-radius:3px;height:100%;transition:width .3s}.tchMasteryHeader{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);border-bottom:2px solid var(--border);grid-template-columns:1.5fr 1fr 1.2fr;gap:8px;padding:8px 12px;font-size:11px;font-weight:700;display:grid}.tchMasteryNameCol{min-width:0}.tchMasteryQuesCol{text-align:center}.tchMasteryLevelCol{align-items:center;display:flex}.tchRosterMastery .tchTblRow{grid-template-columns:1.5fr 1fr 1.2fr;gap:8px;padding:8px 12px}@media (max-width:700px){.tchHubSessionRow,.tchHubTestRow{grid-template-columns:1fr 1fr}.tchActivityHeader,.tchActivityRow{grid-template-columns:1.5fr repeat(3,.7fr) .8fr}.tchActivityHeader>:nth-child(5),.tchActivityHeader>:nth-child(6),.tchActivityHeader>:nth-child(7),.tchActivityRow>:nth-child(5),.tchActivityRow>:nth-child(6),.tchActivityRow>:nth-child(7){display:none}}.tchStudentDetail{max-width:1200px}.tchDetailGrid{grid-template-columns:3fr 2fr;align-items:start;gap:16px;display:grid}@media (max-width:900px){.tchDetailGrid{grid-template-columns:1fr}}.tchStudentHeader{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.tchOverviewCard{margin-bottom:0;padding:20px}.tchProfileRow{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:24px;margin-bottom:16px;padding-bottom:16px;display:flex}.tchProfileItem{flex-direction:column;gap:2px;display:flex}.tchProfileLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.tchProfileValue{font-size:14px;font-weight:600}.tchProfileActions{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;display:flex}.tchProfileActionBtn{padding:6px 12px!important;font-size:12px!important}.tchRegSection{border-bottom:1px solid var(--border);flex-direction:column;gap:12px;margin-bottom:12px;padding-bottom:12px;display:flex}.tchRegList{flex-direction:column;gap:4px;display:flex}.tchRegItem{background:var(--bg-raised,#00000008);border-radius:6px;justify-content:space-between;align-items:center;padding:4px 8px;font-size:13px;font-weight:500;display:flex}.tchRegItem.past{color:var(--muted)}.tchRegDelete{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px;line-height:1}.tchRegDelete:hover{color:var(--danger)}.tchScoresSection{border-bottom:1px solid var(--border);flex-direction:column;margin-bottom:12px;padding-bottom:12px;display:flex}.tchScoresList{flex-direction:column;gap:6px;display:flex}.tchScoreItem{background:var(--bg-raised,#00000008);border-radius:6px;align-items:center;gap:12px;padding:6px 8px;font-size:13px;display:flex}.tchScoreDate{color:var(--muted);min-width:90px}.tchScoreComposite{color:var(--accent);min-width:40px;font-size:15px;font-weight:700}.tchScoreBreakdown{color:var(--muted);flex:1;font-size:12px}.dbOfficialScoresCard{margin-bottom:20px}.dbOfficialScoresLayout{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}@media (max-width:600px){.dbOfficialScoresLayout{grid-template-columns:1fr}}.dbOfficialScoresList{flex-direction:column;gap:6px;display:flex}.dbOfficialScoreRow{background:var(--bg-raised,#00000008);border-radius:6px;align-items:center;gap:10px;padding:6px 10px;font-size:13px;display:flex}.dbOfficialScoreDate{color:var(--muted);min-width:52px;font-size:12px}.dbOfficialScoreComposite{color:var(--accent);min-width:36px;font-size:15px;font-weight:700}.dbOfficialScoreBreakdown{color:var(--muted);font-size:12px}.dbOfficialScoresChart{flex-direction:column;align-items:center;display:flex}.dbOfficialChartLegend{color:var(--muted);gap:12px;margin-top:4px;font-size:11px;display:flex}.dbOfficialLegendDot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.tchStatsRow{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}@media (max-width:900px){.tchStatsRow{grid-template-columns:repeat(3,1fr)}}@media (max-width:500px){.tchStatsRow{grid-template-columns:1fr 1fr}}.tchStatCol{text-align:center;padding:8px 4px}.tchStatValue{letter-spacing:-.01em;font-size:22px;font-weight:750}.tchStatLabel{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.tchAdminStudentTable{flex-direction:column;display:flex}.tchAdminStudentHeader{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--border);align-items:center;padding:6px 8px;font-size:11px;display:flex}.tchAdminStudentRow{border-bottom:1px solid var(--border);align-items:center;padding:8px;font-size:13px;display:flex}.tchAdminStudentRow:last-child{border-bottom:none}.tchAdminStudentNameCol{flex:1;min-width:0}.tchAdminStudentCell{text-align:center;flex-shrink:0;width:70px;font-size:13px;font-weight:600}@media (max-width:700px){.tchAdminStudentCell{width:50px;font-size:11px}}.tchAdminAssignRow{background:var(--bg-raised,#00000008);border-radius:6px;align-items:center;padding:8px 10px;display:flex}.tchAdminStudentLink{color:inherit;cursor:pointer;text-decoration:none}.tchAdminStudentLink:hover{background:var(--bg-raised,#0000000d)}.tmTeacherGrid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.tmTeacherCard{cursor:pointer;text-align:center;border:1px solid var(--border);border-radius:16px;flex-direction:column;align-items:center;gap:16px;padding:32px 24px 28px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.tmTeacherCard:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 20px #0000001a}.tmTeacherAvatar{color:#fff;background:#2563eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:28px;font-weight:700;display:flex}.tmTeacherAvatarImg{object-fit:cover;border:2px solid var(--border);border-radius:50%;flex-shrink:0;width:72px;height:72px}.tmTeacherInfo{flex-direction:column;align-items:center;gap:4px;width:100%;min-width:0;display:flex}.tmTeacherName{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:17px;font-weight:700;overflow:hidden}.tmTeacherCount{color:var(--accent);margin-top:4px;font-size:13px;font-weight:600}.tmDetailHeader{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.tmInactiveBadge{color:var(--danger);border:1px solid var(--danger);border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600}.tmStatsCard{padding:18px 20px}.tmProfileMeta{flex-direction:column;gap:1px;margin-bottom:10px;display:flex}.tmStatGrid{border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:6px 12px;margin-top:12px;padding-top:12px;display:grid}@media (max-width:600px){.tmStatGrid{grid-template-columns:repeat(2,1fr)}}.tmStatItem{flex-direction:column;align-items:center;gap:1px;padding:6px 0;display:flex}.tmStatValue{letter-spacing:-.02em;font-size:20px;font-weight:750}.tmStatLabel{color:var(--muted);font-size:11px}.tmStudentTable{overflow-x:auto}.tmStudentThead{border-bottom:2px solid var(--border);align-items:center;gap:8px;padding:8px 0;display:flex}.tmStudentTh{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);flex:1;font-size:11px;font-weight:700}.tmStudentThNum{text-align:center;flex:.7}.tmStudentRow{border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:8px;padding:8px 0;text-decoration:none;transition:background .1s;display:flex}.tmStudentRow:last-child{border-bottom:none}.tmStudentRow:hover{background:#00000005}.tmStudentTd{flex-direction:column;flex:1;gap:1px;min-width:0;font-size:13px;display:flex}.tmStudentTdNum{text-align:center;font-variant-numeric:tabular-nums;flex-direction:row;flex:.7;justify-content:center}.tmAssignRow{border-bottom:1px solid #0000000a;align-items:center;gap:8px;padding:8px 0;display:flex}.tmAssignRow:last-child{border-bottom:none}.tchSection{margin-bottom:16px;padding:20px}.tchDetailLoading,.tchDetailError{justify-content:center;align-items:center;min-height:200px;display:flex}.tchBarChart{flex-direction:column;gap:12px;display:flex}.tchBarRow{color:inherit;border-radius:0;grid-template-columns:140px 1fr 80px;align-items:center;gap:12px;padding:8px 10px;text-decoration:none;transition:background .12s;display:grid}.tchBarRowWrap{align-items:center;gap:0;display:flex}.tchBarRowWrap .tchBarRow{flex:1;min-width:0}.tchBarActions{flex-shrink:0;align-items:center;gap:4px;padding:0 4px;display:flex}.tchBarDeleteBtn{cursor:pointer;color:var(--muted);opacity:0;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:18px;line-height:1;transition:opacity .15s,color .15s}.tchBarRowWrap:hover .tchBarDeleteBtn{opacity:.6}.tchBarDeleteBtn:hover{color:var(--danger);background:#e0525214;opacity:1!important}.tchBarRow:hover{background:#2563eb0d}.tchBarLabel{flex-direction:column;display:flex}.tchBarTestName{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.tchBarDate{color:var(--muted);font-size:11px}.tchBarTrack{background:#0000000a;border-radius:6px;display:flex;overflow:hidden}.tchBarSegment{height:100%;transition:width .3s}.tchBarRW{background:linear-gradient(135deg,#8bb5de,#6b9bd2)}.tchBarMath{background:linear-gradient(135deg,#b5a8d4,#9b8ec4)}.tchBarScore{flex-direction:column;align-items:flex-end;display:flex}.tchBarTotal{letter-spacing:-.01em;font-size:18px;font-weight:750}.tchBarBreakdown{font-size:11px}.tchBarLegend{color:var(--muted);align-items:center;gap:6px;padding-top:4px;font-size:11px;display:flex}.tchLegendDot{border-radius:3px;width:10px;height:10px;display:inline-block}.tchDomainSection{margin-bottom:16px}.tchDomainSectionHeader{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tchDomainList{flex-direction:column;display:flex}.tchDomainBlock{border-bottom:1px solid var(--border)}.tchDomainBlock:last-child{border-bottom:none}.tchTblHeader{border-bottom:2px solid var(--border);grid-template-columns:1fr repeat(3,38px) 48px repeat(3,38px) minmax(90px,120px);align-items:center;gap:2px;margin-bottom:2px;padding:4px 0;display:grid}.tchTblHeader .tchTblCell{text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:700}.tchTblRow{grid-template-columns:1fr repeat(3,38px) 48px repeat(3,38px) minmax(90px,120px);align-items:center;gap:2px;padding:8px 0;display:grid}.tchTblRowDomain{font-weight:600}.tchTblCell{text-align:center;font-size:12px}.tchTblNameCol{text-align:left;align-items:center;gap:6px;display:flex}.tchTblDiffCell{font-size:11px;font-weight:600}.tchTblOverall{color:var(--muted);font-size:12px;font-weight:600}.tchTblAccBar{align-items:center;gap:6px;display:flex}.tchTblAccBar .dbProgressBar{display:inline-block}.tchTblAccBar .dbProgressFill{display:block}.tchDomainName{font-size:14px;font-weight:600}.tchTopicList{padding-bottom:4px;padding-left:22px}.tchTblRowTopic{font-weight:400}.tchTopicName{color:var(--muted);font-size:13px}.tchSessionList{flex-direction:column;gap:10px;display:flex}.tchSessionCard{border:1px solid var(--border);border-radius:0;padding:10px 14px}.tchSessionHeader{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.tchSessionDate{color:var(--muted);font-size:12px}.tchSessionStats{font-size:13px;font-weight:600}.tchSessionTiles{flex-wrap:wrap;gap:4px;display:flex}.tchSessionTile{border-radius:3px;width:14px;height:14px}.tchSessionTile.correct{background:var(--success)}.tchSessionTile.incorrect{background:var(--danger)}.tchEditBtn{flex-shrink:0;padding:6px 14px;font-size:13px}.tchModalOverlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.tchModal{width:100%;max-width:480px;max-height:90vh;padding:24px;overflow-y:auto}.tchModalHeader{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.tchModalClose{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:22px;line-height:1}.tchModalClose:hover{color:var(--text)}.tchModalForm{flex-direction:column;gap:14px;display:flex}.tchModalRow{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tchModalField{flex-direction:column;gap:4px;display:flex}.tchModalLabel{color:var(--muted);font-size:12px;font-weight:600}.tchModalField input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:8px 10px;font-size:14px}.tchModalField input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px #3b82f626}.tchModalActions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.adminAssignSection{margin-top:32px}.adminAssignGrid{grid-template-columns:1fr 1fr auto;align-items:end;gap:10px;margin-bottom:16px;display:grid}@media (max-width:600px){.adminAssignGrid{grid-template-columns:1fr}}.adminAssignTable{border-collapse:collapse;width:100%}.adminAssignTable th,.adminAssignTable td{text-align:left;border-bottom:1px solid var(--border);padding:8px 12px;font-size:13px}.adminAssignTable th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:var(--surface,#f9fafb);font-size:11px;font-weight:700}.adminAssignRemove{color:var(--danger);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:3px 6px;font-size:12px;font-weight:600;transition:background .12s}.adminAssignRemove:hover{background:#ef444414}.sessionTimer{background:var(--accent-soft);color:var(--accent);font-variant-numeric:tabular-nums;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:6px;margin-right:8px;padding:4px 10px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.sessionTimer:hover{background:#2563eb2e}.sessionTimerIcon{font-size:14px}.sessionTimerDisplay{text-align:center;letter-spacing:.02em;min-width:40px}.dbMoreStatsLink{color:var(--accent);border-radius:8px;align-items:center;gap:4px;padding:6px 16px;font-size:14px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.dbMoreStatsLink:hover{background:var(--accent-soft);color:var(--accent-hover)}.dbGoalRecsRow{background:#1118271a;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:-1px;display:grid}.dbGoalRecsRow.single{grid-template-columns:1fr}@media (max-width:680px){.dbGoalRecsRow{grid-template-columns:1fr}}.dbGoalCard{padding:20px 24px}.dbGoalHeader{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.dbGoalBarOuter{background:var(--border);border-radius:5px;width:100%;height:10px;overflow:hidden}.dbGoalBarFill{border-radius:5px;height:100%;transition:width .5s}.dbGoalMeta{justify-content:space-between;margin-top:6px;display:flex}.dbRecsCard{padding:20px 24px}.dbRecItem{border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;transition:background .1s;display:flex}.dbRecItem:hover{background:var(--bg)}.dbActivityChartCard{flex-direction:column;padding:20px 24px;display:flex}.dbActivityChartHeader{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:16px;display:flex}.dbActivityBars{flex:1;align-items:flex-end;gap:3px;min-height:100px;display:flex}.dbActivityBarCol{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;display:flex}.dbActivityBarTrack{align-items:flex-end;width:100%;height:100px;display:flex}.dbActivityBarFill{border-radius:2px 2px 0 0;width:100%;min-height:0;transition:height .3s}.dbActivityBarLabel{color:var(--muted);font-size:10px;line-height:1}.stMain{padding-bottom:60px}.stHeader{align-items:center;gap:16px;margin-bottom:24px;display:flex}.stHeader .h1{font-size:var(--title-1);margin:0;font-weight:700}.stOverviewRow{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.stOverviewCard{text-align:center;padding:20px 14px}.stOverviewValue{font-size:28px;font-weight:800;line-height:1.2}.stOverviewLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-top:4px;font-size:12px;font-weight:600}.stTwoCol{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px;display:grid}.stBar{grid-template-columns:140px 1fr 48px;align-items:center;gap:10px;display:grid}.stBarLabel{flex-direction:column;font-size:13px;font-weight:600;line-height:1.3;display:flex}.stBarTrack{background:#0000000f;border-radius:5px;height:10px;overflow:hidden}.stBarFill{border-radius:5px;height:100%;transition:width .4s}.stBarValue{text-align:right;font-size:13px;font-weight:700}.stTimeRow{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.stTimeRow:last-child{border-bottom:none}.stTimeLabel{font-size:14px;font-weight:600}.stTimeValue{font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.stTrendChart{flex-direction:column;gap:4px;display:flex}.stTrendBars{align-items:flex-end;gap:3px;height:140px;padding:0 4px;display:flex}.stTrendCol{flex-direction:column;align-items:center;min-width:0;display:flex}.stTrendBarWrap{align-items:flex-end;width:100%;height:120px;display:flex}.stTrendBar{cursor:default;border-radius:3px 3px 0 0;width:100%;min-width:6px;max-width:40px;margin:0 auto;transition:height .3s}.stTrendBar:hover{opacity:.8}.stTrendLabel{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;text-align:center;max-width:100%;margin-top:4px;font-size:9px;overflow:hidden}.stTrendAxis{color:var(--muted);border-top:1px solid var(--border);justify-content:space-between;padding:4px 4px 0;font-size:10px;display:flex}.stMasteryGrid{grid-template-columns:2fr 1.2fr 70px 70px 100px;align-items:center;gap:8px;padding:8px 0;display:grid}.stMasteryHeader{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding-bottom:8px;font-size:11px;font-weight:700}.stMasteryRow{border-bottom:1px solid var(--border);font-size:13px}.stMasteryRow:last-child{border-bottom:none}.stMasterySkill{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.stMiniBar{background:#0000000f;border-radius:4px;width:60px;height:8px;overflow:hidden}.stMiniBarFill{border-radius:4px;height:100%;transition:width .3s}.stSuggestionRow{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.stSuggestionRow:last-child{border-bottom:none}.stTestGrid{grid-template-columns:1.5fr 80px 60px 60px 60px 1fr;align-items:center;gap:8px;padding:8px 4px;display:grid}.stTestHeader{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);padding-bottom:8px;font-size:11px;font-weight:700}.stTestRow{border-bottom:1px solid var(--border);color:inherit;border-radius:6px;font-size:13px;text-decoration:none;transition:background .12s}.stTestRow:hover{background:var(--accent-soft)}.stTestRow:last-child{border-bottom:none}.stTestName{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.stTestBarCell{align-items:center;display:flex}.stSparkline{flex-shrink:0;display:block}.stOverviewCardInner{justify-content:center;align-items:center;gap:10px;display:flex}.stLineChartWrap{width:100%;overflow:hidden}.stLineChart{width:100%;height:auto;display:block}.stChartLabel{fill:var(--muted);font-size:11px;font-family:var(--font)}@media (max-width:768px){.stOverviewRow{grid-template-columns:repeat(2,1fr)}.stTwoCol{grid-template-columns:1fr}.stMasteryGrid{grid-template-columns:1.5fr 1fr 50px 50px 80px;gap:4px;font-size:12px}.stTestGrid{grid-template-columns:1fr 60px 50px 50px 50px}.stTestBarCell{display:none}.stBar{grid-template-columns:100px 1fr 40px}}.errorLogItem{color:inherit;border:1px solid var(--border);border-radius:8px;padding:12px 14px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:block}.errorLogItem:hover{border-color:var(--accent);box-shadow:0 2px 8px #0000000f}.errorLogItemHeader{justify-content:space-between;align-items:center;gap:8px;display:flex}.errorLogBadge{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:13px;font-weight:700;display:inline-flex}.errorLogNotes{background:var(--surface,#00000005);color:var(--fg);white-space:pre-wrap;word-break:break-word;border-radius:6px;margin-top:8px;padding:8px 10px;font-size:13px;line-height:1.5}.tchSidebarTabs{border-bottom:1px solid var(--border);gap:0;display:flex}.tchSidebarTabBtn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 8px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s}.tchSidebarTabBtn.active{color:var(--accent);border-bottom-color:var(--accent)}.tchSidebarTabBtn:hover{color:var(--text)}.tchAssignModal{width:95vw;max-width:820px;max-height:90vh;overflow-y:auto}.tchAssignBody{grid-template-columns:1fr 260px;gap:20px;padding:16px 20px;display:grid}@media (max-width:700px){.tchAssignBody{grid-template-columns:1fr}}.tchAssignFilters{flex-direction:column;gap:10px;display:flex}.tchAssignSection{flex-direction:column;gap:6px;display:flex}.tchAssignChips{flex-wrap:wrap;gap:6px;display:flex}.tchAssignChip{border:1.5px solid var(--border);cursor:pointer;background:0 0;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.tchAssignChip.active{background:var(--accent);border-color:var(--accent);color:#fff}.tchAssignChip.partial{border-color:var(--accent);color:var(--accent)}.tchAssignChip.small{padding:2px 8px;font-size:11px}.tchAssignDomainList{flex-direction:column;gap:8px;display:flex}.tchAssignDomainBlock{flex-direction:column;gap:4px;display:flex}.tchAssignTopicChips{flex-wrap:wrap;gap:4px;padding-left:12px;display:flex}.tchAssignPreview{margin-top:8px}.tchAssignPreviewList{flex-direction:column;gap:3px;max-height:200px;margin-top:4px;display:flex;overflow-y:auto}.tchAssignPreviewItem{align-items:center;gap:8px;padding:3px 0;font-size:12px;display:flex}.tchAssignStudents{flex-direction:column;gap:6px;display:flex}.tchAssignStudentList{flex-direction:column;gap:2px;max-height:350px;display:flex;overflow-y:auto}.tchAssignStudentRow{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:5px 6px;display:flex}.tchAssignStudentRow:hover{background:var(--accent-soft)}.tchAssignStudentRow input[type=checkbox]{accent-color:var(--accent)}.tchAssignCard{padding:0;overflow:hidden}.tchAssignCardHeader{align-items:center;gap:12px;padding:14px 16px;display:flex}.tchAssignCardHeader:hover{background:var(--accent-soft)}.tchAssignDetail{border-top:1px solid var(--border);padding:0 16px 14px}.tchAssignStudentProgress{flex-direction:column;gap:0;margin-top:10px;display:flex}.tchAssignProgressHeader{text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 0;font-size:11px;font-weight:700;display:flex}.tchAssignProgressRow{border-bottom:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;padding:8px 4px;transition:background .1s;display:flex}.tchAssignProgressRow:hover{background:#00000008}.tchAssignProgressRow:last-child{border-bottom:none}.dbAssignmentsCard{margin-top:0}.dbAssignList{flex-direction:column;gap:8px;display:flex}.dbAssignItem{background:var(--bg);color:var(--text);border:1px solid #1118270f;border-radius:0;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;transition:background .15s;display:flex}.dbAssignItem:hover{background:var(--accent-soft)}.dbAssignItemInfo{flex:1;min-width:0}.dbAssignItemTitle{font-size:14px;font-weight:650}.dbAssignItemMeta{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:2px;font-size:12px;display:flex}.dbAssignItemProgress{align-items:center;gap:8px;min-width:100px;display:flex}.dbAssignItemPct{text-align:right;min-width:36px;font-size:16px;font-weight:700}.flashcardSetRow{border:1px solid var(--border);background:var(--surface,#f9fafb);border-radius:0;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.fcChevron{cursor:pointer;color:var(--muted);background:0 0;border:none;flex-shrink:0;padding:4px;font-size:12px;line-height:1;transition:transform .25s;transform:rotate(0)}.fcChevron:hover{color:var(--text)}.fcChevronOpen{transform:rotate(90deg)}.fcSubsetList{border-left:2px solid var(--border);margin-left:24px;padding-left:0}.fcSubsetRow{background:0 0;border-top:none;border-radius:0;padding:10px 14px}.fcSubsetRow+.fcSubsetRow{border-top:1px solid var(--border)}.fcMasteryBar{align-items:center;gap:8px;margin-top:4px;display:flex}.fcMasteryBarSmall{margin-top:3px}.fcMasteryTrack{background:var(--border);border-radius:3px;flex:1;max-width:120px;height:6px;overflow:hidden}.fcMasteryBarSmall .fcMasteryTrack{max-width:90px;height:5px}.fcMasteryFill{border-radius:3px;height:100%;transition:width .3s}.fcMasteryPct{min-width:32px;font-size:12px;font-weight:600}.fcMasteryBarSmall .fcMasteryPct{font-size:11px}.fcFormatBar{border:1px solid var(--border);background:var(--surface,#f9fafb);border-bottom:none;border-radius:4px 4px 0 0;gap:2px;padding:4px 6px;display:flex}.fcFormatBtn{cursor:pointer;color:var(--text);background:0 0;border:1px solid #0000;border-radius:3px;padding:2px 8px;font-size:13px;line-height:1.4}.fcFormatBtn:hover{background:var(--accent-soft);border-color:var(--border)}.fcFormatBtn b{font-weight:800}.fcFormatBtn i{font-style:italic}.fcTextarea{resize:vertical;min-height:80px;font-size:15px;line-height:1.5;border-radius:0 0 4px 4px!important}.fcModalOverlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:24px;animation:.2s fcFadeIn;display:flex;position:fixed;inset:0}@keyframes fcFadeIn{0%{opacity:0}to{opacity:1}}.fcModal{background:var(--card);border-radius:12px;width:100%;max-width:600px;max-height:90vh;padding:28px 32px;animation:.25s fcSlideUp;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}@keyframes fcSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.fcModalClose{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:22px;line-height:1;position:absolute;top:16px;right:16px}.fcModalClose:hover{background:var(--accent-soft);color:var(--text)}.flashcardContainer{flex-direction:column;align-items:center;gap:20px;width:100%;display:flex}.flashcard{perspective:1000px;cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;max-width:540px;min-height:300px}.flashcardInner{width:100%;min-height:300px;transform-style:preserve-3d;transition:transform .5s;position:relative}.flashcard.flipped .flashcardInner{transform:rotateY(180deg)}.flashcardFace{backface-visibility:hidden;text-align:center;background:#fff;border:1px solid #0000000f;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:36px 32px;display:flex;position:absolute;inset:0;box-shadow:0 4px 24px #00000014,0 1px 4px #0000000f}.flashcardFront{background:linear-gradient(135deg,#fff 0%,#f0f4ff 100%)}.flashcardBack{background:linear-gradient(135deg,#fafbff 0%,#f5f0ff 100%);transform:rotateY(180deg)}.flashcardLabel{letter-spacing:.08em;color:var(--muted);font-size:10px;font-weight:700;position:absolute;top:14px;left:18px}.flashcardText{word-break:break-word;max-width:100%;font-size:20px;font-weight:500;line-height:1.55}.flashcardText strong{font-weight:700}.flashcardText em{font-style:italic}.flashcardText ul{text-align:left;margin:6px 0;padding-left:20px}.flashcardText li{margin-bottom:2px}.flashcardHint{position:absolute;bottom:14px}.fcNavRow{justify-content:center;align-items:center;gap:16px;width:100%;max-width:540px;display:flex}.fcNavBtn{border:1px solid var(--border);cursor:pointer;width:44px;height:44px;color:var(--text);background:0 0;border-radius:8px;justify-content:center;align-items:center;font-size:20px;transition:background .15s,border-color .15s;display:flex}.fcNavBtn:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.fcNavBtn:disabled{opacity:.3;cursor:default}.fcNavCounter{color:var(--muted);text-align:center;min-width:60px;font-size:14px;font-weight:600}.flashcardMastery{text-align:center;width:100%;max-width:540px}.flashcardMasteryButtons{justify-content:center;gap:6px;display:flex}.flashcardMasteryBtn{border:2px solid var(--border);cursor:pointer;background:#fff;border-radius:50%;width:44px;height:44px;font-size:16px;font-weight:700;transition:background .15s,color .15s,border-color .15s,transform .15s}.flashcardMasteryBtn:hover{transform:scale(1.1)}.flashcardMasteryBtn.mastery0{color:var(--danger);border-color:var(--danger)}.flashcardMasteryBtn.mastery0:hover,.flashcardMasteryBtn.mastery0.active{background:var(--danger);color:#fff}.flashcardMasteryBtn.mastery1{color:#e67e22;border-color:#e67e22}.flashcardMasteryBtn.mastery1:hover,.flashcardMasteryBtn.mastery1.active{color:#fff;background:#e67e22}.flashcardMasteryBtn.mastery2{color:var(--amber);border-color:var(--amber)}.flashcardMasteryBtn.mastery2:hover,.flashcardMasteryBtn.mastery2.active{background:var(--amber);color:#fff}.flashcardMasteryBtn.mastery3{color:#3498db;border-color:#3498db}.flashcardMasteryBtn.mastery3:hover,.flashcardMasteryBtn.mastery3.active{color:#fff;background:#3498db}.flashcardMasteryBtn.mastery4{color:#2ecc71;border-color:#2ecc71}.flashcardMasteryBtn.mastery4:hover,.flashcardMasteryBtn.mastery4.active{color:#fff;background:#2ecc71}.flashcardMasteryBtn.mastery5{color:var(--success);border-color:var(--success)}.flashcardMasteryBtn.mastery5:hover,.flashcardMasteryBtn.mastery5.active{background:var(--success);color:#fff}.flashcardMasteryLabels{justify-content:space-between;margin-top:6px;padding:0 8px;display:flex}.navBugBtn{color:#dc2626;cursor:pointer;white-space:nowrap;background:#ef44441a;border:1px solid #ef444440;border-radius:6px;padding:4px 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.navBugBtn:hover{background:#ef444433}.bugModalOverlay{z-index:1000;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.bugModal{background:var(--bg-card,#fff);border-radius:12px;width:100%;max-width:480px;overflow:hidden;box-shadow:0 8px 32px #00000040}.bugModalHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.bugModalClose{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:0 4px;font-size:22px;line-height:1}.bugModalClose:hover{color:var(--danger)}.bugModalBody{flex-direction:column;gap:14px;padding:20px;display:flex}.bugModalError{color:#dc2626;background:#ef444414;border-radius:6px;padding:8px 12px;font-size:13px}.bugModalLabel{color:var(--fg);flex-direction:column;gap:4px;font-size:13px;font-weight:500;display:flex}.bugModalInput{border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:6px;padding:8px 10px;font-size:14px}.bugModalTextarea{border:1px solid var(--border);resize:vertical;background:var(--bg);color:var(--fg);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:14px}.bugModalFileRow{align-items:center;gap:12px;display:flex}.bugModalPreview{object-fit:cover;border:1px solid var(--border);border-radius:6px;width:48px;height:48px}.bugListMain{max-width:860px}.bugListHeader{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.bugListFilters{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.bugFilterBtn{background:var(--bg-card,#fff);border:1px solid var(--border);cursor:pointer;color:var(--fg);border-radius:6px;align-items:center;gap:6px;padding:5px 12px;font-size:13px;transition:background .12s;display:flex}.bugFilterBtn:hover{background:#2563eb0d}.bugFilterActive{background:var(--accent);color:#fff;border-color:var(--accent)}.bugFilterActive:hover{background:var(--accent)}.bugFilterCount{background:#00000014;border-radius:10px;padding:1px 6px;font-size:11px;font-weight:600}.bugFilterActive .bugFilterCount{background:#ffffff40}.bugListCards{flex-direction:column;gap:12px;display:flex}.bugCard{padding:16px 20px}.bugCardTop{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.bugCardTitle{margin:0 0 6px;font-size:15px;font-weight:600}.bugCardMeta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.bugStatusBadge{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.bugCardActions{flex-shrink:0;align-items:center;gap:6px;display:flex}.bugStatusSelect{border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;border-radius:5px;padding:3px 8px;font-size:12px}.bugDeleteBtn{color:#dc2626;cursor:pointer;background:0 0;border:1px solid #dc262633;border-radius:5px;padding:2px 7px;font-size:16px;line-height:1}.bugDeleteBtn:hover{background:#dc262614}.bugCardDesc{color:var(--fg);white-space:pre-wrap;margin:0 0 8px;font-size:14px;line-height:1.6}.bugCardImageWrap{margin-top:8px}.bugCardImage{border:1px solid var(--border);cursor:pointer;border-radius:8px;max-width:100%;max-height:300px;transition:opacity .15s}.bugCardImage:hover{opacity:.85}.bugLightbox{z-index:1100;cursor:pointer;background:#000c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.bugLightboxImg{border-radius:8px;max-width:95vw;max-height:90vh;box-shadow:0 4px 32px #00000080}.adminBugGrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.adminBugCard{flex-direction:column;gap:6px;padding:14px 16px;display:flex}.adminBugCardHeader{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.adminBugTitle{font-size:13px;font-weight:600;line-height:1.3}.adminBugStatus{white-space:nowrap;border-radius:4px;flex-shrink:0;padding:1px 7px;font-size:10px;font-weight:600;display:inline-block}.adminBugStatus--open{color:#dc2626;background:#ef44441a}.adminBugStatus--in_progress{color:#b45309;background:#eab3081a}.adminBugStatus--resolved{color:#16a34a;background:#16a34a1a}.adminBugStatus--closed{color:#6b7280;background:#6b72801a}.adminBugDesc{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.adminBugMeta{color:var(--muted);gap:8px;margin-top:auto;font-size:11px;display:flex}.option,.ptrvReviewOption{position:relative}.acTagsWrap{opacity:0;pointer-events:none;z-index:5;align-items:center;gap:6px;transition:opacity .15s;display:flex;position:absolute;top:4px;right:8px}.option:hover .acTagsWrap,.ptrvReviewOption:hover .acTagsWrap,.acTagsWrap.open{opacity:1;pointer-events:auto}.acTagsRow{flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:260px;display:flex}.acTagChip{color:#b91c1c;white-space:nowrap;background:#dc262614;border:1px solid #dc262640;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;line-height:1.3;display:inline-flex}.acTagChipRemove{cursor:pointer;color:#b91c1c;opacity:.7;background:0 0;border:none;padding:0 0 0 2px;font-size:13px;line-height:1}.acTagChipRemove:hover{opacity:1}.acTagAddBtn{color:#11182799;cursor:pointer;white-space:nowrap;background:#1118270a;border:1px dashed #11182740;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500;transition:background .12s,color .12s,border-color .12s}.acTagAddBtn:hover{color:#111827d9;background:#11182714;border-color:#11182773}.acTagPopover{background:var(--card,#fff);border:1px solid var(--border,#e5e7eb);z-index:20;border-radius:8px;width:260px;padding:8px;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 20px #00000026}.acTagSuggestions{border-top:1px solid var(--border,#eee);max-height:180px;padding-top:4px;overflow-y:auto}.acTagSuggestion{text-align:left;cursor:pointer;width:100%;color:var(--text,#333);background:0 0;border:none;border-radius:4px;padding:5px 8px;font-size:13px;display:block}.acTagSuggestion:hover{background:#1118270d}.acTagSuggestionCreate{color:var(--accent,#4f7ce0);font-weight:500}