:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--c-white:#fff;--c-slate-50:#f8fafc;--c-slate-100:#f1f5f9;--c-slate-200:#e2e8f0;--c-slate-300:#cbd5e1;--c-slate-400:#667487;--c-slate-500:#5b6675;--c-slate-600:#475569;--c-slate-700:#334155;--c-slate-800:#1e293b;--c-slate-900:#0f172a;--c-gray-200:#d9d9d9;--c-gray-300:#d1d5db;--c-gray-600:#4b5563;--c-gray-700:#595959;--c-gray-900:#262626;--c-blue-50:#eff6ff;--c-blue-100:#dbeafe;--c-blue-200:#bfdbfe;--c-blue-300:#93c5fd;--c-blue-400:#60a5fa;--c-blue-500:#3b82f6;--c-blue-600:#1d4ed8;--c-blue-700:#1a45c0;--c-blue-800:#1e40af;--c-antd-blue-50:#e6f4ff;--c-antd-blue-500:#1677ff;--c-antd-blue-700:#0958d9;--c-green-50:#ecfdf5;--c-green-200:#a7f3d0;--c-green-400:#34d399;--c-green-500:#10b981;--c-green-600:#15803d;--c-green-650:#059669;--c-green-700:#047857;--c-green-800:#065f46;--c-green-850:#166534;--c-green-alt:#52c41a;--c-red-50:#fef2f2;--c-red-100:#fee2e2;--c-red-200:#fecaca;--c-red-300:#fca5a5;--c-red-400:#f87171;--c-red-600:#dc2626;--c-red-700:#b91c1c;--c-red-800:#991b1b;--c-rose-50:#fff1f2;--c-rose-200:#fecdd3;--c-rose-600:#e11d48;--c-rose-700:#be123c;--c-rose-800:#9f1239;--c-amber-50:#fffbeb;--c-amber-100:#fef3c7;--c-amber-200:#fde68a;--c-amber-500:#f59e0b;--c-amber-600:#d97706;--c-amber-700:#b45309;--c-amber-800:#92400e;--c-indigo-500:#6366f1;--c-indigo-600:#4f46e5;--c-indigo-700:#4338ca;--c-violet-500:#8b5cf6;--c-violet-600:#7c3aed;--c-violet-bg:#f5f3ff;--bg-page:var(--c-slate-200);--bg-card:var(--c-slate-50);--bg-card-elevated:var(--c-white);--bg-subtle:var(--c-slate-100);--bg-hover:var(--c-slate-100);--text-main:var(--c-slate-900);--text-secondary:var(--c-slate-700);--text-muted:var(--c-slate-500);--text-subtle:var(--c-slate-400);--text-on-accent:#fff;--text-on-accent-soft:#ffffffe6;--surface-on-accent:#ffffff40;--primary-blue:var(--c-blue-600);--primary-blue-hover:var(--c-blue-700);--primary-blue-bg:var(--c-blue-50);--primary-blue-border:var(--c-blue-300);--primary-blue-text:var(--c-blue-700);--success-bg:var(--c-green-50);--success-border:var(--c-green-200);--success-text:var(--c-green-800);--success-solid:var(--c-green-600);--error-bg:var(--c-red-50);--error-border:var(--c-red-200);--error-text:var(--c-red-800);--error-solid:var(--c-red-600);--danger-bg:var(--c-red-50);--danger-border:var(--c-red-200);--danger-text:var(--c-red-800);--danger-solid:var(--c-red-600);--danger-hover:var(--c-red-700);--border-main:var(--c-slate-300);--border-subtle:var(--c-slate-200);--border-focus:var(--c-slate-500);--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 4px 10px -2px #0f172a14, 0 2px 4px -2px #0f172a0a;--shadow-lg:0 16px 32px -8px #0f172a24, 0 4px 10px -4px #0f172a0f;--ring-focus:0 0 0 3px #2563eb47}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--c-white:#1c222e;--c-slate-50:#191f29;--c-slate-100:#222937;--c-slate-200:#2b3342;--c-slate-300:#3a4354;--c-slate-400:#8790a1;--c-slate-500:#99a3b4;--c-slate-600:#a8b2c1;--c-slate-700:#c3cbd8;--c-slate-800:#dbe1ea;--c-slate-900:#e8edf4;--c-gray-200:#3a4354;--c-gray-300:#3a4354;--c-gray-600:#a8b2c1;--c-gray-700:#a8b2c1;--c-gray-900:#e8edf4;--c-blue-50:#14243f;--c-blue-100:#172c4d;--c-blue-200:#1e3a63;--c-blue-300:#2d5490;--c-blue-400:#4b83d8;--c-blue-500:#6ba5f7;--c-blue-600:#5b9bf5;--c-blue-700:#8ab4f8;--c-blue-800:#a8c7fa;--c-antd-blue-50:#14243f;--c-antd-blue-500:#4d90ef;--c-antd-blue-700:#8ab4f8;--c-green-50:#10261d;--c-green-200:#1d4436;--c-green-400:#34d399;--c-green-500:#10b981;--c-green-600:#22c55e;--c-green-650:#34d399;--c-green-700:#6ee7b7;--c-green-800:#86efac;--c-green-850:#86efac;--c-green-alt:#4ade80;--c-red-50:#2b1517;--c-red-100:#3a1a1d;--c-red-200:#532225;--c-red-300:#7f3438;--c-red-400:#e06a6a;--c-red-600:#f4706f;--c-red-700:#fca5a5;--c-red-800:#fda4a4;--c-rose-50:#2d1519;--c-rose-200:#57232b;--c-rose-600:#fb7185;--c-rose-700:#fda4af;--c-rose-800:#fecdd3;--c-amber-50:#2a1f0c;--c-amber-100:#382a10;--c-amber-200:#57411a;--c-amber-500:#f59e0b;--c-amber-600:#fbbf24;--c-amber-700:#fcd34d;--c-amber-800:#fde68a;--c-indigo-500:#818cf8;--c-indigo-600:#6366f1;--c-indigo-700:#818cf8;--c-violet-500:#a78bfa;--c-violet-600:#a78bfa;--c-violet-bg:#221d3a;--bg-page:#12161e;--bg-card:var(--c-slate-50);--bg-card-elevated:var(--c-white);--bg-subtle:var(--c-slate-100);--bg-hover:var(--c-slate-200);--text-on-accent:#0f1620;--text-on-accent-soft:#0a101ac7;--surface-on-accent:#0a101a2e;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 4px 12px -2px #00000073;--shadow-lg:0 18px 38px -10px #0009;--ring-focus:0 0 0 3px #3b82f666}[data-theme] body,[data-theme] .glass-panel,[data-theme] .navbar-container,[data-theme] .modal-content{transition:background-color .2s,color .2s,border-color .2s}*{box-sizing:border-box;margin:0;padding:0}:root{--font-scale:1}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--c-slate-300);background-clip:content-box;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--c-slate-400);background-clip:content-box}body{background-color:var(--bg-page);color:var(--text-main);height:100vh;line-height:1.6;font-size:calc(16px * var(--font-scale));-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Segoe UI,Roboto,sans-serif!important}#root{height:100%}button,input,select,textarea{font-family:inherit}:focus-visible{box-shadow:var(--ring-focus);border-radius:6px;outline:none}.app-layout,.main-layout{flex-direction:column;width:100%;height:100vh;min-height:0;display:flex;overflow:hidden}.navbar-container{background:var(--bg-card);border-bottom:1px solid var(--border-subtle);z-index:20;box-shadow:var(--shadow-sm);flex-direction:column;gap:.5rem;padding:.55rem 1.25rem;display:flex}.subject-tabs{background:var(--bg-subtle);border-radius:9px;gap:.2rem;padding:.2rem;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:.35rem .8rem;font-size:.84rem;font-weight:500;transition:color .15s,background-color .15s}.tab-btn:hover{color:var(--text-main);background:var(--bg-hover)}.tab-btn.active{background:var(--bg-card-elevated);color:var(--primary-blue);box-shadow:var(--shadow-sm);font-weight:600}.nav-actions{align-items:center;gap:.3rem;display:flex}.nav-action-btn{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:.3rem;padding:.35rem .6rem;font-size:.8rem;font-weight:500;transition:background-color .15s,color .15s,border-color .15s;display:flex}.nav-action-btn:hover{background:var(--bg-hover);color:var(--text-main)}.nav-divider{background:var(--border-subtle);flex-shrink:0;width:1px;height:20px;margin:0 .15rem}.section-select-wrapper select,select{background:var(--bg-card-elevated);border:1px solid var(--border-main);color:var(--text-main);cursor:pointer;border-radius:7px;outline:none;padding:.38rem .65rem;font-size:.84rem;font-weight:500;transition:border-color .15s}select:hover{border-color:var(--primary-blue-border)}.mode-toggle{background:var(--bg-subtle);border-radius:9px;gap:.15rem;padding:.15rem;display:flex}.mode-btn{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:.3rem .65rem;font-size:.8rem;font-weight:500;transition:color .15s,background-color .15s}.mode-btn:hover{color:var(--text-main)}.mode-btn.active{background:var(--bg-card-elevated);color:var(--primary-blue);box-shadow:var(--shadow-sm);font-weight:600}.mobile-nav-tabs{background:var(--bg-card);border-bottom:1px solid var(--border-subtle);z-index:15;gap:.35rem;padding:.35rem .6rem;display:none;position:sticky;top:0}.mobile-tab-btn{background:var(--bg-subtle);color:var(--text-secondary);cursor:pointer;border:none;border-radius:8px;flex:1;padding:.5rem 0;font-size:.84rem;font-weight:500;transition:all .15s}.mobile-tab-btn.active{background:var(--primary-blue);color:var(--text-on-accent);font-weight:600}.app-container{flex:1;grid-template-columns:1.15fr 1fr;gap:1rem;min-height:0;padding:1rem 1.25rem;display:grid;overflow:hidden}.desktop-panel-left,.desktop-panel-right{flex-direction:column;height:100%;display:flex;overflow:hidden}.glass-panel{background:var(--bg-card);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);border-radius:14px;flex-direction:column;padding:1.1rem 1.35rem;display:flex;overflow:hidden}.section-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding-bottom:.55rem;display:flex}.tag-badge{background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:999px;padding:.2rem .6rem;font-size:.76rem;font-weight:500}.question-content{flex-direction:column;flex:1;gap:1rem;padding-right:.3rem;display:flex;overflow-y:auto}.question-text{color:var(--text-main);font-size:1.05rem;font-weight:500;line-height:1.8}.options-container{flex-direction:column;gap:.6rem;display:flex}.options-container>button{position:relative}.options-container>button:not(:disabled):hover{transform:translateY(-1px);border-color:var(--primary-blue-border)!important;box-shadow:var(--shadow-md)!important}.options-container>button:not(:disabled):active{transform:translateY(0)}.bottom-bar,.action-bar{border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:.65rem;display:flex}.nav-btn,.primary-btn,.secondary-btn,.submit-btn,.next-btn{cursor:pointer;border:1px solid var(--border-main);background:var(--bg-card-elevated);color:var(--text-secondary);border-radius:8px;font-weight:500;transition:filter .15s,background-color .15s,opacity .15s}.submit-btn,.next-btn,.primary-btn{border:none}.nav-btn:hover:not(:disabled),.secondary-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-main)}.submit-btn:hover:not(:disabled),.next-btn:hover:not(:disabled),.primary-btn:hover:not(:disabled){filter:brightness(1.08)}.nav-btn:disabled,.submit-btn:disabled,.next-btn:disabled,.primary-btn:disabled{opacity:.45;cursor:not-allowed}.mobile-bottom-bar{background:var(--bg-card);border-top:1px solid var(--border-subtle);z-index:90;gap:.55rem;padding:.55rem .85rem;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #00000014}.mobile-bar-btn{background:var(--bg-subtle);color:var(--text-secondary);cursor:pointer;text-align:center;border:none;border-radius:9px;flex:1;padding:.65rem 0;font-size:.88rem;font-weight:500}.mobile-bar-btn.submit-btn,.mobile-bar-btn.next-btn{background:var(--primary-blue);color:var(--text-on-accent);flex:1.4;font-weight:600}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#080c148c;justify-content:center;align-items:center;padding:1rem;animation:.15s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:none}}.modal-content{background:var(--bg-card);border:1px solid var(--border-subtle);width:90%;max-width:680px;max-height:85vh;box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;animation:.18s cubic-bezier(.2,.8,.3,1) popIn;display:flex;overflow:hidden}.modal-header{background:var(--bg-card);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:.9rem 1.3rem;display:flex}.modal-header h3{color:var(--text-main);font-size:1.02rem;font-weight:600}.close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.15rem .5rem;font-size:1.25rem;line-height:1;transition:color .15s,background-color .15s}.close-btn:hover{color:var(--text-main);background:var(--bg-hover)}.question-grid-container{background:var(--bg-card);grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:.45rem;padding:0 1rem 1rem;display:grid;overflow-y:auto}.grid-item{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--bg-subtle);width:100%;color:var(--text-muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;font-size:.86rem;font-weight:600;transition:transform .12s,border-color .15s;display:flex}.grid-item:hover{border-color:var(--primary-blue);transform:scale(1.08)}.grid-item.active-current{border-color:var(--primary-blue);color:var(--primary-blue);box-shadow:var(--ring-focus)}.grid-item.correct{background:var(--success-bg);color:var(--success-text);border-color:var(--success-border)}.grid-item.wrong{background:var(--error-bg);color:var(--error-text);border-color:var(--error-border)}.grid-legend{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:1rem;padding:.5rem 1rem;font-size:.78rem;display:flex}.legend-item{align-items:center;gap:.3rem;display:flex}.dot{border-radius:4px;width:12px;height:12px;display:inline-block}.dot.answered-correct{background:var(--success-bg);border:1px solid var(--success-border)}.dot.answered-wrong{background:var(--error-bg);border:1px solid var(--error-border)}.dot.unanswered{background:var(--bg-subtle);border:1px solid var(--border-main)}.dot.active{background:var(--primary-blue-bg);border:2px solid var(--primary-blue)}@media (width<=860px){body{height:100%;overflow-y:auto}.main-layout{height:100%;min-height:100vh;padding-bottom:60px}.navbar-container{gap:.4rem;padding:.5rem .7rem}.btn-label-text{display:none}.nav-actions{gap:.1rem}.nav-divider{display:none}.mobile-nav-tabs{display:flex}.app-container{padding:.6rem .7rem;display:block;overflow-y:auto}.desktop-panel-left.mobile-hidden,.desktop-panel-right.mobile-hidden{display:none!important}.desktop-panel-left.mobile-visible,.desktop-panel-right.mobile-visible{height:auto;min-height:500px;display:flex!important}.glass-panel{border-radius:12px;padding:.9rem 1rem}.desktop-panel-left .action-bar{display:none}.desktop-panel-left .bottom-bar{z-index:90;padding:.5rem .8rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px));background:var(--bg-card);border-top:1px solid var(--border-subtle);gap:.5rem;margin-top:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 14px #0000001f}.app-container{padding-bottom:4.75rem}.desktop-panel-left .bottom-bar button{flex:1;min-height:44px;padding:.5rem .6rem!important;font-size:.86rem!important}.desktop-panel-left .bottom-bar>div{flex:1.6;gap:.5rem;display:flex}.options-container>button{min-height:48px}.kbd-hint{display:none!important}.shortcut-bar{background:0 0!important;justify-content:flex-end!important;padding:0!important}.mobile-bottom-bar{display:flex}.modal-overlay{padding:0}.modal-content{border-radius:16px 16px 0 0;width:100%;max-width:none;max-height:92vh;margin-top:auto}}.markdown-body{word-break:break-word;line-height:1.75}.markdown-body table{border-collapse:collapse;background:var(--bg-card-elevated);width:100%;box-shadow:var(--shadow-sm);border-radius:8px;margin:.6rem 0;font-size:.8rem;overflow:hidden}.markdown-body th,.markdown-body td{border:1px solid var(--border-subtle);text-align:left;padding:.45rem .65rem;line-height:1.5}.markdown-body th{background:var(--bg-subtle);color:var(--text-main);white-space:nowrap;font-weight:700}.markdown-body tr:nth-child(2n) td{background:var(--bg-subtle)}.markdown-body strong{color:var(--primary-blue-text);font-weight:700}.markdown-body ul,.markdown-body ol{margin:.35rem 0 .35rem 1.2rem;padding:0}.markdown-body li{margin-bottom:.2rem;line-height:1.7}.markdown-body blockquote{border-left:3.5px solid var(--primary-blue);background:var(--primary-blue-bg);color:var(--primary-blue-text);border-radius:0 8px 8px 0;margin:.5rem 0;padding:.4rem .75rem;font-weight:500}.markdown-body p{margin:.3rem 0}.markdown-body code{background:var(--bg-subtle);border-radius:4px;padding:.1rem .3rem;font-size:.9em}
