:root{--bg:#f3f7fb;--surface:#ffffff;--surface-soft:#eef6ff;--surface-strong:#0b2f5b;--text:#111827;--muted:#5f6f85;--line:#d8e3ee;--primary:#0b4a8f;--primary-dark:#06366c;--primary-soft:#e7f1ff;--secondary:#dcecff;--accent:#d99618;--accent-soft:#fff6df;--danger:#dc2626;--danger-soft:#fee2e2;--success:#15803d;--success-soft:#dcfce7;--primary-rgb:11,74,143;--success-rgb:21,128,61;--danger-rgb:220,38,38;--accent-rgb:217,150,24;--shadow:0 26px 70px rgba(17,24,39,0.095);--shadow-soft:0 10px 30px rgba(17,24,39,0.075);--shadow-lift:0 24px 54px rgba(17,24,39,0.12);--ease:cubic-bezier(0.2,0.8,0.2,1);--sidebar-width:304px}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;background:linear-gradient(135deg,rgba(var(--primary-rgb),0.08),transparent 34%),linear-gradient(315deg,rgba(var(--accent-rgb),0.08),transparent 28%),var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;line-height:1.55;letter-spacing:0;overflow-x:hidden}button{font:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{min-height:82px;padding:14px 26px;display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(255,255,255,0.92);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);box-shadow:0 8px 24px rgba(17,24,39,0.05)}.topbar-left,.topbar-right{display:flex;align-items:center;gap:14px;min-width:0}.topbar-left{flex:0 0 auto}.topbar-right{margin-left:auto;overflow-x:auto;scrollbar-width:none;justify-content:flex-end}.topbar-right::-webkit-scrollbar{display:none}.brand-logo{width:154px;height:48px;flex:0 0 auto;border-radius:8px;display:block;overflow:hidden}.brand-logo img{width:100%;height:100%;object-fit:contain;object-position:left center;display:block}.page-title{font-size:1.08rem;line-height:1.2;font-weight:800}.page-subtitle{margin-top:3px;color:var(--muted);font-size:0.86rem;line-height:1.35}.menu-btn,.action-btn,.exit-btn,.controls button,.submit,.modal-actions button,.sidebar-section button,.grid-box button,#progress button,.analysis-box button{border:0;cursor:pointer;transition:transform 0.24s var(--ease),box-shadow 0.24s var(--ease),border-color 0.24s var(--ease),background 0.24s var(--ease),color 0.24s var(--ease)}.menu-btn{display:none;width:42px;height:42px;border-radius:8px;background:var(--surface-soft);color:var(--text);font-size:1.25rem}.action-btn{height:42px;padding:0 17px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-weight:750;font-size:1rem;white-space:nowrap;text-align:center}.action-btn.home-link{border:1px solid rgba(var(--primary-rgb),0.18);background:var(--surface-soft);color:var(--primary-dark);text-decoration:none}.action-btn.home-link[aria-label="Trang chủ"]{width:42px;padding:0;font-size:1.28rem;font-weight:950}.action-btn.home-link:hover{border-color:var(--accent);background:var(--accent-soft)}.action-btn.secondary{background:var(--primary);color:#ffffff;box-shadow:0 10px 22px rgba(var(--primary-rgb),0.18)}.action-btn.neutral{width:40px;padding:0;border:1px solid rgba(216,227,238,0.9);background:linear-gradient(180deg,#ffffff,#f7fbff);color:var(--muted)}.action-btn.neutral:hover{border-color:rgba(var(--danger-rgb),0.24);background:#fff5f5;color:var(--danger);box-shadow:0 10px 18px rgba(var(--danger-rgb),0.1)}.exit-btn{min-height:40px;padding:0 15px;border-radius:8px;background:var(--surface-strong);color:#ffffff;font-weight:850;white-space:nowrap}.user-chip{max-width:260px;min-height:40px;padding:10px 13px;border:1px solid var(--line);border-radius:8px;background:#ffffff;color:var(--muted);font-size:0.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip .auth-user{width:100%}.user-chip .auth-name{max-width:170px}.layout{flex:1;min-height:0;display:flex}.sidebar{width:var(--sidebar-width);flex:0 0 var(--sidebar-width);padding:22px 18px;background:rgba(255,255,255,0.94);border-right:1px solid var(--line);overflow-y:auto}.sidebar-header{padding:12px 10px 18px;border-bottom:1px solid var(--line);margin-bottom:18px}.section-kicker,.exam-eyebrow,.modal-kicker{color:var(--primary);font-size:0.72rem;font-weight:850;text-transform:uppercase}.section-title{margin-top:5px;font-size:1.35rem;font-weight:850}.sidebar-section{margin-bottom:16px;padding:10px;border:1px solid var(--line);border-radius:8px;background:rgba(248,251,251,0.74)}.sidebar-section:nth-of-type(2){background:rgba(231,241,255,0.82);border-color:#c9dcf3}.sidebar-section:nth-of-type(3){background:rgba(255,246,223,0.7);border-color:#ecd7a3}.sidebar-section h3{margin:0 4px 8px;color:#334155;font-size:0.78rem;font-weight:850;text-transform:uppercase}.sidebar-section button{width:100%;min-height:50px;margin-bottom:4px;padding:8px 10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;border:1px solid transparent;border-radius:8px;background:rgba(255,255,255,0.62);color:var(--text);text-align:left}.sidebar-section button span{font-weight:800}.sidebar-section button small{color:var(--muted);font-size:0.77rem;line-height:1.3}.sidebar-section button::after{content:"";width:42%;max-width:96px;height:2px;margin-top:5px;border-radius:999px;background:rgba(var(--primary-rgb),0.86)}.sub-group button::after{width:44%;max-width:86px;height:1px;background:var(--sub-accent,rgba(var(--primary-rgb),0.86))}.sidebar-section button:hover{background:var(--surface-soft);border-color:#b9d1ea;transform:translateX(2px)}.sub-group{margin:8px 0 10px;padding:6px 7px 4px 9px;border-left:3px solid #cbd9e7;border-radius:0 8px 8px 0;background:rgba(255,255,255,0.56)}.sub-group .sidebar-section button,.sub-group button{min-height:42px;margin-bottom:0;padding:7px 9px;border-radius:6px}.sub-group button+button{border-top:1px solid rgba(148,163,184,0.24)}.sub-group:nth-of-type(1){border-left-color:var(--primary);--sub-accent:var(--primary)}.sub-group:nth-of-type(2){border-left-color:var(--accent);--sub-accent:var(--accent)}.sub-group:nth-of-type(3){border-left-color:#2563eb;--sub-accent:#2563eb}.sub-title{margin:0 0 4px 2px;color:var(--accent);font-size:0.83rem;font-weight:850}.main{flex:1;min-width:0;padding:24px;overflow-y:auto}.exam-pro{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}#notebookToolsSlot{grid-column:1 / -1;min-width:0}.panel{border-radius:0}.exam-center,.right-panel,.card,#questionBox,.analysis-box,.result-score,.timer{background:rgba(255,255,255,0.96);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-soft)}.exam-center{padding:20px;min-width:0}.exam-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line)}.exam-header>div:first-child{text-align:center}.exam-header h2{margin-top:6px;font-size:clamp(1.4rem,2.5vw,2rem);line-height:1.15}.exam-header p{margin-top:7px;color:var(--muted);line-height:1.45;max-width:620px;margin-left:auto;margin-right:auto}.exam-meta{display:grid;grid-template-columns:repeat(3,minmax(94px,1fr));gap:8px}.meta-card{min-height:70px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-soft)}.meta-label{display:block;color:var(--muted);font-size:0.72rem;font-weight:750;text-transform:uppercase}.meta-card strong{display:block;margin-top:7px;color:var(--text);font-size:1.18rem;line-height:1}.timer-meta strong,.timer{color:var(--primary-dark);font-variant-numeric:tabular-nums}.card{padding:18px;margin-bottom:16px}.mini-test-boot-loading{display:none;min-height:240px;place-items:center;text-align:center;background:linear-gradient(180deg,#ffffff 0%,#f6fbff 100%)}.mini-test-boot-loading h3{margin:12px 0 4px;color:var(--text);font-size:1.28rem;line-height:1.25}.mini-test-boot-loading p{margin:0;color:var(--muted);font-weight:750;line-height:1.5}.mini-test-boot-mark{width:56px;height:56px;display:grid;place-items:center;border-radius:999px;background:#0b4a8f;color:#ffffff;font-weight:900;letter-spacing:0;box-shadow:0 14px 28px rgba(11,74,143,0.2)}html.mini-test-boot .layout,html.mini-test-active .layout{grid-template-columns:minmax(0,1fr)}html.mini-test-boot .sidebar,html.mini-test-active .sidebar,html.mini-test-boot #emptyState,html.mini-test-boot #examRight,html.mini-test-boot #questionBox,html.mini-test-boot #optionsBox,html.mini-test-boot #controls,html.mini-test-boot #grid,html.mini-test-boot #notebookToolsSlot,html.mini-test-boot #analysisBox{display:none !important}html.mini-test-boot #progress{display:none !important}html.mini-test-boot .mini-test-boot-loading{display:grid !important}.mini-test-error-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:12px}.mini-test-error-actions a{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 16px;border-radius:8px;background:var(--primary);color:#ffffff;font-weight:850;text-decoration:none}.mini-test-error-actions a.secondary{background:#eef4fb;color:var(--primary-dark);border:1px solid var(--line)}#progress{color:var(--muted);font-weight:800;text-align:center}#progress>div{padding:0 !important}#progress b{color:var(--text);font-size:1.15rem}#progress button{min-height:44px;padding:0 18px !important;border-radius:8px !important;background:var(--primary) !important;color:#ffffff !important;font-weight:850;box-shadow:0 12px 24px rgba(var(--primary-rgb),0.2)}.start-card{display:grid;justify-items:center;gap:6px;padding:18px 12px;text-align:center}.start-title{color:var(--text);font-size:1.15rem;font-weight:900}.start-meta{color:var(--muted);font-weight:800;line-height:1.2}.start-card button{margin-top:12px;min-width:min(220px,100%)}.speed-start-plan{width:min(520px,100%);margin-top:10px;padding:14px;border:1px solid rgba(217,150,24,0.34);border-radius:8px;background:var(--accent-soft);color:var(--text);text-align:left}.speed-start-kicker{color:#9a6400;font-size:0.82rem;font-weight:950;text-transform:uppercase}.speed-start-plan strong{display:block;margin-top:4px;color:var(--primary-dark);font-size:1.02rem}.speed-start-plan p{margin:6px 0 0;color:var(--muted);line-height:1.45}.speed-start-plan ul{margin:10px 0 0;padding-left:18px;color:var(--text);line-height:1.45}.card.empty{min-height:360px;display:grid;place-items:center;align-content:center;gap:10px;text-align:center;color:var(--muted);background:linear-gradient(180deg,rgba(238,245,243,0.72),rgba(255,255,255,0.94)),#ffffff}.empty-icon{width:72px;height:72px;position:relative;display:block;border-radius:8px;background:var(--surface-strong);color:#ffffff;font-size:2.3rem;font-weight:900;line-height:1}.empty-icon .arrow{position:absolute;left:50%;top:50%;width:1em;height:1em;display:grid;place-items:center;transform-origin:center}.empty-icon .arrow-up-left{transform:translate(-88%,-88%)}.empty-icon .arrow-down{transform:translate(-12%,-12%)}.card.empty p{max-width:680px;margin:0 auto 2px;color:var(--text);font-size:clamp(1.35rem,2.8vw,1.9rem);line-height:1.15;font-weight:900}.empty-picker{width:min(720px,100%);margin-top:14px;display:grid;gap:10px}.empty-picker-section{padding:10px;border:1px solid #c9dcf3;border-radius:8px;background:rgba(231,241,255,0.74)}.empty-picker-section.is-practice{border-color:#ecd7a3;background:rgba(255,246,223,0.72)}.empty-picker-title{margin-bottom:8px;color:var(--primary-dark);font-size:0.76rem;font-weight:900;text-align:center;text-transform:uppercase}.empty-picker-section.is-practice .empty-picker-title{color:#946200}.empty-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;justify-items:center}.empty-picker button{width:100%;min-height:40px;padding:8px 10px;border:1px solid rgba(185,209,234,0.9);border-radius:8px;background:rgba(255,255,255,0.84);color:var(--text);font-weight:850;line-height:1.2;text-align:center}.empty-picker button:hover{border-color:var(--primary);background:var(--primary-soft);transform:translateY(-1px)}.empty-learning-actions{width:min(720px,100%);margin:14px auto 0;padding-top:12px;border-top:1px solid rgba(216,227,238,0.82);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.empty-learning-actions a{min-height:44px;padding:0 16px;border:1px solid rgba(185,209,234,0.95);border-radius:999px;background:linear-gradient(180deg,#ffffff,#f7fbff);color:var(--primary-dark);display:inline-flex;align-items:center;justify-content:center;font-weight:900;line-height:1.2;text-align:center;box-shadow:0 1px 0 rgba(255,255,255,0.9) inset,0 8px 18px rgba(var(--primary-rgb),0.06);transition:transform 0.2s ease,box-shadow 0.2s ease,border-color 0.2s ease,background 0.2s ease}.empty-learning-actions a:hover{transform:translateY(-1px);border-color:rgba(217,150,24,0.5);background:linear-gradient(135deg,#ffffff,var(--accent-soft));box-shadow:0 12px 24px rgba(217,150,24,0.12)}#questionBox{padding:22px;margin-bottom:14px;border-left:5px solid var(--primary)}.question{color:var(--text);font-size:1.12rem;line-height:1.65;font-weight:750}.options{display:grid;gap:10px;margin-bottom:16px}.option{min-height:62px;padding:13px 15px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;background:#ffffff;color:var(--text);cursor:pointer;min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;box-shadow:0 6px 18px rgba(21,32,51,0.04);transition:transform 0.16s ease,border-color 0.16s ease,background 0.16s ease,box-shadow 0.16s ease}.option:hover{border-color:#9bbce3;background:var(--primary-soft);transform:translateY(-1px);box-shadow:var(--shadow-soft)}.option.active,.option.selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 3px rgba(var(--primary-rgb),0.12)}.option.correct,.option.option-correct{border-color:var(--success);background:var(--success-soft);box-shadow:0 0 0 2px rgba(var(--success-rgb),0.12)}.option.wrong,.option.option-wrong{border-color:var(--danger);background:var(--danger-soft);box-shadow:0 0 0 2px rgba(var(--danger-rgb),0.12)}.opt-label{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:var(--surface-soft);color:var(--primary-dark);font-weight:900}.option.active .opt-label{background:var(--primary);color:#ffffff}.option.correct .opt-label{background:var(--success);color:#ffffff}.option.wrong .opt-label{background:var(--danger);color:#ffffff}.opt-text{min-width:0;line-height:1.45}.controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:16px}.controls button{min-height:46px;border:1px solid var(--line);border-radius:8px;background:#ffffff;color:var(--text);font-weight:800}.controls button:hover{border-color:var(--primary);background:var(--surface-soft)}.controls .control-next{background:var(--surface-strong);color:#ffffff}.controls .control-mark{color:#7a5600;background:var(--accent-soft);border-color:#edce88}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:8px;padding:14px;border:1px dashed #cbd9e7;border-radius:8px;background:#f8fbff}#grid button,.qbox{height:42px;min-width:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;background:#ffffff;color:var(--text);font-weight:850;cursor:pointer;transition:transform 0.16s ease,border-color 0.16s ease,background 0.16s ease}#grid button:hover,.qbox:hover{border-color:var(--primary);transform:translateY(-1px)}#grid button.active,.qbox.active{border-color:var(--primary-dark);box-shadow:0 0 0 3px rgba(var(--primary-rgb),0.18)}#grid button.done{background:var(--success-soft);border-color:var(--success);color:#065f46}#grid button.marked{background:var(--accent-soft);border-color:var(--accent);color:#7a5600}#grid button.noted,.qbox.noted{position:relative}#grid button.noted::after,.qbox.noted::after{content:"";position:absolute;right:5px;top:5px;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px #ffffff}.qbox.empty{min-height:42px;align-content:center;background:#eef2f5;color:var(--muted)}.qbox.correct{background:var(--success);border-color:#166534;color:#ffffff}.qbox.wrong,.qbox.empty{background:var(--danger-soft);border-color:var(--danger);color:#991b1b}.result-answer-summary{margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#ffffff;line-height:1.55;font-weight:650;text-align:center}.result-question-meta{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-bottom:10px;font-size:0.86rem;color:var(--muted)}.result-question-meta span{padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#f8fbfb}.answer-value{font-weight:900}.answer-value.is-correct,.answer-value.option-correct{color:var(--success)}.answer-value.is-wrong,.answer-value.option-wrong{color:var(--danger)}.answer-value.is-empty,.answer-value.option-unanswered{color:var(--muted)}.result-explanation{margin-top:12px;padding:16px;border:1px solid #c9dcf3;border-left:5px solid var(--primary);border-radius:8px;background:var(--primary-soft)}.result-explanation.is-empty{border-color:var(--line);border-left-color:#a7b4c2;background:#f8fbfb}.result-explanation-title{margin-bottom:6px;color:var(--primary-dark);font-size:0.86rem;font-weight:900;text-transform:uppercase}.result-explanation-text{color:var(--text);line-height:1.6}.result-access-lock{margin-top:12px;padding:18px;border:1px solid #edce88;border-radius:8px;background:#fff6df;color:#7a5600;text-align:center;line-height:1.48}.result-access-lock h3{margin:0 0 8px;color:#7a5600;font-size:1.08rem}.result-access-lock p{margin:0 auto;max-width:560px}.result-access-lock button{min-height:42px;margin-top:12px;padding:0 16px;border:0;border-radius:8px;background:var(--surface-strong);color:#ffffff;font-weight:900}.result-access-lock.login-lock{border-color:#b9d1ea;background:var(--primary-soft);color:var(--primary-dark)}.result-access-lock.login-lock h3{color:var(--primary-dark)}.result-locked-question{text-align:center}.notebook-tools{margin-top:10px;padding:14px;display:grid;gap:10px;border:1px solid #cfe0ef;border-radius:8px;background:linear-gradient(180deg,#ffffff,#f7fbff)}.notebook-tool-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));justify-content:center;gap:8px}.notebook-tool-actions button,.note-actions button,.notebook-item-actions button{min-height:40px;min-width:0;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#ffffff;color:var(--text);font-size:0.9rem;font-weight:850;line-height:1.15;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notebook-tool-actions button:hover,.note-actions button:hover,.notebook-item-actions button:hover{border-color:var(--accent);background:var(--accent-soft)}.notebook-tool-actions button.active{border-color:var(--success);background:var(--success-soft);color:#065f46}.notebook-tool-actions button.hard{border-color:var(--accent);background:var(--accent-soft);color:#7a5600}.note-field{display:grid;gap:6px}.note-field span{color:var(--primary-dark);font-size:0.86rem;font-weight:900}.note-field textarea{width:100%;min-height:72px;resize:vertical;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#ffffff;color:var(--text);font:inherit;line-height:1.45}.note-field textarea:focus{outline:2px solid rgba(var(--primary-rgb),0.18);border-color:var(--primary)}.note-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.note-actions small{color:var(--muted);line-height:1.35;text-align:center}.note-sync-status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 9px;border-radius:999px;background:var(--surface-soft);font-weight:850}.note-sync-status.is-empty{display:none}.note-sync-status.is-saved{color:var(--success);background:var(--success-soft)}.note-sync-status.is-syncing{color:var(--primary-dark);background:var(--secondary)}.note-sync-status.is-error{color:var(--danger);background:var(--danger-soft)}.notebook-box{width:min(760px,100%);text-align:left}.notebook-box h3,.notebook-subtitle{text-align:center}.notebook-filters{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:8px;margin:14px 0}.notebook-filters input,.notebook-filters select{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#ffffff;color:var(--text);font:inherit}.notebook-list{max-height:min(58vh,520px);overflow:auto;display:grid;gap:10px;padding-right:2px}.notebook-empty{padding:18px;border:1px dashed var(--line);border-radius:8px;background:#f8fbfb;color:var(--muted);text-align:center}.notebook-item{padding:14px;border:1px solid var(--line);border-radius:8px;background:#ffffff}.notebook-item-head{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.notebook-item-head span,.notebook-item-head b{min-height:26px;display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;background:#f1f6fb;color:var(--muted);font-size:0.78rem;font-weight:850}.notebook-item-head b{background:var(--accent-soft);color:#7a5600}.notebook-item h4{margin:0;color:var(--text);line-height:1.42}.notebook-note{margin:10px 0 0;padding:10px 12px;border-left:4px solid var(--primary);border-radius:8px;background:var(--primary-soft);color:var(--text);line-height:1.5}.notebook-item-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.flashcard-box{width:min(720px,100%);text-align:left}.flashcard-box h3,.flashcard-subtitle{text-align:center}.flashcard-filters{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.05fr) minmax(0,1fr) auto auto;gap:8px;margin:14px 0}.flashcard-filters select,.flashcard-filters input,.flashcard-filters button{min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:#ffffff;color:var(--text);font:inherit;font-weight:800}.flashcard-filters button{background:var(--surface-soft);color:var(--primary-dark);cursor:pointer}.flashcard-filters button:hover{border-color:var(--accent);background:var(--accent-soft)}.flashcard-stage{display:grid;place-items:center;min-height:300px;padding:16px;border:1px dashed #bdd2e7;border-radius:8px;background:radial-gradient(circle at 12% 12%,rgba(var(--accent-rgb),0.12),transparent 34%),linear-gradient(180deg,#ffffff,#f3f8ff)}.flashcard-card{width:min(520px,100%);min-height:260px;padding:0;border:1px solid rgba(var(--primary-rgb),0.22);border-radius:8px;background:#ffffff;color:var(--text);text-align:left;box-shadow:0 18px 40px rgba(11,47,91,0.12);cursor:pointer;transition:transform 0.22s ease,box-shadow 0.22s ease,border-color 0.22s ease}.flashcard-card:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 22px 48px rgba(11,47,91,0.16)}.flashcard-card.is-flipped{border-color:rgba(var(--accent-rgb),0.45);background:#fffaf0}.flashcard-card.is-empty{display:grid;place-items:center;background:#ffffff}.flashcard-face{min-height:260px;padding:22px;display:grid;align-content:start;gap:12px}.flashcard-face small{color:var(--accent);font-weight:900;text-transform:uppercase}.flashcard-face h4{margin:0;color:var(--text);font-size:1.18rem;line-height:1.5}.flashcard-badges{display:flex;flex-wrap:wrap;gap:6px}.flashcard-badges span{min-height:28px;display:inline-flex;align-items:center;padding:0 9px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:0.78rem;font-weight:850}.flashcard-options{display:grid;gap:7px}.flashcard-options div{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#f8fbff}.flashcard-options b{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--surface-soft);color:var(--primary-dark)}.flashcard-options .is-answer{border-color:var(--success);background:var(--success-soft)}.flashcard-options .is-answer b{background:var(--success);color:#ffffff}.flashcard-answer{margin:0;padding:12px 14px;border-left:4px solid var(--success);border-radius:8px;background:var(--success-soft);color:#064e3b;font-weight:850;line-height:1.5}.flashcard-explanation{padding:12px 14px;border:1px solid #edce88;border-radius:8px;background:#ffffff;color:var(--text);line-height:1.55}.flashcard-status{margin-top:10px;color:var(--muted);font-size:0.88rem;text-align:center}.flashcard-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}.flashcard-controls button{min-height:42px;border:1px solid var(--line);border-radius:8px;background:#ffffff;color:var(--text);font-weight:850;cursor:pointer}.flashcard-controls button.primary{border-color:var(--primary);background:var(--surface-strong);color:#ffffff}.flashcard-controls button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--primary-dark)}.flashcard-empty,.flashcard-loading{display:grid;gap:8px;padding:20px;color:var(--muted);text-align:center;line-height:1.45}.flashcard-empty strong,.flashcard-loading{color:var(--primary-dark);font-weight:900}.ai-explain-entry{margin-top:12px;padding:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #edce88;border-radius:8px;background:#fffaf0}.ai-explain-entry button{min-height:40px;padding:0 14px;border:0;border-radius:8px;background:var(--surface-strong);color:#ffffff;font-weight:900;white-space:nowrap}.ai-explain-entry span{color:#7a5600;font-size:0.9rem;line-height:1.35}.ai-explain-box{width:min(620px,100%);text-align:left}.ai-explain-box h3,.ai-explain-subtitle{text-align:center}.ai-mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.ai-mode-tabs button{min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#ffffff;color:var(--text);font-weight:850}.ai-mode-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:#7a5600}.ai-explain-content{min-height:180px;max-height:min(58vh,520px);overflow:auto;padding:16px;border:1px solid var(--line);border-radius:8px;background:#f8fbfb}.ai-explain-text{color:var(--text);line-height:1.65}.ai-explain-text .modal-primary{min-height:42px;padding:0 16px;border:0;border-radius:8px;background:var(--primary);color:#ffffff;font-weight:900}.ai-explain-text .modal-primary:hover{background:var(--accent);color:var(--primary-dark)}.ai-explain-error{padding:14px;border:1px solid var(--danger);border-radius:8px;background:var(--danger-soft);color:#991b1b;text-align:center}.ai-loading{min-height:148px;display:grid;grid-template-columns:repeat(3,10px) auto;align-items:center;justify-content:center;gap:8px;color:var(--muted)}.ai-loading span{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:aiPulse 0.9s infinite ease-in-out}.ai-loading span:nth-child(2){animation-delay:0.14s}.ai-loading span:nth-child(3){animation-delay:0.28s}@keyframes aiPulse{0%,80%,100%{transform:scale(0.7);opacity:0.42}40%{transform:scale(1);opacity:1}}.comments-panel{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:8px;background:#ffffff}.comments-panel h4{margin:0 0 10px;color:var(--text);font-size:1rem;font-weight:900;text-align:center}.comment-list{display:grid;gap:8px}.comment-item{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#f8fbfb}.comment-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:5px;color:var(--muted);font-size:0.8rem}.comment-head strong{min-width:0;color:var(--primary-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.comment-content{color:var(--text);line-height:1.45;word-break:break-word}.comment-empty,.comment-note{padding:10px 12px;border:1px dashed #b9d1ea;border-radius:8px;background:var(--primary-soft);color:var(--muted);line-height:1.45;text-align:center}.comment-form{display:grid;gap:8px;margin-top:10px}.comment-form textarea{width:100%;min-height:82px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;color:var(--text);font:inherit;resize:vertical}.comment-form textarea:focus{outline:2px solid rgba(var(--primary-rgb),0.18);border-color:var(--primary)}.comment-form-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.comment-message{min-width:0;color:var(--muted);font-size:0.86rem;font-weight:750}.comment-form button{min-height:40px;padding:0 14px;border:0;border-radius:8px;background:var(--primary);color:#ffffff;font-weight:900}.comment-form button:disabled{cursor:wait;opacity:0.62}.exam-right{width:100%;position:sticky;top:96px}.right-panel{padding:18px;display:grid;justify-items:center;text-align:center}.right-panel-title{font-size:1rem;font-weight:850}.right-panel p{margin:8px 0 16px;color:var(--muted);font-size:0.9rem;line-height:1.45;text-align:center}.submit{width:100%;min-height:48px;padding:0 18px;border-radius:8px;background:var(--primary);color:#ffffff;font-weight:900;box-shadow:0 14px 28px rgba(var(--primary-rgb),0.22)}.submit:hover,.action-btn:hover,#progress button:hover,.analysis-box button:hover{transform:translateY(-1px)}.result-score{width:min(520px,100%);margin:0 auto 18px;padding:24px;text-align:center;color:var(--text);font-size:3rem;font-weight:900}.result-view{width:min(1180px,100%);margin:0 auto}.result-view .grid{margin-bottom:14px}.result-score small{display:block;margin-bottom:8px;color:var(--muted);font-size:0.82rem;font-weight:900;text-transform:uppercase}.result-score span{display:block;margin-top:5px;color:var(--primary);font-size:1.2rem;line-height:1.35}.analysis-box{width:min(1180px,100%);margin:20px auto 0;padding:20px}.analysis-box h3{margin-bottom:12px;font-size:1.25rem;text-align:center}.result-summary-card{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 16px}.result-summary-card div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:76px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#f8fbfb;text-align:center}.result-summary-card span{display:block;color:var(--muted);font-size:0.74rem;font-weight:850;text-transform:uppercase}.result-summary-card strong{display:block;margin-top:8px;color:var(--text);font-size:1.22rem;line-height:1}.analysis-row{padding:12px 0;border-top:1px solid var(--line);line-height:1.5;text-align:center}.weak-insight{margin:12px 0 14px;padding:14px;display:grid;gap:6px;border:1px solid #edce88;border-left:5px solid var(--accent);border-radius:8px;background:var(--accent-soft);color:#7a5600;text-align:center;line-height:1.45}.weak-insight b{color:var(--text)}.weak-insight span{display:block}.weak-insight.is-good{border-color:#b7e4c7;border-left-color:var(--success);background:var(--success-soft);color:#065f46}.pass-probability-card{margin:14px 0;padding:16px;border:1px solid rgba(var(--primary-rgb),0.16);border-left:5px solid var(--primary);border-radius:8px;background:linear-gradient(180deg,#ffffff 0%,#f5fbff 100%);box-shadow:0 10px 24px rgba(15,45,78,0.06)}.pass-probability-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;text-align:center}.pass-probability-head>div{flex:1}.pass-probability-head span{display:inline-block;color:var(--accent);font-size:0.82rem;font-weight:900;text-transform:uppercase}.pass-probability-head h4{margin:4px 0 0;color:var(--text);font-size:1.15rem;line-height:1.25}.pass-probability-head strong{color:var(--primary-dark);font-size:2.2rem;line-height:1}.pass-bar{height:10px;margin-top:12px;overflow:hidden;border-radius:999px;background:#e8eef5}.pass-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--accent))}.pass-blocks{margin-top:8px;color:var(--primary-dark);font-weight:900;letter-spacing:1px;text-align:center}.pass-note{margin-top:8px;color:var(--muted);line-height:1.45;text-align:center}.pass-factors{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-top:12px}.pass-factors div{padding:10px;border:1px solid var(--line);border-radius:8px;background:#ffffff;text-align:center}.pass-factors span{display:block;color:var(--muted);font-size:0.72rem;font-weight:850;text-transform:uppercase}.pass-factors b{display:block;margin-top:4px;color:var(--text)}.pass-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;text-align:left}.pass-columns>div{padding:12px;border:1px solid var(--line);border-radius:8px;background:#ffffff;text-align:center}.pass-columns b{color:var(--text)}.pass-columns ul{display:grid;gap:6px;margin:8px 0 0;padding:0;list-style:none}.pass-columns li{display:flex;justify-content:space-between;gap:8px;color:var(--text);line-height:1.35;text-align:left}.pass-columns li span{color:var(--muted);font-weight:850;white-space:nowrap}.analysis-box button{min-height:42px;padding:0 14px;border-radius:8px;background:var(--surface-strong);color:#ffffff;font-weight:800}.result-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.result-actions button{margin-top:0}.result-actions .secondary-action{border:1px solid rgba(var(--primary-rgb),0.18);background:var(--surface-soft);color:var(--primary-dark)}.result-actions .secondary-action:hover{border-color:var(--accent);background:var(--accent-soft)}.timer{width:min(220px,100%);margin:0 auto 18px;padding:14px;text-align:center;font-size:1.7rem;font-weight:900}.modal{position:fixed;inset:0;z-index:120;padding:18px;align-items:center;justify-content:center;background:rgba(16,36,63,0.48);backdrop-filter:blur(8px)}.modal-box{width:min(430px,100%);padding:22px;border-radius:8px;background:#ffffff;box-shadow:var(--shadow)}.modal-box h3{margin-top:6px;font-size:1.35rem}.modal-box p,.modal-stat,#countdown{margin-top:10px;color:var(--muted);line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.modal-actions button{min-height:42px;padding:0 16px;border-radius:8px;background:#edf2f4;color:var(--text);font-weight:800}.modal-actions .primary{background:var(--primary);color:#ffffff}.modal-actions .danger{background:var(--danger)}.grid-popup{display:none;position:fixed;inset:0;z-index:110;padding:18px;align-items:center;justify-content:center;background:rgba(16,36,63,0.45)}.grid-box{width:min(520px,100%);padding:20px;border-radius:8px;background:#ffffff}.grid-title{margin-bottom:14px;font-weight:850}.grid-box button{min-height:40px;margin-top:14px;padding:0 14px;border-radius:8px;background:var(--surface-strong);color:#ffffff;font-weight:800}.action-btn,.exit-btn,.controls button,.submit,#progress button,.modal-actions button,.analysis-box button,.comment-form button,.flashcard-controls button,.ai-explain-entry button{border-radius:10px}.action-btn:focus-visible,.exit-btn:focus-visible,.sidebar-section button:focus-visible,.controls button:focus-visible,.submit:focus-visible,#progress button:focus-visible,.option:focus-visible,.qbox:focus-visible,.empty-picker button:focus-visible{outline:3px solid rgba(var(--accent-rgb),0.24);outline-offset:3px}.action-btn.home-link{background:linear-gradient(180deg,#ffffff,var(--surface-soft));box-shadow:0 1px 0 rgba(255,255,255,0.9) inset,0 8px 18px rgba(17,24,39,0.045)}.action-btn.secondary,.submit,#progress button,.controls .control-next,.ai-explain-entry button{background:linear-gradient(180deg,#0d579f,var(--surface-strong)) !important;box-shadow:0 14px 28px rgba(var(--primary-rgb),0.22)}.action-btn.neutral,.exit-btn{border:1px solid rgba(var(--primary-rgb),0.12);background:linear-gradient(180deg,#ffffff,#eef4f9);color:var(--primary-dark);box-shadow:0 8px 18px rgba(17,24,39,0.05)}.action-btn:hover,.exit-btn:hover,.controls button:hover,.submit:hover,#progress button:hover,.analysis-box button:hover,.comment-form button:hover,.flashcard-controls button:hover,.ai-explain-entry button:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}.sidebar{background:linear-gradient(180deg,rgba(255,255,255,0.96),rgba(247,251,255,0.92));box-shadow:inset -1px 0 0 rgba(255,255,255,0.75)}.sidebar-header{border-bottom-color:rgba(216,227,238,0.65)}.sidebar-section{border-color:rgba(216,227,238,0.62);border-radius:12px;background:rgba(255,255,255,0.68);box-shadow:0 1px 0 rgba(255,255,255,0.88) inset,0 8px 22px rgba(17,24,39,0.04)}.sidebar-section:nth-of-type(2){background:linear-gradient(180deg,rgba(255,255,255,0.74),rgba(235,245,255,0.68));border-color:rgba(185,209,234,0.72)}.sidebar-section:nth-of-type(3){background:linear-gradient(180deg,rgba(255,255,255,0.74),rgba(255,246,223,0.62));border-color:rgba(236,215,163,0.72)}.sidebar-section h3{color:var(--primary-dark);font-size:0.76rem;letter-spacing:0.02em}.sidebar-section button{border-radius:10px;background:rgba(255,255,255,0.78);transition:transform 0.24s var(--ease),box-shadow 0.24s var(--ease),border-color 0.24s var(--ease),background 0.24s var(--ease)}.sidebar-section button small,.sub-title,.page-subtitle,.right-panel p{opacity:0.88}.sidebar-section button:hover,.sidebar-section button.is-active{border-color:rgba(var(--primary-rgb),0.28);background:#ffffff;transform:translateX(3px);box-shadow:0 10px 22px rgba(17,24,39,0.075)}.sidebar-section button.is-active{border-color:rgba(var(--accent-rgb),0.62);background:linear-gradient(135deg,#ffffff,var(--accent-soft))}.sidebar-section button.is-active span{color:var(--primary-dark)}.exam-center,.right-panel,.card,#questionBox,.analysis-box,.result-score,.timer,.modal-box,.grid-box{border-color:rgba(216,227,238,0.72);border-radius:12px;box-shadow:0 1px 0 rgba(255,255,255,0.86) inset,var(--shadow-soft)}.exam-center{background:linear-gradient(180deg,rgba(255,255,255,0.98),rgba(249,252,255,0.96))}.exam-header{position:relative;border-bottom-color:rgba(216,227,238,0.68)}.exam-header::after{content:"";position:absolute;left:0;bottom:-1px;width:104px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--accent))}.exam-header h2{font-weight:850}.exam-header p{color:rgba(95,111,133,0.94)}.meta-card{border-color:rgba(var(--primary-rgb),0.12);background:linear-gradient(180deg,#ffffff,var(--primary-soft));box-shadow:0 8px 18px rgba(17,24,39,0.04)}.start-card{gap:10px}.start-title{font-weight:850}.start-status-row{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:6px}.start-status-row span{min-height:30px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid rgba(var(--primary-rgb),0.12);border-radius:999px;background:#ffffff;color:var(--primary-dark);font-size:0.82rem;font-weight:850}.start-progress{width:min(340px,100%);display:grid;gap:7px;margin:8px auto 2px}.start-progress-label{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:0.82rem;font-weight:850}.start-progress-track{height:8px;overflow:hidden;border-radius:999px;background:#e5edf6}.start-progress-track span{display:block;width:12%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--accent))}.card.empty{position:relative;overflow:hidden;border-color:rgba(var(--primary-rgb),0.14);background:linear-gradient(180deg,rgba(255,255,255,0.96),rgba(244,249,255,0.92))}.card.empty::before{content:"";position:absolute;left:22px;right:22px;top:0;height:4px;border-radius:0 0 999px 999px;background:linear-gradient(90deg,var(--primary),var(--accent))}.empty-icon{border-radius:14px;background:linear-gradient(135deg,var(--surface-strong),#0d579f);box-shadow:0 16px 34px rgba(var(--primary-rgb),0.18)}.empty-status-row{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:2px 0 8px}.empty-status-row span{min-height:30px;padding:0 10px;border:1px solid rgba(216,227,238,0.85);border-radius:999px;background:#ffffff;color:var(--primary-dark);display:inline-flex;align-items:center;font-size:0.82rem;font-weight:850}.empty-picker-section,.empty-picker button,.option,.notebook-tools,.comments-panel,.ai-explain-entry,.result-answer-summary,.result-explanation,.pass-probability-card{border-radius:12px}.learning-docs-result{margin:14px 0;padding:16px;border:1px solid rgba(216,227,238,0.9);border-radius:12px;background:linear-gradient(135deg,#ffffff,rgba(238,246,255,0.78));box-shadow:var(--shadow-soft)}.review-topics-result{margin:14px 0;padding:16px;border:1px solid rgba(35,92,191,0.18);border-radius:12px;background:linear-gradient(135deg,#ffffff,rgba(239,248,246,0.88));box-shadow:var(--shadow-soft)}.learning-docs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.learning-docs-head span{color:var(--accent);font-size:0.76rem;font-weight:950;text-transform:uppercase}.learning-docs-head h4{margin:4px 0 0;font-size:1.1rem}.learning-docs-head a{min-height:36px;padding:0 12px;border-radius:8px;background:var(--primary);color:#ffffff;display:inline-flex;align-items:center;font-size:0.86rem;font-weight:900;text-decoration:none;white-space:nowrap}.learning-docs-list{display:grid;gap:8px}.learning-doc-item{padding:12px;border:1px solid rgba(216,227,238,0.8);border-radius:10px;background:#ffffff;display:grid;gap:4px;color:inherit;text-decoration:none}.learning-doc-item b{color:var(--text)}.learning-doc-item span,.learning-doc-item small{color:var(--muted)}.empty-picker button,.option,.controls button,#grid button,.qbox{transition:transform 0.24s var(--ease),box-shadow 0.24s var(--ease),border-color 0.24s var(--ease),background 0.24s var(--ease),color 0.24s var(--ease)}.option:hover,.empty-picker button:hover,#grid button:hover,.qbox:hover{transform:translateY(-2px);box-shadow:var(--shadow-soft)}@media (max-width:1080px){.exam-pro{grid-template-columns:1fr}.exam-right{position:static;width:min(100%,420px);justify-self:center;margin-inline:auto}}@media (max-width:860px){.topbar{min-height:64px;padding:10px 14px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px}.menu-btn{display:grid;place-items:center;flex:0 0 42px}.brand-logo{width:40px;height:40px}.topbar-left{gap:8px}.topbar-right{width:100%;min-width:0;margin-left:0;gap:6px;overflow:visible}.topbar-right>.home-link{display:none}.topbar-right>#exitBtn{margin-left:auto}.page-subtitle{display:none}.sidebar{position:fixed;left:0;top:64px;bottom:0;z-index:70;padding:14px 12px;transform:translateX(-100%);transition:transform 0.22s ease;box-shadow:var(--shadow)}.sidebar-header{padding:8px 6px 12px;margin-bottom:10px}.section-title{font-size:1.22rem}.sidebar-section{margin-bottom:10px;padding:8px}.sidebar-section h3{margin-bottom:6px;font-size:0.72rem}.sidebar-section button{min-height:44px;margin-bottom:3px;padding:7px 9px;gap:2px}.sidebar-section button small{font-size:0.72rem;line-height:1.2}.sub-group{margin:6px 0 8px;padding:5px 6px 4px 8px}.sub-title{margin-bottom:3px;font-size:0.78rem}.sub-group button{min-height:39px;padding:6px 8px}body.menu-open .sidebar{transform:translateX(0)}body.menu-open .sidebar-backdrop{display:block;position:fixed;inset:64px 0 0;z-index:60;background:rgba(16,36,63,0.35)}.main{padding:10px}.exam-center{padding:12px}.card.empty{min-height:0;align-content:start}.empty-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-header{grid-template-columns:1fr;gap:7px;padding-bottom:8px;margin-bottom:10px}.exam-header h2{margin-top:3px;font-size:clamp(1.12rem,4.2vw,1.42rem);line-height:1.12}.exam-header p{margin-top:4px;font-size:0.86rem;line-height:1.28}.exam-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.meta-card{min-height:48px;padding:6px 8px}.meta-card strong{margin-top:3px;font-size:0.95rem}#questionBox{padding:14px 15px;margin-bottom:9px;border-left-width:4px}.question{font-size:1rem;line-height:1.42}.options{gap:7px;margin-bottom:10px}.option{min-height:50px;padding:9px 11px;grid-template-columns:34px minmax(0,1fr);gap:9px}.opt-label{width:30px;height:30px;border-radius:7px}.opt-text{line-height:1.28}.controls{gap:6px;margin-bottom:10px}.controls button{min-height:40px;padding:0 9px}.grid{grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:6px;padding:9px}#grid button,.qbox{height:36px;min-width:36px;border-radius:7px;font-size:0.86rem}.right-panel{padding:12px;width:100%;max-width:420px;margin-inline:auto}.right-panel-title{font-size:0.94rem}.right-panel p{margin:4px 0 10px;font-size:0.82rem;line-height:1.25}.submit{min-height:42px;padding:0 14px}.user-chip{flex:1 1 auto;min-width:0;max-width:none;min-height:38px;padding:5px 7px 5px 5px;border-radius:999px;color:var(--text)}.user-chip .auth-avatar{width:28px;height:28px;flex-basis:28px}.user-chip .auth-name{max-width:min(34vw,128px);font-size:0.82rem;font-weight:850}#loginBtn{margin-left:auto}#logoutBtn{width:38px;min-width:38px;height:38px;min-height:38px;padding:0;border-radius:999px}}@media (max-width:560px){.topbar{padding:8px 10px;grid-template-columns:auto minmax(0,1fr)}.topbar-right{gap:6px}.action-btn,.exit-btn{min-height:38px;padding:0 8px;font-size:0.82rem}.topbar-right>#exitBtn{max-width:64px}.user-chip .auth-name{max-width:min(28vw,104px)}#logoutBtn{padding:0}.exam-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.meta-card{min-height:42px;padding:5px 6px}.meta-label{font-size:0.58rem}.meta-card strong{margin-top:2px;font-size:clamp(0.76rem,3vw,0.9rem);line-height:1.15}.empty-picker{margin-top:10px;gap:8px}.empty-picker-section{padding:8px}.empty-picker-grid{gap:5px}.empty-picker button{min-height:38px;padding:7px 8px;font-size:0.8rem}.empty-learning-actions{margin-top:10px;padding-top:10px;gap:8px}.empty-learning-actions a{min-height:40px;padding:0 12px;font-size:0.88rem}.card.empty p{font-size:1.28rem}.controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.controls button{min-width:0;min-height:38px;padding:0 8px;font-size:0.82rem;white-space:nowrap}#questionBox{padding:11px 12px;margin-bottom:7px;border-left-width:3px}.question{font-size:0.94rem;line-height:1.34}.options{gap:5px;margin-bottom:8px}.option{min-height:44px;grid-template-columns:30px minmax(0,1fr);gap:7px;padding:7px 9px;font-size:0.86rem}.opt-label{width:27px;height:27px;font-size:0.8rem}.opt-text{line-height:1.24}.grid{grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:5px;padding:7px}#grid button,.qbox{height:32px;min-width:32px;border-radius:7px;font-size:0.78rem}.right-panel{padding:10px;width:min(100%,360px);max-width:calc(100vw - 28px);margin-inline:auto}.right-panel p{margin:3px 0 8px}.submit{min-height:40px;border-radius:7px}.result-summary-card{grid-template-columns:repeat(2,minmax(0,1fr))}.result-score{padding:18px;font-size:2.35rem}.result-score span{font-size:0.98rem}.result-view{margin-top:-6px}.result-view .result-score{display:none}.result-view #questionBox{padding:10px 12px;margin-bottom:8px;border-left-width:4px}.result-view .question{font-size:0.98rem;line-height:1.35}.result-view .options{gap:6px;margin-bottom:8px}.result-view .option{min-height:46px;padding:8px 10px;grid-template-columns:32px minmax(0,1fr);gap:8px}.result-view .opt-label{width:28px;height:28px}.result-view .result-answer-summary{margin-top:8px;padding:10px 12px;line-height:1.35}.result-view .result-explanation{margin-top:8px;padding:10px 12px;border-left-width:4px}.result-view .result-explanation-title{margin-bottom:4px;font-size:0.78rem}.result-view .result-explanation-text{line-height:1.35}.result-view .ai-explain-entry{display:grid;justify-items:stretch;text-align:center}.result-view .ai-mode-tabs{grid-template-columns:1fr}.notebook-tool-actions,.note-actions,.notebook-item-actions{display:grid}.notebook-tool-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.notebook-tool-actions button{min-height:38px;padding:0 2px;font-size:clamp(0.62rem,2.55vw,0.76rem)}.note-actions,.notebook-item-actions{grid-template-columns:1fr;justify-items:center;text-align:center}.note-field{justify-items:center;text-align:center}.note-field textarea{text-align:left}.notebook-filters{grid-template-columns:1fr}.notebook-list{max-height:56vh}.flashcard-box{padding:16px}.flashcard-filters{grid-template-columns:1fr 1fr}.flashcard-filters input{grid-column:1 / -1}.flashcard-stage{min-height:250px;padding:10px}.flashcard-card,.flashcard-face{min-height:230px}.flashcard-face{padding:16px}.flashcard-face h4{font-size:1rem;line-height:1.45}.flashcard-options div{grid-template-columns:28px minmax(0,1fr);padding:7px 8px}.flashcard-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.flashcard-controls button{min-height:40px;padding:0 6px;font-size:0.82rem}.result-view .grid{gap:6px;padding:8px;margin-bottom:8px}.result-view .qbox{width:36px;height:36px;min-width:36px}.result-view .analysis-box{margin-top:8px;padding:12px}.result-view .analysis-box h3{margin-bottom:8px;font-size:1.08rem}.result-view .result-summary-card{gap:6px;margin:8px 0 10px}.result-view .result-summary-card div{min-height:56px;padding:8px 10px}.result-view .result-summary-card span{font-size:0.66rem}.result-view .result-summary-card strong{margin-top:5px;font-size:1.02rem}.result-view .analysis-row{padding:8px 0;line-height:1.35}.result-view .pass-probability-card{margin:8px 0;padding:12px}.result-view .pass-probability-head{align-items:center}.result-view .pass-probability-head strong{font-size:1.8rem}.result-view .pass-blocks{font-size:0.9rem;letter-spacing:0}.result-view .pass-factors{grid-template-columns:repeat(2,minmax(0,1fr))}.result-view .pass-columns{grid-template-columns:1fr}.result-view .analysis-box button{min-height:38px;margin-top:6px}.result-view .result-actions{gap:6px;margin-top:8px}.result-view .result-actions button{min-height:36px;margin-top:0;padding:0 10px}}.ai-doctor-result{margin:14px 0;padding:16px;border:1px solid #d8e3ee;border-left:5px solid #0b4a8f;border-radius:8px;background:#eef6ff;color:#111827}.ai-doctor-result h3{margin:0 0 10px;font-size:1.1rem}.ai-doctor-result p{margin:8px 0;line-height:1.5}.ai-doctor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}.ai-doctor-grid div{padding:10px;border:1px solid #d8e3ee;border-radius:8px;background:#fff}.ai-doctor-grid span{display:block;color:#5f6f85;font-size:.78rem;font-weight:800}.ai-doctor-grid strong{display:block;margin-top:5px;overflow-wrap:anywhere}.ai-doctor-source{margin:12px 0;padding:12px;border:1px solid #d8e3ee;border-radius:8px;background:#fff;color:#111827}.ai-doctor-source p{margin:6px 0}.ai-doctor-source a{color:#0b4a8f;font-weight:850}.ai-doctor-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.ai-doctor-actions button,.ai-doctor-actions a{min-height:40px;border:0;border-radius:8px;background:#0b4a8f;color:#fff;font-weight:850;padding:0 14px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.ai-doctor-actions button:nth-child(2),.ai-doctor-actions a:nth-child(2){background:#15803d}.ai-doctor-actions a:nth-child(3){background:#d99618}.mini-test-context-banner{border-left:5px solid #d99618;background:#fff8e6}.mini-test-context-banner b{display:block;color:#0b4a8f}.mini-test-context-banner small{display:block;margin-top:4px;color:#5f6f85;font-weight:800}@media(max-width:720px){.ai-doctor-grid{grid-template-columns:1fr}}