:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fffaf7;--surface:#fff;--surface-soft:#fff3f6;--text:#362f33;--muted:#6f5d65;--accent:#9f244e;--accent-contrast:#fff;--accent-hover:#7f193d;--accent-soft:#f9e4eb;--success:#17613e;--success-border:#397a5a;--success-soft:#e3f4ea;--danger:#8b2f50;--backdrop:#241d2094;--border:#8f7b83;--radius-card:16px;--radius-input:12px;--radius-pill:999px;--shadow-card:none}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171517;--surface:#242124;--surface-soft:#30262a;--text:#f8f0f3;--muted:#c5b7bd;--accent:#f3aac1;--accent-contrast:#32121d;--accent-hover:#ffd0df;--accent-soft:#593543;--success:#9adbb4;--success-border:#6bc58d;--success-soft:#253d30;--danger:#ffb4ca;--backdrop:#050405b8;--border:#827179;--shadow-card:none}*{box-sizing:border-box}html{background:var(--bg);min-width:0;min-height:100%;overflow-x:clip}body{background:var(--bg);min-width:0;min-height:100dvh;color:var(--text);margin:0;font-family:ui-sans-serif,system-ui,PingFang SC,Microsoft YaHei,sans-serif;font-size:16px;overflow-x:clip}img,svg,video,canvas{max-width:100%}button,input,select,textarea{font:inherit}button,a{min-height:44px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.68}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.bootstrap-state{text-align:center;place-items:center;min-height:100dvh;padding:24px;display:grid}.bootstrap-state p{margin:0 0 16px}.app-shell{min-height:100dvh;padding-bottom:84px}.pwa-update-banner{z-index:25;top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));left:max(10px, env(safe-area-inset-left));border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);width:min(100% - 20px,620px);min-height:60px;color:var(--text);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-inline:auto;padding:8px 9px 8px 12px;display:grid;position:fixed}.pwa-update-mark{background:var(--accent-soft);width:32px;height:32px;color:var(--accent);border-radius:50%;place-items:center;font-size:20px;font-weight:800;display:grid}.pwa-update-banner div{gap:2px;min-width:0;display:grid}.pwa-update-banner div span{color:var(--muted);font-size:12px}.pwa-update-banner button{border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent);min-height:44px;color:var(--accent-contrast);padding-inline:14px;font-weight:800}.pwa-update-banner button:disabled{border-color:var(--border);background:var(--surface-soft);color:var(--muted)}.app-shell nav{z-index:10;right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));left:max(12px, env(safe-area-inset-left));border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);min-height:60px;box-shadow:var(--shadow-card);align-items:center;padding:6px;display:flex;position:fixed}.app-shell nav strong{display:none}.nav-items{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:4px;width:100%;display:grid}.app-shell nav a{border-radius:var(--radius-input);min-width:0;color:var(--muted);place-items:center;padding:0 8px;font-size:14px;font-weight:650;text-decoration:none;transition:background-color .16s,color .16s,transform .16s;display:grid}.app-shell nav a.active{background:var(--accent-soft);color:var(--accent)}.app-shell nav a:active,.primary-button:active,.secondary-button:active{transform:scale(.98)}.page{width:min(100%,780px);margin:0 auto;padding:24px 18px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.study-page{width:100%}.page-header{margin-bottom:26px}.page-context{color:var(--accent);margin:0 0 7px;font-size:14px;font-weight:750;line-height:1.4}.page-header h1{letter-spacing:-.045em;margin:0;font-size:clamp(2rem,8vw,3.25rem);line-height:1.08}.section-heading{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px;display:flex}.section-heading h2,.settings-section h2{letter-spacing:-.02em;margin:0;font-size:18px}.section-heading span{color:var(--muted);font-size:13px}.progress-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);gap:11px;padding:19px;display:grid}.progress-card span{color:var(--muted);font-size:14px;font-weight:650}.progress-card strong{letter-spacing:-.035em;font-size:clamp(1.45rem,7vw,2rem)}.progress-card progress{border-radius:var(--radius-pill);background:var(--accent-soft);width:100%;height:9px;accent-color:var(--accent);border:0;overflow:hidden}.progress-card progress::-webkit-progress-bar{border-radius:var(--radius-pill);background:var(--accent-soft)}.progress-card progress::-webkit-progress-value{border-radius:var(--radius-pill);background:var(--accent)}.progress-card progress::-moz-progress-bar{border-radius:var(--radius-pill);background:var(--accent)}.today-progress-card{gap:13px;min-width:0}.today-progress-metrics{min-width:0;margin:0;display:grid}.today-progress-metrics>div{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:12px;padding:10px 0;display:grid}.today-progress-metrics>div+div{border-top:1px solid color-mix(in srgb, var(--border) 58%, transparent)}.today-progress-metrics dt{min-width:0;color:var(--muted);font-size:13px;font-weight:650}.today-progress-metrics dd{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;margin:0;font-size:clamp(1rem,5vw,1.25rem);font-weight:800}.task-section{margin-top:30px}.task-list{border-top:1px solid var(--border)}.task-row{border-bottom:1px solid color-mix(in srgb, var(--border) 58%, transparent);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:76px;padding:14px 0;display:grid}.task-row>div{min-width:0}.task-row strong{line-height:1.45;display:block}.task-row p{color:var(--muted);margin:4px 0 0;font-size:13px;line-height:1.45}.task-action{border-radius:var(--radius-pill);background:var(--accent);min-width:66px;min-height:44px;color:var(--accent-contrast);white-space:nowrap;border:0;justify-content:center;align-items:center;padding:0 16px;font-weight:750;text-decoration:none;transition:background-color .16s,transform .16s;display:inline-flex}.task-action--disabled{background:var(--surface-soft);max-width:150px;color:var(--muted);text-align:center;white-space:normal;font-size:12px}.task-action:hover{background:var(--accent-hover)}.task-action:active{transform:scale(.98)}.auth-page{background:var(--surface);min-height:100dvh;display:grid}.auth-brand{background:var(--accent-soft);align-content:center;min-height:310px;padding:38px 24px;display:grid;position:relative;overflow:hidden}.auth-brand:before,.auth-brand:after{content:"";border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);border-radius:50%;position:absolute}.auth-brand:before{width:240px;height:240px;top:-90px;right:-60px}.auth-brand:after{width:170px;height:170px;bottom:-86px;right:110px}.auth-mark{z-index:1;border:2px solid var(--accent);background:var(--surface);width:54px;height:54px;color:var(--accent);border-radius:18px;place-items:center;margin-bottom:28px;font-size:24px;font-weight:900;display:grid;position:relative;transform:rotate(-4deg)}.auth-brand>*{z-index:1;position:relative}.auth-brand h1{letter-spacing:-.065em;max-width:12ch;margin:0;font-size:clamp(2.4rem,10vw,4.8rem);line-height:1.02}.auth-brand>p:not(.page-context){max-width:40ch;color:var(--muted);margin:20px 0 0;line-height:1.7}.auth-focus-list{flex-wrap:wrap;gap:8px;margin-top:26px;display:flex}.auth-focus-list span{border:1px solid color-mix(in srgb, var(--accent) 50%, var(--border));border-radius:var(--radius-pill);background:var(--surface);min-height:30px;color:var(--accent);padding:5px 11px;font-size:12px;font-weight:750}.auth-card{width:min(100%,480px);padding:34px 22px max(42px, env(safe-area-inset-bottom));margin:0 auto}.auth-tabs{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-soft);grid-template-columns:repeat(2,1fr);gap:5px;margin-bottom:34px;padding:4px;display:grid}.auth-tabs button{border-radius:var(--radius-pill);color:var(--muted);background:0 0;border:0;font-weight:800}.auth-tabs button[aria-selected=true]{background:var(--accent);color:var(--accent-contrast)}.auth-card h2{letter-spacing:-.045em;margin:0;font-size:30px}.auth-card-intro{color:var(--muted);margin:8px 0 25px}.auth-card form{gap:9px;display:grid}.auth-card form label{margin-top:8px;font-size:13px;font-weight:800}.auth-card form input{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);width:100%;min-height:50px;color:var(--text);padding:0 14px;font-size:16px}.auth-submit{width:100%;min-height:50px;margin-top:15px}.auth-privacy{color:var(--muted);text-align:center;margin:20px 0 0;font-size:12px;line-height:1.6}.account-load-error{gap:10px}.account-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.account-heading .page-context{margin-bottom:2px}.account-role{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);flex:none;padding:5px 9px;font-size:11px;font-weight:800}.sync-detail{align-items:flex-start;gap:8px;display:flex}.sync-detail>span{background:var(--success);border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}.sync-detail--syncing>span{background:var(--accent)}.sync-detail--offline>span,.sync-detail--conflict>span{background:var(--danger)}.account-actions{flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.text-button{min-height:44px;color:var(--accent);background:0 0;border:0;padding:0 5px;font-weight:750}.admin-page .page-header>p:last-child{max-width:48ch;color:var(--muted);margin:12px 0 0;line-height:1.6}.admin-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:28px;display:grid}.admin-summary>div{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-soft);gap:6px;padding:15px;display:grid}.admin-summary span{color:var(--muted);font-size:12px}.admin-summary strong{font-variant-numeric:tabular-nums;font-size:25px}.admin-user-list{gap:10px;display:grid}.admin-user-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;gap:13px;padding:17px;display:grid}.admin-user-main,.admin-user-meta{gap:5px;display:grid}.admin-user-main span,.admin-user-meta{color:var(--muted);font-size:12px}.admin-user-meta{justify-items:end}.admin-user-actions{border-top:1px solid color-mix(in srgb, var(--border) 55%, transparent);flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:8px;padding-top:12px;display:flex}.empty-state{border-top:1px solid var(--border);padding:24px 0}.empty-state strong{font-size:17px;display:block}.empty-state p{max-width:42ch;color:var(--muted);margin:7px 0 0;line-height:1.65}.review-empty{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-soft);max-width:560px;margin-top:48px;padding:26px 22px}.week-list{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);overflow:hidden}.plan-day{padding:19px 18px 17px}.plan-day+.plan-day{border-top:1px solid color-mix(in srgb, var(--border) 58%, transparent)}.plan-day>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.plan-day h2{letter-spacing:-.02em;margin:0;font-size:17px}.plan-day header p{color:var(--muted);margin:5px 0 0;font-size:13px}.plan-task-list{gap:0;margin:14px 0 0;padding:0;list-style:none;display:grid}.plan-task-list li{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:14px;padding:7px 0;line-height:1.45;display:grid}.plan-task-list small{color:var(--muted);white-space:nowrap;font-size:12px}.plan-header{gap:18px;display:grid}.plan-view-switch{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-soft);grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid}.plan-view-switch button{border-radius:var(--radius-pill);min-height:44px;color:var(--muted);background:0 0;border:0;padding:0 12px;font-weight:750}.plan-view-switch button[aria-pressed=true]{background:var(--accent);color:var(--accent-contrast)}.plan-task-list li:has(.plan-edit-button){grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.plan-task-copy{flex-wrap:wrap;align-items:center;gap:5px 8px;min-width:0;display:flex}.plan-task-copy>span{min-width:0}.manual-badge{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));border-radius:var(--radius-pill);background:var(--accent-soft);width:fit-content;min-height:24px;color:var(--accent);white-space:nowrap;align-items:center;margin-left:8px;padding:2px 8px;font-size:11px;font-style:normal;font-weight:750;display:inline-flex}.plan-edit-button{min-width:44px;color:var(--accent)}.month-plan>h2{margin:0 0 14px;font-size:18px}.month-grid{table-layout:fixed;border-collapse:separate;border-spacing:4px;width:100%}.month-weekday{color:var(--muted);text-align:center;padding:7px 0;font-size:12px;font-weight:700}.month-cell,.month-spacer{vertical-align:top;min-width:0;height:74px}.month-cell{border:1px solid color-mix(in srgb, var(--border) 55%, transparent);background:var(--surface);text-align:left;border-radius:10px;padding:7px 5px}.month-cell>span,.month-cell small,.month-cell strong{display:block}.month-cell>span{font-size:13px;font-weight:800}.month-cell small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;overflow:hidden}.month-cell strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:13px}.month-cell strong i{margin-left:1px;font-size:9px;font-style:normal;font-weight:650}.month-cell:not(.has-plan){background:0 0;border-color:#0000}.month-legend{color:var(--muted);flex-wrap:wrap;gap:8px 14px;margin:14px 2px 0;font-size:12px;display:flex}.month-legend span:before{background:var(--accent-soft);content:"";border-radius:50%;width:7px;height:7px;margin-right:6px;display:inline-block}.phase-list{border-top:1px solid var(--border)}.phase-row{border-bottom:1px solid var(--border);padding:20px 2px}.phase-row>header{align-items:center;gap:9px;display:flex}.phase-row>header span{color:var(--accent)}.phase-row h2{margin:0;font-size:19px}.phase-row>p{color:var(--muted);margin:7px 0 0;font-size:13px}.phase-row dl{border-top:1px solid color-mix(in srgb, var(--border) 55%, transparent);grid-template-columns:repeat(2,minmax(0,1fr));margin:16px 0 0;display:grid}.phase-row dl>div{min-width:0;padding:12px 8px 8px 0}.phase-row dt{color:var(--muted);font-size:12px}.phase-row dd{margin:4px 0 0;font-size:14px;font-weight:750}.dialog-backdrop{z-index:30;background:var(--backdrop);align-items:end;padding:8px;display:grid;position:fixed;inset:0}.task-dialog{border:1px solid var(--border);border-radius:var(--radius-card) var(--radius-card) 12px 12px;background:var(--surface);width:min(100%,580px);max-height:calc(100dvh - 16px);color:var(--text);margin:0 auto;padding:20px;overflow:auto}.task-dialog>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.task-dialog h2{margin:0;font-size:22px}.task-dialog header p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.5}.dialog-close{min-width:44px;color:var(--accent);flex:none}.task-dialog form{gap:14px;display:grid}.task-dialog label{color:var(--muted);gap:7px;font-size:13px;font-weight:750;display:grid}.task-dialog input{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);width:100%;min-height:48px;color:var(--text);padding:0 13px;font-size:16px}.dialog-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.changed-total{border-radius:var(--radius-input);background:var(--accent-soft);color:var(--accent);margin:0;padding:12px 14px;font-weight:750}.dialog-actions{grid-template-columns:1fr 1.3fr;gap:10px;display:grid}.adjust-task-list{border-top:1px solid var(--border);gap:0;margin:0;padding:0;list-style:none;display:grid}.adjust-task-list li{border-bottom:1px solid color-mix(in srgb, var(--border) 55%, transparent);gap:9px;padding:13px 0;display:grid}.adjust-task-copy{min-width:0}.adjust-task-copy strong{line-height:1.45;display:block}.adjust-task-copy span,.protected-note{color:var(--muted);font-size:12px}.adjust-task-actions{grid-template-columns:44px 44px minmax(84px,1fr);gap:8px;display:grid}.adjust-task-actions button{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface-soft);min-width:44px;min-height:44px;color:var(--text);font-weight:800}.adjust-task-actions .reduce-button{color:var(--accent)}.custom-task-form{border-top:1px solid var(--border);margin-top:18px;padding-top:18px}.custom-task-form h3{margin:0;font-size:16px}.dialog-error{border-radius:var(--radius-input);background:var(--accent-soft);justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding:12px;display:flex}.dialog-error p{margin:0;font-weight:650}.adjust-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;padding-top:12px;display:flex}.adjust-footer .text-button{color:var(--accent)}.adjust-footer small{max-width:22ch;color:var(--muted);text-align:right}.today-section-actions{align-items:center;gap:10px;display:flex}.settings-section{border-top:1px solid var(--border);padding-top:19px}.settings-background{display:contents}.settings-plan-editor,.settings-side-column,.settings-plan-editor form,.settings-weights{min-width:0}.settings-help,.settings-tool-card p{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.55}.settings-plan-editor form{gap:20px;margin-top:18px;display:grid}.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.settings-form-grid label{min-width:0;color:var(--text);gap:7px;font-size:13px;font-weight:700;display:grid}.settings-form-grid input,.settings-form-grid select{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);width:100%;min-width:0;min-height:48px;color:var(--text);padding:0 12px;font-size:16px}.settings-weights{border:0;border-top:1px solid var(--border);gap:12px;margin:0;padding:18px 0 0;display:grid}.settings-weights legend{color:var(--text);padding:0;font-size:16px;font-weight:800}.quantity-lock-row{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface-soft);justify-content:space-between;align-items:center;gap:12px;min-width:0;min-height:48px;padding:0 12px;font-size:13px;font-weight:700;display:flex}.quantity-lock-row strong{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);flex:none;padding:6px 10px}.settings-preview-button{width:100%}.settings-status{border-radius:var(--radius-input);background:var(--surface-soft);color:var(--text);margin:0;padding:12px 14px;font-weight:700}.settings-side-column{gap:18px;margin-top:30px;display:grid}.settings-tool-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-soft);gap:15px;padding:20px;display:grid}.settings-tool-card button,.settings-tool-card a{justify-self:start;max-width:100%}.appearance-install-panel{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-soft);grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:30px;padding:20px;display:grid}.appearance-copy{min-width:0}.appearance-copy .page-context{margin:0 0 5px}.appearance-copy h2{font-size:20px}.appearance-copy>p:last-child{color:var(--muted);margin:7px 0 0;font-size:14px;line-height:1.55}.theme-segments{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:5px;display:grid}.theme-segments button{border-radius:calc(var(--radius-input) - 5px);min-width:0;min-height:44px;color:var(--muted);font:inherit;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:7px 9px;font-size:13px;font-weight:750;display:flex}.theme-segments button[aria-pressed=true]{background:var(--accent);color:var(--accent-contrast)}.install-app-button{width:100%}.appearance-status{grid-column:1/-1;margin:0}.install-guide-dialog{width:min(100%,520px)}.install-guide-dialog h2{margin:3px 0 0}.install-steps{gap:13px;margin:22px 0;padding:0;list-style:none;display:grid}.install-steps li{grid-template-columns:32px minmax(0,1fr);align-items:start;gap:10px;line-height:1.55;display:grid}.install-steps strong{background:var(--accent);width:30px;height:30px;color:var(--accent-contrast);border-radius:50%;place-items:center;display:grid}.install-guide-copy,.install-note{color:var(--muted);line-height:1.6}.install-note{border-top:1px solid var(--border);padding-top:14px;font-size:13px}.backup-panel>[data-testid=backup-background]{gap:15px;min-width:0;display:grid}.backup-actions{grid-template-columns:1fr;gap:10px;display:grid}.backup-actions>*{width:100%}.backup-file-button{justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.backup-file-button input{opacity:0;width:1px;height:1px;position:absolute}.backup-summary{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);gap:7px;min-width:0;padding:14px;display:grid}.backup-summary strong,.backup-summary span{overflow-wrap:anywhere;min-width:0}.backup-summary span{color:var(--muted);font-size:13px;line-height:1.5}.backup-summary .primary-button{width:100%;margin-top:7px}.backup-warning{border-left:3px solid var(--accent);margin:2px 0 0;padding-left:10px}.backup-danger-zone{border-top:1px solid var(--border);gap:10px;margin-top:2px;padding-top:16px;display:grid}.backup-danger-zone h3{margin:0;font-size:15px}.backup-danger-zone p{margin:0}.danger-button{border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--surface);min-height:48px;color:var(--accent);padding:0 18px;font-weight:800}.danger-button:hover:not(:disabled){background:var(--accent-soft)}.backup-confirm-dialog{overscroll-behavior:contain;gap:18px;width:min(100%,520px);display:grid}.backup-confirm-dialog>header{margin:0;display:block}.backup-clear-label{color:var(--text);gap:8px;font-size:14px;font-weight:700;display:grid}.backup-clear-label strong{color:var(--accent)}.backup-dialog-backdrop{overflow:hidden}.settings-preview-dialog{width:min(100%,680px)}.settings-diff-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.settings-diff-list>li{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface-soft);min-width:0;padding:13px}.settings-diff-heading,.settings-module-diffs>div{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;display:flex}.settings-diff-heading span,.settings-module-diffs span:last-child{font-variant-numeric:tabular-nums;flex:none}.settings-diff-list p{color:var(--muted);margin:8px 0 0;font-size:13px}.settings-module-diffs{color:var(--muted);gap:6px;margin-top:10px;font-size:13px;display:grid}.settings-dialog-actions{margin-top:18px}.settings-list{margin:16px 0 0}.settings-list>div{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:20px;padding:14px 0;display:grid}.settings-list>div+div{border-top:1px solid color-mix(in srgb, var(--border) 52%, transparent)}.settings-list dt{color:var(--muted)}.settings-list dd{text-align:right;margin:0;font-weight:750}.future-settings{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-soft);gap:18px;margin-top:38px;padding:22px;display:grid}.future-settings p{color:var(--muted);margin:7px 0 0;font-size:14px;line-height:1.55}.future-settings button{justify-self:start}.page-skeleton{gap:14px;display:grid}.skeleton-line,.skeleton-card,.skeleton-row{background:color-mix(in srgb, var(--border) 22%, var(--surface))}.skeleton-line{border-radius:var(--radius-input);height:16px}.skeleton-context{width:38%;max-width:160px}.skeleton-title{width:54%;max-width:260px;height:42px;margin-bottom:8px}.skeleton-card{border:1px solid color-mix(in srgb, var(--border) 45%, transparent);border-radius:var(--radius-card);height:126px}.skeleton-row{border-radius:var(--radius-input);height:72px}.load-error{justify-items:start;gap:16px;padding-top:24px;display:grid}.load-error p{color:var(--text);margin:0;font-weight:650}.onboarding{width:min(100% - 32px,560px);min-height:100dvh;margin:0 auto;padding:32px 0 48px}.onboarding-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);padding:28px 20px}.onboarding-kicker{color:var(--accent);margin:0 0 8px;font-size:14px;font-weight:700}.onboarding h1{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,8vw,3rem)}.onboarding-intro{color:var(--muted);margin:10px 0 28px;line-height:1.65}.onboarding form{gap:22px;display:grid}.form-section{border:0;gap:8px;margin:0;padding:0;display:grid}.form-section h2,.form-section legend{color:var(--text);margin:0 0 4px;font-size:17px;font-weight:750}.onboarding label{color:var(--text);gap:8px;font-size:14px;font-weight:650;display:grid}.onboarding input,.onboarding select{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);width:100%;min-height:48px;color:var(--text);padding:0 14px}.onboarding input:focus,.onboarding select:focus{border-color:var(--accent)}.field-hint{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:6px;display:grid}.onboarding .checkbox-label{border:1px solid var(--border);border-radius:var(--radius-input);align-items:center;gap:8px;min-height:44px;padding:8px 10px;font-weight:600;display:flex}.onboarding .checkbox-label input{width:18px;min-height:18px;accent-color:var(--accent);margin:0}.primary-button,.secondary-button{border-radius:var(--radius-pill);white-space:nowrap;border:1px solid #0000;min-height:48px;padding:0 20px;font-weight:750;line-height:1;transition:background-color .16s,border-color .16s,transform .16s}.primary-button{background:var(--accent);color:var(--accent-contrast)}.primary-button:hover:not(:disabled){background:var(--accent-hover)}.secondary-button{border-color:var(--border);background:var(--surface);color:var(--text)}.secondary-button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.settings-link{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.form-error{border-radius:var(--radius-input);background:var(--accent-soft);color:var(--text);margin:0;padding:12px;font-weight:650}.inline-link{justify-content:center;align-items:center;width:fit-content;margin-top:18px;text-decoration:none;display:inline-flex}.text-button{min-height:44px;color:var(--muted);background:0 0;border:0;padding:4px 8px;font-size:13px;font-weight:700}.text-button:hover{color:var(--accent)}.compact-button{min-height:44px;padding-inline:14px}.state-panel{text-align:center;place-content:center;justify-items:center;gap:14px;min-height:min(64dvh,560px);display:grid}.state-panel h1,.state-panel p{margin:0}.state-panel p{max-width:42ch;color:var(--muted);line-height:1.65}.cat-mark{color:var(--accent);letter-spacing:.08em;font-size:28px}.bow-mark{border:1px solid var(--border);background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-size:22px;font-weight:800;display:grid}.practice-page{min-height:calc(100dvh - 132px)}.practice-toolbar{z-index:4;background:color-mix(in srgb, var(--bg) 94%, transparent);justify-content:space-between;align-items:center;gap:14px;margin:-8px -4px 18px;padding:10px 4px 12px;display:flex;position:sticky;top:0}.practice-toolbar .page-context{margin-bottom:2px}.practice-toolbar strong{font-variant-numeric:tabular-nums}.toolbar-actions{align-items:center;gap:4px;display:flex}.question-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);overflow:hidden}.question-material{border-bottom:1px solid var(--border);background:var(--surface-soft);padding:18px}.question-material h2{color:var(--accent);margin:0 0 8px;font-size:14px}.question-material p{white-space:pre-wrap;margin:0;line-height:1.75}.svg-material-section{padding-inline:4px}.svg-material-section h2{margin-inline:14px}.safe-svg-material{border-radius:var(--radius-input);background:var(--surface);width:100%;overflow-x:auto}.safe-svg-material>svg{aspect-ratio:16/9;width:100%;min-width:342px;height:auto;display:block}.material-render-error{color:var(--danger)}.question-heading{align-items:flex-start;gap:12px;padding:22px 18px 16px;display:flex}.question-heading h1{letter-spacing:-.02em;margin:2px 0 0;font-size:clamp(1.18rem,5vw,1.55rem);line-height:1.55}.option-list{gap:10px;padding:0 18px 20px;display:grid}.option-button{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);min-height:56px;color:var(--text);text-align:left;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:12px;padding:9px 14px;line-height:1.45;display:grid}.option-button>span{border:1px solid var(--border);width:30px;height:30px;color:var(--muted);border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:grid}.option-button:hover:not(:disabled),.option-button.selected{border-color:var(--accent);background:var(--accent-soft)}.option-button.correct{border-color:var(--success-border);background:var(--success-soft)}.option-button:disabled{opacity:1;cursor:default}.answer-review{border-top:1px solid var(--border)}.result-line{padding:13px 18px;font-weight:800}.result-line.is-correct{color:var(--success);background:var(--success-soft)}.result-line.is-wrong{color:var(--danger);background:var(--accent-soft)}.explanation-block{padding:18px}.explanation-block h2{margin:0 0 8px;font-size:16px}.explanation-block p{margin:0;line-height:1.75}.reason-grid{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0;padding:0 18px 20px;display:grid}.reason-grid legend{grid-column:1/-1;width:100%;margin-bottom:9px;padding:0;font-weight:800}.reason-grid label{align-items:center;min-height:48px;display:flex;position:relative}.reason-grid input{opacity:0;position:absolute;inset:0}.reason-grid span{border:1px solid var(--border);border-radius:var(--radius-input);width:100%;min-height:48px;color:var(--muted);place-items:center;padding:8px;font-weight:700;display:grid}.reason-grid input:checked+span{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.reason-grid input:focus-visible+span{outline:3px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.question-card>.form-error{margin:0 18px 18px}.question-actions{padding:16px 18px max(18px, env(safe-area-inset-bottom));border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:10px;display:grid}.summary-panel{align-content:center;min-height:min(72dvh,640px);display:grid}.summary-panel h1{letter-spacing:-.05em;margin:0 0 26px;font-size:clamp(2rem,10vw,3.7rem)}.summary-grid{border:1px solid var(--border);border-radius:var(--radius-card);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.summary-grid>div{gap:8px;padding:18px 14px;display:grid}.summary-grid>div+div{border-left:1px solid var(--border)}.summary-grid span{color:var(--muted);font-size:13px}.summary-grid strong{font-size:clamp(1.2rem,5vw,1.7rem)}.summary-actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.summary-actions .inline-link{margin-top:0}.review-page{width:min(100%,920px);margin:0 auto}.review-header{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.review-header .inline-link{margin-top:0}.range-switch{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-soft);grid-template-columns:repeat(2,minmax(104px,1fr));gap:4px;padding:4px;display:inline-grid}.range-switch button{border-radius:var(--radius-pill);min-height:44px;color:var(--muted);background:0 0;border:0;padding:0 16px;font-weight:750}.range-switch button[aria-pressed=true]{background:var(--accent);color:var(--accent-contrast)}.review-state{min-height:min(44dvh,380px)}.evidence-window{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--muted);margin:18px 0 0;padding:12px 14px;line-height:1.6}.review-section{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);margin-top:22px;padding:20px}.review-section>header{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:16px;display:flex}.review-section h2{margin:2px 0 0;font-size:clamp(1.25rem,5vw,1.65rem)}.review-section>header small,.weekly-review-card>small,.caveat,.muted-copy{color:var(--muted);line-height:1.55}.performance-grid,.weekly-grid{gap:12px;display:grid}.performance-card,.weekly-review-card{border:1px solid color-mix(in srgb, var(--border) 70%, transparent);border-radius:var(--radius-input);background:var(--surface-soft);min-width:0;padding:16px}.performance-card>header,.weekly-review-card>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.performance-card h3,.weekly-review-card h3{margin:0;font-size:17px}.performance-card>header strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:25px}.performance-card>p{color:var(--muted);margin:8px 0 0;font-size:13px}.sample-badge,.confirmation-badge,.auto-badge{border-radius:var(--radius-pill);background:var(--accent-soft);width:fit-content;color:var(--accent);margin-top:10px;padding:5px 9px;font-size:12px;font-weight:750;display:inline-flex}.confirmation-badge,.auto-badge{white-space:nowrap;margin-top:0}.auto-badge{border:1px solid var(--border);background:var(--surface);color:var(--muted)}.module-trend{margin:12px 0 0}.module-trend svg{width:100%;height:auto;display:block;overflow:visible}.trend-axis{stroke:var(--border);stroke-width:1px}.trend-line{fill:none;stroke:var(--accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.trend-dot{fill:var(--surface);stroke:var(--accent);stroke-width:3px}.trend-empty{color:var(--muted);text-align:center;margin:6px 0 0;font-size:13px}.review-two-column{gap:0 14px;display:grid}.reason-bars,.issue-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.reason-bars li>div{justify-content:space-between;gap:12px;margin-bottom:7px;font-size:13px;display:flex}.reason-bars strong{font-variant-numeric:tabular-nums}.reason-bar-track{border-radius:var(--radius-pill);background:var(--accent-soft);height:9px;display:block;overflow:hidden}.reason-bar-fill{border-radius:inherit;background:var(--accent);height:100%;display:block}.caveat{margin:16px 0 0;font-size:12px}.issue-list{counter-reset:issues}.issue-list li{border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent);counter-increment:issues;grid-template-columns:28px minmax(0,1fr);gap:3px 10px;padding-bottom:12px;display:grid}.issue-list li:before{background:var(--accent-soft);width:28px;height:28px;color:var(--accent);content:counter(issues);border-radius:50%;grid-row:1/3;place-items:center;font-weight:800;display:grid}.issue-list span{color:var(--muted);font-size:13px}.weekly-review-card>p{margin:12px 0;line-height:1.65}.minute-change{border:1px solid var(--border);border-radius:var(--radius-input);grid-template-columns:1fr 1fr;margin:14px 0;display:grid;overflow:hidden}.minute-change>div{padding:10px 12px}.minute-change>div+div{border-left:1px solid var(--border)}.minute-change dt{color:var(--muted);font-size:12px}.minute-change dd{font-variant-numeric:tabular-nums;margin:4px 0 0;font-size:18px;font-weight:800}.decision-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:16px;display:grid}.decision-actions button[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.decision-selection{color:var(--muted);grid-column:1/-1;margin:2px 0 0;font-size:.88rem}.automatic-state{color:var(--accent);font-size:13px;font-weight:750}.decision-status{border-radius:var(--radius-input);background:var(--surface-soft);justify-content:space-between;align-items:center;gap:12px;margin:14px 0 0;padding:12px 14px;display:flex}.decision-status.success{color:var(--success)}.wrong-book-header{justify-content:space-between;align-items:flex-end;display:flex}.filter-panel{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.filter-panel label{color:var(--muted);gap:7px;font-size:13px;font-weight:700;display:grid}.filter-panel select{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);width:100%;min-height:48px;color:var(--text);padding:0 12px}.wrong-list{gap:13px;margin-top:22px;display:grid}.wrong-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);padding:18px}.wrong-card>header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.tag-row span{border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);padding:5px 9px;font-size:12px;font-weight:750}.wrong-card small{color:var(--muted);white-space:nowrap}.wrong-card h2{margin:16px 0;font-size:18px;line-height:1.55}.wrong-card details{border-block:1px solid color-mix(in srgb, var(--border) 55%, transparent);padding:12px 0}.wrong-card summary{min-height:44px;color:var(--accent);cursor:pointer;font-weight:750;line-height:44px}.wrong-card details p{margin:4px 0 8px;line-height:1.7}.wrong-card footer{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding-top:14px;font-size:13px;display:flex}.wrong-card footer .text-button{color:var(--accent);flex:none;font-weight:750}.wrong-card footer .text-button:disabled{color:var(--muted);cursor:not-allowed}.wrong-review-meta{gap:4px;display:grid}.review-empty .inline-link,.review-empty button{margin-top:18px}.writing-page,.question-bank-page{min-height:calc(100dvh - 132px)}.writing-page{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.writing-header,.bank-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px;display:flex}.writing-header h1,.bank-header h1{letter-spacing:-.045em;margin:0;font-size:clamp(2rem,8vw,3.1rem);line-height:1.08}.draft-status{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--muted);flex:none;padding:7px 10px;font-size:12px;font-weight:750}.draft-status.unsaved,.draft-status.error{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.writing-brief{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-soft);padding:20px}.writing-brief h2{margin:0 0 14px;font-size:17px}.safe-markdown{line-height:1.75}.safe-markdown>:first-child{margin-top:0}.safe-markdown>:last-child{margin-bottom:0}.writing-brief dl{border-top:1px solid var(--border);gap:0;margin:18px 0 0;display:grid}.writing-brief dl>div{grid-template-columns:88px minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.writing-brief dt{color:var(--muted)}.writing-brief dd{margin:0}.writing-editor{gap:9px;margin-top:20px;font-weight:750;display:grid}.writing-editor textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);width:100%;min-height:42dvh;color:var(--text);padding:18px;font-size:17px;line-height:1.8}.writing-editor textarea:disabled{opacity:1;background:var(--surface-soft)}.writing-meta{color:var(--muted);justify-content:space-between;gap:12px;padding:9px 4px;font-size:13px;display:flex}.writing-submit{width:100%;margin-top:8px}.inline-error{border-radius:var(--radius-input);background:var(--accent-soft);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding:12px;display:flex}.inline-error p{margin:0;font-weight:650}.draft-conflict{display:block}.draft-conflict h2{margin:0 0 6px;font-size:1rem}.draft-conflict .button-row{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.self-review{border-top:1px solid var(--border);margin-top:32px;padding-top:28px}.self-review header h2{margin:0 0 18px;font-size:24px}.reference-list{gap:10px;display:grid}.reference-list article{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);padding:16px}.reference-list h3{margin:0 0 6px;font-size:16px}.reference-list p{margin:0 0 7px;line-height:1.6}.reference-list small{color:var(--muted)}.missing-points{border:1px solid var(--border);border-radius:var(--radius-card);gap:8px;margin:20px 0;padding:16px;display:grid}.missing-points legend{padding:0 6px;font-weight:800}.missing-points label,.built-in-toggle{align-items:center;gap:10px;min-height:44px;display:flex}.missing-points input,.built-in-toggle input,.source-selector input{width:20px;height:20px;accent-color:var(--accent)}.score-list{gap:10px;margin-bottom:18px;display:grid}.score-list label{border-bottom:1px solid var(--border);grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:14px;font-weight:800;display:grid}.score-list small{color:var(--muted);font-weight:500}.score-list input{width:100%;accent-color:var(--accent);grid-column:1/-1}.review-result{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-soft);text-align:center;margin-top:30px;padding:28px 22px}.review-result h2{margin:8px 0}.review-result p{color:var(--muted);margin:0;line-height:1.6}.back-link{align-items:center;text-decoration:none;display:inline-flex}.bank-actions{flex-wrap:wrap;gap:9px;margin-bottom:22px;display:flex}.bank-actions button{flex:130px}.editor-panel{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);margin:0 0 24px;padding:20px}.editor-panel>header,.export-panel>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.editor-panel h2,.export-panel h2{margin:0;font-size:20px}.editor-panel form{gap:14px;margin-top:18px;display:grid}.editor-panel label{color:var(--muted);gap:7px;font-size:13px;font-weight:700;display:grid}.editor-panel input,.editor-panel select,.editor-panel textarea,.bank-filters select{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);width:100%;min-height:48px;color:var(--text);padding:10px 12px}.editor-panel textarea{resize:vertical;min-height:108px}.review-warning{border-left:4px solid var(--accent);background:var(--accent-soft);padding:12px;line-height:1.6}.option-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.editor-actions{justify-content:flex-end;gap:9px;display:flex}.group-question,.reference-editor,.rubric-editor{border:1px solid var(--border);border-radius:var(--radius-input);gap:10px;margin:0;padding:14px;display:grid}.group-question legend,.reference-editor legend,.rubric-editor legend{color:var(--text);padding:0 6px;font-weight:800}.range-inputs{grid-template-columns:1fr 1fr;gap:7px;display:grid}.file-picker{border:1px dashed var(--border);border-radius:var(--radius-input);margin-top:16px;padding:16px}.file-picker input{padding:8px}.import-preview{gap:13px;margin-top:16px;display:grid}.import-preview ul{max-height:220px;color:var(--muted);margin:0;padding-left:22px;line-height:1.6;overflow:auto}.bank-filters{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-soft);grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px;display:grid}.bank-filters label{color:var(--muted);gap:6px;font-size:12px;font-weight:750;display:grid}.bank-list{border-top:1px solid var(--border);margin-top:22px}.bank-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:18px 0;display:grid}.bank-row h2{margin:12px 0 6px;font-size:17px;line-height:1.55}.bank-row p{color:var(--muted);margin:0;font-size:13px}.bank-state{color:var(--muted);align-content:start;justify-items:end;gap:6px;font-size:12px;display:grid}.review-enable-button{border:1px solid var(--accent);border-radius:var(--radius-pill);background:var(--accent-soft);min-height:44px;color:var(--accent);margin-top:5px;padding:0 12px;font-weight:800}.export-panel{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface-soft);gap:14px;margin-top:34px;padding:20px;display:grid}.export-panel header p{color:var(--muted);margin:6px 0 0;font-size:13px}.source-selector{gap:7px;display:grid}.source-selector>label{border-top:1px solid var(--border);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:8px 0;display:grid}.source-selector small{color:var(--muted)}.review-task-page{width:min(100%,760px);margin:0 auto}.review-task-header{align-items:flex-end}.review-task-meta{color:var(--muted);white-space:nowrap;margin:0;font-size:13px}.review-task-card{border:1px solid var(--border);border-radius:var(--radius-card);background:var(--surface);margin-top:22px;padding:20px}.review-task-card>h2{margin:0 0 18px;font-size:22px}.review-task-grid{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.review-task-field{align-content:start;gap:7px;min-width:0;display:grid}.review-task-field>label,.review-task-fieldset legend{color:var(--text);font-size:14px;font-weight:750}.review-task-field input,.review-task-field textarea{border:1px solid var(--border);border-radius:var(--radius-input);background:var(--surface);width:100%;min-height:48px;color:var(--text);font:inherit;padding:11px 12px;line-height:1.55}.review-task-field textarea{resize:vertical;min-height:112px}.review-task-field input:focus-visible,.review-task-field textarea:focus-visible,.review-task-check input:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px;border-color:var(--accent)}.review-task-field input[readonly],.review-task-field textarea[readonly]{background:var(--surface-soft);color:var(--text)}.review-task-fieldset{border:1px solid var(--border);border-radius:var(--radius-input);min-width:0;margin:0;padding:14px}.review-task-fieldset legend{padding:0 6px}.review-task-checklist{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.review-task-check{border-radius:var(--radius-input);background:var(--surface-soft);align-items:center;gap:10px;min-height:44px;padding:7px 8px;font-weight:650;display:flex}.review-task-check input{width:20px;height:20px;accent-color:var(--accent);margin:0}.review-task-check input:disabled+span{color:var(--text)}.review-task-prerequisite{border-left:4px solid var(--accent);border-radius:var(--radius-input);background:var(--accent-soft);margin:0 0 16px;padding:12px 14px;line-height:1.55}.review-task-errors{margin:0 0 16px}.review-task-errors p{margin:0 0 6px;font-weight:750}.review-task-errors ul{margin:0;padding-left:20px}.review-task-actions{justify-content:flex-end;margin-top:20px;display:flex}.review-task-actions .primary-button{width:100%;min-height:48px}.review-task-empty{color:var(--muted);margin:0;line-height:1.65}@media (width<=359px){.onboarding{width:min(100% - 24px,560px);padding-top:20px}.onboarding-card{padding:22px 16px}.form-grid,.checkbox-grid{grid-template-columns:1fr}.page{padding-inline:14px}.plan-task-list li{grid-template-columns:1fr;gap:2px}.plan-task-list li:has(.plan-edit-button){grid-template-columns:1fr auto}.plan-task-list li:has(.plan-edit-button) small{grid-column:1}.plan-edit-button{grid-area:1/2/3}.plan-task-list small{white-space:normal}.future-settings{padding:19px 16px}.settings-form-grid{grid-template-columns:1fr}.settings-diff-heading,.settings-module-diffs>div{flex-direction:column;align-items:flex-start;gap:3px}.practice-toolbar{align-items:flex-start}.toolbar-actions{flex-direction:column;align-items:flex-end}.reason-grid,.filter-panel,.option-editor-grid,.bank-filters,.bank-row{grid-template-columns:1fr}.bank-state{justify-items:start}.summary-grid{grid-template-columns:1fr}.summary-grid>div+div{border-top:1px solid var(--border);border-left:0}.today-progress-metrics>div{grid-template-columns:1fr;gap:3px}.today-progress-metrics dd{text-align:left}}@media (width>=700px){.auth-page{grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)}.auth-brand{min-height:100dvh;padding:8vw}.auth-card{align-self:center;padding:44px 38px}.page{padding:36px 28px}.today-page{grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);align-items:start;gap:0 34px;display:grid}.today-page .page-header{grid-column:1/-1}.today-page .task-section{margin-top:0}.plan-header{grid-template-columns:minmax(0,1fr) auto;align-items:end}.plan-view-switch{min-width:330px}.month-cell,.month-spacer{height:92px}.month-cell{padding:9px}.month-cell>span{font-size:15px}.month-cell small{font-size:11px}.month-cell strong{margin-top:4px;font-size:15px}.phase-row dl{grid-template-columns:repeat(4,minmax(0,1fr))}.dialog-backdrop{place-items:center;padding:24px}.task-dialog{border-radius:var(--radius-card);max-height:calc(100dvh - 48px)}.today-adjust-dialog{width:min(100%,680px)}.adjust-task-list li{grid-template-columns:minmax(0,1fr) auto;align-items:center}.protected-note{grid-column:1/-1}.settings-page{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:start;gap:0 36px;display:grid}.settings-page .page-header{grid-column:1/-1}.settings-page .appearance-install-panel{grid-column:1/-1;grid-template-columns:minmax(220px,1fr) minmax(310px,.9fr) auto;align-items:center}.settings-page .install-app-button{width:auto;min-width:148px}.settings-side-column{margin-top:0}.practice-page,.wrong-book-page{width:min(100%,760px);margin:0 auto}.writing-page,.question-bank-page{width:min(100%,780px);margin:0 auto}.reference-list{grid-template-columns:repeat(2,minmax(0,1fr))}.bank-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.question-heading,.question-material,.explanation-block,.option-list,.reason-grid,.question-actions{padding-inline:26px}.wrong-list,.performance-grid,.review-two-column,.weekly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-task-card{padding:26px}.review-task-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.review-task-field--wide{grid-column:1/-1}.review-task-actions .primary-button{width:auto;min-width:180px}.wrong-card{flex-direction:column;min-height:310px;display:flex}.wrong-card footer{margin-top:auto}}@media (width>=900px) and (orientation:landscape){.app-shell{grid-template-columns:220px minmax(0,1fr);padding-bottom:0;display:grid}.app-shell nav{height:100dvh;padding:max(28px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));box-shadow:none;border-radius:0;flex-direction:column;align-self:start;align-items:stretch;position:sticky;inset:0 auto 0 0}.app-shell nav strong{color:var(--text);margin-bottom:28px;font-size:20px;display:block}.nav-items{grid-template-columns:1fr;align-content:start;gap:8px}.app-shell nav a{place-items:center start;padding:0 14px}.page{width:min(100%,900px);padding:40px 32px}.writing-page{padding-bottom:0}.onboarding{padding-top:48px}}
