:root{--canvas:#f8fafc;--ink:#1f2937;--line:#e2e7ee}body{background:#fff}main{padding-top:32px}.header{height:70px}.back-link{display:inline-flex;align-items:center;min-height:44px;margin-bottom:18px;text-decoration:none;font-size:15px}.onboarding{max-width:540px;margin:15px auto 40px}.onboarding>p{margin:14px 0 26px;color:var(--muted)}.onboarding form{margin-top:20px}.course-choice{margin:24px 0}.course-choice legend{font-size:15px;margin-bottom:9px}.course-choice>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.course-choice label{position:relative;margin:0;cursor:pointer}.course-choice input{position:absolute;opacity:0;inset:0}.course-choice span{display:grid;place-items:center;min-height:49px;border:1px solid #cbd3df;border-radius:8px;padding:10px;background:#fff;font-size:16px}.course-choice input:checked+span{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);font-weight:600}.course-choice input:focus-visible+span{outline:3px solid #8db4ff;outline-offset:3px}.welcome-account{padding:22px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:28px;background:var(--canvas)}.welcome-account>div{flex:1 1 260px}.welcome-account h2{font-size:21px}.welcome-account p{font-size:15px;color:var(--muted);margin-top:5px}.learning-pulse{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:14px;margin:14px 0 25px}.learning-pulse strong{color:var(--ink);font-size:18px;font-variant-numeric:tabular-nums}.deck-list{display:grid;gap:12px}.deck-tile{display:flex;gap:20px;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:10px;padding:22px;text-decoration:none;color:var(--ink)}.deck-tile h2{font-size:20px}.deck-tile p{color:var(--muted);font-size:14px;margin-top:5px}.deck-tile:hover{border-color:#9fb7dd}#deck-form,#job-form{max-width:780px}.drop-zone{display:flex;align-items:center;justify-content:center;text-align:center;border:1px dashed #9eacc0;border-radius:10px;padding:24px 18px;margin:24px 0;background:var(--canvas);min-height:140px;cursor:pointer;font-size:16px}.drop-zone input{max-width:100%;font-size:14px;margin:12px 0}.drop-zone>span{font-size:13px;color:var(--muted)}.draft-card{border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:15px;content-visibility:auto;contain-intrinsic-size:auto 380px}.draft-card-head{display:flex;justify-content:space-between;gap:15px;align-items:center}.text-button{color:var(--blue);font-size:14px;min-height:44px;padding:8px}.draft-card textarea{font-size:16px}.draft-card [name=source]{font-size:14px}.visual-settings{margin:24px 0}.visual-settings summary{min-height:44px}.visual-settings p{margin-bottom:15px}.job-list{display:grid;gap:15px}.job-item{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;border:1px solid var(--line);border-radius:10px;padding:22px}.job-item>div:first-child{min-width:0}.job-item h2{font-size:21px;overflow-wrap:anywhere}.job-item p{font-size:15px;color:var(--muted);margin:8px 0}.job-state{display:block;font-size:14px;color:var(--muted);margin-bottom:10px}.state-ready{color:#24654a}.state-failed,.state-rejected{color:var(--red)}.state-processing{color:var(--blue)}.job-item .actions{margin-top:12px}.all-cards>summary{font-size:17px;min-height:44px}.card-preview{border:1px solid var(--line);border-radius:9px;padding:20px;margin:14px 0}.card-preview h2{font-size:19px}.card-preview>p{margin-top:12px}.card-image{display:block;position:relative;max-width:100%;margin:16px auto;width:max-content}.card-image img{display:block;max-width:100%;max-height:320px;object-fit:contain}.image-mask{display:grid;place-items:center;position:absolute;background:#e6edf8;border:2px solid #799ac9;color:#244f90;font-size:20px}.schema{max-width:100%;margin:18px auto;text-align:center}.schema-node{padding:10px 14px;border:1px solid #9db5d4;border-radius:7px;background:#edf3fc;font-size:16px;overflow-wrap:anywhere}.schema-arrow{display:block;line-height:1.4;color:var(--blue);font-size:23px}.schema>p{font-size:13px;color:var(--muted);margin-top:10px}.card-source{font-size:14px;color:var(--muted);margin:14px 0;overflow-wrap:anywhere}.study-main{padding-top:22px;max-width:850px}.study{max-width:720px}.study-heading{gap:14px;margin-bottom:20px}.study-heading h1{font-size:22px;line-height:1.4;letter-spacing:-.3px}.study-heading .button{flex-shrink:0}.study .counter{font-size:34px;line-height:1.2;margin:15px 0}.study .counter>span:not(.repeat){font-size:26px}.study .progress{margin:16px 0 20px;height:5px}.study-meta{display:flex;justify-content:space-between;gap:15px;font-size:15px;color:var(--muted);font-variant-numeric:tabular-nums}.study-meta>span:first-child{color:var(--ink);font-weight:600}.flashcard{height:clamp(280px,43dvh,440px);min-height:0;overflow-y:auto;overscroll-behavior:contain;border-radius:14px;padding:28px;background:#fff;border:1px solid #cbd5e2;scrollbar-gutter:stable;justify-content:safe center}.flashcard .front{font-size:30px;line-height:1.45;flex-shrink:0}.flashcard .back{font-size:19px;line-height:1.6;flex-shrink:0}.general-card .front{font-family:inherit;font-size:24px;font-weight:550}.general-card .back{font-size:19px;font-weight:400}.general-card .card-image{flex-shrink:0}.study-actions{min-height:109px;display:flex;align-items:center;justify-content:center;padding-top:20px}.study-actions .ratings{margin:0;width:100%}.study-actions .reveal{padding:0;width:100%;justify-content:center}.study-actions .reveal .button{width:100%;min-height:52px}.rating{border-radius:9px;min-height:78px}.rating strong{font-size:16px}.rating span{font-size:12px}.completion-mark{display:grid;place-items:center;margin:0 auto 22px;border-radius:50%;width:58px;height:58px;background:#eaf5ef;color:#216346;font-size:28px}.result-count{font-size:44px}.is-supplementary:not(.cancelled){background:#fafbfd!important;border-color:#e3e7ed!important;border-left-color:#b8c3d1!important;min-height:62px;padding-top:9px;padding-bottom:9px}.is-supplementary .lesson-title{font-size:15px!important;font-weight:500;color:#657285}.is-supplementary .lesson-room{font-size:12px;margin-top:3px}.is-supplementary .add-course-note{font-size:12px;min-height:36px}.calendar-day .is-supplementary .lesson-time{font-size:11px}.dashboard-actions .action-bottom>span{font-size:13px;color:var(--muted)}.onboarding .form-error,.form-error{color:var(--red)}
@media(max-width:650px){.job-item{flex-direction:column;padding:18px}.job-item>.actions{width:100%}.draft-card{padding:16px}.deck-tile{padding:18px}.learning-pulse{font-size:13px;gap:12px}.welcome-account{padding:18px}.onboarding h1{font-size:29px}.onboarding .form-grid{gap:0}.onboarding input{font-size:16px!important}.study-main{padding:20px 16px 30px;min-height:0}.study-heading h1{font-size:19px}.study .counter{font-size:29px;margin:12px 0}.study .progress{margin:12px 0 16px}.flashcard{height:clamp(250px,40dvh,360px);padding:22px 18px;border-radius:12px}.flashcard .front{font-size:27px}.general-card .front{font-size:22px}.flashcard .back{font-size:18px}.study-actions{min-height:166px;padding-top:16px}.ratings{grid-template-columns:1fr 1fr;gap:9px}.rating{min-height:68px;padding:9px}.rating strong{font-size:15px}.rating span{font-size:12px}.study .budget{font-size:13px}.schema-node{font-size:14px}.card-source{font-size:13px}.is-supplementary .lesson-title{font-size:14px!important}}
@media(max-width:360px){.study-heading h1{font-size:17px}.study-heading .button{padding:9px 11px}}
.library-header{max-width:1220px;margin:auto;min-height:74px;padding:12px 38px;display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid var(--line)}.library-header .actions{gap:8px}.library-header .button{font-size:14px;padding:9px 13px}.mask-preview{position:relative;width:max-content;max-width:100%;touch-action:none;margin:14px 0;cursor:crosshair}.mask-preview[hidden]{display:none}.mask-preview img{display:block;max-width:100%;max-height:340px;user-select:none;pointer-events:none}.mask-preview .image-mask{pointer-events:none}.schema-relation{margin:12px 0}.schema-relation+.schema-relation{padding-top:12px;border-top:1px dashed var(--line)}
html{scrollbar-gutter:stable}
@media(max-width:650px){.library-header{min-height:64px;padding:10px 18px}.library-header .brand{font-size:21px}.library-header .button{padding:9px 11px}.course-choice{margin:20px 0}.study-main .study-heading{margin-bottom:15px}}

.subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;max-width:760px}
.subject-card{display:grid;place-items:center;text-align:center;overflow-wrap:anywhere;min-width:0;min-height:114px;padding:16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-size:20px;font-weight:600;text-decoration:none;transition:border-color .15s}
.subject-grid .subject-card:hover{border-color:var(--blue)}
.add-subject{border-style:dashed;background:var(--canvas)}
.add-subject span{font-size:42px;font-weight:400;line-height:1;color:var(--blue)}
.learning-header .learning-nav-button{position:relative;display:grid;place-items:center;width:44px;min-height:44px;padding:0}
.learning-nav-button svg{width:22px;height:22px}
.learning-nav-button .menu-badge{position:absolute;top:-5px;right:-5px}
.latin-setup>h1{margin-bottom:16px}
.latin-setup .setup-panel{display:grid;gap:14px;padding:clamp(14px,3vw,24px)}
.latin-lesson-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}
.latin-lesson-heading h2{margin:0;font-size:16px}
.latin-lesson-actions{display:flex;gap:6px}
.latin-lesson-actions button{min-height:44px;padding:0 8px;color:var(--blue);font-size:14px;font-weight:600}
.latin-lesson-actions button:hover{text-decoration:underline}
.latin-setup .lesson-chips{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.latin-setup .lesson-chips input:checked+span{background:var(--blue-soft);border-color:var(--blue);color:var(--blue)}
.latin-setup .direction-picker,.latin-setup .advanced{margin:0}
.latin-setup .direction-picker>div{gap:6px}
.latin-setup .direction-picker span{text-align:center}
.latin-new-limit{max-width:240px;margin:0;font-size:14px}
.latin-new-limit select{width:100%}
.latin-setup .advanced{padding-top:10px}
.latin-extra-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.latin-round-start{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:14px;font-size:14px;color:var(--muted)}
.latin-round-start .button{min-width:98px;min-height:44px}
@media(max-width:460px){.latin-setup .lesson-chips{grid-template-columns:repeat(5,minmax(0,1fr))}}
.subject-decks{max-width:740px;margin-top:20px}
.subject-decks summary{min-height:44px;cursor:pointer;padding:10px 0}
.material-request #material-drop{min-height:104px;margin:20px 0 14px;padding:16px}
@media(max-width:520px){.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subject-card{min-height:96px}}
