*{box-sizing:border-box}html,body{margin:0;padding:0;min-width:320px;min-height:100%}body{font-family:Manrope,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}#root{min-height:100%}.sidebar-nav-icon{display:grid;width:20px;height:20px;flex:0 0 20px;place-items:center}.daily-home-card{display:flex;gap:16px;margin-top:18px;padding:20px;border:1px solid #dfd2c1;border-radius:8px;background:#fffdfa}.daily-home-icon{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;border-radius:8px;background:var(--weak);color:var(--primary)}.daily-home-copy{flex:1;min-width:0}.daily-home-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.daily-home-heading>svg{flex:0 0 auto;color:#5e8c4e}.daily-home-heading span{color:var(--primary);font-size:11px;font-weight:800}.daily-home-heading h2{margin:4px 0 0;font-family:"Noto Serif SC",serif;font-size:20px;font-weight:650;letter-spacing:0}.daily-home-copy>p{margin:8px 0 0;color:#786a59;font-size:12.5px;line-height:1.65}.daily-home-progress{display:flex;align-items:center;gap:12px;margin-top:14px}.daily-home-progress>div,.daily-progress{height:7px;overflow:hidden;border-radius:6px;background:#eee4d6}.daily-home-progress>div{flex:1}.daily-home-progress span,.daily-progress span{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .25s ease}.daily-home-progress b{color:#786a59;font-size:12px;font-variant-numeric:tabular-nums}.daily-home-actions{display:flex;align-items:center;gap:12px;margin-top:14px}.daily-generating{color:#8a7c6b;font-size:12px}.daily-primary,.daily-secondary,.daily-submit{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:7px;padding:0 18px;border-radius:8px;font:inherit;font-size:13px;font-weight:750;cursor:pointer}.daily-primary,.daily-submit{border:0;background:var(--primary);color:#fff}.daily-secondary{border:1px solid #d9cbb8;background:#fff;color:#766653}.daily-primary:disabled,.daily-submit:disabled{cursor:default;opacity:.5}.daily-state{display:grid;min-height:420px;place-content:center;justify-items:center;padding:30px;color:var(--primary);text-align:center}.daily-state p{max-width:460px;margin:14px 0 0;color:#756755;font-size:13px;line-height:1.65}.daily-state>div{display:flex;gap:10px;margin-top:18px}.daily-practice-page{width:min(100%,820px);margin:0 auto;animation:fadeUp .25s ease}.daily-practice-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.daily-back,.daily-flag{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:#8a7c6b;font:inherit;font-size:12px;cursor:pointer}.daily-back{justify-self:start;padding:8px 0}.daily-practice-title{text-align:center}.daily-practice-title span{display:inline-flex;align-items:center;gap:5px;color:var(--primary);font-size:12px;font-weight:800}.daily-practice-title b{display:block;margin-top:3px;color:#574b3e;font-size:13px}.daily-score{justify-self:end;color:#8a7c6b;font-size:12px}.daily-progress{width:100%;margin-top:13px}.daily-question-card,.daily-complete{margin-top:20px;border:1px solid #e4d8c7;border-radius:8px;background:#fffdfa}.daily-question-card{padding:26px 28px}.daily-question-meta{display:flex;align-items:center;gap:9px}.daily-question-meta span,.daily-question-meta small{padding:4px 9px;border-radius:6px;font-size:11px;font-weight:750}.daily-question-meta span{background:var(--weak);color:var(--primary)}.daily-question-meta small{border:1px solid #e2d5c3;color:#8a7c6b}.daily-question-card>h1{margin:17px 0 0;color:#2e2820;font-family:"Noto Serif SC",serif;font-size:18px;font-weight:650;line-height:1.65;letter-spacing:0;white-space:pre-wrap}.daily-options{display:grid;gap:10px;margin-top:19px}.daily-options>button{display:grid;grid-template-columns:28px 1fr 20px;min-height:54px;align-items:center;gap:12px;padding:10px 14px;border:1px solid #e2d5c3;border-radius:8px;background:#fff;color:#3a3026;text-align:left;cursor:pointer}.daily-options>button>span{display:grid;width:28px;height:28px;place-items:center;border-radius:6px;background:#f0e7d9;color:#796b59;font-size:12px}.daily-options>button>b{font-size:14px;font-weight:550;line-height:1.5}.daily-options>button.selected{border-color:var(--primary);background:var(--weaker)}.daily-options>button.selected>span{background:var(--primary);color:#fff}.daily-options>button.correct{border-color:#6f995f;background:#eef5e8;color:#426d34}.daily-options>button.wrong{border-color:#c86c64;background:#f8e8e6;color:#9a3b33}.daily-feedback{margin-top:18px;padding:15px;border-radius:8px;background:#f6f0e8}.daily-feedback.correct{border-left:3px solid #6f995f}.daily-feedback.wrong{border-left:3px solid #c86c64}.daily-feedback strong{font-size:13px}.daily-feedback p{margin:7px 0 0;color:#5f5345;font-size:13px;line-height:1.65}.daily-feedback small{display:block;margin-top:8px;color:#8a7c6b}.daily-submit{width:100%;margin-top:18px}.daily-answer-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}.daily-flag:disabled{cursor:default;opacity:.65}.daily-error{margin-top:12px;padding:9px 11px;border:1px solid #ecd0cc;border-radius:6px;background:#fbefed;color:#a34138;font-size:12px;line-height:1.5}.daily-complete{display:grid;justify-items:center;padding:48px 28px;color:#5e8c4e;text-align:center}.daily-complete h1{margin:14px 0 0;color:#2e2820;font-family:"Noto Serif SC",serif;font-size:24px;letter-spacing:0}.daily-complete p{margin:8px 0 0;color:#786a59;font-size:13px}.daily-result-grid{display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,420px);margin:25px 0}.daily-result-grid span{color:#8a7c6b;font-size:11px}.daily-result-grid b{display:block;color:var(--primary);font-family:"Noto Serif SC",serif;font-size:22px}.auth-loading,.auth-page{min-height:100vh;min-height:100dvh;background:#f4eee5;color:#2e2820}.auth-loading{display:grid;place-items:center;color:#8a7c6b;font-size:13px}.auth-page{display:grid;place-items:center;padding:32px 18px}.auth-panel{width:min(100%,420px);padding:30px;border:1px solid #dfd2c1;border-radius:8px;background:#fffdfa;box-shadow:0 18px 50px #49382617}.auth-brand{display:grid;width:48px;height:48px;margin-inline:auto;place-items:center;border-radius:8px;background:#c97b5a;color:#fff;font-family:"Noto Serif SC",serif;font-size:23px;font-weight:700}.auth-heading{margin-top:22px;text-align:center}.auth-heading>span{color:#8b624c;font-size:12px;font-weight:800}.auth-heading h1{margin:7px 0 0;font-family:"Noto Serif SC",serif;font-size:27px;font-weight:650;letter-spacing:0}.auth-heading p{min-height:22px;margin:7px 0 0;color:#857664;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.auth-form{display:grid;gap:10px;margin-top:22px}.auth-form label,.twofa-disable label{color:#625648;font-size:12px;font-weight:750}.auth-form input,.twofa-code-row input{width:100%;min-height:48px;padding:0 13px;border:1px solid #d7c7b2;border-radius:8px;outline:none;background:#fff;color:#2e2820;font-size:16px;transition:border-color .16s ease,box-shadow .16s ease}.auth-form input:focus,.twofa-code-row input:focus{border-color:#c97b5a;box-shadow:0 0 0 3px #c97b5a29}.auth-code-input{font-variant-numeric:tabular-nums;letter-spacing:8px;text-align:center}.auth-primary,.security-primary,.security-secondary,.security-danger,.security-logout,.security-cancel{min-height:44px;border-radius:8px;font-size:13px;font-weight:750;cursor:pointer}.auth-primary,.security-primary{border:0;background:#c97b5a;color:#fff}.auth-primary{width:100%;margin-top:4px}.auth-primary:disabled,.security-primary:disabled,.security-secondary:disabled,.security-danger:disabled,.security-logout:disabled{cursor:default;opacity:.52}.auth-error{padding:9px 11px;border:1px solid #ecd0cc;border-radius:6px;background:#fbefed;color:#a34138;font-size:12px;line-height:1.5}.auth-secondary-actions{display:flex;justify-content:center;gap:18px;min-height:36px}.auth-secondary-actions button{border:0;background:transparent;color:#7e6d5a;font-size:12px;cursor:pointer}.auth-secondary-actions button:disabled{cursor:default;opacity:.5}.security-panel{margin-top:16px;padding:20px;border:1px solid #e1d4c2;border-radius:8px;background:#fffdfa}.security-heading,.security-row,.twofa-code-row{display:flex;align-items:center}.security-heading,.security-row{justify-content:space-between;gap:16px}.security-heading h2{margin:0;color:#2e2820;font-size:15px}.security-heading p{margin:4px 0 0;color:#8a7c6b;font-size:12px}.security-logout,.security-cancel{padding:0 12px;border:1px solid #ded1c0;background:#fff;color:#6b5f50}.security-row{margin-top:17px;padding-top:17px;border-top:1px solid #eee4d7}.security-row strong,.security-row span{display:block}.security-row strong{color:#3d352d;font-size:13px}.security-row span{margin-top:3px;color:#92816c;font-size:11.5px}.security-primary,.security-secondary,.security-danger{padding:0 15px}.security-secondary{border:1px solid #d8c8b2;background:#fff;color:#685b4b}.security-danger{border:0;background:#a94b43;color:#fff}.twofa-enrollment,.twofa-disable{margin-top:16px;padding:16px;border:1px solid #dfd2c1;border-radius:8px;background:#f8f3ec}.twofa-enrollment{display:grid;grid-template-columns:180px minmax(0,1fr);gap:18px;align-items:center}.twofa-enrollment img{display:block;width:180px;height:180px;border:8px solid #fff;border-radius:6px}.twofa-enrollment strong{color:#342d26;font-size:14px}.twofa-enrollment p{margin:6px 0 9px;color:#786a59;font-size:12px;line-height:1.55}.twofa-enrollment code{display:block;overflow-wrap:anywhere;color:#7b5140;font-size:11px}.twofa-code-row{gap:8px;margin-top:12px}.twofa-code-row input{width:132px;flex:0 0 132px;font-variant-numeric:tabular-nums;letter-spacing:4px;text-align:center}.twofa-disable label{display:block}.security-panel>.auth-error{margin-top:12px}.app-shell{width:100%;height:100vh;height:100dvh;overflow:hidden}.app-layout{display:flex;width:100%;height:100%}.app-main{position:relative;min-width:0;flex:1;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain}.app-content{width:100%;max-width:980px;min-width:0;margin:0 auto;padding:34px 44px 60px}.chat-controls{display:flex;align-items:center;gap:5px;min-width:0}.chat-rename-form{display:grid;grid-template-columns:minmax(130px,170px) 38px 38px;gap:5px}.chat-rename-input{width:100%;min-width:0;min-height:40px;padding:0 11px;border:1px solid var(--primary);border-radius:8px;outline:none;background:#fffdfa;color:#5c5043;font-size:13px}.chat-tool-button,.chat-new-button{display:inline-flex;min-width:40px;min-height:40px;align-items:center;justify-content:center;border:1px solid #e1d4c2;border-radius:8px;background:#fffdfa;color:#796b5a;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease}.chat-tool-button:hover:not(:disabled),.chat-new-button:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 48%,#e1d4c2);background:#fff;color:var(--primary)}.chat-tool-button.is-primary{border-color:var(--primary);background:var(--primary);color:#fff}.chat-tool-button.is-danger:hover:not(:disabled){border-color:#d8aaa4;background:#fbefed;color:#a34138}.chat-tool-button:disabled,.chat-new-button:disabled{cursor:default;opacity:.46}.chat-new-button{gap:4px;padding:0 10px;color:var(--primary);font-size:12px;font-weight:750;white-space:nowrap}::selection{background:#c97b5a38}.scrl::-webkit-scrollbar{width:9px;height:9px}.scrl::-webkit-scrollbar-thumb{background:#ddd0be;border-radius:9px;border:2px solid transparent;background-clip:padding-box}.scrl::-webkit-scrollbar-track{background:transparent}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes dotpulse{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes ringin{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}input::placeholder,textarea::placeholder{color:#b6a892}button{font-family:inherit}button,input,textarea{touch-action:manipulation}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 28%,transparent);outline-offset:2px}.select-control{position:relative;display:inline-flex;align-items:center;min-width:0}.select-control[data-open=true]{z-index:140}.select-leading-icon,.select-chevron{position:absolute;z-index:1;color:#8a7c6b;pointer-events:none;transition:color .16s ease,transform .16s ease}.select-leading-icon{left:12px;display:grid;place-items:center}.select-chevron{top:50%;right:12px;transform:translateY(-50%)}.select-control:focus-within .select-leading-icon,.select-control:focus-within .select-chevron{color:var(--primary)}.select-control[data-open=true] .select-chevron{transform:translateY(-50%) rotate(180deg)}.select-control[data-disabled=true] .select-leading-icon,.select-control[data-disabled=true] .select-chevron{opacity:.45}.app-select{display:flex;width:100%;min-height:44px;min-width:0;align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0 38px 0 12px;border:1px solid #d6c7b4;border-radius:8px;background:#fffdfa;color:#40372e;font:600 13px/1.2 inherit;cursor:pointer;box-shadow:0 1px 2px #4938260d;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;touch-action:manipulation}.app-select-value,.select-option-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select-control.has-leading-icon .app-select{padding-left:37px}.app-select:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary) 55%,#d6c7b4);background:#fff;box-shadow:0 3px 10px #49382614}.app-select:focus-visible{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 17%,transparent),0 3px 10px #49382614}.app-select:disabled{cursor:not-allowed;opacity:.58}.select-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:150;display:grid;width:100%;max-width:calc(100vw - 28px);max-height:min(280px,42vh);gap:2px;overflow-y:auto;padding:5px;border:1px solid #d9cbb9;border-radius:8px;background:#fffdfa;box-shadow:0 14px 34px #4938262e;overscroll-behavior:contain;animation:selectMenuIn .16s ease-out}.select-option{display:flex;width:100%;min-height:40px;align-items:center;justify-content:space-between;gap:10px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#4f4438;font-size:13px;font-weight:600;text-align:left;cursor:pointer}.select-option:hover:not(:disabled),.select-option[data-active=true]{background:#f4eee5}.select-option[aria-selected=true]{background:color-mix(in srgb,var(--primary) 11%,#fffdfa);color:var(--primary);font-weight:750}.select-option>svg{flex:0 0 auto}@keyframes selectMenuIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chat-conversation-select{width:min(220px,42vw)}.chat-conversation-select .select-menu{width:280px}.chat-conversation-select .app-select{min-height:40px;font-size:12.5px}.memory-category-select{width:142px;flex:0 0 142px}.memory-draft-input{min-width:0}.memory-add-button{min-height:44px}.mock-start-panel{width:min(760px,100%);margin:22px auto 0}.mock-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.mock-mode-option{display:flex;min-width:0;min-height:126px;align-items:flex-start;gap:12px;padding:16px;border:1px solid #ded1c0;border-radius:8px;background:#fffdfa;color:#40372e;font-family:inherit;text-align:left;cursor:pointer;box-shadow:0 1px 2px #4938260a;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.mock-mode-option:hover{border-color:color-mix(in srgb,var(--primary) 50%,#ded1c0);box-shadow:0 5px 16px #49382614}.mock-mode-option:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.mock-mode-option[data-selected=true]{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 7%,#fffdfa);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 24%,transparent)}.mock-mode-icon{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:8px;background:#f3ece2;color:#8a7c6b}.mock-mode-option[data-selected=true] .mock-mode-icon{background:var(--primary);color:#fff}.mock-mode-copy{display:grid;min-width:0;gap:4px}.mock-mode-copy strong{font-size:14px;line-height:1.4}.mock-mode-copy>span{color:var(--primary);font-size:12.5px;font-weight:700}.mock-mode-copy small{color:#8a7c6b;font-size:12px;line-height:1.55}.mock-start-button{display:block;width:min(360px,100%);min-height:48px;margin:0 auto;padding:0 18px;border:0;border-radius:8px;background:var(--primary);color:#fff;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}.mock-start-button:disabled{background:#ede3d5;color:#9f917e;cursor:not-allowed}.mock-history-mode{display:inline-block;margin-right:7px;color:var(--primary);font-size:12px}.exam-date-editor{margin-top:14px;padding:18px;border:1px solid #ded1c0;border-radius:8px;background:#f8f3ec;animation:fadeUp .2s ease-out}.exam-date-preview{display:flex;align-items:center;gap:13px}.exam-date-icon{width:48px;height:52px;flex:0 0 48px;overflow:hidden;border:1px solid #d3c2ab;border-radius:6px;background:#fff;text-align:center}.exam-date-icon span{display:block;padding:3px 0;background:var(--primary);color:#fff;font-size:10px;font-weight:700}.exam-date-icon b{display:block;padding-top:3px;color:#3a3026;font-family:"Noto Serif SC",serif;font-size:20px}.exam-date-label{display:block;color:#796b5a;font-size:12px;font-weight:700}.exam-date-friendly{margin-top:3px;color:#332b23;font-size:15px;font-weight:700}.exam-date-input{width:min(100%,380px);min-height:46px;margin-top:14px;padding:0 12px 0 14px;border:1px solid #ccb99f;border-radius:8px;background:#fff;color:#3a3026;font:600 15px inherit;color-scheme:light;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease}.exam-date-input:hover{border-color:#b39c7e}.exam-date-input:focus-visible{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.exam-date-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.76}.exam-date-presets{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.exam-date-presets>span{margin-right:2px;color:#8a7c6b;font-size:11.5px;font-weight:700}.exam-date-presets button{min-height:44px;padding:0 12px;border:1px solid #d8c8b2;border-radius:8px;background:#fff;color:#655746;font-size:12px;font-weight:600;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease}.exam-date-presets button:hover{border-color:var(--primary);background:var(--weaker);color:var(--primary)}.exam-date-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:15px}.exam-date-save{min-height:44px;padding:0 19px;border:0;border-radius:8px;background:var(--primary);color:#fff;font-size:13px;font-weight:700;cursor:pointer}.exam-date-save:disabled{cursor:default;opacity:.45}.exam-date-text-btn{min-height:44px;padding:0 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:#796b5a;font-size:12.5px;cursor:pointer}.exam-date-text-btn.danger{color:#9b4b43}.exam-date-text-btn:hover:not(:disabled){border-color:#ded1c0;background:#fff}.trend-bars,.trend-date-labels{display:flex;gap:4px}.trend-bars{height:90px;margin-top:14px;align-items:end}.trend-bar{width:100%;min-width:0;flex:1 1 0;border-radius:4px 4px 2px 2px;transition:height .4s ease}.trend-date-labels{margin-top:7px}.trend-date-labels time{min-width:0;flex:1 1 0;overflow:visible;color:#8f7e68;font-size:9px;line-height:1;text-align:center;white-space:nowrap}.exam-date-error{margin-top:8px;color:#a34138;font-size:12px}.study-plan-panel{margin-top:18px;padding-top:18px;border-top:1px solid #ece1d0}.study-plan-heading,.study-plan-heading>div,.study-plan-metrics{display:flex;align-items:center}.study-plan-heading{justify-content:space-between;gap:12px}.study-plan-heading>div{min-width:0;gap:9px}.study-plan-heading strong{color:#332b23;font-size:14px}.study-plan-heading span{padding:3px 7px;border-radius:6px;background:#edf4ea;color:#52714d;font-size:11px;font-weight:700}.study-plan-secondary,.study-plan-confirm{min-height:42px;border-radius:8px;font-size:12.5px;font-weight:700;cursor:pointer}.study-plan-secondary{padding:0 13px;border:1px solid #d9c6ae;background:#fff;color:#6b5f50}.study-plan-confirm{margin-top:14px;padding:0 16px;border:0;background:var(--primary);color:#fff}.study-plan-secondary:disabled,.study-plan-confirm:disabled{cursor:default;opacity:.5}.study-plan-explanation,.study-plan-empty{margin:11px 0 0;color:#6b5f50;font-size:13px;line-height:1.65}.study-plan-metrics{flex-wrap:wrap;gap:8px;margin-top:12px}.study-plan-metrics span{padding:7px 9px;border:1px solid #e5d8c5;border-radius:6px;color:#796b5a;font-size:11.5px}.study-plan-metrics b{color:#332b23}.study-plan-first-week{display:grid;grid-template-columns:minmax(110px,auto) minmax(0,1fr);gap:12px;margin-top:12px;color:#796b5a;font-size:12px;line-height:1.55}.study-plan-first-week b{color:#4b4137;font-weight:600}.study-plan-details{margin-top:12px}.study-plan-details summary{width:fit-content;min-height:36px;color:var(--primary);font-size:12px;font-weight:700;line-height:36px;cursor:pointer}.study-plan-weeks{max-height:280px;margin-top:7px;overflow-y:auto;border-top:1px solid #ece1d0}.study-plan-week{display:grid;grid-template-columns:70px 90px minmax(120px,1fr) minmax(170px,1.2fr);gap:10px;padding:10px 2px;border-bottom:1px solid #f0e7da;color:#796b5a;font-size:11.5px;line-height:1.45}.study-plan-week b{color:#4b4137}.study-plan-warning{margin-top:10px;color:#9b4b43;font-size:12px}.history-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:14px}.history-result-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-width:min(100%,360px);padding:3px;border:1px solid #e2d4c0;border-radius:8px;background:#f4eee5}.history-result-filter button{min-height:40px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:#796b5a;font-size:12px;font-weight:700;cursor:pointer}.history-result-filter button[aria-pressed=true]{background:#fff;color:#3f5f4a;box-shadow:0 1px 4px #43392f1f}.history-selects{display:flex;gap:9px}.history-selects label{display:grid;gap:4px}.history-selects label>span{color:#8a7c6b;font-size:10.5px;font-weight:700}.history-selects .app-select,.history-selects .select-control{width:142px}.history-summary{margin-top:10px;color:#9a8b77;font-size:11.5px}.history-error{margin-top:10px;color:#a34138;font-size:12px}.history-empty{margin-top:13px;padding:20px 16px;border:1px dashed #ddcfbb;border-radius:8px;color:#9a8b77;background:#fffdfa;font-size:13px;text-align:center}.history-groups{margin-top:15px}.history-day-group+.history-day-group{margin-top:20px}.history-day-heading{display:flex;align-items:center;gap:8px;margin-bottom:8px;color:#4b4137;font-size:12.5px;font-weight:800}.history-day-heading:after{height:1px;flex:1;background:#e9dfd1;content:""}.history-day-heading i{color:#a6957f;font-size:10.5px;font-style:normal;font-weight:600}.history-records{display:grid;gap:8px}.history-record{padding:13px 15px;border:1px solid #ece1d0;border-radius:8px;background:#fffdfa}.history-record-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.history-qtype,.history-topic{padding:3px 7px;border-radius:5px;font-size:10.5px;font-weight:700}.history-qtype{background:#e8f0e7;color:#49654e}.history-topic{max-width:min(55%,280px);overflow:hidden;background:#f6ecda;color:#8b624c;text-overflow:ellipsis;white-space:nowrap}.history-record-meta strong{margin-left:auto;font-size:11.5px;white-space:nowrap}.history-record-meta .is-correct{color:#4f7a4a}.history-record-meta .is-incorrect{color:#b34e47}.history-stem{margin-top:8px;color:#2e2820;font-size:13px;line-height:1.55}.history-record time{display:block;margin-top:7px;color:#a6957f;font-size:10.5px}.history-load-more{display:block;min-width:220px;min-height:44px;margin:16px auto 0;padding:0 18px;border:1px solid #d8c5ae;border-radius:8px;background:#fffdfa;color:#6b5f50;font-size:12.5px;font-weight:700;cursor:pointer}.history-load-more:disabled{cursor:default;opacity:.55}.practice-ai{margin-top:18px}.practice-ai-trigger{width:100%;min-height:62px;display:flex;align-items:center;gap:11px;padding:10px 13px;border:1px solid #dfcdb6;border-radius:14px;background:linear-gradient(135deg,#fffdfa,var(--weaker));color:#3a3026;text-align:left;cursor:pointer;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.practice-ai-trigger:hover{transform:translateY(-1px);border-color:var(--primary);box-shadow:0 7px 20px #5c3f2714}.practice-ai-trigger.is-open{border-color:color-mix(in srgb,var(--primary) 58%,#dfcdb6);border-radius:14px 14px 8px 8px}.practice-ai-trigger-avatar,.practice-ai-avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;background:var(--primary);color:#fff;font-family:"Noto Serif SC",serif}.practice-ai-trigger-avatar{width:38px;height:38px;font-size:16px;box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 24%,transparent)}.practice-ai-trigger>span:nth-child(2){min-width:0;flex:1}.practice-ai-trigger b,.practice-ai-trigger small{display:block}.practice-ai-trigger b{font-size:13.5px}.practice-ai-trigger small{margin-top:3px;color:#897965;font-size:11.5px;line-height:1.4}.practice-ai-chevron{color:var(--primary);font-size:11.5px;font-weight:700}.practice-ai-panel{overflow:hidden;margin-top:8px;border:1px solid #e4d3bd;border-radius:8px 8px 16px 16px;background:#fbf6ee;box-shadow:0 12px 28px #533a2414;animation:fadeUp .22s ease-out}.practice-ai-header{display:flex;align-items:center;gap:10px;padding:15px 16px 12px;border-bottom:1px solid #eadfce;background:#fffdfac7}.practice-ai-avatar{width:34px;height:34px;font-size:14px}.practice-ai-title{color:#3a3026;font-size:13.5px;font-weight:800}.practice-ai-title span{margin-left:5px;padding:2px 6px;border-radius:8px;background:var(--weak);color:var(--primary);font-size:9px;letter-spacing:.08em}.practice-ai-subtitle{margin-top:2px;color:#8b7b67;font-size:11.5px}.practice-ai-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:13px 15px 0}.practice-ai-actions button{min-height:58px;padding:10px 12px;border:1px solid #e2d3bf;border-radius:12px;background:#fff;color:#564a3d;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease}.practice-ai-actions button:hover{border-color:var(--primary);background:var(--weaker)}.practice-ai-actions button:disabled{cursor:default;opacity:.48}.practice-ai-actions b,.practice-ai-actions small{display:block}.practice-ai-actions b{color:#4d4034;font-size:12.5px}.practice-ai-actions small{margin-top:3px;color:#968671;font-size:10.5px;line-height:1.35}.practice-ai-empty{display:flex;flex-direction:column;align-items:center;padding:23px 20px 17px;text-align:center}.practice-ai-empty b{color:#5d5042;font-size:12.5px}.practice-ai-empty span{max-width:340px;margin-top:5px;color:#9a8b77;font-size:11.5px;line-height:1.55}.practice-ai-messages{max-height:360px;overflow-y:auto;display:flex;flex-direction:column;gap:13px;margin-top:13px;padding:14px 15px;border-top:1px solid #eadfce;border-bottom:1px solid #eadfce;background:#fffdfa85;overscroll-behavior:contain}.practice-ai-message{display:flex;align-items:flex-end;gap:7px}.practice-ai-message.user{justify-content:flex-end}.practice-ai-message-avatar{width:25px;height:25px;flex:0 0 25px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--primary);color:#fff;font-family:"Noto Serif SC",serif;font-size:11px}.practice-ai-bubble{max-width:86%;padding:10px 12px;border-radius:13px 13px 13px 4px;border:1px solid #e8ddcd;background:#fff;color:#4e4337;font-size:12.5px;line-height:1.65;white-space:pre-wrap}.practice-ai-message.user .practice-ai-bubble{border:0;border-radius:13px 13px 4px;background:var(--primary);color:#fff}.practice-ai-thinking{display:inline-flex;align-items:center;gap:4px;color:#8c7c68;font-size:11.5px}.practice-ai-thinking i{width:5px;height:5px;border-radius:50%;background:var(--primary);animation:dotpulse 1.1s infinite}.practice-ai-thinking i:nth-child(2){animation-delay:.16s}.practice-ai-thinking i:nth-child(3){animation-delay:.32s}.practice-ai-error{margin:10px 15px 0;padding:9px 11px;border:1px solid #e7beb8;border-radius:9px;background:#faecea;color:#923f37;font-size:11.5px}.practice-ai-composer{padding:13px 15px 15px}.practice-ai-composer>label{display:block;margin-bottom:6px;color:#6d5e4c;font-size:11.5px;font-weight:700}.practice-ai-composer>div{display:flex;align-items:flex-end;gap:8px;padding:7px;border:1px solid #ddcdb7;border-radius:13px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease}.practice-ai-composer>div:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.practice-ai-composer textarea{min-height:44px;max-height:116px;flex:1;resize:vertical;border:0;outline:0;background:transparent;color:#3a3026;font:13px/1.5 inherit}.practice-ai-composer button{min-width:72px;min-height:44px;padding:0 14px;border:0;border-radius:10px;background:var(--primary);color:#fff;font-size:12.5px;font-weight:700;cursor:pointer}.practice-ai-composer button:disabled{cursor:default;opacity:.42}.practice-ai-composer>small{display:block;margin-top:5px;color:#a0917e;font-size:10px;text-align:right}@media (max-width: 620px){.auth-page{place-items:center;padding:20px 14px}.auth-panel{padding:24px 20px}.auth-primary,.security-primary,.security-secondary,.security-danger,.security-logout,.security-cancel{min-height:48px}.security-heading{align-items:flex-start}.security-row{align-items:stretch;flex-direction:column}.twofa-enrollment{grid-template-columns:1fr}.twofa-enrollment img{margin:0 auto}.twofa-code-row{align-items:stretch;flex-direction:column}.twofa-code-row input{width:100%;flex-basis:48px;font-size:16px}.app-sidebar{position:fixed;inset:0 0 auto;z-index:100;width:100%!important;height:calc(62px + env(safe-area-inset-top));padding:calc(7px + env(safe-area-inset-top)) 58px 6px 12px!important;border-right:0!important;border-bottom:1px solid #e7dccb;box-shadow:0 3px 14px #4c37230f}.sidebar-exam{width:100%;margin-bottom:0!important}.sidebar-exam>button{height:48px;padding:6px 9px!important}.sidebar-exam>div{position:fixed!important;inset:calc(61px + env(safe-area-inset-top)) 10px auto!important;max-height:min(55vh,360px);overflow-y:auto}.sidebar-nav{position:fixed;z-index:101;inset:auto 0 0;height:calc(62px + env(safe-area-inset-bottom));display:flex!important;flex-direction:row!important;align-items:stretch;gap:2px!important;overflow-x:auto;padding:4px 5px max(2px,env(safe-area-inset-bottom));border-top:1px solid #e1d4c2;background:#faf6f0f7;box-shadow:0 -4px 18px #4c372312;scrollbar-width:none}.sidebar-nav::-webkit-scrollbar{display:none}.sidebar-nav>button{width:auto!important;min-width:52px;min-height:52px;flex:1 1 52px;flex-direction:column;justify-content:center;gap:3px!important;padding:3px 1px 2px!important;border-radius:9px!important;background:transparent!important;color:#827360!important;font-size:10.5px!important;white-space:nowrap}.sidebar-nav>button[aria-current=page]{color:var(--primary)!important;font-weight:750!important}.sidebar-nav-icon{width:31px;height:29px;flex-basis:29px;border-radius:9px;transition:background-color .16s ease,color .16s ease,transform .16s ease}.sidebar-nav>button[aria-current=page] .sidebar-nav-icon{background:var(--primary);color:#fff;box-shadow:0 4px 11px #4c372329;transform:translateY(-1px)}.sidebar-companion,.sidebar-controls>span,.sidebar-controls>div{display:none!important}.sidebar-controls{position:fixed;z-index:102;top:calc(12px + env(safe-area-inset-top));right:14px;margin:0!important;padding:0!important}.sidebar-settings{width:38px;height:38px;padding:0!important;border-radius:10px!important;background:#fffdfa!important}.sidebar-settings svg{display:block;margin:auto}.app-main{width:100%;padding-top:calc(62px + env(safe-area-inset-top))}.app-content{max-width:none;padding:14px 12px calc(74px + env(safe-area-inset-bottom));overflow-x:clip}.app-content section{min-width:0}.app-content h1{font-size:24px!important;line-height:1.3}.app-content h2{line-height:1.35}.app-content input,.app-content textarea,.app-content select{max-width:100%;font-size:16px!important}.app-content [style*=grid-template-columns]{grid-template-columns:minmax(0,1fr)!important}.app-content [style*="justify-content: space-between"]{flex-wrap:wrap}.app-content [style*="max-width: 560px"]{width:100%;padding:20px 16px!important}.app-content [style*="padding: 26px 28px"],.app-content [style*="padding: 40px 28px"]{padding:20px 16px!important}.chat-view{height:calc(100dvh - 182px)!important;min-height:430px}.chat-header{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:10px!important}.chat-controls{display:grid;grid-template-columns:minmax(0,1fr) 44px 48px 44px;gap:6px;width:100%;overflow:visible}.chat-rename-form{grid-column:1 / -1;grid-template-columns:minmax(0,1fr) 48px 48px;gap:6px}.chat-conversation-select{width:100%}.chat-conversation-select .app-select{min-height:48px;font-size:16px}.chat-tool-button,.chat-new-button{width:100%;min-width:0;min-height:48px;padding:0}.chat-new-button span{display:none}.chat-rename-input{min-height:48px;font-size:16px}.chat-view>div:nth-child(2){padding-top:14px!important;padding-bottom:14px!important}.chat-view>div:nth-child(2)>div>div{max-width:calc(100% - 38px)!important}.md table{display:block;max-width:100%;overflow-x:auto}.exam-date-editor{padding:14px}.exam-date-input{width:100%;min-height:48px;font-size:16px}.exam-date-save{flex:1}.study-plan-heading{align-items:stretch;flex-direction:column}.study-plan-secondary,.study-plan-confirm{width:100%;min-height:48px}.study-plan-first-week{grid-template-columns:1fr;gap:3px}.study-plan-week{grid-template-columns:64px minmax(0,1fr)}.history-toolbar{align-items:stretch;flex-direction:column}.history-result-filter{width:100%;min-width:0}.history-result-filter button{min-height:44px;padding:0 5px;font-size:11px}.history-selects{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.history-selects .app-select{width:100%;min-width:0;min-height:48px;font-size:16px}.history-selects .select-control{width:100%}.memory-category-select{width:100%;grid-column:1 / -1}.memory-add-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:stretch!important}.memory-draft-input,.memory-add-button{min-height:48px}.mock-mode-grid{grid-template-columns:minmax(0,1fr);gap:8px}.mock-mode-option{min-height:0;padding:14px}.app-select,.select-option{min-height:48px;font-size:16px}.trend-bars,.trend-date-labels{gap:2px}.history-record{padding:12px}.history-topic{max-width:62%}.history-record-meta strong{width:100%;margin-left:0}.history-load-more{width:100%;min-height:48px}.daily-home-card{gap:10px;padding:13px}.daily-home-icon{width:38px;height:38px;flex-basis:38px}.daily-home-heading h2{font-size:18px}.daily-home-actions,.daily-home-actions .daily-primary{width:100%}.daily-primary,.daily-secondary,.daily-submit{min-height:48px}.daily-practice-header{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.daily-practice-title{grid-column:2;grid-row:1}.daily-back{grid-column:1;grid-row:1}.daily-score{grid-column:3;grid-row:1}.daily-practice-title span{display:none}.daily-practice-title b{margin-top:0;white-space:nowrap}.daily-progress{margin-top:8px}.daily-question-card{margin-top:10px;padding:14px 12px;border-radius:12px}.daily-question-card>h1{margin-top:10px;font-size:16px!important;line-height:1.48;overflow-wrap:anywhere}.daily-options{gap:7px;margin-top:12px}.daily-options>button{min-height:46px;grid-template-columns:26px 1fr 18px;gap:9px;padding:7px 9px}.daily-options>button>span{width:26px;height:26px}.daily-options>button>b{overflow-wrap:anywhere}.daily-answer-actions{margin-top:12px}.daily-answer-actions .daily-primary{flex:1}.daily-flag{min-height:44px;justify-content:center}.daily-complete{padding:38px 18px}.practice-ai-actions{grid-template-columns:1fr}.practice-ai-actions button{min-height:54px}.practice-ai-bubble{max-width:91%}.practice-ai-composer textarea{font-size:16px}.home-date{font-size:11px!important}.home-greeting{margin-top:3px!important;font-size:22px!important}.home-companion-card{gap:10px!important;margin-top:12px!important;padding:13px!important;border-radius:14px!important}.home-companion-card>span{width:34px!important;height:34px!important;flex-basis:34px!important}.home-companion-card button{min-height:44px;margin-top:8px!important}.home-plan-card{margin-top:12px!important;padding:14px!important;border-radius:14px!important}.home-stats-grid{margin-top:12px!important;gap:10px!important}.practice-session-header{align-items:flex-start!important;gap:6px!important;margin-bottom:8px!important}.practice-session-header>div:first-child{flex-wrap:wrap;gap:5px!important}.practice-session-header>div:last-child{justify-content:flex-end;flex-wrap:wrap;gap:6px!important}.practice-session-header button{min-height:36px;padding:0 5px!important}.practice-session-toolbar{flex-wrap:nowrap!important;gap:6px!important;margin:0 -12px 8px!important;padding:7px 12px!important;overflow-x:auto;border-right:0!important;border-left:0!important;border-radius:0!important;scrollbar-width:none}.practice-session-toolbar::-webkit-scrollbar{display:none}.practice-session-toolbar>*{flex:0 0 auto}.practice-session-toolbar>span[style*="width: 8px"],.practice-session-toolbar>span:last-child{display:none}.practice-question-card,.review-question-card{padding:14px 12px!important;border-radius:12px!important}.practice-question-card>div:first-child,.review-question-card>div:nth-child(2){font-size:16px!important;line-height:1.48!important}.practice-options,.review-options{gap:7px!important;margin-top:12px!important}.practice-options>button,.review-options>button{min-height:46px;padding:8px 10px!important}.practice-question-card>textarea,.review-question-card>textarea,.real-question-card>textarea{min-height:112px;max-height:34dvh;margin-top:12px!important}}@media (prefers-reduced-motion: reduce){.exam-date-editor,.practice-ai-panel,.practice-ai-thinking i{animation:none}.practice-ai-trigger,.app-select,.select-leading-icon,.select-chevron,.chat-tool-button,.chat-new-button{transition:none}.select-menu{animation:none}}.md{font-size:14px;line-height:1.7}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:0 0 8px}.md ul,.md ol{margin:6px 0;padding-left:20px}.md li{margin:4px 0}.md li>ul,.md li>ol{margin:4px 0}.md strong{font-weight:700;color:#2e2820}.md em{color:#6b5f50}.md h1,.md h2,.md h3,.md h4{margin:12px 0 6px;font-size:15px;font-weight:700;font-family:"Noto Serif SC",serif}.md code{background:#0000000f;padding:1px 5px;border-radius:4px;font-size:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.md pre{background:#0000000d;padding:10px 12px;border-radius:8px;overflow-x:auto}.md pre code{background:none;padding:0}.md a{color:var(--primary)}.md blockquote{margin:6px 0;padding-left:12px;border-left:3px solid #e5d8c5;color:#6b5f50}.md table{border-collapse:collapse;margin:6px 0;font-size:13px}.md th,.md td{border:1px solid #e5d8c5;padding:5px 9px}.md img{display:block;max-width:100%;max-height:min(540px,58vh);width:auto;height:auto;margin:12px auto;border-radius:10px;object-fit:contain}.md-image-blocked{color:#9a8b77;font-size:12px}.question-markdown{color:#2e2820;font-family:"Noto Serif SC",serif;font-size:18px;font-weight:600;line-height:1.6}.question-markdown.md h1,.question-markdown.md h2,.question-markdown.md h3,.question-markdown.md h4{font-size:inherit}.question-markdown-compact{color:#2e2820;font-size:14.5px;line-height:1.6}.option-markdown{flex:1;min-width:0;color:#3a3026;font-size:14px;font-weight:600;line-height:1.5;text-align:left}.option-markdown.md img{margin:6px 0;max-height:min(360px,42vh)}.sequence-diagram{margin:14px 0;padding:12px;border:1px solid #e5d8c5;border-radius:12px;background:#fffcf7;overflow-x:auto}.sequence-participants{display:flex;gap:8px;min-width:max-content;margin-bottom:10px}.sequence-participants span{padding:6px 12px;border:1px solid #d8b99f;border-radius:8px;background:#fbf1e6;color:#5c5043;font-size:12px;font-weight:700}.sequence-messages{display:grid;gap:7px}.sequence-message{display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:10px;align-items:center;padding:7px 9px;border-radius:8px;background:#fff}.sequence-route{color:#9b684e;font-size:11px;white-space:nowrap}.sequence-route b{margin:0 6px;color:var(--primary);font-size:15px}.sequence-label{color:#3a3026;font-size:12px;line-height:1.5}.sequence-fallback{overflow-x:auto}@media (max-width: 520px){.sequence-message{grid-template-columns:1fr;gap:3px}}.library-kind-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.library-kind-toggle>button{min-width:0;display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid #e5d8c5;border-radius:8px;background:#fff;color:#8a7a66;cursor:pointer;text-align:left}.library-kind-toggle>button.active{border-color:var(--primary);background:var(--weaker);color:var(--primary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 15%,transparent)}.library-kind-toggle svg{flex:0 0 auto}.library-kind-toggle span,.library-kind-toggle b,.library-kind-toggle small{display:block;min-width:0}.library-kind-toggle b{font-size:13px}.library-kind-toggle small{margin-top:2px;color:#a6957f;font-size:10.5px;font-weight:400}.library-file-input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.library-dropzone{min-height:82px;display:flex;align-items:center;gap:13px;padding:14px 16px;border:1px dashed #cfbea7;border-radius:8px;background:#fbf8f3;cursor:pointer;outline:none;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.library-dropzone:hover,.library-dropzone:focus-visible,.library-dropzone.dragging{border-color:var(--primary);background:var(--weaker);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}.library-dropzone.has-file{border-style:solid;border-color:#d8c8b3;background:#fff}.library-upload-icon,.library-file-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:8px;background:var(--weak);color:var(--primary)}.library-file-icon{background:#eef3e9;color:#648054}.library-file-copy{min-width:0;flex:1}.library-file-copy b,.library-file-copy small{display:block}.library-file-copy b{overflow:hidden;color:#3a3026;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.library-file-copy small{margin-top:4px;color:#9a8b77;font-size:11px}.library-file-clear{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:#9a8b77;cursor:pointer}.library-file-clear:hover{background:#f8e8e6;color:#c0524a}.library-upload-actions{display:flex;align-items:center;gap:12px}.library-upload-actions>button{display:inline-flex;align-items:center;gap:7px}.library-upload-actions>span{color:#a6957f;font-size:11.5px}.library-detail-heading{display:flex;align-items:center;gap:10px}.library-practice-paper{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:0;border-radius:8px;background:var(--primary);color:#fff;font-size:12px;font-weight:700;cursor:pointer}.practice-real-entry{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding:11px 13px;border:1px solid #d9c8ae;border-radius:8px;background:#f7f1e8;color:#6a5843;cursor:pointer;text-align:left}.practice-real-entry span{flex:0 0 auto;padding:3px 7px;border-radius:5px;background:#725d43;color:#fff;font-size:10.5px;font-weight:700}.practice-real-entry b{min-width:0;font-size:12px;overflow-wrap:anywhere}.practice-source-badge{max-width:260px;overflow:hidden;padding:5px 10px;border-radius:6px;background:#725d43;color:#fff;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.real-practice-page{max-width:820px;margin:0 auto;animation:fadeUp .3s ease}.real-practice-hero{display:flex;align-items:center;gap:14px;margin-bottom:22px}.real-practice-icon{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;border-radius:8px;background:#725d43;color:#fff}.real-practice-hero h1{margin:0;font:600 27px "Noto Serif SC",serif}.real-practice-hero p{margin:5px 0 0;color:#9a8b77;font-size:13px}.real-setup,.real-empty,.real-question-card,.real-complete{border:1px solid #ece1d0;border-radius:8px;background:#fffdfa}.real-setup{padding:22px}.real-filter-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));gap:12px}.real-filter-grid label>span{display:block;margin-bottom:7px;color:#776956;font-size:12px;font-weight:700}.real-filter-grid .select-control,.real-filter-grid .app-select{width:100%}.real-order{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:16px 0}.real-order button{min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #e2d5c3;border-radius:8px;background:#fff;color:#806f5b;font-size:12.5px;font-weight:700;cursor:pointer}.real-order button.active{border-color:var(--primary);background:var(--weaker);color:var(--primary)}.real-start,.real-redo,.real-submit,.real-next,.real-complete>button,.real-empty>button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer}.real-start,.real-submit{width:100%;background:var(--primary);color:#fff}.real-start:disabled,.real-submit:disabled{background:#ede3d5;color:#b6a892;cursor:not-allowed}.real-redo{width:100%;margin-top:8px;border:1px solid #dfd1bd;background:#fff;color:#7d6950}.real-empty,.real-complete{padding:44px 24px;color:#725d43;text-align:center}.real-empty h2,.real-complete h1{margin:12px 0 5px;color:#2e2820;font:600 21px "Noto Serif SC",serif}.real-empty p,.real-complete p{margin:0 auto 18px;color:#9a8b77;font-size:13px}.real-empty>button,.real-complete>button{padding:0 18px;background:var(--primary);color:#fff}.real-complete>div{display:flex;justify-content:center;gap:32px;margin:20px 0}.real-complete span,.real-complete b{display:block}.real-complete b{color:var(--primary);font:700 22px "Noto Serif SC",serif}.real-complete span{color:#9a8b77;font-size:11px}.real-answer-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:16px}.real-back{display:inline-flex;align-items:center;gap:5px;padding:7px 0;border:0;background:transparent;color:#8c7b66;font-size:12px;cursor:pointer}.real-answer-header>div{min-width:0;display:flex;align-items:center;gap:8px}.real-answer-header>div span{flex:0 0 auto;padding:3px 7px;border-radius:5px;background:#725d43;color:#fff;font-size:10.5px;font-weight:700}.real-answer-header>div b{min-width:0;overflow:hidden;color:#4a3d30;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.real-answer-header>small{color:#9a8b77;font-size:11.5px}.real-loading,.real-error{padding:18px;border-radius:8px;font-size:13px}.real-loading{border:1px solid #ece1d0;background:#fffdfa;color:#9a8b77;text-align:center}.real-error{margin:10px 0;border:1px solid #e8c9c4;background:#f8e8e6;color:#9a3b33}.real-error button{margin-left:10px;border:0;background:transparent;color:#9a3b33;font-weight:700;text-decoration:underline;cursor:pointer}.real-question-card{padding:26px 28px}.real-question-meta{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.real-question-meta span,.real-question-meta small{padding:4px 9px;border-radius:6px;font-size:10.5px;font-weight:700}.real-question-meta span{background:var(--weak);color:var(--primary)}.real-question-meta small{border:1px solid #e5d8c5;color:#9a8b77}.real-question-card>h1{margin:15px 0 0;color:#2e2820;font:600 18px/1.65 "Noto Serif SC",serif;white-space:pre-wrap}.real-question-card>textarea{width:100%;box-sizing:border-box;margin-top:18px;padding:13px 15px;resize:vertical;border:1px solid #e5d8c5;border-radius:8px;background:#fff;color:#3a3026;font:14px/1.6 inherit;outline:none}.real-options{display:grid;gap:9px;margin-top:18px}.real-options>button{width:100%;min-height:52px;display:flex;align-items:center;gap:12px;padding:10px 13px;border:1px solid #e5d8c5;border-radius:8px;background:#fff;color:#3a3026;cursor:pointer;text-align:left}.real-options>button>span{width:27px;height:27px;flex:0 0 27px;display:grid;place-items:center;border-radius:7px;background:#f0e7d9;color:#8a7c6b;font-size:12px;font-weight:700}.real-options>button>b{flex:1;font-size:13.5px;line-height:1.5}.real-options>button.selected{border-color:var(--primary);background:var(--weaker)}.real-options>button.selected>span{background:var(--primary);color:#fff}.real-options>button.correct{border-color:#6f955f;background:#eef5e8;color:#47613d}.real-options>button.correct>span{background:#638753;color:#fff}.real-options>button.wrong{border-color:#c0524a;background:#f8e8e6}.real-options>button.wrong>span{background:#c0524a;color:#fff}.real-feedback{margin-top:18px;padding:15px;border-left:3px solid #c0524a;border-radius:6px;background:#faf2ef;color:#5c5043;font-size:12.5px;line-height:1.65}.real-feedback.correct{border-color:#6f955f;background:#f1f6ed}.real-feedback>strong{color:#2e2820;font-size:13.5px}.real-feedback p{margin:8px 0 0;white-space:pre-wrap}.real-feedback small{display:block;margin-top:8px;color:#8b7b67}.real-submit{margin-top:16px}.real-answer-actions{display:flex;align-items:center;gap:10px;margin-top:16px}.real-next{padding:0 18px;background:var(--primary);color:#fff}.real-flag{min-height:42px;display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:#a6957f;font-size:11.5px;cursor:pointer}@media (max-width: 620px){.library-kind-toggle,.real-filter-grid{grid-template-columns:minmax(0,1fr)}.library-dropzone{min-height:90px;padding:13px}.library-file-copy b{white-space:normal;overflow-wrap:anywhere}.library-upload-actions,.library-detail-heading{align-items:stretch;flex-direction:column}.library-upload-actions>button,.library-practice-paper{width:100%;min-height:48px;justify-content:center}.library-detail-heading>span{display:none}.real-practice-hero{align-items:flex-start}.real-practice-icon{width:42px;height:42px;flex-basis:42px}.real-setup,.real-question-card{padding:18px 15px}.real-order{grid-template-columns:minmax(0,1fr)}.real-answer-header{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px}.real-answer-header>div{grid-column:1 / -1;grid-row:1}.real-answer-header>.real-back{grid-column:1;grid-row:2}.real-answer-header>small{grid-column:2;grid-row:2}.real-question-card>h1{font-size:17px!important;overflow-wrap:anywhere}.real-options>button>b{overflow-wrap:anywhere}.real-answer-actions{align-items:stretch;flex-direction:column}.real-next,.real-flag{width:100%;min-height:48px;justify-content:center}.real-complete>div{gap:18px}.practice-source-badge{max-width:100%}}
