:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--navy:#162040;--navy-light:#1e2d56;--navy-hover:#243568;--blue:#2563eb;--blue-dark:#1d4ed8;--bg:#f0f2f5;--surface:#fff;--surface-alt:#fafbfc;--hover-bg:#f8fafc;--selected-bg:#eef2ff;--border:#e2e8f0;--text:#1e293b;--muted:#64748b;--sidebar-w:248px}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif}.shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--navy);z-index:200;flex-direction:column;transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:199;opacity:0;pointer-events:none;background:#00000073;transition:opacity .28s;position:fixed;inset:0}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}.admin-shell .sidebar{position:fixed;transform:none}.sidebar-logo{text-align:center;border-bottom:1px solid #ffffff14;flex-direction:column;align-items:center;padding:1.4rem 1.25rem 1.1rem;display:flex}.sidebar-building-icon{color:#ffffffe0;justify-content:center;align-items:center;margin-bottom:.6rem;display:flex}.logo-name{color:#fff;letter-spacing:-.02em;font-size:1.5rem;font-weight:800;line-height:1}.logo-name span{color:#ffffff73;font-weight:700}.logo-sub{color:#ffffff59;text-transform:uppercase;letter-spacing:.08em;margin-top:.35rem;font-size:.65rem;line-height:1.4}.sidebar-section-title{text-transform:uppercase;letter-spacing:.1em;color:#ffffff47;padding:1.25rem 1.25rem .4rem;font-size:.65rem;font-weight:600}.sidebar-nav{flex:1;padding-bottom:1rem;overflow-y:auto}.nav-item{color:#fff9;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.75rem;width:100%;padding:.65rem 1.25rem;font-size:.875rem;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--navy-hover);color:#ffffffe6}.nav-item.active{background:var(--blue);color:#fff}.nav-icon{text-align:center;width:1.25rem;font-size:1rem}.nav-badge{color:#ffffffb3;background:#ffffff1f;border-radius:10px;margin-left:auto;padding:.1rem .45rem;font-size:.65rem}.sidebar-footer{border-top:1px solid #ffffff14;padding:1rem 1.25rem}.user-avatar{background:var(--blue);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.875rem;font-weight:700;display:flex}.sidebar-user{align-items:center;gap:.75rem;display:flex}.user-info{flex:1;min-width:0}.user-name{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:.825rem;font-weight:500;overflow:hidden}.user-year{color:#ffffff61;font-size:.7rem}.sign-out-btn{color:#ffffff59;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;margin-top:.4rem;padding:.25rem 0;font-size:.75rem;display:flex}.sign-out-btn:hover{color:#fff}.icon svg{width:100%;height:100%}.hamburger-btn{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:6px;flex-shrink:0;align-items:center;padding:.35rem;transition:background .15s;display:inline-flex}.hamburger-btn:hover{background:var(--border)}.main{flex-direction:column;flex:1;min-height:100vh;margin-left:0;display:flex}.admin-shell .main{margin-left:var(--sidebar-w)}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:50;justify-content:space-between;align-items:center;height:60px;padding:0 2rem;display:flex;position:sticky;top:0}.topbar-title{color:var(--text);font-size:1.05rem;font-weight:600}.topbar-actions{align-items:center;gap:.75rem;display:flex}.btn-primary{background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.45rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s}.btn-secondary{color:var(--text);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:8px;padding:.45rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s}.btn-secondary:hover{background:var(--bg)}.page-content{flex:1;padding:1.75rem 2rem}.stats-row{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:1.75rem;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600}.stat-value{color:var(--text);margin:.25rem 0 0;font-size:2rem;font-weight:700;line-height:1}.stat-sub{color:var(--muted);margin-top:.3rem;font-size:.75rem}.browser-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.browser-card-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.9rem 1.25rem;display:flex}.browser-card-header h2{font-size:.95rem;font-weight:600}.year-tabs{flex-wrap:wrap;gap:.35rem;display:flex}.year-tab{border:1px solid var(--border);background:var(--surface);cursor:pointer;color:var(--muted);border-radius:20px;padding:.28rem .7rem;font-size:.78rem;font-weight:500;transition:all .15s}.year-tab:hover{border-color:var(--navy);color:var(--navy)}.year-tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}.browser-cols{grid-template-columns:1fr 1fr 1.5fr;display:grid}.browser-col{border-right:1px solid var(--border);max-height:540px;overflow-y:auto}.browser-col:last-child{border-right:none}.col-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--surface-alt);border-bottom:1px solid var(--border);padding:.55rem 1rem;font-size:.68rem;font-weight:600;position:sticky;top:0}.col-empty{color:var(--muted);padding:1.5rem 1rem;font-size:.85rem}.browser-item{border:none;border-bottom:1px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;color:var(--text);align-items:center;gap:.5rem;width:100%;padding:.65rem 1rem;font-size:.875rem;transition:background .1s;display:flex}.browser-item:hover{background:var(--hover-bg)}.browser-item.selected{background:var(--selected-bg);color:var(--navy);border-left:3px solid var(--navy);padding-left:calc(1rem - 3px);font-weight:600}.file-icon-wrap{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:.95rem;display:flex}.file-icon-wrap.pdf{background:#fef2f2}.file-icon-wrap.img{background:#f0fdf4}.file-icon-wrap.misc{background:#f0f9ff}.file-meta{flex:1;min-width:0}.file-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.file-size{color:var(--muted);margin-top:.1rem;font-size:.72rem}.coming-soon{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:5rem 2rem;display:flex}.coming-soon .cs-icon{opacity:.5;margin-bottom:1rem;font-size:3rem}.coming-soon h3{color:var(--text);margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.coming-soon p{max-width:320px;font-size:.875rem}.auth-building-icon{color:var(--navy);justify-content:center;align-items:center;margin:0 auto .6rem;display:flex}.papers-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding:1rem;display:grid}.paper-card{background:var(--surface);border:1px solid var(--border);text-align:left;cursor:pointer;border-radius:10px;padding:1.25rem;transition:box-shadow .15s,border-color .15s}.paper-card:hover{border-color:var(--navy);box-shadow:0 2px 12px #00000014}.paper-name{color:var(--text);margin-bottom:.3rem;font-weight:600}.paper-subject{color:var(--muted);margin-bottom:.5rem;font-size:.8rem}.paper-count{color:var(--blue);font-size:.8rem;font-weight:500}.exam-view{flex-direction:column;gap:0;display:flex}.exam-topbar{flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 0 1.25rem;display:flex}.exam-title{flex:1;font-size:1rem;font-weight:600}.exam-progress{color:var(--muted);font-size:.875rem}.exam-loading{color:var(--muted);text-align:center;padding:2rem}.exam-questions{flex-direction:column;gap:1.25rem;display:flex}.question-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.question-card.q-correct{border-color:#86efac}.question-card.q-wrong{border-color:#fca5a5}.question-num{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:.6rem;font-size:.72rem;font-weight:600}.question-body{color:var(--text);margin-bottom:1rem;font-size:.95rem;line-height:1.6}.question-options{flex-direction:column;gap:.5rem;display:flex}.option{border:1.5px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.65rem .9rem;font-size:.875rem;line-height:1.5;transition:border-color .15s,background .15s;display:flex}.option:hover:not(:disabled){border-color:var(--navy);background:var(--hover-bg)}.option:disabled{cursor:default}.opt-letter{color:var(--muted);min-width:1.25rem;font-weight:700}.opt-selected{border-color:var(--navy);background:#eef2ff}.opt-selected .opt-letter{color:var(--navy)}.opt-correct{background:#f0fdf4;border-color:#16a34a}.opt-correct .opt-letter{color:#16a34a}.opt-wrong{background:#fef2f2;border-color:#dc2626}.opt-wrong .opt-letter{color:#dc2626}.question-explanation{background:var(--surface-alt);border-left:3px solid var(--navy);color:var(--text);border-radius:0 8px 8px 0;margin-top:1rem;padding:.75rem 1rem;font-size:.875rem;line-height:1.6}.exam-results{justify-content:center;padding:2rem 0;display:flex}.results-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:700px;padding:2rem}.results-score{text-align:center;font-size:4rem;font-weight:800;line-height:1}.results-label{text-align:center;color:var(--muted);margin:.5rem 0 1.5rem;font-size:1rem}.results-actions{justify-content:center;gap:.75rem;margin-bottom:2rem;display:flex}.review-item{border-bottom:1px solid var(--border);padding:1rem}.review-item:last-child{border-bottom:none}.review-correct{border-left:3px solid #16a34a;padding-left:calc(1rem - 3px)}.review-wrong{border-left:3px solid #dc2626;padding-left:calc(1rem - 3px)}.review-q{color:var(--text);margin-bottom:.35rem;font-size:.875rem}.review-answer{color:var(--muted);margin-bottom:.3rem;font-size:.8rem}.review-explanation{color:var(--text);background:var(--surface-alt);border-radius:6px;margin-top:.4rem;padding:.5rem .75rem;font-size:.8rem}.uw-session{z-index:300;background:#f8f9fa;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.uw-topbar{background:var(--navy);color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;height:48px;padding:0 1.25rem;display:flex}.uw-topbar-left,.uw-topbar-right{align-items:center;gap:.75rem;display:flex}.uw-back-btn{cursor:pointer;color:#fff;background:#ffffff1f;border:none;border-radius:6px;align-items:center;padding:.3rem .45rem;display:flex}.uw-back-btn:hover{background:#ffffff38}.uw-item-count{align-items:baseline;gap:.3rem;display:flex}.uw-item-n{color:#fff;font-size:.85rem;font-weight:700}.uw-item-of{color:#fff9;font-size:.75rem}.uw-mark-btn{cursor:pointer;color:#fffc;background:#ffffff1a;border:1px solid #fff3;border-radius:6px;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.78rem;font-weight:500;display:flex}.uw-mark-btn:hover{background:#fff3}.uw-mark-btn.marked{color:#fff;background:#d97706;border-color:#d97706}.uw-timer{color:#ffffffd9;font-variant-numeric:tabular-nums;align-items:center;gap:.35rem;font-size:.82rem;font-weight:600;display:flex}.uw-submit-btn{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:.3rem .85rem;font-size:.82rem;font-weight:600}.uw-submit-btn:hover:not(:disabled){background:#1d4ed8}.uw-submit-btn:disabled{opacity:.5;cursor:not-allowed}.uw-score-badge{color:#fff;background:#ffffff26;border-radius:6px;padding:.25rem .7rem;font-size:.8rem;font-weight:700}.uw-progress-bar{background:#ffffff26;flex-shrink:0;height:3px}.uw-progress-fill{background:#22c55e;height:100%;transition:width .3s}.uw-scroll{flex:1;padding-bottom:60px;overflow-y:auto}.uw-question-area{max-width:860px;margin:0 auto;padding:2rem 1.5rem}.uw-options{flex-direction:column;gap:0;display:flex}.uw-option{text-align:left;cursor:pointer;background:#fff;border:none;border-bottom:1px solid #e9ecef;align-items:flex-start;gap:.875rem;width:100%;padding:.85rem 1rem;transition:background .1s;display:flex}.uw-option:first-child{border-top:1px solid #e9ecef}.uw-option:hover:not(:disabled){background:#f0f4ff}.uw-option:disabled{cursor:default}.uw-opt-radio{border:2px solid #cbd5e1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-top:1px;display:flex}.uw-opt-letter{color:#64748b;flex-shrink:0;min-width:1.3rem;font-size:.82rem;font-weight:700}.uw-opt-text{color:#1e293b;flex:1;font-size:.9rem;line-height:1.5}.uw-option.uw-opt-selected .uw-opt-letter{color:#162040}.uw-option.uw-opt-selected{background:#eef2ff}.uw-option.uw-opt-selected .uw-opt-radio{background:#162040;border-color:#162040}.uw-option.uw-opt-correct{background:#f0fdf4}.uw-option.uw-opt-correct .uw-opt-letter{color:#15803d}.uw-option.uw-opt-correct .uw-opt-radio{background:#15803d;border-color:#15803d}.uw-option.uw-opt-wrong{background:#fef2f2}.uw-option.uw-opt-wrong .uw-opt-letter{color:#b91c1c}.uw-option.uw-opt-wrong .uw-opt-radio{background:#b91c1c;border-color:#b91c1c}.uw-status-bar{border:1.5px solid;border-radius:10px;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.5rem;padding:.75rem 1rem;display:flex}.uw-status-bar.correct{color:#15803d;background:#f0fdf4;border-color:#86efac}.uw-status-bar.wrong{color:#b91c1c;background:#fef2f2;border-color:#fca5a5}.uw-status-left{align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.uw-explanation{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-top:1.25rem;overflow:hidden}.uw-explanation-title{text-transform:uppercase;letter-spacing:.07em;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.75rem 1.25rem;font-size:.78rem;font-weight:700}.uw-explanation-text{color:#1e293b;white-space:pre-wrap;padding:1.25rem;font-size:.9rem;line-height:1.75}.uw-explanation-image{object-fit:contain;border-radius:8px;max-width:100%;max-height:400px;margin:1rem auto;display:block}.uw-explanation-svg{border-bottom:1px solid #e2e8f0;justify-content:center;padding:1rem;display:flex}.uw-explanation-svg svg{max-width:100%;height:auto}.uw-body{flex:1;display:flex;overflow:hidden}.uw-nav-panel{background:#111827;flex-direction:column;flex-shrink:0;gap:.875rem;width:210px;padding:1rem .875rem;display:flex;overflow-y:auto}.uw-nav-panel-title{text-transform:uppercase;letter-spacing:.1em;color:#ffffff59;font-size:.65rem;font-weight:700}.uw-nav-dots{flex-wrap:wrap;gap:.3rem;display:flex}.uw-nav-dot{cursor:pointer;color:#ffffff73;background:#ffffff0d;border:1.5px solid #ffffff1f;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.72rem;font-weight:700;transition:all .1s;display:flex}.uw-nav-dot:hover{color:#ffffffe6;background:#ffffff26}.uw-nav-dot.dot-current{color:#162040;background:#fff;border-color:#fff}.uw-nav-dot.dot-answered{color:#ffffffb3;background:#ffffff1a;border-color:#ffffff40}.uw-nav-dot.dot-correct{color:#4ade80;background:#16a34a40;border-color:#4ade80}.uw-nav-dot.dot-wrong{color:#f87171;background:#dc262633;border-color:#f87171}.uw-nav-dot.dot-marked{outline-offset:1px;outline:2px solid #f59e0b}.uw-nav-legend{border-top:1px solid #ffffff14;flex-direction:column;gap:.3rem;margin-top:auto;padding-top:.75rem;display:flex}.uw-legend-row{color:#fff6;align-items:center;gap:.4rem;font-size:.7rem;display:flex}.uw-content{background:#f8f9fa;flex:1;padding:1.75rem 2.5rem 80px;overflow-y:auto}.uw-paper-name{color:#ffffffd9;white-space:nowrap;text-overflow:ellipsis;max-width:280px;font-size:.85rem;font-weight:600;overflow:hidden}.uw-item-label{text-transform:uppercase;letter-spacing:.07em;color:#94a3b8;margin-bottom:.875rem;font-size:.75rem;font-weight:600}.uw-question-stem{color:#1e293b;white-space:pre-wrap;margin-bottom:1.5rem;font-size:.975rem;line-height:1.75}.uw-choices{flex-direction:column;margin-bottom:1.25rem;display:flex}.uw-choice{cursor:pointer;text-align:left;background:0 0;border-top:none;border-bottom:1px solid #e9ecef;border-left:3px solid #0000;border-right:none;align-items:flex-start;gap:.875rem;width:100%;padding:.8rem 1rem;transition:background .1s,border-left-color .1s;display:flex}.uw-choice:first-child{border-top:1px solid #e9ecef}.uw-choice:hover:not(:disabled){background:#f0f4ff}.uw-choice:disabled{cursor:default}.uw-choice-letter{color:#64748b;flex-shrink:0;min-width:1.5rem;font-size:.82rem;font-weight:700;line-height:1.5}.uw-choice-text{color:#1e293b;flex:1;font-size:.9rem;line-height:1.5}.uw-choice.choice-selected{background:#eef2ff;border-left-color:#162040}.uw-choice.choice-selected .uw-choice-letter{color:#162040;font-weight:800}.uw-choice.choice-correct{background:#f0fdf4;border-left-color:#16a34a}.uw-choice.choice-correct .uw-choice-letter{color:#16a34a}.uw-choice.choice-wrong{background:#fef2f2;border-left-color:#dc2626}.uw-choice.choice-wrong .uw-choice-letter{color:#dc2626}.uw-submit-q-btn{color:#fff;cursor:pointer;background:#162040;border:none;border-radius:8px;margin-top:.875rem;padding:.55rem 1.5rem;font-size:.875rem;font-weight:600;transition:background .15s;display:inline-block}.uw-submit-q-btn:hover:not(:disabled){background:#1e2d56}.uw-submit-q-btn:disabled{opacity:.5;cursor:not-allowed}.uw-end-btn{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:6px;padding:.3rem .85rem;font-size:.82rem;font-weight:600}.uw-end-btn:hover:not(:disabled){background:#b91c1c}.uw-end-btn:disabled{opacity:.5;cursor:not-allowed}.uw-bottombar{background:var(--navy);flex-shrink:0;justify-content:space-between;align-items:center;height:52px;padding:0 1rem;display:flex}.uw-nav-btn{cursor:pointer;color:#fff;background:#ffffff1f;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .9rem;font-size:.82rem;font-weight:500;transition:background .12s;display:flex}.uw-nav-btn:hover:not(:disabled){background:#ffffff38}.uw-nav-btn:disabled{opacity:.35;cursor:default}.uw-qmap-btn{cursor:pointer;color:#fffc;background:#ffffff1a;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.78rem}.uw-qmap-btn:hover{background:#fff3}.uw-map-overlay{z-index:400;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.uw-map-panel{background:#fff;border-radius:16px 16px 0 0;width:100%;max-width:700px;max-height:55vh;padding:1.25rem 1.5rem 2rem;overflow-y:auto}.uw-map-header{color:#64748b;text-transform:uppercase;letter-spacing:.07em;margin-bottom:1rem;font-size:.85rem;font-weight:700}.uw-map-grid{flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;display:flex}.uw-map-dot{cursor:pointer;color:#64748b;background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:.78rem;font-weight:600;transition:all .12s;display:flex}.uw-map-dot:hover{color:#162040;border-color:#162040}.uw-map-dot.dot-current{color:#fff;background:#162040;border-color:#162040}.uw-map-dot.dot-answered{background:#e2e8f0;border-color:#94a3b8}.uw-map-dot.dot-correct{color:#15803d;background:#dcfce7;border-color:#15803d}.uw-map-dot.dot-wrong{color:#b91c1c;background:#fee2e2;border-color:#b91c1c}.uw-map-dot.dot-marked{outline-offset:2px;outline:2px solid #d97706}.uw-map-legend{color:#64748b;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.78rem;display:flex}.legend-dot{background:#f8fafc;border:2px solid #e2e8f0;border-radius:3px;width:12px;height:12px;margin-right:.2rem;display:inline-block}.legend-dot.dot-correct{background:#dcfce7;border-color:#15803d}.legend-dot.dot-wrong{background:#fee2e2;border-color:#b91c1c}.legend-dot.dot-answered{background:#e2e8f0;border-color:#94a3b8}.legend-dot.dot-marked{outline-offset:1px;outline:2px solid #d97706}.uw-results-banner{background:var(--navy);color:#fff;flex-wrap:wrap;align-items:center;gap:2rem;padding:1.5rem;display:flex}.uw-results-pct{font-size:2.5rem;font-weight:900;line-height:1}.uw-results-label{color:#ffffffb3;margin-top:.2rem;font-size:.85rem}html.dark .uw-session{background:#0f1117}html.dark .uw-question-area .uw-question-stem{color:#e2e8f0}html.dark .uw-option{background:#1c1f2e;border-color:#ffffff14}html.dark .uw-option:hover:not(:disabled){background:#252a3d}html.dark .uw-opt-text{color:#e2e8f0}html.dark .uw-option.uw-opt-selected{background:#1e3a5f}html.dark .uw-option.uw-opt-correct{background:#15803d26}html.dark .uw-option.uw-opt-wrong{background:#b91c1c26}html.dark .uw-map-panel{background:#1c1f2e}html.dark .uw-map-dot{color:#94a3b8;background:#252a3d;border-color:#ffffff1f}.pp-list-body{flex-direction:column;display:flex}.pp-subject-group{border-bottom:1px solid var(--border)}.pp-subject-group:last-child{border-bottom:none}.pp-subject-header{background:var(--surface-alt);justify-content:space-between;align-items:center;padding:.65rem 1rem .45rem;display:flex}.pp-subject-name{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.8rem;font-weight:700}.pp-subject-count{color:var(--muted);font-size:.75rem}.pp-papers-list{flex-direction:column;display:flex}.pp-paper-row{cursor:pointer;text-align:left;border:none;border-bottom:1px solid var(--border);background:0 0;align-items:center;gap:.75rem;padding:.75rem 1rem;transition:background .12s;display:flex}.pp-paper-row:last-child{border-bottom:none}.pp-paper-row:hover{background:var(--hover-bg)}.pp-paper-icon{width:32px;height:32px;color:var(--navy);background:#eef2ff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pp-paper-info{flex:1;min-width:0}.pp-paper-name{color:var(--text);font-size:.875rem;font-weight:500}.pp-paper-qcount{color:var(--muted);margin-top:.1rem;font-size:.75rem}.pp-paper-arrow{color:var(--muted);flex-shrink:0}.mode-select{max-width:640px;margin:0 auto;padding:1rem 0 3rem}.mode-back-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;margin-bottom:1.25rem;padding:0;font-size:.875rem;display:inline-flex}.mode-back-btn:hover{color:var(--text)}.mode-select-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:1.5rem;padding:1.75rem;display:flex}.mode-paper-meta{border-bottom:1px solid var(--border);padding-bottom:1rem}.mode-subject-badge{color:var(--navy);text-transform:uppercase;letter-spacing:.06em;background:#eef2ff;border-radius:6px;margin-bottom:.5rem;padding:.2rem .55rem;font-size:.72rem;font-weight:600;display:inline-block}.mode-paper-name{color:var(--text);margin:0 0 .25rem;font-size:1.1rem;font-weight:700}.mode-paper-avail{color:var(--muted);margin:0;font-size:.825rem}.mode-section{flex-direction:column;gap:.75rem;display:flex}.mode-section-label{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0;font-size:.78rem;font-weight:700}.mode-max-note{text-transform:none;letter-spacing:0;font-size:.72rem;font-weight:400}.mode-choice-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.mode-choice{border:2px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem;transition:border-color .15s,background .15s;display:flex}.mode-choice:hover,.mode-choice.selected{border-color:var(--navy);background:var(--hover-bg)}.mode-choice-icon{border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.mode-choice-name{color:var(--text);font-size:.9rem;font-weight:600}.mode-choice-desc{color:var(--muted);font-size:.78rem;line-height:1.4}.mode-count-wrap{align-items:center;gap:1rem;display:flex}.mode-slider{accent-color:var(--navy);cursor:pointer;flex:1}.mode-count-num{color:var(--navy);text-align:center;min-width:2.5rem;font-size:1.5rem;font-weight:800}.mode-time-note{color:var(--muted);align-items:center;gap:.4rem;font-size:.8rem;display:flex}.mode-start-btn{width:100%;padding:.9rem;font-size:1rem}.session-wrap{flex-direction:column;gap:0;display:flex}.session-header{background:var(--bg);z-index:10;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 0 1rem;display:flex;position:sticky;top:0}.session-back-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;align-items:center;padding:.25rem;display:flex}.session-back-btn:hover{color:var(--text);background:var(--hover-bg)}.session-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:.95rem;font-weight:600;overflow:hidden}.session-meta{align-items:center;gap:.75rem;display:flex}.session-timer{color:var(--text);font-variant-numeric:tabular-nums;align-items:center;gap:.3rem;font-size:.875rem;font-weight:600;display:flex}.session-timer.urgent{color:#dc2626}.session-progress{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.session-timer-bar{background:var(--border);border-radius:3px;height:3px;margin-bottom:1.25rem}.session-timer-fill{background:var(--navy);border-radius:3px;height:100%;transition:width 1s linear}.session-timer-fill.urgent{background:#dc2626}.session-questions{flex-direction:column;gap:1.25rem;padding-bottom:6rem;display:flex}.session-footer{background:var(--surface);border-top:1px solid var(--border);z-index:20;justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex;position:fixed;bottom:0;left:0;right:0}.question-correct-hint{color:var(--muted);margin-top:.5rem;font-size:.82rem}.papers-list{flex-direction:column;display:flex}.adm-paper-row{border-bottom:1px solid #f1f5f9;align-items:center;gap:.75rem;padding:.7rem 1rem;display:flex}.adm-paper-row:hover{background:var(--hover-bg)}.adm-paper-name{cursor:pointer;text-align:left;color:var(--navy);background:0 0;border:none;flex:1;font-size:.875rem;font-weight:500}.adm-paper-name:hover{text-decoration:underline}.adm-paper-count{color:var(--muted);font-size:.75rem}.q-row{border-bottom:1px solid var(--border)}.q-row:last-child{border-bottom:none}.q-row-inner{align-items:flex-start;gap:.75rem;padding:.75rem 1rem;display:flex}.q-num{color:var(--muted);min-width:2rem;padding-top:.1rem;font-size:.72rem;font-weight:700}.q-body{color:var(--text);flex:1;font-size:.875rem;line-height:1.5}.q-correct-badge{color:#15803d;background:#dcfce7;border-radius:8px;padding:.2rem .5rem;font-size:.7rem;font-weight:700}.q-form{background:var(--surface-alt);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.q-form-field{flex-direction:column;gap:.3rem;display:flex}.q-form-row{align-items:center;gap:.75rem;display:flex}.q-label{color:var(--muted);min-width:90px;font-size:.78rem;font-weight:600}.q-textarea{border:1px solid var(--border);resize:vertical;border-radius:8px;outline:none;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.q-textarea:focus{border-color:var(--navy)}.q-form-actions{gap:.5rem;padding-top:.25rem;display:flex}.adm-row{position:relative}.adm-row:hover .adm-actions{opacity:1}.adm-actions{opacity:0;gap:.25rem;margin-left:auto;transition:opacity .15s;display:flex}.adm-icon-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;align-items:center;padding:.2rem .3rem;font-size:.85rem;line-height:1;display:inline-flex}.adm-icon-btn:hover{background:#0000000f}.adm-item-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.adm-inline-form{align-items:center;gap:.4rem;width:100%;display:flex}.adm-add-form{border-top:1px solid var(--border);background:var(--surface-alt);gap:.4rem;padding:.6rem .75rem;display:flex}.adm-input{border:1px solid var(--border);border-radius:6px;outline:none;flex:1;min-width:0;padding:.35rem .6rem;font-size:.85rem}.adm-input:focus{border-color:var(--navy)}.adm-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:.3rem .65rem;font-size:.8rem;font-weight:500}.adm-btn-primary{background:var(--navy);color:#fff}.adm-btn-primary:hover:not(:disabled){background:var(--navy-light)}.adm-btn-primary:disabled{opacity:.4;cursor:not-allowed}.adm-btn-danger{color:#fff;background:#dc2626}.adm-btn-danger:hover{background:#b91c1c}.adm-btn-ghost{color:var(--muted);border:1px solid var(--border);background:0 0}.adm-btn-ghost:hover{background:var(--bg)}.adm-confirm{align-items:center;gap:.5rem;width:100%;font-size:.8rem;display:flex}.adm-confirm span{text-overflow:ellipsis;white-space:nowrap;color:#dc2626;flex:1;min-width:0;overflow:hidden}.adm-upload-btn{background:var(--navy);color:#fff;cursor:pointer;white-space:nowrap;border-radius:6px;padding:.2rem .55rem;font-size:.7rem;font-weight:600}.adm-upload-btn:hover{background:var(--navy-light)}.adm-search{border:1px solid var(--border);border-radius:8px;outline:none;width:240px;padding:.35rem .75rem;font-size:.875rem}.adm-search:focus{border-color:var(--navy)}.adm-table-wrap{overflow-x:auto}.adm-table{border-collapse:collapse;width:100%;font-size:.875rem}.adm-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--surface-alt);border-bottom:1px solid var(--border);padding:.6rem 1rem;font-size:.72rem;font-weight:600}.adm-table td{color:var(--text);border-bottom:1px solid #f1f5f9;padding:.7rem 1rem}.adm-table tr:last-child td{border-bottom:none}.adm-table tr:hover td{background:var(--hover-bg)}.adm-muted{color:var(--muted)}.adm-badge{border-radius:12px;padding:.15rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.adm-badge-green{color:#15803d;background:#dcfce7}.adm-badge-gray{color:#64748b;background:#f1f5f9}.auth-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:420px;padding:2.5rem 2rem;box-shadow:0 4px 24px #00000012}.auth-logo{text-align:center;margin-bottom:1.75rem}.auth-logo-img{object-fit:contain;border:1px solid var(--border);border-radius:14px;width:72px;height:72px;margin:0 auto .65rem;padding:6px;display:block}.auth-logo .logo-name{color:var(--navy);letter-spacing:-.03em;font-size:2rem;font-weight:800}.auth-logo .logo-name span{color:#16204066}.auth-logo .logo-sub{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.3rem;font-size:.7rem}.auth-title{color:var(--text);margin-bottom:1.25rem;font-size:1.3rem;font-weight:700}.auth-card h2{margin-bottom:1.25rem;font-size:1.1rem}.auth-card form{flex-direction:column;gap:.875rem;display:flex}.auth-card label{flex-direction:column;gap:.3rem;font-size:.875rem;font-weight:500;display:flex}.auth-card input,.auth-card select{border:1px solid var(--border);border-radius:8px;outline:none;padding:.6rem .75rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.auth-card input:focus,.auth-card select:focus{border-color:var(--navy);box-shadow:0 0 0 3px #1620401a}.auth-card button[type=submit]{background:var(--navy);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.65rem;font-size:1rem;font-weight:600;transition:background .15s}.auth-card button[type=submit]:hover:not(:disabled){background:var(--navy-light)}.auth-card button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:.75rem;padding:.6rem .8rem;font-size:.875rem}.auth-success{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:.75rem;padding:.6rem .8rem;font-size:.875rem}.auth-links{flex-direction:column;align-items:center;gap:.5rem;margin-top:1.25rem;display:flex}.link-btn{color:var(--navy);cursor:pointer;background:0 0;border:none;font-size:.875rem;text-decoration:underline}.link-btn:hover{color:var(--navy-light)}.fc-loading,.fc-error,.fc-empty{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;font-size:.95rem;display:flex}.fc-empty .icon{color:var(--border)}.fc-deck-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;padding:1.5rem;display:grid}.fc-deck-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.6rem;padding:1.25rem;transition:box-shadow .15s;display:flex;box-shadow:0 1px 4px #0000000d}.fc-deck-card:hover{box-shadow:0 4px 12px #0000001a}.fc-deck-title{color:var(--text);font-size:1rem;font-weight:700}.fc-deck-desc{color:var(--muted);font-size:.85rem}.fc-deck-meta{flex-wrap:wrap;gap:.4rem;margin-top:.25rem;display:flex}.fc-meta-pill{text-transform:uppercase;letter-spacing:.04em;border-radius:99px;padding:.2rem .55rem;font-size:.75rem;font-weight:600}.fc-meta-pill.total{color:var(--muted);background:#f1f5f9}.fc-meta-pill.due{color:#92400e;background:#fef9c3}.fc-meta-pill.new{color:#1d4ed8;background:#eff6ff}.fc-study-btn{background:var(--navy);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-top:.5rem;padding:.55rem 1rem;font-size:.875rem;font-weight:600;transition:background .15s}.fc-study-btn:hover:not(:disabled){background:var(--navy-light)}.fc-study-btn:disabled{background:var(--border);color:var(--muted);cursor:default}.fc-session{flex-direction:column;align-items:center;gap:1.5rem;min-height:100%;padding:1.5rem;display:flex}.fc-session-header{justify-content:space-between;align-items:center;width:100%;max-width:640px;display:flex}.fc-session-count{color:var(--muted);font-size:.85rem;font-weight:600}.fc-back-btn{color:var(--navy);cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;padding:.3rem 0;font-size:.875rem;font-weight:600;display:inline-flex}.fc-back-btn:hover{color:var(--navy-light)}.fc-progress-bar{background:var(--border);border-radius:99px;width:100%;max-width:640px;height:5px;overflow:hidden}.fc-progress-fill{background:var(--navy);border-radius:99px;height:100%;transition:width .3s}.fc-card-wrap{perspective:1200px;cursor:pointer;width:100%;max-width:640px;height:280px}.fc-card{width:100%;height:100%;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.4,0,.2,1);position:relative}.fc-card-wrap.flipped .fc-card{transform:rotateY(180deg)}.fc-card-face{backface-visibility:hidden;background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2rem;display:flex;position:absolute;inset:0;box-shadow:0 4px 16px #00000014}.fc-back{transform:rotateY(180deg)}.fc-card-label{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.7rem;font-weight:700}.fc-card-text{color:var(--text);text-align:center;max-height:180px;font-size:1.15rem;font-weight:500;line-height:1.55;overflow-y:auto}.fc-tap-hint{color:var(--muted);align-items:center;gap:.35rem;margin-top:.5rem;font-size:.8rem;display:flex}.fc-rating-row{flex-wrap:wrap;justify-content:center;gap:.75rem;width:100%;max-width:640px;display:flex}.fc-rate-btn{cursor:pointer;border:none;border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:.25rem;min-width:110px;padding:.7rem .5rem;font-family:inherit;transition:filter .15s,transform .1s;display:flex}.fc-rate-btn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.fc-rate-btn:disabled{opacity:.6;cursor:not-allowed}.fc-rate-label{color:#fff;font-size:.9rem;font-weight:700}.fc-rate-hint{color:#ffffffbf;font-size:.7rem}.fc-rate-btn.again{background:#dc2626}.fc-rate-btn.hard{background:#d97706}.fc-rate-btn.good{background:#16a34a}.fc-rate-btn.easy{background:#2563eb}.fc-results{flex-direction:column;align-items:center;gap:1.5rem;padding:1.5rem;display:flex}.fc-results-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:400px;padding:2.5rem;display:flex;box-shadow:0 4px 16px #00000014}.fc-results-icon{color:#16a34a}.fc-results-card h2{font-size:1.4rem;font-weight:800}.fc-results-sub{color:var(--muted);font-size:.9rem}.fc-results-bars{flex-direction:column;gap:.5rem;width:100%;display:flex}.fc-result-row{border-radius:8px;justify-content:space-between;align-items:center;padding:.4rem .75rem;font-size:.875rem;font-weight:600;display:flex}.fc-result-row.again{color:#dc2626;background:#fef2f2}.fc-result-row.hard{color:#d97706;background:#fffbeb}.fc-result-row.good{color:#16a34a;background:#f0fdf4}.fc-result-row.easy{color:#2563eb;background:#eff6ff}.deck-manager{max-width:900px;padding:1.5rem}.deck-list{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.deck-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.deck-row-info{cursor:pointer;flex:1}.deck-row-info:hover .deck-row-title{color:var(--navy-light)}.deck-row-title{color:var(--text);font-size:.95rem;font-weight:700}.deck-row-desc{color:var(--muted);margin-top:.15rem;font-size:.83rem}.deck-row-count{color:var(--muted);margin-top:.25rem;font-size:.75rem}.deck-row-actions{flex-shrink:0;gap:.5rem;display:flex}.deck-form{background:var(--surface-alt);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;padding:1.25rem}.deck-form label{flex-direction:column;gap:.3rem;margin-bottom:.75rem;font-size:.875rem;font-weight:500;display:flex}.deck-form input{border:1px solid var(--border);border-radius:8px;outline:none;padding:.55rem .75rem;font-size:.9rem}.deck-form input:focus{border-color:var(--navy);box-shadow:0 0 0 3px #1620401a}.cards-panel{max-width:900px;padding:1.5rem}.panel-header{align-items:center;gap:1rem;margin-bottom:1.25rem;display:flex}.panel-header h2{flex:1;font-size:1.1rem;font-weight:700}.cards-list{flex-direction:column;gap:.75rem;display:flex}.card-row{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:1rem;padding:.9rem 1.1rem;display:flex}.card-sides{flex-wrap:wrap;flex:1;align-items:flex-start;gap:.75rem;display:flex}.card-side{flex:1;min-width:200px;font-size:.88rem;line-height:1.5}.card-side.front{color:var(--text);font-weight:500}.card-side.back{color:var(--muted)}.card-side-sep{background:var(--border);align-self:stretch;width:1px}.card-actions{flex-shrink:0;gap:.5rem;display:flex}.card-form{background:var(--surface-alt);border:1px solid var(--border);border-radius:10px;width:100%;padding:1.25rem}.card-form label{flex-direction:column;gap:.3rem;margin-bottom:.75rem;font-size:.875rem;font-weight:500;display:flex}.card-form textarea{border:1px solid var(--border);resize:vertical;border-radius:8px;outline:none;padding:.55rem .75rem;font-family:inherit;font-size:.9rem}.card-form textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px #1620401a}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header h2{font-size:1.1rem;font-weight:700}.form-actions{gap:.75rem;display:flex}.form-error{color:#dc2626;background:#fef2f2;border-radius:8px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.85rem}.btn-primary{background:var(--navy);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1.1rem;font-size:.875rem;font-weight:600;transition:background .15s;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--navy-light)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{color:var(--muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:8px;padding:.5rem 1rem;font-size:.875rem;transition:border-color .15s}.btn-ghost:hover{border-color:var(--navy);color:var(--navy)}.icon-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem;font-size:.85rem;font-weight:500;transition:color .15s,background .15s;display:inline-flex}.icon-btn:hover{color:var(--navy);background:var(--border)}.icon-btn.danger:hover{color:#dc2626;background:#fef2f2}.loading-text{color:var(--muted);padding:1rem 0;font-size:.9rem}.empty-hint{color:var(--muted);text-align:center;padding:1.5rem 0;font-size:.875rem}.home-page{max-width:780px;padding:2rem 1.75rem}.home-welcome{margin-bottom:1.75rem}.home-greeting{color:var(--navy);letter-spacing:-.03em;font-size:1.6rem;font-weight:800;line-height:1.15}.home-sub{color:var(--muted);margin-top:.3rem;font-size:.9rem}.home-banner{cursor:pointer;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;align-items:center;gap:.75rem;margin-bottom:1.75rem;padding:.75rem 1rem;font-size:.875rem;transition:background .15s;display:flex}.home-banner:hover{background:#dbeafe}.home-banner strong{font-weight:700}.home-banner-arrow{white-space:nowrap;margin-left:auto;font-size:.8rem;font-weight:700}.home-cards{flex-direction:column;gap:1rem;display:flex}.home-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:1.25rem;width:100%;padding:1.25rem 1.4rem;font-family:inherit;transition:box-shadow .15s,transform .1s,border-color .15s;display:flex}.home-card:hover{border-color:var(--card-color,var(--blue));transform:translateY(-1px);box-shadow:0 6px 20px #00000017}.home-card-icon{background:var(--card-bg,#eff6ff);width:52px;height:52px;color:var(--card-color,var(--blue));border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.home-card-body{flex:1;min-width:0}.home-card-title{color:var(--text);margin-bottom:.2rem;font-size:1rem;font-weight:700}.home-card-desc{color:var(--muted);font-size:.85rem;line-height:1.5}.home-card-arrow{color:var(--border);flex-shrink:0}.subject-browser{padding-bottom:2rem}.subject-year-header{flex-wrap:wrap;align-items:center;gap:1rem;padding:1.25rem 1.5rem .75rem;display:flex}.subject-year-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:600}.subject-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:1rem;padding:.5rem 1.5rem 1.5rem;display:grid}.subject-card{aspect-ratio:1;background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.25rem .75rem 1rem;font-family:inherit;transition:box-shadow .15s,transform .12s,border-color .15s;display:flex}.subject-card:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:0 8px 24px #0000001f}.subject-card-icon{background:var(--bg);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:flex;position:relative;overflow:hidden}.subject-card-icon img{object-fit:contain;width:100%;height:100%;display:block}.subject-card-initial{color:var(--navy);opacity:.22;justify-content:center;align-items:center;width:100%;height:100%;font-size:2rem;font-weight:800;line-height:1;display:flex}.subject-card-name{color:var(--text);text-align:center;font-size:.875rem;font-weight:700;line-height:1.3}.subject-files{padding:1.25rem 1.5rem}.subject-files-header{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.subject-files-title{color:var(--navy);font-size:1.15rem;font-weight:800}.sf-categories{flex-direction:column;gap:1.5rem;display:flex}.sf-category-header{cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;width:100%;padding:.45rem .25rem;font-family:inherit;transition:background .12s;display:flex}.sf-category-header:hover{background:#0000000a}.sf-category-name{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);text-align:left;flex:1;font-size:.68rem;font-weight:700}.sf-category-count{color:var(--muted);background:var(--border);border-radius:99px;flex-shrink:0;padding:.1rem .45rem;font-size:.65rem}.sf-file-list{flex-direction:column;padding:.25rem 0 .5rem;display:flex}.sf-row-arrow{color:var(--border);flex-shrink:0;margin-left:auto;transform:rotate(180deg)}.imp-overlay{z-index:500;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.imp-modal{background:var(--surface);border-radius:16px;flex-direction:column;width:100%;max-width:680px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0003}.imp-modal-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.imp-modal-head h3{color:var(--text);font-size:1.05rem;font-weight:700}.imp-drop-zone{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:3rem 2rem;display:flex}.imp-drop-zone p{color:var(--text);margin:.25rem 0 0;font-size:.95rem;font-weight:600}.imp-drop-zone small{max-width:380px;font-size:.8rem;line-height:1.5}.imp-formats{text-align:left;flex-direction:column;gap:.4rem;width:100%;max-width:340px;font-size:.82rem;display:flex}.imp-format-row{gap:.75rem;display:flex}.imp-format-row strong{min-width:60px;color:var(--navy)}.imp-toolbar{border-bottom:1px solid var(--border);color:var(--muted);flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.5rem;font-size:.85rem;display:flex}.imp-list{flex:1;padding:.5rem 1rem;overflow-y:auto}.imp-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.imp-item{border:1px solid var(--border);border-radius:8px;margin-bottom:.5rem;overflow:hidden}.imp-item-head{cursor:pointer;background:var(--bg);align-items:center;gap:.6rem;padding:.6rem .75rem;transition:background .12s;display:flex}.imp-item-head:hover{background:#e8edf4}.imp-num{color:var(--muted);min-width:2rem;font-size:.72rem;font-weight:700}.imp-preview{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.82rem;overflow:hidden}.imp-correct-badge{color:#166534;background:#dcfce7;border-radius:99px;flex-shrink:0;padding:.15rem .4rem;font-size:.7rem;font-weight:700}.imp-item-detail{background:var(--surface);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.imp-opt-row{align-items:center;gap:.5rem;display:flex}.imp-opt-btn{border:2px solid var(--border);cursor:pointer;width:28px;height:28px;color:var(--muted);background:0 0;border-radius:50%;flex-shrink:0;font-size:.8rem;font-weight:700;transition:all .12s}.imp-opt-btn.active{color:#fff;background:#16a34a;border-color:#16a34a}.imp-card-item{border-bottom:1px solid var(--border);align-items:center;gap:.6rem;padding:.45rem .25rem;display:flex}.imp-card-item:last-child{border-bottom:none}.imp-card-sides{flex:1;gap:.5rem;display:flex}.imp-card-sides .adm-input{flex:1;font-size:.82rem}.adm-subject-icon{object-fit:contain;background:var(--bg);border-radius:6px;flex-shrink:0;width:28px;height:28px}.adm-subject-icon-placeholder{background:var(--bg);width:28px;height:28px;color:var(--muted);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.theme-toggle-btn{color:#ffffff8c;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1a;border-radius:8px;align-items:center;gap:.45rem;width:100%;margin-top:.6rem;padding:.4rem .75rem;font-family:inherit;font-size:.78rem;transition:background .15s,color .15s;display:flex}.theme-toggle-btn:hover{color:#ffffffe6;background:#ffffff24}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1117;--surface:#1c1f2e;--surface-alt:#191c2a;--hover-bg:#1f2235;--selected-bg:#1a2244;--border:#2d3148;--text:#e2e8f0;--muted:#8899b4;--blue:#3b82f6;--blue-dark:#2563eb}html.dark input:not([type=checkbox]):not([type=radio]),html.dark select,html.dark textarea{background:var(--surface);color:var(--text);border-color:var(--border);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html.dark .browser-item.selected{color:#93c5fd;border-left-color:#3b82f6}html.dark .browser-item.selected .adm-item-name{color:#93c5fd}html.dark .adm-icon-btn:hover{color:var(--text);background:#ffffff14}html.dark .sf-category-header:hover{background:#ffffff0f}html.dark .home-card:hover{border-color:var(--blue);box-shadow:0 6px 20px #00000080}html.dark .fc-deck-card:hover{box-shadow:0 4px 12px #0006}html.dark .paper-card:hover{box-shadow:0 2px 12px #0000004d}html.dark .year-tab:hover{color:#93c5fd;border-color:#3b82f6}html.dark .year-tab.active{color:#93c5fd;background:#1e3a5f;border-color:#3b82f6}html.dark .adm-input:focus,html.dark .adm-search:focus,html.dark .q-textarea:focus{border-color:var(--blue)}html.dark .auth-card input:focus,html.dark .auth-card select:focus,html.dark .deck-form input:focus,html.dark .card-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #3b82f633}html.dark .question-explanation{border-left-color:var(--blue)}html.dark .opt-correct{background:#16a34a2e}html.dark .opt-wrong{background:#dc26262e}html.dark .opt-selected{background:#2563eb2e;border-color:#3b82f6}html.dark .opt-selected .opt-letter{color:#93c5fd}html.dark .question-card.q-correct{border-color:#4ade80}html.dark .question-card.q-wrong{border-color:#f87171}html.dark .option:hover:not(:disabled){border-color:#3b82f6}html.dark .review-correct{border-left-color:#4ade80}html.dark .review-wrong{border-left-color:#f87171}html.dark .pp-paper-icon{background:#6366f126}html.dark .pp-subject-header{background:#ffffff0a}html.dark .mode-choice:hover,html.dark .mode-choice.selected{background:#3b82f614;border-color:#3b82f6}html.dark .mode-subject-badge{color:#a5b4fc;background:#6366f133}html.dark .session-footer{background:var(--surface);border-top-color:#ffffff14}html.dark .session-timer-fill{background:#3b82f6}html.dark .session-timer-fill.urgent{background:#f87171}html.dark .q-correct-badge,html.dark .imp-correct-badge{color:#4ade80;background:#16a34a33}html.dark .auth-error{color:#fca5a5;background:#dc262626;border-color:#dc26264d}html.dark .auth-success{color:#86efac;background:#16a34a26;border-color:#16a34a4d}html.dark .form-error{color:#fca5a5;background:#dc262626}html.dark .home-banner{color:#93c5fd;background:#3b82f61f;border-color:#3b82f64d}html.dark .home-banner:hover{background:#3b82f633}html.dark .fc-meta-pill.total{background:#ffffff14}html.dark .fc-meta-pill.due{color:#fbbf24;background:#92400e59}html.dark .fc-meta-pill.new{color:#93c5fd;background:#1d4ed840}html.dark .fc-result-row.again{background:#dc26262e}html.dark .fc-result-row.hard{background:#d977062e}html.dark .fc-result-row.good{background:#16a34a2e}html.dark .fc-result-row.easy{background:#2563eb2e}html.dark .imp-opt-btn.active{background:#4ade80;border-color:#4ade80}html.dark .adm-confirm span{color:#f87171}html.dark .topbar{background:var(--surface)}html.dark .auth-card{box-shadow:0 4px 24px #0006}html.dark .deck-form label,html.dark .card-form label{color:var(--text)}.landing-v2{width:calc(100% + 4rem);margin:-1.75rem -2rem 0;overflow-x:hidden}.lp-inner{max-width:1280px;margin:0 auto;padding:0 2.5rem}.lp-hero{background:#0d1829;justify-content:center;align-items:center;min-height:76vh;display:flex;position:relative;overflow:hidden}.lp-hero-bg{pointer-events:none;position:absolute;inset:0}.lp-hero-gradient{background:linear-gradient(135deg,#0a1120 0%,#162040 40%,#1a3360 70%,#0a1120 100%);position:absolute;inset:0}.lp-hero-illustration{object-fit:contain;object-position:right bottom;opacity:.22;filter:brightness(0)invert();width:52%;max-width:640px;height:100%;position:absolute;bottom:0;right:-2%}.lp-medical-decor{opacity:.045;width:100%;height:100%;position:absolute;inset:0}.lp-hero-content{z-index:1;text-align:center;max-width:720px;padding:5rem 2rem;animation:.85s cubic-bezier(.2,.8,.2,1) both lp-in;position:relative}@keyframes lp-in{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.lp-hero-badge{color:#fffc;letter-spacing:.06em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff2e;border-radius:99px;align-items:center;gap:.4rem;margin-bottom:1.6rem;padding:.35rem 1rem;font-size:.72rem;font-weight:700;display:inline-flex}.lp-hero-title{color:#fff;letter-spacing:-.05em;margin-bottom:.7rem;font-size:clamp(4.5rem,11vw,8rem);font-weight:900;line-height:1}.lp-hero-subtitle{color:#ffffff8c;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.9rem;font-size:clamp(.8rem,1.8vw,1rem);font-weight:600}.lp-hero-tagline{color:#ffffff73;max-width:480px;margin:0 auto 2.25rem;font-size:clamp(.88rem,1.7vw,1.05rem);line-height:1.65}.lp-hero-ctas{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.lp-cta-primary{color:#162040;cursor:pointer;background:#fff;border:none;border-radius:12px;align-items:center;gap:.5rem;padding:.9rem 1.9rem;font-family:inherit;font-size:.95rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 4px 20px #00000047}.lp-cta-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px #00000061}.lp-cta-secondary{color:#ffffffe0;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff17;border:1.5px solid #ffffff38;border-radius:12px;align-items:center;gap:.5rem;padding:.9rem 1.9rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:background .15s,transform .15s;display:inline-flex}.lp-cta-secondary:hover{background:#ffffff2b;transform:translateY(-2px)}.lp-stats{background:var(--surface)}.lp-stats-inner{flex-wrap:wrap;justify-content:space-around;align-items:center;gap:2rem;padding:3rem 2.5rem;display:flex}.lp-stat{text-align:center;flex:1;min-width:110px}.lp-stat-value{color:var(--navy);letter-spacing:-.04em;margin-bottom:.35rem;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:900;line-height:1}html.dark .lp-stat-value{color:#93c5fd}.lp-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700}.lp-wave{height:54px;line-height:0;display:block;overflow:hidden}.lp-wave svg{width:100%;height:100%;display:block}.lp-wave-down{background:var(--surface);color:var(--bg)}.lp-wave-up{background:var(--bg);color:var(--surface)}.lp-section{background:var(--surface);padding:4.5rem 0 5.5rem}.lp-section-alt{background:var(--bg)}.lp-section-header{text-align:center;max-width:620px;margin-bottom:3rem;margin-left:auto;margin-right:auto}.lp-section-label{text-transform:uppercase;letter-spacing:.14em;color:var(--blue);margin-bottom:.55rem;font-size:.7rem;font-weight:700}.lp-section-title{color:var(--navy);letter-spacing:-.03em;margin-bottom:.7rem;font-size:clamp(1.5rem,3.5vw,2.2rem);font-weight:800;line-height:1.2}html.dark .lp-section-title{color:var(--text)}.lp-section-sub{color:var(--muted);font-size:.88rem;line-height:1.7}.lp-features-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.25rem;display:grid}.lp-feature-card{background:var(--surface);border:1.5px solid var(--border);cursor:pointer;text-align:left;border-radius:20px;flex-direction:column;align-items:flex-start;gap:.65rem;padding:2rem 1.75rem 1.6rem;font-family:inherit;transition:box-shadow .22s,transform .22s,border-color .22s;display:flex;box-shadow:0 2px 12px #0000000d}.lp-feature-card:hover{transform:translateY(-5px);box-shadow:0 18px 44px #0000001c}.lp-feature-card.card-blue:hover{border-color:#93c5fd}.lp-feature-card.card-red:hover{border-color:#fca5a5}.lp-feature-card.card-green:hover{border-color:#86efac}.lp-feature-card.card-purple:hover{border-color:#c4b5fd}.lp-feature-icon{border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:58px;height:58px;margin-bottom:.4rem;transition:transform .22s;display:flex}.lp-feature-card:hover .lp-feature-icon{transform:scale(1.1)}.lp-feature-card.card-blue .lp-feature-icon{color:#2563eb;background:#eff6ff}.lp-feature-card.card-red .lp-feature-icon{color:#dc2626;background:#fef2f2}.lp-feature-card.card-green .lp-feature-icon{color:#16a34a;background:#f0fdf4}.lp-feature-card.card-purple .lp-feature-icon{color:#7c3aed;background:#f5f3ff}html.dark .lp-feature-card.card-blue .lp-feature-icon{color:#93c5fd;background:#3b82f626}html.dark .lp-feature-card.card-red .lp-feature-icon{color:#f87171;background:#dc262626}html.dark .lp-feature-card.card-green .lp-feature-icon{color:#4ade80;background:#16a34a26}html.dark .lp-feature-card.card-purple .lp-feature-icon{color:#a78bfa;background:#7c3aed26}.lp-feature-label{color:var(--text);font-size:1.05rem;font-weight:800;line-height:1.2}.lp-feature-desc{color:var(--muted);flex:1;font-size:.81rem;line-height:1.65}.lp-feature-arrow{color:var(--border);align-items:center;margin-top:.25rem;transition:color .18s,transform .18s;display:flex}.lp-feature-card:hover .lp-feature-arrow{color:var(--blue);transform:translate(4px)}.lp-preview-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.25rem;display:grid}.lp-preview-card{background:var(--surface);border:1.5px solid var(--border);cursor:pointer;text-align:left;border-radius:16px;flex-direction:column;gap:1rem;padding:1.5rem 1.5rem 1.75rem;font-family:inherit;transition:box-shadow .22s,transform .22s,border-color .22s;display:flex}.lp-preview-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px #0000001a}.lp-preview-card.card-blue:hover{border-color:#93c5fd}.lp-preview-card.card-red:hover{border-color:#fca5a5}.lp-preview-card.card-green:hover{border-color:#86efac}.lp-preview-card.card-amber:hover{border-color:#fcd34d}.lp-preview-icon-wrap{display:flex}.lp-preview-icon{border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.card-blue .lp-preview-icon{color:#2563eb;background:#eff6ff}.card-red .lp-preview-icon{color:#dc2626;background:#fef2f2}.card-green .lp-preview-icon{color:#16a34a;background:#f0fdf4}.card-amber .lp-preview-icon{color:#d97706;background:#fffbeb}html.dark .card-blue .lp-preview-icon{color:#93c5fd;background:#3b82f626}html.dark .card-red .lp-preview-icon{color:#f87171;background:#dc262626}html.dark .card-green .lp-preview-icon{color:#4ade80;background:#16a34a26}html.dark .card-amber .lp-preview-icon{color:#fbbf24;background:#d9770626}.lp-preview-subtitle{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.25rem;font-size:.68rem;font-weight:700}.lp-preview-title{color:var(--text);margin-bottom:.35rem;font-size:1rem;font-weight:800}.lp-preview-desc{color:var(--muted);font-size:.8rem;line-height:1.65}.lp-dept-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:.875rem;display:grid}.lp-dept-card{background:var(--surface);border:1.5px solid var(--border);cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;gap:.6rem;padding:1.25rem 1rem;font-family:inherit;transition:box-shadow .18s,transform .18s,border-color .18s;display:flex}.lp-dept-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.lp-dept-initial{letter-spacing:.01em;border-radius:12px;justify-content:center;align-items:center;width:46px;height:46px;font-size:.85rem;font-weight:800;display:flex}.lp-dept-name{color:var(--text);text-align:center;font-size:.76rem;font-weight:600;line-height:1.35}.lp-why-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.5rem;display:grid}.lp-why-card{background:var(--surface);border:1.5px solid var(--border);border-radius:20px;flex-direction:column;gap:.85rem;padding:2rem 1.75rem;display:flex}.lp-why-icon{border-radius:14px;justify-content:center;align-items:center;width:54px;height:54px;display:flex}.lp-why-card.card-blue .lp-why-icon{color:#2563eb;background:#eff6ff}.lp-why-card.card-green .lp-why-icon{color:#16a34a;background:#f0fdf4}.lp-why-card.card-purple .lp-why-icon{color:#7c3aed;background:#f5f3ff}html.dark .lp-why-card.card-blue .lp-why-icon{color:#93c5fd;background:#3b82f626}html.dark .lp-why-card.card-green .lp-why-icon{color:#4ade80;background:#16a34a26}html.dark .lp-why-card.card-purple .lp-why-icon{color:#a78bfa;background:#7c3aed26}.lp-why-title{color:var(--text);font-size:1.08rem;font-weight:800}.lp-why-desc{color:var(--muted);font-size:.84rem;line-height:1.7}.lp-footer{color:#ffffff59;text-align:center;letter-spacing:.02em;background:#080f1e;padding:2rem;font-size:.76rem}@media (width<=1024px){.lp-features-grid,.lp-preview-grid,.lp-why-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.lp-hero{min-height:65vh}.lp-hero-content{padding:3.5rem 1.5rem}.lp-hero-illustration{opacity:.18;width:75%}.lp-stats-inner{gap:1.5rem;padding:2.25rem 1.5rem}.lp-section{padding:3.25rem 0 4rem}.lp-inner{padding:0 1.25rem}.lp-section-title{font-size:1.5rem}.lp-features-grid,.lp-preview-grid{grid-template-columns:1fr}.lp-dept-grid{grid-template-columns:repeat(3,1fr)}.lp-why-grid{grid-template-columns:1fr}}@media (width<=640px){.landing-v2{width:calc(100% + 2rem);margin:-1rem -1rem 0}}@media (width<=480px){.lp-hero{min-height:55vh}.lp-hero-title{font-size:clamp(3.2rem,16vw,4.5rem)}.lp-hero-ctas{flex-direction:column;align-items:center}.lp-cta-primary,.lp-cta-secondary{justify-content:center;width:100%;max-width:280px}.lp-dept-grid{grid-template-columns:repeat(2,1fr)}.lp-stat-value{font-size:2rem}}.about-page{max-width:680px;margin:0 auto;padding:2rem 1.5rem}.about-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:2.5rem 2rem;box-shadow:0 2px 16px #0000000f}.about-logo{justify-content:center;margin-bottom:1.5rem;display:flex}.about-logo-img{object-fit:contain;border:1.5px solid var(--border);border-radius:18px;width:80px;height:80px}.about-title{color:var(--navy);text-align:center;margin-bottom:1.25rem;font-size:1.5rem;font-weight:800}.about-body{color:var(--text);font-size:.925rem;line-height:1.75}.about-body p{margin-bottom:.75rem}.about-body p:last-child{margin-bottom:0}.about-empty{color:var(--muted);text-align:center;padding:1rem 0;font-size:.9rem}.about-loading{text-align:center;color:var(--muted);padding:3rem}html.dark .about-title{color:#93c5fd}.about-manager{max-width:760px}.about-form{flex-direction:column;display:flex}.about-form-body{flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.about-form-label{color:var(--text);flex-direction:column;gap:.4rem;font-size:.875rem;font-weight:600;display:flex}.about-textarea{resize:vertical;min-height:200px;font-family:inherit;line-height:1.6}.about-form-footer{border-top:1px solid var(--border);justify-content:flex-end;padding:.75rem 1.25rem;display:flex}html.dark .uw-content{background:#0f1117}html.dark .uw-question-stem{color:#e2e8f0}html.dark .uw-item-label{color:#64748b}html.dark .uw-choice{border-bottom-color:#ffffff0f}html.dark .uw-choice:first-child{border-top-color:#ffffff0f}html.dark .uw-choice:hover:not(:disabled){background:#ffffff0a}html.dark .uw-choice-text{color:#e2e8f0}html.dark .uw-choice-letter{color:#64748b}html.dark .uw-choice.choice-selected{background:#16204080;border-left-color:#93c5fd}html.dark .uw-choice.choice-selected .uw-choice-letter{color:#93c5fd}html.dark .uw-choice.choice-correct{background:#15803d26}html.dark .uw-choice.choice-correct .uw-choice-letter{color:#4ade80}html.dark .uw-choice.choice-wrong{background:#b91c1c26}html.dark .uw-choice.choice-wrong .uw-choice-letter{color:#f87171}html.dark .uw-status-bar.correct{color:#4ade80;background:#15803d26;border-color:#4ade80}html.dark .uw-status-bar.wrong{color:#f87171;background:#b91c1c26;border-color:#f87171}html.dark .uw-explanation{background:#1c1f2e;border-color:#ffffff14}html.dark .uw-explanation-title{color:#94a3b8;background:#ffffff0a;border-color:#ffffff14}html.dark .uw-explanation-text{color:#e2e8f0}html.dark .uw-submit-q-btn{background:#1e2d56}html.dark .uw-submit-q-btn:hover:not(:disabled){background:#243568}@media (width<=768px){.uw-nav-panel{display:none}.uw-content{padding:1.25rem 1rem 80px}.uw-paper-name{max-width:130px;font-size:.78rem}.uw-mark-label{display:none}.uw-item-label{font-size:.7rem}.uw-question-stem{font-size:.9rem}.uw-choice{padding:.7rem .75rem}.uw-choice-text{font-size:.875rem}.uw-results-banner{gap:1.25rem;padding:1rem 1.25rem}.uw-results-pct{font-size:1.75rem}.mode-choice-row{grid-template-columns:1fr}.mode-time-note{display:none}}@media (width<=480px){.uw-topbar{gap:.5rem;padding:0 .625rem}.uw-topbar-left,.uw-topbar-right{gap:.4rem}.uw-timer{font-size:.75rem}.uw-end-btn{padding:.25rem .6rem;font-size:.75rem}.uw-nav-btn{padding:.35rem .65rem;font-size:.78rem}.uw-content{padding:1rem .75rem 80px}.landing-icon{width:min(380px,90vw)}}@media (width<=640px){.fc-session{gap:1rem;padding:1rem}.fc-card-wrap{height:220px}.fc-card-text{font-size:1rem}.fc-rate-btn{min-width:70px;padding:.6rem .35rem}.fc-rating-row{gap:.5rem}}@media (width<=480px){.mode-select{padding:.75rem 0 2rem}.mode-select-card{border-radius:12px;gap:1.25rem;padding:1.25rem}}@media (width<=640px){.page-content{padding:1rem}.topbar{padding:0 1rem}.stats-row{grid-template-columns:1fr 1fr}}.uw-nav-count{color:#fff9;font-variant-numeric:tabular-nums;font-size:.78rem}.progress-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;margin-top:1.25rem;display:grid}.prog-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:.9rem;padding:1.25rem;display:flex}.prog-card-header{flex-direction:column;gap:.4rem;display:flex}.prog-card-title{color:var(--text);font-size:.95rem;font-weight:700}.prog-card-meta{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.prog-card-bar{background:var(--border);border-radius:99px;height:6px;overflow:hidden}.prog-card-bar-fill{border-radius:99px;height:100%;transition:width .3s}.prog-card-stats{gap:1rem;display:flex}.prog-stat{color:var(--muted);align-items:center;gap:.3rem;font-size:.82rem;font-weight:600;display:flex}.prog-stat.correct{color:#16a34a}.prog-stat.wrong{color:#dc2626}.prog-stat.marked{color:#d97706}.prog-card-actions{flex-wrap:wrap;gap:.45rem;display:flex}.prog-action-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.3rem;padding:.32rem .75rem;font-family:inherit;font-size:.76rem;font-weight:600;transition:opacity .12s;display:flex}.prog-action-btn:hover{opacity:.82}.prog-action-review{background:var(--navy);color:#fff}.prog-action-retake{background:var(--surface-alt,#f1f5f9);color:var(--text);border:1px solid var(--border)}.prog-action-incorrect{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.prog-action-marked{color:#d97706;background:#fffbeb;border:1px solid #fde68a}html.dark .prog-action-retake{background:#1e293b;border-color:#ffffff1f}html.dark .prog-action-incorrect{background:#b91c1c26;border-color:#ef44444d}html.dark .prog-action-marked{background:#b4530926;border-color:#f59e0b4d}.prog-file-group{padding:.25rem 0}.prog-file-group-title{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:.5rem 1.25rem .3rem;font-size:.72rem;font-weight:700}.prog-file-row{align-items:center;gap:.75rem;padding:.5rem 1.25rem;transition:background .12s;display:flex}.prog-file-row:hover{background:var(--bg)}.prog-file-check{color:#fff;background:#16a34a;border-radius:99px;justify-content:center;align-items:center;width:18px;min-width:18px;height:18px;display:flex}.prog-file-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.prog-file-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.prog-file-topic{color:var(--muted);font-size:.72rem}.prog-file-date{color:var(--muted);white-space:nowrap;font-size:.72rem}.sf-file-row{align-items:center;gap:.5rem;padding:.25rem .5rem;display:flex}.sf-check-btn{border:2px solid var(--border);cursor:pointer;color:#fff;background:0 0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;transition:all .15s;display:flex}.sf-check-btn.done{background:#16a34a;border-color:#16a34a}.sf-check-btn:hover:not(.done){border-color:var(--navy)}.sf-file-btn{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;flex:1;align-items:center;gap:.75rem;min-width:0;padding:.45rem .5rem;font-family:inherit;transition:background .12s;display:flex}.sf-file-btn:hover{background:var(--bg)}@media (width<=640px){.progress-grid{grid-template-columns:1fr}.prog-card-actions{gap:.35rem}.prog-action-btn{padding:.28rem .6rem;font-size:.72rem}}.view-toggle{gap:.2rem;margin-left:auto;display:flex}.view-toggle-btn{border:1px solid var(--border);background:var(--surface);width:30px;height:30px;color:var(--muted);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;transition:all .13s;display:flex}.view-toggle-btn.active{background:var(--navy);color:#fff;border-color:var(--navy)}.view-toggle-btn:hover:not(.active){background:var(--bg);color:var(--text)}html.dark .view-toggle-btn{background:#1e293b}html.dark .view-toggle-btn.active{background:var(--navy)}.subject-list{flex-direction:column;gap:.45rem;padding:.5rem 1.5rem 1.5rem;display:flex}.subject-list-row{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:12px;align-items:center;gap:.875rem;width:100%;padding:.7rem 1rem;font-family:inherit;transition:box-shadow .13s,border-color .13s;display:flex}.subject-list-row:hover{border-color:var(--blue);box-shadow:0 2px 10px #00000014}.subject-list-icon{background:var(--navy);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.subject-list-icon img{object-fit:cover;width:100%;height:100%}.subject-list-icon .subject-card-initial{color:#fff;opacity:1;font-size:1.3rem}.subject-list-name{color:var(--text);text-align:left;flex:1;font-size:.9rem;font-weight:600}.sf-file-grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:.75rem;padding:.6rem .75rem 1rem;display:grid}.sf-file-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;transition:box-shadow .13s,border-color .13s;position:relative;overflow:hidden}.sf-file-card:hover{border-color:var(--blue);box-shadow:0 4px 14px #0000001a}.sf-file-card-body{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:.5rem;width:100%;padding:1.1rem .75rem .85rem;font-family:inherit;display:flex}.file-icon-lg{border-radius:10px;width:48px;height:48px}.sf-file-card-name{color:var(--text);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%;font-size:.76rem;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.sf-file-card-size{color:var(--muted);text-align:center;font-size:.68rem}.sf-check-abs{z-index:2;position:absolute;top:.45rem;right:.45rem;width:20px!important;min-width:20px!important;height:20px!important}@media (width<=480px){.sf-file-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.5rem}.subject-list{padding:.5rem 1rem 1.25rem}}
