:root{color:#1d252c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f7f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{letter-spacing:0}#root{min-height:100svh}.appShell{color:#1d252c;background:#f4f7f6;grid-template-columns:280px minmax(0,1fr);min-height:100svh;display:grid}.mobileDrawerToggle,.drawerScrim{display:none}.authShell{background:#f4f7f6;place-items:center;min-height:100svh;padding:20px;display:grid}.authPanel{background:#fff;border:1px solid #d8e0de;border-radius:8px;gap:22px;width:min(420px,100%);padding:24px;display:grid;box-shadow:0 16px 40px #1d252c1a}.authForm{gap:14px;display:grid}.authForm .segmented{width:100%}.authForm .segmented button{flex:1 1 0}.authStatus{color:#52616a;align-items:center;gap:8px;display:flex}.sidebar{background:#fff;border-right:1px solid #d8e0de;flex-direction:column;gap:24px;padding:24px;display:flex}.brandBlock{align-items:center;gap:12px;display:flex}.brandIcon{color:#176251;background:#d8ece7;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.brandBlock h1{margin:0;font-size:22px;line-height:1.2}.brandBlock p,.sectionHead p,.listItem p{color:#66757f;margin:0}.navList{gap:8px;display:grid}.navButton,.primaryBtn,.ghostBtn,.ghostIconBtn,.answerCardSummary,.answerCard,.segmented button,.listItemMain{font:inherit;cursor:pointer;border:0}.navButton{color:#43505a;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:0 12px;display:flex}.navButton:hover,.navButton.active{color:#123f36;background:#e7f1ee}.logoutNavButton{width:100%;margin-top:auto}.eyebrow{color:#71808a;font-size:12px;display:block}.workspace{min-width:0;padding:22px}.panel{background:#fff;border:1px solid #d8e0de;border-radius:8px;min-height:0;padding:18px}.controlsRow,.filterRow,.buttonRow{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.controlsRow{margin-bottom:18px}.practiceSetup .controlsRow{margin-bottom:0}.practiceSessionToolbar{justify-content:flex-start;margin-bottom:12px;display:flex}.answerCardPanel{background:#fbfdfc;border:1px solid #d8e0de;border-radius:8px;margin-bottom:16px}.answerCardSummary{color:#26323a;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:42px;padding:0 12px;font-weight:700;display:flex}.answerCardSummary:after{content:"";border-bottom:2px solid #66757f;border-right:2px solid #66757f;flex:none;width:8px;height:8px;transition:transform .16s;transform:rotate(45deg)}.answerCardPanel.isOpen .answerCardSummary:after{transform:rotate(225deg)}.answerCardSummary span:last-child{color:#66757f;text-align:right;min-width:0;font-size:13px;font-weight:500}.answerCards{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:8px;padding:0 12px 12px;display:grid}.answerCard{color:#53616b;background:#fff;border:1px solid #cfd8d6;border-radius:8px;justify-content:center;align-items:center;gap:3px;min-width:0;height:34px;font-size:13px;display:inline-flex}.answerCard:hover{background:#edf3f1}.answerCard.current{color:#123f36;border-color:#176251;font-weight:700;box-shadow:0 0 0 2px #17625124}.answerCard.passed{color:#146044;background:#ddf3e9;border-color:#8fcfb3}.answerCard.failed{color:#8a2f1d;background:#ffe4dc;border-color:#e3a08f}.segmented{background:#f3f6f5;border:1px solid #cfd8d6;border-radius:8px;height:38px;padding:3px;display:inline-flex}.segmented button{color:#53616b;background:0 0;border-radius:6px;min-width:62px;padding:0 12px}.segmented button.selected{color:#123f36;background:#fff;box-shadow:0 1px 3px #1762512e}select,input,textarea{font:inherit;color:#1d252c;background:#fff;border:1px solid #cfd8d6;border-radius:8px}select,input{height:38px;padding:0 10px}textarea{resize:vertical;box-sizing:border-box;width:100%;min-height:220px;padding:12px;line-height:1.6}select:focus,input:focus,textarea:focus,button:focus-visible{outline-offset:2px;outline:2px solid #2f7c6e}.primaryBtn,.ghostBtn{border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 13px;display:inline-flex}.primaryBtn{color:#fff;background:#176251}.primaryBtn:disabled{cursor:not-allowed;opacity:.55}.ghostBtn{color:#2e3a42;background:#fff;border:1px solid #cfd8d6}.ghostBtn:disabled{cursor:not-allowed;opacity:.48}.ghostBtn:hover,.ghostIconBtn:hover{background:#edf3f1}.ghostBtn:disabled:hover{background:#fff}.spinIcon{animation:.9s linear infinite spin}.ghostIconBtn{color:#52616a;background:#fff;border:1px solid #cfd8d6;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;display:grid}.practiceGrid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);align-items:start;gap:16px;display:grid}.statusNote{border-radius:8px;align-items:center;gap:8px;margin-top:10px;padding:9px 10px;font-size:14px;display:flex}.statusNote.busy{color:#1e577c;background:#e9f4ff}.statusNote.warning{color:#6d4c00;background:#fff7df}.questionBlock,.answerBlock,.editorForm,.bankList{min-width:0}.questionBlock h2,.sectionHead h2{margin:8px 0 14px;font-size:24px;line-height:1.35}.questionHeading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.questionHeading h2{flex:auto}.questionHeading .ghostBtn{flex:none;margin-top:8px}.metaLine{color:#62717b;flex-wrap:wrap;gap:8px;font-size:13px;display:flex}.metaLine span{background:#eef3f2;border-radius:6px;padding:2px 7px}.answerBlock{border-left:1px solid #d8e0de;padding-left:16px}.answerBlock h3,.listBlock h4{margin:0 0 10px}.memoryCoach{gap:14px;display:grid}.memoryCoachHead,.missingDrillHead{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.memoryCoachHead h3,.memoryCoachHead p,.missingDrillHead h4,.missingDrillHead p{margin:0}.memoryCoachHead p,.missingDrillHead p{color:#6b7982;margin-top:3px;font-size:13px}.memoryCoachHead>span,.missingDrillHead>span{color:#176251;background:#e7f1ee;border-radius:999px;flex:none;padding:3px 8px;font-size:12px;font-weight:700}.memoryLevels{background:#f3f6f5;border:1px solid #cfd8d6;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:4px;display:grid}.memoryLevels button{color:#53616b;cursor:pointer;min-width:0;min-height:34px;font:inherit;background:0 0;border:0;border-radius:6px;padding:4px 7px;font-size:13px}.memoryLevels button.selected{color:#123f36;background:#fff;font-weight:700;box-shadow:0 1px 3px #1762512e}.memoryCountHint,.recallPrompt{color:#5f6d76;background:#fafcfb;border:1px dashed #b9c8c4;border-radius:8px;gap:5px;padding:16px;display:grid}.memoryCountHint strong{color:#26323a;font-size:17px}.memoryCueList{gap:8px;margin:0;padding:0;list-style:none;display:grid}.memoryCueList li{background:#fbfdfc;border:1px solid #d8e0de;border-radius:8px;align-items:center;gap:9px;min-height:40px;padding:7px 9px;line-height:1.5;display:flex}.memoryCueIndex{color:#176251;background:#d8ece7;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-size:12px;font-weight:700;display:grid}.clozeList li{align-items:flex-start}.fullAnswer{gap:10px;display:grid}pre{white-space:pre-wrap;color:#243039;margin:0;font-family:inherit;line-height:1.65}.mnemonic{color:#6d4c00;background:#fff7df;border-radius:8px;margin-top:14px;padding:10px}.answerExplanation{border-top:1px solid #d8e0de;margin-top:18px;padding-top:16px}.answerExplanationEmpty{color:#6e7c85;margin:0;line-height:1.6}.emptyHint,.emptyState{color:#6e7c85;text-align:center;background:#fafcfb;border:1px dashed #c7d1cf;border-radius:8px;place-items:center;min-height:160px;padding:18px;display:grid}.reviewResult{gap:12px;margin-top:18px;display:grid}.missingDrill{background:#fffaf0;border:1px solid #e7c986;border-radius:8px;gap:12px;padding:13px;display:grid}.missingStudyList{margin:0;padding-left:20px;line-height:1.55}.missingStudyList li+li{margin-top:5px}.recallPrompt{color:#6d4c00;background:#fff;border-color:#e7c986;font-size:14px}.missingRecallInput{background:#fff;min-height:110px}.recallResult{border-radius:8px;align-items:center;gap:7px;padding:9px 10px;font-weight:700;display:flex}.recallResult.passed{color:#146044;background:#ddf3e9}.recallResult.failed{color:#8a2f1d;background:#ffe9df}.passBadge,.failBadge{border-radius:8px;align-items:center;gap:6px;width:fit-content;padding:6px 10px;font-weight:700;display:inline-flex}.passBadge{color:#146044;background:#ddf3e9}.failBadge{color:#8a2f1d;background:#ffe4dc}.listBlock ul{margin:0;padding-left:20px}.listBlock li+li{margin-top:4px}.compact{gap:8px}.sectionHead{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.listStack{gap:10px;display:grid}.listItem{background:#fff;border:1px solid #d8e0de;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px;display:flex}.listItem h3{margin:6px 0;font-size:17px}.listDetail{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.listItemMain{text-align:left;color:inherit;background:0 0;flex:auto;gap:8px;display:grid}.editorPanel{max-width:980px}.editorForm{border-right:1px solid #d8e0de;gap:12px;padding-right:18px;display:grid}.editorPageForm{border-right:0;padding-right:0}.editorPageForm textarea{min-height:220px}.formGrid{grid-template-columns:minmax(0,2fr) minmax(120px,.7fr) minmax(160px,.8fr);gap:12px;display:grid}label{color:#52616a;gap:6px;font-size:14px;display:grid}label input,label select,label textarea{color:#1d252c;font-size:16px}.editorForm textarea{min-height:180px}.filterRow{margin-bottom:12px}.filterRow input{flex:240px}.recitePanel{display:grid}.reciteFilters select{max-width:280px}.reciteLevelFilter{background:#f3f6f5;border:1px solid #cfd8d6;border-radius:8px;gap:4px;min-height:38px;padding:3px;display:inline-flex}.reciteLevelFilter button{color:#6a7780;cursor:pointer;min-width:76px;font:inherit;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:4px;padding:0 9px;font-size:14px;display:inline-flex}.reciteLevelFilter button.selected{color:#123f36;background:#fff;font-weight:700;box-shadow:0 1px 3px #1762512e}.reciteLevelFilter button:hover{color:#123f36}.reciteCount{color:#62717b;margin:0 0 12px;font-size:14px}.reciteTableWrap{background:#fff;border:1px solid #d8e0de;border-radius:8px;max-width:100%;overflow:auto}.reciteTable{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:920px}.reciteQuestionColumn{width:34%}.reciteMnemonicColumn{width:23%}.reciteAnswerColumn{width:43%}.reciteTable th{z-index:2;color:#33423f;text-align:left;background:#edf3f1;border-bottom:1px solid #cbd6d3;padding:12px 14px;font-size:14px;position:sticky;top:0}.reciteTable th+th,.reciteTable td+td{border-left:1px solid #d8e0de}.reciteTable td{vertical-align:top;border-bottom:1px solid #e2e8e6;padding:14px}.reciteTable tbody tr:last-child td{border-bottom:0}.reciteTable tbody tr:hover td{background-color:#fbfdfc}.reciteQuestionCell strong{margin-top:10px;line-height:1.6;display:block}.reciteQuestionHead{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.reciteQuestionHead .metaLine{flex:auto}.reciteEditButton{width:32px;height:32px}.reciteRevealCell{background:#fafcfb;min-height:76px;position:relative;padding-right:54px!important}.reciteRevealCell.isRevealed{background:#fff}.reciteRevealCell pre{line-height:1.7}.reciteEyeButton{color:#176251;cursor:pointer;background:#fff;border:1px solid #cfd8d6;border-radius:8px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:10px;right:10px}.reciteEyeButton:hover{background:#e7f1ee}.reciteEyeButton:disabled{cursor:not-allowed;color:#9aa6ad;background:#f3f6f5}.reciteHiddenHint,.reciteEmptyHint{color:#79868e;align-items:center;min-height:34px;font-size:14px;display:inline-flex}.reciteHiddenHint{font-style:italic}.paginationBar{color:#62717b;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:14px;display:flex}.dangerBtn{color:#8a2f1d;border-color:#e7b7ad}.dangerBtn:hover{background:#fff0ec}.dangerPrimaryBtn{background:#9b2f1f}.dialogBackdrop{z-index:25;background:#1d252c6b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.dialog{background:#fff;border:1px solid #d8e0de;border-radius:8px;width:min(520px,100%);padding:18px;box-shadow:0 18px 50px #1d252c2e}.questionContentDialog{width:min(760px,100%);max-height:calc(100svh - 36px);overflow:auto}.dialogHeader{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.dialogHeader h2{margin:4px 0;font-size:22px}.dialogHeader p{color:#66757f;margin:0}.practiceQuestionEditor{gap:12px;display:grid}.practiceQuestionEditor textarea{min-height:150px}.practiceQuestionEditor .questionField,.practiceQuestionEditor .mnemonicField{min-height:86px}.confirmDialog{gap:16px;display:grid}.confirmHeader{color:#8a2f1d;align-items:flex-start;gap:10px;display:flex}.confirmHeader h2{color:#1d252c;margin:0 0 4px;font-size:20px;line-height:1.3}.confirmHeader p{color:#66757f;margin:0}.confirmTitle{line-height:1.45;display:block}.dialogActions{justify-content:flex-end}.toast{z-index:30;background:#fff;border:1px solid #cfd8d6;border-radius:8px;align-items:center;gap:10px;max-width:min(460px,100vw - 28px);padding:10px;display:flex;position:fixed;top:18px;right:18px;box-shadow:0 14px 34px #1d252c24}.toastMessage{flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.toastMessage span{overflow-wrap:anywhere}.toast-success{color:#146044;border-color:#b9e1cf}.toast-warning{color:#6d4c00;border-color:#f1d38d}.toast-error{color:#8a2f1d;border-color:#f0b1a4}.toastAction,.toastClose{font:inherit;cursor:pointer;background:0 0;border:0}.toastAction{min-height:32px;color:inherit;border-radius:8px;align-items:center;gap:5px;padding:0 8px;font-weight:700;display:inline-flex}.toastAction:hover,.toastClose:hover{background:#17625114}.toastClose{width:30px;height:30px;color:inherit;border-radius:8px;place-items:center;display:grid}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=980px){.appShell{grid-template-columns:1fr}.mobileDrawerToggle{z-index:30;color:#26323a;background:#fff;border:1px solid #cfd8d6;border-radius:8px;place-items:center;width:42px;height:42px;display:grid;position:fixed;top:14px;left:14px;box-shadow:0 10px 24px #1d252c1f}.drawerScrim{z-index:20;opacity:0;pointer-events:none;background:#1d252c5c;border:0;padding:0;transition:opacity .18s;display:block;position:fixed;inset:0}.navOpen .drawerScrim{opacity:1;pointer-events:auto}.sidebar{z-index:25;border-right:1px solid #d8e0de;width:min(300px,100vw - 48px);transition:transform .18s;position:fixed;top:0;bottom:0;left:0;overflow:auto;transform:translate(-100%)}.navOpen .sidebar{transform:translate(0)}.workspace{padding-top:70px}.practiceGrid,.formGrid{grid-template-columns:1fr}.answerBlock,.editorForm{border-left:0;border-right:0;padding-left:0;padding-right:0}}@media (width<=640px){.workspace{padding:70px 14px 14px}.sidebar{padding:18px}.authShell{align-items:start;padding:14px}.authPanel{padding:18px}.sectionHead{flex-direction:column;align-items:stretch}.controlsRow>*,.buttonRow>*,.filterRow>*{flex:100%}.segmented{width:100%}.segmented button{flex:1 1 0}.practiceActions{grid-template-columns:1fr 1fr;margin-top:12px;display:grid}.practiceActions>*{width:100%}.questionHeading{flex-direction:column;align-items:stretch}.questionHeading .ghostBtn{align-self:flex-start;margin-top:-6px}.memoryLevels{grid-template-columns:1fr 1fr}.listItem{flex-direction:column;align-items:stretch}.listItem .ghostIconBtn{align-self:flex-end}.toast{max-width:none;inset:auto 14px 14px}}
