:root{--fs-1:11.5px;--fs-2:13px;--fs-3:14px;--fs-4:14px;--fs-5:14px;--fs-6:16px;--fs-7:17.5px;--fs-8:17.5px;--fs-title:24px;--row-h:56px;--panel-head-h:60px;--topbar-h:58px;--content-pad:28px;--sidebar-w:230px}.board-who strong em,.coded-doubt,.pill,.simple-log-list small,.streak-week small,.student-card-foot small{font-size:var(--fs-1)}.account-profile dt,.account-section-label,.avatar,.award-body small,.board-count,.board-row .pill,.board-scale small,.board-who small,.breakdown-error-head code,.breakdown-error-head em,.breakdown-error-head span,.breakdown-head small,.breakdown-note,.breakdown-structures code,.breakdown-structures small,.breakdown-structures span,.breakdown-why,.button.compact,.coded-finding-head code,.coded-finding-head em,.coded-finding-head span,.coded-summary,.compact-list small,.computed span,.credential-box span,.danger-zone span,.disk-panel span,.drop-zone span,.finding del,.finding small,.form-message,.input-action button,.insight-error-head code,.insight-error-head small,.insight-level .pill.queued,.insight-projections b i,.insight-structure-list code,.inspector-grid label,.inspector-stats span,.kicker,.ladder-points small,.ladder-steps span,.lesson-date,.lesson-name span,.lesson-status small,.level-event-body small,.level-line-mark small,.level-ring-label i,.login-features small,.logo>span:after,.metric>div span,.mini-provider-list em,.mini-provider-list small,.mode-choice legend,.mode-choice small,.mode-hint,.muted,.page-error button,.publish-preview small,.publish-preview.muted-preview,.retention-panel small,.retention-panel strong,.role-caption,.routing-map span,.score small,.score-control>span,.score-control>strong small,.secret-once,.security-note,.settings-section-head p,.sidebar-user small,.simple-log-list strong,.streak-facts,.student-ahead,.student-attention small,.student-card-open>p,.student-card>p,.student-lesson-list span,.student-level-mark i,.student-open-label,.student-stats span,.student-toolbar>span,.table-user strong,.teacher-comment span,.timezone,.topbar>span,.track-axis,.trash-list small,.upload-progress>div,.upload-task-error,.upload-task-head b,.upload-task-head small,.user-shell .metric p,.user-shell .metric>div span,.user-shell .page-category,.user-shell .panel-head .kicker,.user-shell .sidebar-section>small,.word-list p,.word-list span{font-size:var(--fs-2)}.access-summary p,.account-profile dd,.account-profile p,.ai-comment p,.ai-comment strong,.attention-filter,.back-button,.board-note,.board-periods button,.board-switch button small,.breakdown-fix,.breakdown-head b,.breakdown-head strong,.center-text,.compact-list strong,.credential-box strong,.danger-zone strong,.demo-cases button,.demo-note,.disk-panel b,.disk-panel strong,.drop-zone strong,.empty p,.empty-copy p,.error-box,.finding strong,.forecast-text.muted,.form-stack label,.info-box,.insight-categories span,.insight-error-example,.insight-figure small,.insight-figure>strong i,.insight-note,.insight-projections span,.insight-risk small,.insight-risk-go,.insight-structure-list small,.insight-structure-list strong,.insight-structure-tabs b,.insight-structure-tabs button,.insight-track-legend,.insight-window button,.inspector-grid textarea,.ladder-note,.level-card-body p,.level-event-body strong,.level-line-foot,.level-line-foot .text-button,.level-ring-label span,.login-badge,.login-box label,.login-box-label,.login-features article>b,.login-intro>small,.login-message>.kicker,.metric p,.mini-provider-list strong,.mode-choice strong,.page-error,.password-card label,.profile-card p,.publish-preview p,.review-main>label,.review-side>label,.routing-map strong,.sidebar-user strong,.streak-next,.student-attention strong,.student-lesson-list strong,.student-view-toggle small,.teacher-comment p,.text-button,.trash-list strong,.upload-form>label,.upload-task-head strong,.user-shell .topbar-context span{font-size:var(--fs-3)}.access-summary strong,.board-level,.board-loading,.board-place,.board-who strong,.button,.forecast-text,.insight-error-head b,.insight-error-head strong,.insight-projections b,.insight-risk strong,.insight-structure-list b,.lesson-name strong,.lesson-points,.level-event-head b,.level-line-top,.login-box>p,.login-features strong,.logout,.page-title p,.profile-tabs button,.review-main textarea,.review-section-head h3,.sidebar nav button,.student-level-mark,.student-view-toggle strong,.user-shell .page-title p,.user-shell .sidebar-section>span,.user-shell .topbar-context strong{font-size:var(--fs-4)}input,select,textarea,body{font-size:var(--fs-5)}.brand-logo-link{border-radius:8px;display:inline-flex}.brand-logo-link:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.user-shell .content{padding-top:28px}.user-shell .page-title{margin-bottom:22px}.user-shell .page-title h1{font-size:var(--fs-title);letter-spacing:-.01em;font-weight:700;line-height:1.25}.user-shell .page-title p{max-width:760px;font-size:var(--fs-5);line-height:1.55}.user-shell .page-category,.user-shell .page-title .kicker{display:none}.user-shell .panel-head .kicker{color:var(--faint);font-size:var(--fs-2);margin-bottom:4px;font-weight:600;display:block}.user-shell .panel-head h2{font-size:var(--fs-8);letter-spacing:-.02em}.user-shell .sidebar-section>span{font-size:var(--fs-3)}.user-shell .sidebar nav button,.user-shell .logout{font-size:var(--fs-4)}.board-switch button{padding:14px 18px}.board-switch button strong{font-size:var(--fs-6)}.board-intro{color:var(--ink);font-size:var(--fs-4);margin:0 0 18px;line-height:1.55}.board-periods button{font-size:var(--fs-4);padding:10px 16px}.board-note{font-size:var(--fs-4)}.board-head-note{color:var(--muted);font-size:var(--fs-3);margin:4px 0 0}.board-who strong{font-size:var(--fs-5)}.board-who small{font-size:var(--fs-3)}.board-place{font-size:var(--fs-4)}.board-count{font-size:var(--fs-3)}.board-points{font-size:var(--fs-6)}.board-panel .empty,.user-shell .board-panel .empty{text-align:center;flex-direction:column;align-items:center;gap:10px;min-height:0;padding:32px 24px;display:flex}.board-panel .empty h3{font-size:var(--fs-7);margin:6px 0 0}.board-panel .empty p{font-size:var(--fs-4);margin:0}.user-shell .kicker,.modal .kicker,.user-shell .metric>div span{font-family:inherit;font-size:var(--fs-3);letter-spacing:0;text-transform:none;font-weight:600}.account-section-label,.level-line-mark small,.login-box-label{letter-spacing:0;text-transform:none}.user-shell .page-title h1{font-size:var(--fs-title)}.user-shell .panel-head{min-height:var(--panel-head-h)}.user-shell .topbar{height:var(--topbar-h)}.user-shell .content{padding:calc(var(--content-pad) - 6px) var(--content-pad) 60px}.user-shell .lesson-row{min-height:var(--row-h);grid-template-columns:38px minmax(170px,1.2fr) 180px 92px minmax(140px,.72fr) auto}.user-shell .metric{padding:calc(var(--content-pad) * .55)}.user-shell .metric>strong{margin-top:calc(var(--content-pad) * .45)}.user-shell .student-grid{gap:calc(var(--content-pad) * .5);padding:calc(var(--content-pad) * .6)}.user-shell .student-card{padding:calc(var(--content-pad) * .62)}.user-shell .student-card h3{margin:calc(var(--content-pad) * .34) 0 3px;font-size:var(--fs-5)}.user-shell .student-stats{margin:calc(var(--content-pad) * .42) 0;padding:calc(var(--content-pad) * .34) 0}.user-shell .student-stats strong{font-size:var(--fs-7)}.user-shell .avatar{width:calc(var(--fs-5) * 2.1);height:calc(var(--fs-5) * 2.1)}.user-shell .avatar.large{width:calc(var(--fs-5) * 2.8);height:calc(var(--fs-5) * 2.8)}.user-shell .panel-head{padding:calc(var(--content-pad) * .4) calc(var(--content-pad) * .6)}.user-shell .sidebar nav button{min-height:calc(var(--fs-5) * 2.4)}.user-shell{--sidebar:var(--sidebar-w)}.user-shell .sidebar{width:var(--sidebar-w)}.user-shell .sidebar-logo{height:var(--topbar-h)}.user-shell .board-switch{border-radius:var(--radius-control);background:var(--surface-muted);border:0;gap:4px;margin-bottom:12px;padding:4px;display:inline-flex}.user-shell .board-switch button{background:0 0;border:0;border-radius:8px;gap:8px;padding:9px 14px}.user-shell .board-switch button svg{width:17px;height:17px}.user-shell .board-switch button strong{font-size:var(--fs-3)}.user-shell .board-switch button.active{background:var(--surface);box-shadow:var(--shadow-card)}.user-shell .board-switch button.active strong,.user-shell .board-switch button.active svg{color:var(--ink)}.user-shell .board-intro{margin-bottom:14px}.user-shell .password-card form{max-width:420px}[data-theme=dark] .user-shell .board-switch button.active strong,[data-theme=dark] .user-shell .board-switch button.active svg{color:var(--ink)}.user-shell .panel,.user-shell .metric,.user-shell .student-card,.user-shell .modal{border-radius:var(--radius-card)}.user-shell .button,.user-shell .icon-button,.user-shell input,.user-shell select,.user-shell textarea{border-radius:var(--radius-control)}.user-shell .pill{border-radius:999px}.user-shell .modal select,.user-shell .modal input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=file]){min-height:40px}.user-shell .modal select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237e8aa3' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:14px 14px;padding-right:34px}.user-shell .text-button{padding-block:6px}.user-shell .text-button:after{bottom:2px}.user-shell .teacher-comment span,.user-shell .score,.user-shell .word-list span{letter-spacing:0;font-family:inherit}.user-shell .teacher-comment span{color:var(--faint);font-size:var(--fs-2);font-weight:600}.user-shell .word-list{gap:8px;padding:16px 20px 20px}.user-shell .word-list span{border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent-strong);font-size:var(--fs-3);border:0;padding:5px 12px;font-weight:500}.user-shell .score{letter-spacing:-.02em;font-size:26px;font-weight:800}.user-shell .score.small{font-size:var(--fs-6);font-weight:700}.user-shell .status-icon{border-radius:var(--radius-card-sm)}@media (max-width:1080px){.user-shell .lessons-panel{overflow-x:visible}.user-shell .lesson-list{min-width:0}.user-shell .lesson-row{grid-template-columns:36px minmax(0,1fr);grid-template-areas:"icon name""date date""status status""result actions";row-gap:8px;padding:14px}.user-shell .lesson-row .status-icon{grid-area:icon}.user-shell .lesson-row .lesson-name{grid-area:name}.user-shell .lesson-row .lesson-date{color:var(--faint);grid-area:date}.user-shell .lesson-row .lesson-status{flex-flow:wrap;grid-area:status;align-items:center;gap:10px}.user-shell .lesson-row .lesson-result{grid-area:result;align-self:center}.user-shell .lesson-row .row-actions{grid-area:actions;justify-content:flex-end}.user-shell .lesson-row .row-actions .button{min-height:38px}}@media (max-width:760px){.user-shell .student-lesson-list>button{grid-template-columns:34px minmax(0,1fr) auto;gap:10px;padding:12px 14px}}.user-shell .student-toolbar{flex-wrap:wrap;gap:10px}.user-shell .student-toolbar label{flex:220px;width:auto}.user-shell .student-toolbar>span,.user-shell .attention-filter{white-space:nowrap;flex:none}.user-shell .student-stats strong{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-family:inherit}@media (max-width:760px){.coded-finding{flex-wrap:wrap;gap:9px;padding:12px}.coded-finding-body{flex:100%;order:1}.coded-actions{flex:none;order:2;margin-left:auto}.coded-finding-head{gap:6px}.coded-finding-head span{flex:100%}.finding{grid-template-columns:20px minmax(0,1fr)}.user-shell .board-periods{scrollbar-width:none;width:100%;padding:4px;overflow-x:auto}.user-shell .board-periods::-webkit-scrollbar{display:none}.user-shell .board-periods button{white-space:nowrap;flex:none}.user-shell .board-switch{width:100%}.user-shell .board-panel .panel-head{flex-wrap:wrap;gap:6px}.user-shell .board-count{white-space:nowrap}}.user-shell .lessons-head{justify-content:space-between;align-items:center;gap:12px;margin:22px 2px 12px;display:flex}.user-shell .lessons-head h2{font-size:var(--fs-8);margin:0;font-weight:700}.user-shell .lesson-day{border-bottom:1px solid var(--line);background:var(--surface-muted);color:var(--muted);font-size:var(--fs-3);justify-content:space-between;align-items:center;gap:10px;padding:8px 22px;font-weight:600;display:flex}.user-shell .lesson-day b{color:var(--faint);font-weight:600}.user-shell .lesson-day-group:first-child .lesson-day{border-top:0}@media (max-width:760px){.practice-strip{grid-template-columns:1fr 1fr;padding:0}.practice-strip-cell{padding:10px 14px}.practice-strip-cell:nth-child(3){border-left:0;border-top:1px solid var(--line-soft);grid-column:1/-1}.practice-strip-value{font-size:var(--fs-6)}.practice-strip-levels{padding:4px 14px 14px}.user-shell .practice-tabs{scrollbar-width:none;width:100%;overflow-x:auto}.practice-row{grid-template-columns:36px minmax(0,1fr) 14px;gap:10px;padding:11px 14px}.practice-row .practice-avatar{width:36px;height:36px}.practice-row-side{flex-wrap:wrap;grid-area:2/2}.practice-row-main small{white-space:normal}.practice-row-go{grid-area:1/3/span 2}.practice-history-row{padding:10px 14px}.practice-empty{padding:18px 16px}.practice-sheet-backdrop{place-items:end stretch;padding:0}.practice-sheet{border-bottom:0;border-radius:20px 20px 0 0;width:100%;max-height:92dvh;animation:.24s cubic-bezier(.2,.8,.2,1) practice-sheet-up}.practice-sheet-grabber{z-index:1;background:var(--surface);touch-action:none;cursor:grab;justify-content:center;padding:8px 0 6px;display:flex;position:sticky;top:0}.practice-sheet-grabber i{background:var(--color-border-strong);border-radius:3px;width:40px;height:5px}.practice-sheet-body{padding:4px 16px calc(16px + env(safe-area-inset-bottom))}.practice-roles{grid-template-columns:1fr}.practice-sheet-actions{z-index:1;border-top:1px solid var(--line-soft);background:var(--surface);padding:10px 16px calc(12px + env(safe-area-inset-bottom));flex-direction:row-reverse;margin:14px -16px 0;position:sticky;bottom:0}.practice-sheet-actions .button.secondary{flex:none;width:auto}.practice-sheet-actions .button{flex:1;min-height:46px}.practice-mode{width:100%}.practice-mode button{flex:1;justify-content:center}.practice-room{border-radius:var(--radius-card-sm);height:calc(100dvh - 176px);min-height:460px}.practice-chips{padding:7px 10px}.practice-chips-row button{max-width:190px}.practice-input{grid-template-columns:minmax(0,1fr) 42px 42px;padding-left:12px}.practice-mic,.practice-send{width:42px;height:42px}.practice-tool-label{display:none}.practice-tools .practice-tool:has(.practice-tool-label){padding:7px 9px}.practice-room-head{grid-template-columns:36px minmax(0,1fr) auto;gap:10px;padding:10px 12px}.practice-room-head .practice-avatar{width:36px;height:36px}.practice-room-progress i{width:72px}.practice-messages{padding:12px}.practice-bubble{max-width:90%}.practice-line{max-width:92%}.practice-composer{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.practice-tool{padding:7px 6px}.practice-result{padding:18px 16px}.practice-result-head{text-align:center;grid-template-columns:1fr;justify-items:center;gap:14px}.practice-result-points,.practice-result-actions{justify-content:center}.practice-result-actions .button{flex:1}.practice-teacher-body{padding:0 10px 10px}}@keyframes practice-sheet-up{0%{transform:translateY(100%)}}
