:root{--navy:#002147;--navy2:#003166;--accent:#0057d9;--accent-light:#e6effe;--topbar:#002147;--red:#c0392b;--red-light:#fdecea;--green:#1a7a44;--green-light:#e6f4ec;--yellow:#b8860b;--yellow-light:#fef9e7;--purple:#7c3aed;--purple-light:#f5f3ff;--border:#d0d7e3;--bg:#f4f6fa;--surface:#fff;--text:#1a2340;--muted:#5a6580;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:"IBM Plex Sans",Inter,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}input,textarea{border:1.5px solid var(--border);border-radius:8px;padding:11px 13px;background:var(--surface);color:var(--text)}textarea{width:100%;resize:vertical}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:54px;flex:0 0 auto;justify-content:space-between;gap:12px;padding:0 20px;background:var(--topbar);color:#fff}.top-left,.topbar,.user-box{display:flex;align-items:center}.top-left,.user-box{gap:10px}.logo{font-family:var(--mono);font-size:13px;letter-spacing:1.5px}.tab,.user-box button{border:1px solid transparent;background:transparent;color:rgba(255,255,255,.62);border-radius:4px;padding:7px 13px;font-family:var(--mono);font-size:11px;letter-spacing:.5px;display:inline-flex;align-items:center;gap:6px}.tab.active,.tab:hover,.user-box button:hover{color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.2)}.user-box span{font-size:12px;color:rgba(255,255,255,.78)}.screen{flex:1 1}.btn-outline,.btn-solid{border-radius:7px;padding:10px 14px;font-family:var(--mono);font-size:12px;border:1.5px solid var(--navy2);display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn-solid{background:var(--navy2);color:#fff}.btn-solid:hover{background:var(--accent);border-color:var(--accent)}.btn-outline{background:var(--surface);color:var(--accent);border-color:var(--accent)}.notice{margin:14px auto 0;max-width:1020px;width:calc(100% - 40px);padding:11px 14px;background:var(--yellow-light);border:1px solid #f9d77e;border-radius:8px;color:var(--yellow)}.login-screen{flex:1 1;display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden;background:radial-gradient(1000px 520px at 18% -5%,color-mix(in srgb,var(--accent) 24%,var(--bg)),transparent 60%),radial-gradient(900px 520px at 105% 105%,color-mix(in srgb,var(--navy2) 22%,var(--bg)),transparent 58%),var(--bg)}.login-card{position:relative;z-index:1;width:100%;max-width:400px;background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1.5px solid var(--border);border-radius:18px;padding:34px 30px;display:grid;grid-gap:13px;gap:13px;box-shadow:0 24px 60px rgba(0,0,0,.22)}.login-badge{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-size:28px;background:linear-gradient(135deg,var(--accent),var(--navy2));box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 40%,transparent);margin-bottom:4px}.login-card h1{margin:0;color:var(--navy);font-size:26px;letter-spacing:.5px}.login-sub{margin:-6px 0 8px;color:var(--muted);font-size:13px}.login-card input{background:var(--bg);border:1.5px solid var(--border);color:var(--text);border-radius:10px;padding:13px 14px}.login-card input::placeholder{color:var(--muted)}.login-card input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.login-btn{background:linear-gradient(135deg,var(--accent),var(--navy2));border:none;color:#fff;border-radius:10px;padding:13px;font-size:13px;margin-top:4px}.login-btn:hover{filter:brightness(1.08)}.login-card .error{color:var(--red)}.login-theme-row{display:flex;align-items:center;gap:10px;margin-top:8px;padding-top:14px;border-top:1px solid var(--border)}.login-theme-label{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.5px}.login-theme-picker{position:relative}.login-theme-btn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:7px 11px;cursor:pointer}.login-theme-btn:hover{border-color:var(--accent);color:var(--accent)}.login-theme-dot{width:14px;height:14px;border-radius:50%;border:1px solid var(--border);flex:0 0 auto}.theme-menu.login-theme-menu{left:0;right:auto;background:var(--surface);border-color:var(--border);box-shadow:0 10px 28px rgba(0,0,0,.18)}.login-theme-menu .theme-dot{border-color:var(--border)}.login-theme-menu .theme-dot.active{border-color:var(--text);box-shadow:0 0 0 2px var(--accent)}.error{color:var(--red);margin:0}.dashboard-screen,.manage-screen{overflow-y:auto;padding:32px 24px 48px}.db-wrap{max-width:1060px;margin:0 auto;display:flex;flex-direction:column;gap:28px}.manage-header,.panel-head,.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.section-head{background:linear-gradient(180deg,rgba(0,87,217,.04),transparent);border-bottom:1.5px solid var(--border);padding-bottom:16px}.section-title{font-family:var(--mono);font-size:16px;letter-spacing:1px;color:var(--navy);font-weight:600}.bank-card p,.manage-meta,.save-bar span,.section-sub{color:var(--muted);font-size:13px}.banks-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:16px;gap:16px}.bank-card{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:12px;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;box-shadow:0 1px 3px rgba(20,35,64,.04);min-width:0;overflow:hidden}.bank-card:hover{border-color:var(--accent);box-shadow:0 8px 24px rgba(0,87,217,.12);transform:translateY(-3px)}.mixed-card{border-color:#c4b5fd;background:linear-gradient(180deg,#faf8ff,var(--surface))}.mixed-card:hover{border-color:var(--purple);box-shadow:0 8px 24px rgba(124,58,237,.14)}.bca-ai{background:var(--purple-light);color:var(--purple);border-color:#c4b5fd;flex:1 1}.bca-cancel{background:var(--surface);color:var(--muted);border-color:var(--border)}.ai-mixed-panel{display:grid;grid-gap:10px;gap:10px}.ai-mixed-input{font-size:13px;font-family:var(--sans);border:1.5px solid #c4b5fd;border-radius:8px;padding:10px 12px;background:var(--surface);line-height:1.55;resize:vertical}.ai-mixed-actions,.mixed-count-row{display:flex;gap:8px}.mixed-count-row{align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);font-family:var(--mono)}.mixed-count-row select{height:34px;border:1.5px solid var(--border);border-radius:7px;background:var(--surface);color:var(--navy);font-family:var(--mono);font-size:13px;font-weight:600;padding:0 8px;cursor:pointer}.mix-set-picker{display:grid;grid-gap:6px;gap:6px}.mix-set-toggle{text-align:left;background:transparent;border:none;color:var(--purple);font-family:var(--mono);font-size:12px;font-weight:600;cursor:pointer;padding:2px 0}.mix-set-list{max-height:220px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;padding:8px;display:grid;grid-gap:8px;gap:8px;background:var(--surface)}.mix-set-cat-name{font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);font-family:var(--mono);margin-bottom:3px}.mix-set-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--navy);padding:3px 2px}.mix-set-row,.mix-set-row input{cursor:pointer}.mix-set-row span:first-of-type{flex:1 1;overflow-wrap:anywhere}.mix-set-count{font-family:var(--mono);flex:0 0 auto}.mix-set-clear,.mix-set-count{font-size:11px;color:var(--muted)}.mix-set-clear{justify-self:start;background:transparent;border:1px solid var(--border);border-radius:6px;padding:4px 10px;cursor:pointer}.mix-set-clear:hover{border-color:var(--red);color:var(--red)}.mix-set-note{font-size:11px;color:var(--muted);font-family:var(--mono)}.dashboard-screen .mix-set-list{background:var(--db-chip);border-color:var(--db-border)}.dashboard-screen .mix-set-row{color:var(--db-text)}.dashboard-screen .mix-set-toggle{color:var(--db-acc1)}.dashboard-screen .mix-set-cat-name,.dashboard-screen .mix-set-count,.dashboard-screen .mix-set-note{color:var(--db-muted)}.ai-mixed-msg{font-size:12px;font-family:var(--mono);color:var(--purple);overflow-wrap:anywhere;word-break:break-word;max-width:100%}.ai-mixed-msg.error{color:var(--red)}.bank-name-row{display:flex;align-items:center;gap:6px}.bank-name{font-size:16px;font-weight:700;flex:1 1}.bank-rename-btn{background:none;border:none;color:var(--muted);padding:3px;opacity:0;transition:opacity .15s}.bank-card:hover .bank-rename-btn{opacity:1}.bank-rename-row{display:flex;align-items:center;gap:6px}.bank-rename-input{flex:1 1;font-size:15px;font-weight:700;padding:6px 8px;border-radius:6px;border:1.5px solid var(--accent)}.bca-assign{background:var(--surface);color:var(--muted);border-color:var(--border);padding:11px 10px!important}.bca-assign.active{background:var(--accent-light);color:var(--accent);border-color:var(--accent)}.bank-assign-panel{background:var(--bg);border:1.5px solid var(--border);border-radius:8px;padding:12px 14px;display:grid;grid-gap:8px;gap:8px}.bank-assign-title{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.5px}.bank-assign-empty{font-size:12px;color:var(--muted)}.bank-meta{display:flex;gap:6px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;color:var(--muted)}.bank-meta span{background:var(--bg);border:1px solid var(--border);border-radius:20px;padding:3px 10px}.sec-chip{font-weight:600}.sec-chip.sec-1{background:#e6efff!important;color:#2563eb!important;border-color:#b9d2ff!important}.sec-chip.sec-2{background:#e6f7ee!important;color:#16a34a!important;border-color:#b3e6c9!important}.sec-chip.sec-3{background:#fff4e0!important;color:#d97706!important;border-color:#fcd9a0!important}.sec-chip.sec-4{background:#f3e8ff!important;color:#9333ea!important;border-color:#ddc2f7!important}.dashboard-screen{--db-bg1:#1b2748;--db-bg2:#0c1120;--db-card1:#1a2440;--db-card2:#141c33;--db-panel:#141c33;--db-chip:#0f1730;--db-border:#2c3a60;--db-text:#ffffff;--db-muted:#9fb0d4;--db-chiptext:#aebbdd;--db-acc1:#4d8bff;--db-acc2:#6f6cff;--db-hover:#5b8bff;--db-mix1:#2a1f4d;--db-mix2:#1a1330;--db-mixborder:#6d4ed6;background:radial-gradient(1200px 600px at 50% -10%,var(--db-bg1),var(--db-bg2) 60%);color:var(--db-text)}.dashboard-screen[data-theme=purple]{--db-bg1:#2a1840;--db-bg2:#120a22;--db-card1:#2a1c47;--db-card2:#1d1235;--db-panel:#1d1235;--db-chip:#160d29;--db-border:#46306e;--db-muted:#c0a8e8;--db-chiptext:#d3c2f0;--db-acc1:#a855f7;--db-acc2:#6d4ed6;--db-hover:#c084fc;--db-mix1:#3a1f57;--db-mix2:#211038;--db-mixborder:#a855f7}.dashboard-screen[data-theme=emerald]{--db-bg1:#0c3a2e;--db-bg2:#06140f;--db-card1:#103b30;--db-card2:#0b261f;--db-panel:#0b261f;--db-chip:#07170f;--db-border:#1d5a48;--db-muted:#9fdcc4;--db-chiptext:#bdebd8;--db-acc1:#10b981;--db-acc2:#059669;--db-hover:#34d399;--db-mix1:#134e3a;--db-mix2:#0a2a20;--db-mixborder:#10b981}.dashboard-screen[data-theme=sunset]{--db-bg1:#3d1f12;--db-bg2:#1a0d08;--db-card1:#3a2417;--db-card2:#271710;--db-panel:#271710;--db-chip:#1a0f09;--db-border:#6b3d24;--db-muted:#f0bd9c;--db-chiptext:#f5cbac;--db-acc1:#f97316;--db-acc2:#ea580c;--db-hover:#fb923c;--db-mix1:#4d2a14;--db-mix2:#2a160c;--db-mixborder:#f97316}.dashboard-screen[data-theme=light]{--db-bg1:#eef2fb;--db-bg2:#f4f6fa;--db-card1:#ffffff;--db-card2:#ffffff;--db-panel:#ffffff;--db-chip:#f4f6fa;--db-border:#d0d7e3;--db-text:#1a2340;--db-muted:#5a6580;--db-chiptext:#5a6580;--db-acc1:#0057d9;--db-acc2:#003166;--db-hover:#0057d9;--db-mix1:#faf8ff;--db-mix2:#ffffff;--db-mixborder:#c4b5fd}.dashboard-screen .section-head{background:linear-gradient(180deg,rgba(125,150,255,.1),transparent);border-bottom-color:var(--db-border)}.dashboard-screen .section-title{color:var(--db-text)}.dashboard-screen .section-sub{color:var(--db-muted)}.dashboard-screen .bank-card{background:linear-gradient(160deg,var(--db-card1),var(--db-card2));border-color:var(--db-border);box-shadow:0 6px 20px rgba(0,0,0,.22)}.dashboard-screen .bank-card:hover{border-color:var(--db-hover);box-shadow:0 12px 30px rgba(0,0,0,.28)}.dashboard-screen .bank-name{color:var(--db-text)}.dashboard-screen .bank-card p,.dashboard-screen .bank-meta{color:var(--db-muted)}.dashboard-screen .bank-meta span{background:var(--db-chip);border-color:var(--db-border);color:var(--db-chiptext)}.dashboard-screen .bank-actions{border-top-color:var(--db-border)}.dashboard-screen .bca-start{background:linear-gradient(135deg,var(--db-acc1),var(--db-acc2));border-color:transparent;color:#fff}.dashboard-screen .bca-start:hover:not(:disabled){filter:brightness(1.08)}.dashboard-screen .bca-manage{background:color-mix(in srgb,var(--db-acc1) 18%,transparent);color:var(--db-acc1)}.dashboard-screen .bca-assign,.dashboard-screen .bca-cat,.dashboard-screen .bca-copy{background:var(--db-chip);color:var(--db-muted);border-color:var(--db-border)}.dashboard-screen .bca-cat-select{background:var(--db-chip);color:var(--db-chiptext);border-color:var(--db-border)}.dashboard-screen .bca-delete{background:rgba(192,57,43,.16);color:#ff8f86;border-color:rgba(192,57,43,.4)}.dashboard-screen[data-theme=frost] .bca-delete,.dashboard-screen[data-theme=light] .bca-delete,.dashboard-screen[data-theme=sage] .bca-delete,.dashboard-screen[data-theme=sand] .bca-delete{background:#fff1f1;color:var(--red);border-color:#fca5a5}.dashboard-screen .mixed-card{background:linear-gradient(160deg,var(--db-mix1),var(--db-mix2));border-color:var(--db-mixborder)}.dashboard-screen .mixed-card:hover{border-color:var(--db-mixborder);box-shadow:0 12px 30px rgba(0,0,0,.3)}.dashboard-screen .cat-heading{background:color-mix(in srgb,var(--db-acc1) 16%,transparent);border-color:var(--db-border);color:var(--db-chiptext)}.dashboard-screen .student-panel{background:var(--db-panel);border-color:var(--db-border)}.dashboard-screen .student-panel-title{color:var(--db-text)}.dashboard-screen .bank-assign-title,.dashboard-screen .student-panel-hint{color:var(--db-muted)}.dashboard-screen .assign-panel,.dashboard-screen .bank-assign-panel,.dashboard-screen .student-row{background:var(--db-chip);border-color:var(--db-border)}.dashboard-screen .assign-row,.dashboard-screen .assign-title,.dashboard-screen .student-email,.dashboard-screen .student-list-title{color:var(--db-text)}.dashboard-screen .assign-count,.dashboard-screen .assign-hint,.dashboard-screen .bank-assign-empty,.dashboard-screen .student-banks-count{color:var(--db-muted)}.dashboard-screen .btn-assign{background:color-mix(in srgb,var(--db-acc1) 18%,transparent);color:var(--db-acc1);border-color:var(--db-border)}.dashboard-screen .btn-assign.active{background:var(--db-acc1);color:#fff}.dashboard-screen .mixed-count-row{color:var(--db-muted)}.dashboard-screen .mixed-count-row select,.dashboard-screen input,.dashboard-screen textarea{background:var(--db-chip);color:var(--db-text);border-color:var(--db-border)}.dashboard-screen .bank-rename-input{background:var(--db-chip);color:var(--db-text)}.head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.view-toggle{display:inline-flex;border:1.5px solid var(--border);border-radius:8px;overflow:hidden}.view-toggle button{border:none;background:var(--surface);color:var(--muted);padding:7px 10px;display:inline-flex;align-items:center;cursor:pointer}.view-toggle button.active{background:var(--accent);color:#fff}.view-toggle button:not(.active):hover{background:var(--accent-light);color:var(--accent)}.dashboard-screen .view-toggle{border-color:var(--db-border)}.dashboard-screen .view-toggle button{background:var(--db-chip);color:var(--db-muted)}.dashboard-screen .view-toggle button.active{background:var(--db-acc1);color:#fff}.cat-collapse-btn{border:none;background:transparent;color:inherit;cursor:pointer;display:inline-flex;align-items:center;padding:0;margin-right:-2px}.cat-count{font-family:var(--mono);font-size:10px;background:rgba(0,0,0,.08);border-radius:10px;padding:1px 7px}.banks-grid.list-view{grid-template-columns:1fr}.banks-grid.list-view .bank-card{padding:14px 18px}.banks-grid.list-view .mixed-card{grid-column:auto}.theme-picker{display:flex;gap:6px;align-items:center}.theme-dot{width:22px;height:22px;border-radius:50%;border:2px solid rgba(255,255,255,.4);cursor:pointer;padding:0;transition:transform .12s}.theme-dot:hover{transform:scale(1.15)}.theme-dot.active{border-color:#fff;box-shadow:0 0 0 2px var(--db-acc1);transform:scale(1.1)}.theme-menu-wrap{position:relative;display:inline-flex}.theme-menu-btn{border:1px solid transparent;background:transparent;color:rgba(255,255,255,.62);border-radius:4px;padding:7px 9px;display:inline-flex;align-items:center;cursor:pointer}.theme-menu-btn:hover{color:#fff;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.2)}.theme-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:60;background:var(--topbar);border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:10px;display:flex;flex-wrap:wrap;gap:8px;width:156px;box-shadow:0 10px 28px #0009}.topbar-exam{justify-content:space-between;border-bottom:1px solid var(--border)}.exam-exit,.topbar-exam{background:#fff;color:var(--text)}.exam-exit{border:1px solid var(--border);border-radius:6px;padding:6px 12px;font-family:var(--mono);font-size:12px;display:inline-flex;align-items:center;gap:6px}.exam-exit:hover{background:var(--bg)}.exam-timer-mini{font-family:var(--mono);font-size:17px;font-weight:700;color:var(--navy);letter-spacing:1px}.exam-logout{border:1px solid var(--border);background:#fff;color:var(--text);border-radius:6px;padding:6px 10px;display:inline-flex;align-items:center}.exam-logout:hover{background:var(--bg)}.bank-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:12px;border-top:1px solid var(--border);align-items:center}.bank-actions button{border-radius:8px;padding:0 13px;border:1.5px solid transparent;font-family:var(--mono);font-size:12px;height:38px;display:inline-flex;align-items:center;justify-content:center;transition:filter .12s,background .12s}.bank-actions button:hover:not(:disabled){filter:brightness(.96)}.bca-start{flex:1 1;min-width:96px;background:var(--navy2);color:#fff;border-color:var(--navy2);font-weight:600}.bca-start:hover:not(:disabled){background:var(--accent);border-color:var(--accent);filter:none}.bca-manage{background:var(--accent-light);color:var(--accent)}.bca-manage,.bca-study{border-color:transparent}.bca-study{background:color-mix(in srgb,var(--green) 14%,var(--surface));color:var(--green);font-weight:600}.dashboard-screen .bca-study{background:color-mix(in srgb,var(--db-acc1) 16%,transparent);color:var(--db-acc1);border-color:var(--db-border)}.bca-copy{background:var(--bg);color:var(--muted);border-color:var(--border)}.bca-copy,.bca-delete{width:38px;padding:0!important}.bca-delete{background:#fff1f1;color:var(--red);border-color:#fca5a5}.bca-assign{width:38px;padding:0!important}.bca-cat-select{height:38px}.bca-cat{width:38px;padding:0!important}.eq-edit-form{width:100%;display:grid;grid-gap:10px;gap:10px}.eq-edit-row{display:flex;gap:10px;align-items:flex-start}.eq-edit-q{flex:1 1;border:1.5px solid var(--accent);border-radius:7px;padding:8px 10px;font-size:14px;resize:vertical;font-family:var(--sans)}.eq-edit-answers{display:grid;grid-gap:6px;gap:6px;padding-left:38px}.eq-edit-ans-row{display:flex;align-items:center;gap:8px}.eq-edit-ans-row input:not([type=radio]),.eq-edit-ans-row input[type=text]{flex:1 1;padding:7px 10px;font-size:13px}.eq-edit-img-row{display:flex;align-items:center;gap:8px}.eq-edit-img{flex:1 1;border:1.5px solid var(--border);border-radius:7px;padding:7px 10px;font-size:13px;font-family:var(--mono)}.eq-edit-img:focus{outline:none;border-color:var(--accent)}.eq-edit-actions{display:flex;align-items:center;gap:8px;padding-left:38px;flex-wrap:wrap}.eq-edit-hint{font-size:11px;color:var(--muted);font-family:var(--mono);flex:1 1}.eq-save-btn{background:var(--green);color:#fff;border:none;border-radius:6px;padding:6px 12px}.eq-cancel-btn,.eq-save-btn{font-size:12px;display:flex;align-items:center;gap:5px}.eq-cancel-btn{background:var(--surface);color:var(--muted);border:1.5px solid var(--border);border-radius:6px;padding:6px 10px}.manage-wrap{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.manage-title{font-size:22px;font-weight:700;color:var(--navy)}.add-tabs{display:flex;flex-wrap:wrap;border:1.5px solid var(--border);border-radius:9px;overflow:hidden;width:100%}.add-tabs button{border:0;border-right:1.5px solid var(--border);background:var(--surface);color:var(--muted);padding:9px 14px;font-family:var(--mono);font-size:11px;flex:1 1}.add-tabs button:last-child{border-right:0}.add-tabs button.active{background:var(--navy2);color:#fff}.tab-count{opacity:.7}.section-hint{background:var(--accent-light);border-left:3px solid var(--accent);border-radius:7px;padding:10px 14px;font-size:13px;color:var(--navy)}.admin-card{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:20px;display:grid;grid-gap:14px;gap:14px}.panel-hint{font-size:13px;color:var(--muted);line-height:1.6;padding:12px 15px;background:var(--bg);border-radius:7px;border-left:3px solid var(--accent)}.panel-hint code{background:var(--surface);color:var(--accent);border-radius:3px;padding:1px 6px;font-family:var(--mono)}.paste-area{min-height:150px;font-family:var(--mono);font-size:13px;line-height:1.6}.save-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.save-message{background:var(--green-light);color:var(--green);border:1px solid #a8d8ba;border-radius:7px;padding:10px 12px;font-size:13px}.save-message.error{background:var(--red-light);color:var(--red);border-color:#f0b8b0}.eq-list,.p-card,.parsed-list{display:grid;grid-gap:11px;gap:11px}.p-card{border:1.5px solid var(--border);border-radius:9px;padding:15px;background:var(--bg)}.p-card.ready{border-color:var(--green);background:color-mix(in srgb,var(--green) 9%,var(--surface))}.p-card.needs-ans{border-color:var(--yellow)}.p-card-head{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.p-card-head strong{flex:1 1;min-width:240px;line-height:1.45}.eq-item button,.p-card-head button{border:1px solid var(--border);background:var(--surface);border-radius:5px;padding:5px 9px}.eq-item button,.eq-num,.p-card-head button,.p-card-num{color:var(--muted);font-size:11px;font-family:var(--mono)}.p-opts{display:grid;grid-gap:6px;gap:6px}.option,.p-opts button{border:1.5px solid var(--border);border-radius:8px;padding:12px 14px;background:var(--surface);color:var(--text);text-align:left;width:100%}.option{display:flex;align-items:flex-start}.p-opts button.correct{border-color:var(--green);background:var(--green-light);color:var(--green);font-weight:600}.p-edit-q{flex:1 1;min-width:240px;border:1.5px solid var(--border);border-radius:7px;padding:8px 10px;font-size:14px;line-height:1.45;resize:vertical;font-family:var(--sans);background:var(--surface)}.p-edit-q:focus{border-color:var(--accent);outline:none}.p-card-tools{display:flex;gap:6px;flex-wrap:wrap}.p-card-tools button{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:5px;padding:5px 9px;font-size:11px;font-family:var(--mono);display:inline-flex;align-items:center;gap:4px}.p-opts-edit{display:grid;grid-gap:6px;gap:6px}.p-opt-row{display:flex;align-items:center;gap:7px}.p-mark{flex:0 0 30px;height:36px;border:1.5px solid var(--border);border-radius:7px;background:var(--surface);color:var(--green);font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center}.p-mark.correct{border-color:var(--green);background:var(--green-light)}.p-opt-input{flex:1 1;padding:9px 11px;font-size:13px;border:1.5px solid var(--border);border-radius:7px}.p-opt-input:focus{border-color:var(--accent);outline:none}.p-opt-del{flex:0 0 auto;border:1.5px solid var(--border);background:var(--surface);color:var(--muted);border-radius:6px;padding:7px;display:inline-flex}.p-opt-del:hover{border-color:#fca5a5;color:var(--red);background:#fff1f1}.p-add-opt{border:1.5px dashed var(--border);background:var(--surface);color:var(--accent);border-radius:6px;padding:6px 12px;font-size:12px;display:inline-flex;align-items:center;gap:5px}.p-add-opt,.p-tag{width:-moz-fit-content;width:fit-content;font-family:var(--mono)}.p-tag{font-size:10px;letter-spacing:1px;border-radius:3px;padding:3px 7px}.p-tag.ok{background:var(--green-light);color:var(--green)}.p-tag.warn{background:var(--yellow-light);color:var(--yellow)}.answer-grid{display:grid;grid-gap:8px;gap:8px}.answer-row{display:grid;grid-template-columns:22px 1fr;grid-gap:8px;gap:8px;align-items:center}.section-row{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.section-row select{border:1.5px solid var(--border);border-radius:6px;padding:8px 10px;font-size:13px;background:var(--surface);flex:1 1}.img-preview{max-width:200px;max-height:140px;object-fit:contain;border-radius:8px;border:1.5px solid var(--border)}.manual-hint{font-size:12px;color:var(--accent);font-family:var(--mono)}.correct-input{border-color:var(--green)!important;background:color-mix(in srgb,var(--green) 14%,var(--surface))!important;color:var(--text)!important}.eq-item{display:flex;padding:10px 12px;flex-wrap:wrap}.eq-img-icon{font-size:14px;flex:0 0 auto;cursor:default}.eq-num{color:var(--muted);font-size:11px;flex:0 0 28px}.eq-num,.eq-sec{font-family:var(--mono)}.eq-sec{font-size:10px;color:var(--accent);background:var(--accent-light);border-radius:3px;padding:2px 5px;flex:0 0 auto}.eq-q{font-size:14px;line-height:1.4;flex:1 1;min-width:120px}.eq-opts{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;padding-left:36px}.eq-opt{font-size:12px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:5px;padding:4px 9px;display:inline-flex;align-items:center;gap:4px}.eq-opt.correct{background:var(--green-light);color:var(--green);border-color:#a8d8ba;font-weight:600}.instruction-screen,.result-screen{display:flex;align-items:center;justify-content:center;padding:30px 20px}.instr-card,.result-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:38px 42px;max-width:590px;width:100%}.instr-set-name{font-family:var(--mono);font-size:11px;letter-spacing:2px;color:var(--accent);text-transform:uppercase;margin-bottom:10px}.instr-card h1{margin:0 0 20px;color:var(--navy);font-size:24px}.instr-stats,.stats-row{display:flex;gap:14px;margin:20px 0;padding:16px;background:var(--bg);border:1px solid var(--border);border-radius:10px}.instr-stats div,.stats-row div{flex:1 1;text-align:center}.instr-stats strong,.stats-row strong{display:block;font-family:var(--mono);font-size:25px;color:var(--navy)}.instr-stats span,.stats-row span{font-size:12px;color:var(--muted)}.instr-list{list-style:none;padding:0;margin:0 0 24px;display:grid;grid-gap:11px;gap:11px}.instr-list li{display:flex;gap:12px;color:var(--muted);line-height:1.55}.instr-list span{font-family:var(--mono);font-size:11px;color:var(--accent);background:var(--accent-light);border-radius:4px;padding:3px 8px;height:-moz-fit-content;height:fit-content}.instr-actions,.result-acts{display:flex;gap:10px;flex-wrap:wrap}.exam-screen{flex-direction:column;min-height:calc(100vh - 54px - 68px);overflow:hidden}.exam-screen,.q-panel{display:flex;background:#fff}.q-panel{flex:1 1;padding:32px 36px;overflow-y:auto;flex-direction:column;gap:22px}.q-meta{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:1.5px;margin-top:2px}.q-panel h1{font-size:16px;font-weight:400;line-height:1.55;max-width:100%;margin:0}.q-img-row{display:flex;gap:28px;align-items:flex-start;max-width:100%}.q-left{flex:1 1;display:flex;flex-direction:column;gap:20px;min-width:0}.q-img{width:300px;flex:0 0 300px;max-height:300px;object-fit:contain;border-radius:10px;border:1.5px solid var(--border);background:#fff}.options{display:grid;grid-gap:10px;gap:10px;max-width:100%}.option{font-size:16px;background:#fff}.option.selected,.option:hover{border-color:var(--accent);background:#fff}.option.selected span{border-color:var(--accent);background:var(--accent);color:#fff}.sidebar{width:100%;flex:0 0 auto;border-top:1px solid var(--border);background:#fff}.sb-head{padding:10px 20px 8px;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:11px;color:var(--muted);display:flex;align-items:center;gap:10px}.prog-wrap{flex:1 1;height:4px;border-radius:4px;background:var(--bg);overflow:hidden}.prog-wrap div{height:100%;background:var(--accent)}.q-grid{display:flex;flex-wrap:wrap;gap:5px;padding:10px 20px}.qb{width:36px;height:36px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--muted);font-family:var(--mono);font-size:11px;position:relative;flex:0 0 auto}.qb.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.qb.answered:not(.active){background:var(--green-light);color:var(--green);border-color:#a8d8ba;font-weight:600}.qb.skipped:before{content:"";position:absolute;top:2px;right:2px;width:6px;height:6px;background:var(--yellow);border-radius:50%;z-index:1}.qb.has-img:after{content:"IMG";position:absolute;right:2px;bottom:1px;font-size:7px}.qb.locked{cursor:not-allowed}.qb.locked:not(.answered):not(.skipped):not(.active){opacity:.5}.qb:not(.active):not(.locked):not(:disabled){cursor:pointer}.qb:not(.active):not(.locked):not(:disabled):hover{border-color:var(--accent)}.exam-timer{align-self:flex-start;font-family:var(--mono);font-size:18px;font-weight:700;color:var(--navy);background:#fff;border:1.5px solid var(--border);border-radius:8px;padding:6px 14px;letter-spacing:1px}.exam-timer.warn{color:var(--yellow);border-color:#f9d77e;background:var(--yellow-light)}.exam-timer.danger{color:var(--red);border-color:#f0b8b0;background:var(--red-light);animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}.bottom-bar{height:68px;display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px 28px;background:#fff;border-top:1px solid var(--border)}.btn-next,.btn-skip{border:1.5px solid;border-radius:7px;padding:12px 24px;font-family:var(--mono);font-size:13px;letter-spacing:.5px}.btn-skip{background:var(--surface);color:var(--muted);border-color:var(--border)}.btn-next{background:var(--navy2);color:#fff;border-color:var(--navy2);min-width:160px}.btn-confuse{border:1.5px solid #f59e0b;border-radius:7px;padding:12px 18px;font-family:var(--mono);font-size:13px;letter-spacing:.5px;background:#fffbeb;color:#b45309;cursor:pointer;white-space:nowrap}.btn-confuse:hover{background:#fef3c7}.btn-confuse.active{background:#f59e0b;color:#fff;border-color:#f59e0b}.qb.confused{border-color:#f59e0b;box-shadow:inset 0 0 0 2px rgba(245,158,11,.45)}.ai-review-screen{overflow-y:auto;padding:24px}.ai-review-wrap{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.ai-review-header{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ai-review-title-row{display:flex;align-items:center;gap:12px;flex:1 1;flex-wrap:wrap}.ai-review-name{flex:1 1;min-width:200px;font-size:18px;font-weight:700;border:1.5px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--navy)}.ai-review-name:focus{border-color:var(--accent);outline:none}.ai-review-count{font-family:var(--mono);font-size:12px;color:var(--muted);white-space:nowrap}.ai-review-refine{display:flex;gap:8px}.ai-review-refine input{flex:1 1;font-size:13px}.ai-review-list{display:grid;grid-gap:8px;gap:8px}.ai-review-item{display:flex;align-items:flex-start;gap:10px;background:var(--surface);border:1.5px solid var(--border);border-radius:8px;padding:12px 14px}.ai-review-num{font-family:var(--mono);font-size:11px;color:var(--muted);flex:0 0 28px;padding-top:2px}.ai-review-q{flex:1 1;display:flex;flex-direction:column;gap:6px;min-width:0}.ai-review-q-text{font-size:14px;line-height:1.45;font-weight:500}.ai-review-answers{display:flex;gap:8px;flex-wrap:wrap}.ai-ans{font-size:12px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:2px 8px}.ai-ans.correct{background:var(--green-light);color:var(--green);border-color:#a8d8ba;font-weight:600}.ai-review-remove{border:1.5px solid #fca5a5;background:#fff1f1;color:var(--red);border-radius:5px;padding:5px;flex:0 0 auto}.ai-review-actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:4px}.result-card{max-width:640px}.result-card h1{margin:0 0 8px;font-size:34px;font-family:var(--mono)}.section-results{margin:18px 0}.section-results-title{font-family:var(--mono);font-size:11px;letter-spacing:1.5px;color:var(--muted);margin-bottom:8px}.sec-table{width:100%;border-collapse:collapse;font-size:13px}.sec-table th{text-align:left;font-family:var(--mono);font-size:10px;letter-spacing:.5px;color:var(--muted);padding:6px 10px;border-bottom:1.5px solid var(--border)}.sec-table td{padding:9px 10px;border-bottom:1px solid var(--border)}.sec-table tr:last-child td{border-bottom:0}.sec-pass td:last-child{color:var(--green);font-weight:700}.sec-fail td:last-child{color:var(--red);font-weight:700}.sec-fail{background:color-mix(in srgb,var(--red) 8%,var(--surface))}.sec-pass{background:color-mix(in srgb,var(--green) 8%,var(--surface))}.pass{color:var(--green)}.fail{color:var(--red)}.review-screen{padding:28px 24px;overflow-y:auto}.rev-top{max-width:940px;margin:0 auto 18px;display:flex;justify-content:space-between;align-items:center}.rev-list{max-width:940px;margin:0 auto;display:grid;grid-gap:12px;gap:12px}.rev-item{background:var(--surface);border:1.5px solid var(--border);border-radius:8px;padding:15px;display:grid;grid-gap:7px;gap:7px}.rev-item.correct{border-color:var(--green)}.rev-item.wrong{border-color:var(--red)}.rev-item.skipped{border-color:var(--yellow)}.rev-item.confused{box-shadow:inset 4px 0 0 #f59e0b}.rev-confuse-badge{flex:0 0 auto;font-size:11px;font-family:var(--mono);background:#fffbeb;color:#b45309;border:1px solid #fcd34d;border-radius:5px;padding:2px 8px;white-space:nowrap}.rev-item-header{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.rev-item-header strong{flex:1 1;min-width:0}.rev-item img{max-width:220px;border-radius:8px;border:1px solid var(--border)}.rev-item p{margin:0;color:var(--muted)}.btn-translate{border:1.5px solid var(--accent);border-radius:5px;background:var(--accent-light);color:var(--accent);font-family:var(--mono);font-size:11px;padding:4px 10px;flex:0 0 auto;white-space:nowrap}.btn-translate:hover{background:var(--accent);color:#fff}.btn-explain{border:1.5px solid var(--purple);border-radius:5px;background:var(--purple-light);color:var(--purple);font-family:var(--mono);font-size:11px;padding:4px 10px;flex:0 0 auto;white-space:nowrap}.btn-explain:hover{background:var(--purple);color:#fff}.rev-explanation{background:color-mix(in srgb,var(--purple) 8%,var(--surface));border:1.5px solid color-mix(in srgb,var(--purple) 32%,var(--border));border-radius:8px;padding:12px 14px;display:grid;grid-gap:5px;gap:5px;font-size:13px;line-height:1.5;color:var(--text)}.rev-explanation div:first-child{font-weight:700;color:var(--purple)}.cat-group{display:flex;flex-direction:column;gap:14px}.cat-heading{font-family:var(--mono);font-size:12px;letter-spacing:1px;color:var(--navy);text-transform:uppercase;display:inline-flex;background:var(--accent-light);border:1px solid #c7d4f7;border-radius:20px;padding:6px 14px;width:-moz-fit-content;width:fit-content}.cat-heading .lock{color:var(--red);font-size:10px;background:#fff1f1;border-radius:10px;padding:1px 7px}.bca-cat-select{height:42px;border:1.5px solid var(--border);border-radius:7px;background:var(--surface);color:var(--muted);font-family:var(--mono);font-size:11px;padding:0 8px;cursor:pointer}.bca-cat-select:focus{border-color:var(--accent);outline:none;color:var(--accent)}.bca-cat{background:var(--surface);color:var(--muted);border-color:var(--border);padding:11px 10px!important}.bca-cat.active-lock{background:#fdecea;color:var(--red);border-color:#f0b8b0}.protected-card{border-color:#f0b8b0}.protected-card:hover{border-color:var(--red)}.rev-translation{background:color-mix(in srgb,var(--accent) 7%,var(--surface));border:1.5px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:8px;padding:12px 14px;display:grid;grid-gap:5px;gap:5px}.tr-q{font-weight:600;color:var(--navy);font-size:14px}.tr-ans{color:var(--muted)}.tr-ans,.tr-correct{font-size:13px;padding-left:4px}.tr-correct{color:var(--green);font-weight:600}.role-badge{font-size:10px;font-family:var(--mono);background:rgba(255,255,255,.18);border-radius:3px;padding:1px 6px;margin-left:6px;letter-spacing:.5px;font-style:normal}.student-panel-wrap{display:flex;flex-direction:column;gap:10px}.student-toggle{width:-moz-fit-content;width:fit-content}.attempts-card{background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:18px 20px;margin-bottom:18px;display:grid;grid-gap:16px;gap:16px}.attempts-head{font-family:var(--mono);font-size:14px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:8px}.attempts-sub{font-weight:400;font-size:11px;color:var(--muted)}.attempts-empty{color:var(--muted);font-size:13px;padding:6px 0}.attempts-rings{display:flex;flex-wrap:wrap;gap:22px;justify-content:center}.ring-wrap{display:flex;flex-direction:column;align-items:center;gap:4px}.ring-svg{display:block}.ring-pct{font-family:var(--mono);font-weight:700}.ring-label{font-size:12px;font-weight:600;color:var(--navy)}.ring-sub{font-size:11px;color:var(--muted);font-family:var(--mono)}.attempts-list{display:grid;grid-gap:6px;gap:6px}.attempt-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);font-size:13px}.attempt-name{flex:1 1;min-width:0;font-weight:600;color:var(--navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attempt-score{font-size:12px;color:var(--muted)}.attempt-badge,.attempt-score{font-family:var(--mono);flex:0 0 auto}.attempt-badge{font-size:10px;font-weight:700;padding:3px 8px;border-radius:5px;letter-spacing:.5px}.attempt-badge.pass{background:var(--green-light);color:var(--green)}.attempt-badge.fail{background:var(--red-light);color:var(--red)}.attempt-date{flex:0 0 auto;font-size:11px;color:var(--muted);font-family:var(--mono)}.admin-results-wrap{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.admin-attempts,.admin-results-panel{display:grid;grid-gap:14px;gap:14px}.admin-attempt-user{border:1.5px solid var(--border);border-radius:12px;padding:14px 16px;background:var(--surface);display:grid;grid-gap:12px;gap:12px}.aau-head{display:flex;align-items:center;gap:14px}.aau-meta{min-width:0}.aau-email{font-weight:700;color:var(--navy);font-size:14px;overflow-wrap:anywhere}.aau-stats{font-size:12px;color:var(--muted);font-family:var(--mono)}@media (max-width:560px){.attempt-date{display:none}.attempts-rings{gap:14px}}.dashboard-screen .admin-attempt-user,.dashboard-screen .attempts-card{background:var(--db-card,var(--surface));border-color:var(--db-border,var(--border))}.dashboard-screen .aau-email,.dashboard-screen .attempt-name,.dashboard-screen .attempts-head,.dashboard-screen .ring-label{color:var(--db-text,var(--navy))}.dashboard-screen .aau-stats,.dashboard-screen .attempt-date,.dashboard-screen .attempt-score,.dashboard-screen .attempts-empty,.dashboard-screen .attempts-sub,.dashboard-screen .ring-sub{color:var(--db-muted,var(--muted))}.dashboard-screen .attempt-row{background:var(--db-chip,var(--bg));border-color:var(--db-border,var(--border))}.attempt-icon-btn{flex:0 0 auto;border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:6px;padding:4px 7px;cursor:pointer;display:inline-flex;align-items:center}.attempt-icon-btn:hover{border-color:var(--accent);color:var(--accent)}.attempt-icon-btn.del:hover{border-color:var(--red);color:var(--red);background:var(--red-light)}.stored-review{display:grid;grid-gap:8px;gap:8px;margin:6px 0 12px;padding:10px;background:var(--bg);border:1px dashed var(--border);border-radius:10px}.sr-opts{display:grid;grid-gap:4px;gap:4px}.sr-opt{font-size:13px;color:var(--text);padding:4px 8px;border-radius:6px;display:flex;align-items:center;gap:6px}.sr-opt.correct{background:var(--green-light);color:var(--green);font-weight:600}.sr-opt.chosen-wrong{background:var(--red-light);color:var(--red)}.sr-yours{margin-left:auto;font-size:10px;opacity:.8}.sr-skip,.sr-yours{font-family:var(--mono)}.sr-skip{margin:0;font-size:12px;color:var(--yellow)}.student-panel{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:18px 20px;display:grid;grid-gap:14px;gap:14px;max-width:640px}.student-panel-title{font-family:var(--mono);font-size:13px;color:var(--navy);font-weight:700}.student-panel-hint{font-size:13px;color:var(--muted)}.student-fields{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.student-fields input{flex:1 1;min-width:160px}.student-list{display:grid;grid-gap:8px;gap:8px;border-top:1.5px solid var(--border);padding-top:14px}.student-list-title{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.5px}.student-row{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap}.student-email{flex:1 1;font-size:13px;min-width:120px}.student-banks-count{font-family:var(--mono);font-size:11px;color:var(--muted)}.student-banks-count.no-access{color:var(--red)}.btn-assign.active{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-assign{border:1.5px solid var(--accent);background:var(--accent-light);color:var(--accent);border-radius:5px;font-size:11px;font-family:var(--mono);padding:5px 10px}.btn-del-student{border:1.5px solid #fca5a5;background:#fff1f1;color:var(--red);border-radius:5px;padding:5px 7px}.assign-panel{background:var(--bg);border:1.5px solid var(--border);border-radius:8px;padding:14px 16px;display:grid;grid-gap:8px;gap:8px}.assign-title{font-size:13px;color:var(--navy)}.assign-hint{font-size:12px;color:var(--muted)}.assign-row{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.assign-count{font-family:var(--mono);font-size:11px;color:var(--muted)}.bulk-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 14px;background:var(--bg);border-radius:8px;border:1px solid var(--border)}.bulk-label{font-family:var(--mono);font-size:11px;color:var(--muted);letter-spacing:.5px}.bulk-select{border:1.5px solid var(--border);border-radius:6px;padding:7px 10px;font-size:12px;font-family:var(--mono);background:var(--surface);color:var(--text)}.restore-btn{color:var(--purple);border-color:var(--purple)}.bulk-progress{position:relative;height:28px;background:var(--bg);border-radius:6px;overflow:hidden;border:1px solid var(--border);display:flex;align-items:center;padding:0 10px}.bulk-progress-bar{position:absolute;left:0;top:0;height:100%;background:var(--accent-light);transition:width .3s}.bulk-progress span{position:relative;z-index:1;font-family:var(--mono);font-size:11px;color:var(--accent)}.eq-item{display:grid;grid-template-columns:34px 1fr auto auto auto auto;grid-gap:8px;gap:8px;align-items:center;padding:12px;background:var(--surface);border:1.5px solid var(--border);border-radius:8px}.eq-item:has(img){grid-template-columns:34px 52px 1fr auto auto auto auto}@media (max-width:820px){.topbar{height:auto;min-height:54px;flex-wrap:wrap;padding:10px 14px}.top-left{flex-wrap:wrap;min-width:0}.user-box{width:100%;justify-content:space-between;min-width:0}.user-box>span{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-screen,.manage-screen{padding:20px 14px}.add-tabs{width:100%}.add-tabs button{flex:1 1;padding:10px 8px}.q-panel{padding:18px 16px}.q-img-row{flex-direction:column-reverse}.q-img{width:100%;flex:none;max-height:220px;object-fit:contain}.q-grid,.sb-head{padding:8px 14px}.eq-item,.eq-item:not(:has(img)){grid-template-columns:1fr}.bottom-bar{justify-content:space-between;padding:10px 14px}.btn-next,.btn-skip{flex:none;padding:12px 18px;font-size:12px}.btn-next{min-width:120px}}@media (max-width:560px){.instr-card,.result-card{padding:24px 20px}.instr-card h1{font-size:21px}.result-card h1{font-size:28px}.instr-stats,.stats-row{gap:8px;padding:14px 10px}.instr-stats strong,.stats-row strong{font-size:21px}.section-results{overflow-x:auto;-webkit-overflow-scrolling:touch}.sec-table{min-width:360px}.rev-item img{max-width:120px}.rev-item-header strong{flex:1 1 100%}.banks-grid{grid-template-columns:1fr}.ai-review-refine{flex-wrap:wrap}.ai-review-refine input{flex:1 1 100%}.bottom-bar{height:auto;flex-wrap:wrap;padding:10px 12px;gap:8px}.btn-confuse,.btn-skip{flex:1 1;min-width:0;padding:11px 8px;font-size:12px}.btn-next{flex:1 1 100%;order:3;min-width:0}.exam-screen{min-height:0}}@media (max-width:380px){.instr-card,.result-card{padding:20px 16px}.instr-stats strong,.stats-row strong{font-size:18px}.instr-stats span,.stats-row span{font-size:11px}.logo{letter-spacing:1px}.study-all-screen{padding:18px 12px}}.study-all-screen{padding:24px 16px}.study-all-wrap{max-width:860px;margin:0 auto;display:grid;grid-gap:24px;gap:24px}.study-all-header{position:-webkit-sticky;position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--bg);padding:14px 0 12px;margin-top:-14px;border-bottom:1px solid var(--border);box-shadow:0 6px 14px -8px rgba(0,0,0,.25)}.study-all-title{font-size:18px;font-weight:700;color:var(--navy);flex:1 1;min-width:160px}.study-search{flex:1 1;min-width:200px;border:1.5px solid var(--border);border-radius:8px;padding:9px 13px;font-size:13px;background:var(--surface);color:var(--text)}.study-search:focus{outline:none;border-color:var(--accent)}.study-bank-group{display:grid;grid-gap:10px;gap:10px}.study-bank-heading{font-size:13px;font-weight:700;font-family:var(--mono);letter-spacing:.5px;color:var(--accent);text-transform:uppercase;padding:8px 14px;background:var(--accent-light);border-radius:8px;display:flex;align-items:center;gap:10px}.study-bank-count{margin-left:auto;font-size:11px;color:var(--muted);font-weight:400}.study-add-btn{border:1.5px solid var(--accent);background:var(--surface);color:var(--accent);border-radius:6px;font-family:var(--mono);font-size:11px;padding:4px 10px;display:inline-flex;align-items:center;gap:5px;cursor:pointer;text-transform:none}.study-add-btn:hover{background:var(--accent);color:#fff}.study-bank-full{font-size:11px;color:var(--muted);font-weight:400;text-transform:none}.study-add-form{border:1.5px solid var(--accent);border-radius:10px;padding:14px;background:var(--accent-light);margin-top:4px}.study-add-title{font-family:var(--mono);font-size:12px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.5px}.study-parse-box{display:grid;grid-gap:8px;gap:8px}.study-add-target{display:flex;align-items:center;gap:8px;font-size:12px;font-family:var(--mono);color:var(--muted)}.study-add-target select{flex:1 1;border:1.5px solid var(--border);border-radius:7px;padding:7px 10px;font-size:13px;background:var(--surface);color:var(--navy)}.study-q-item{background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:14px 16px;display:grid;grid-gap:10px;gap:10px}.study-q-head{display:flex;align-items:flex-start;gap:10px}.study-q-num{min-width:28px;height:28px;background:var(--accent-light);color:var(--accent);font-family:var(--mono);font-size:12px;font-weight:700;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.study-q-text{flex:1 1;font-size:14px;font-weight:600;color:var(--navy);line-height:1.5}.study-q-img{max-width:280px;border-radius:8px;object-fit:contain}.study-q-opts{display:grid;grid-gap:6px;gap:6px;padding-left:38px}.study-q-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:10px;border-top:1px dashed var(--border)}@media (max-width:640px){.study-q-opts{padding-left:0}}.study-opt{padding:8px 12px;border-radius:7px;font-size:13px;background:var(--bg);border:1.5px solid var(--border);color:var(--text);display:flex;align-items:center;gap:6px}.study-opt.correct{background:#dcfce7;border-color:#16a34a;color:#15803d;font-weight:600}.study-opt.wrong{background:#fee2e2;border-color:#dc2626;color:#b91c1c;font-weight:600}.study-opt.clickable{cursor:pointer;text-align:left;width:100%;font-family:inherit}.study-opt.clickable:hover{border-color:var(--accent);background:var(--accent-light)}.study-retry{justify-self:start;margin-left:38px;background:transparent;border:1.5px solid var(--border);border-radius:7px;padding:5px 12px;font-size:12px;font-family:var(--mono);color:var(--muted);cursor:pointer}.study-retry:hover{border-color:var(--accent);color:var(--accent)}@media (max-width:640px){.study-retry{margin-left:0}}.challenge-toggle{flex:0 0 auto;white-space:nowrap}.challenge-toggle.active{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-fav{border:1.5px solid var(--yellow);border-radius:5px;background:var(--yellow-light);color:var(--yellow);font-family:var(--mono);font-size:11px;padding:4px 10px;flex:0 0 auto;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.btn-fav.active,.btn-fav:hover:not(:disabled){background:var(--yellow);color:#fff}.btn-fav.active{opacity:1;cursor:default}.btn-study-edit{background:transparent;border:1.5px solid var(--border);border-radius:6px;padding:4px 7px;color:var(--muted);cursor:pointer;flex-shrink:0}.btn-study-edit:hover{border-color:var(--accent);color:var(--accent)}.btn-study-del{background:#fff1f1;border:1.5px solid #fca5a5;border-radius:6px;padding:4px 7px;color:var(--red);cursor:pointer;flex-shrink:0}.btn-study-del:hover{background:var(--red);border-color:var(--red);color:#fff}.btn-note{border:1.5px solid var(--border);border-radius:5px;background:transparent;color:var(--muted);font-family:var(--mono);font-size:11px;padding:4px 10px;flex:0 0 auto;white-space:nowrap;display:inline-flex;align-items:center;gap:5px;cursor:pointer}.btn-note:hover{border-color:#d97706;color:#d97706}.btn-note.has{border-color:#d97706;background:#fffbeb;color:#b45309}.btn-note.active{border-color:#d97706;background:#d97706;color:#fff}.study-note-panel{display:grid;grid-gap:6px;gap:6px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:10px}.study-note-input{width:100%;resize:vertical;border:1px solid #fde68a;border-radius:6px;padding:8px 10px;font-family:inherit;font-size:13px;color:#1f2937;background:#fff;line-height:1.5}.study-note-input:focus{outline:none;border-color:#d97706;box-shadow:0 0 0 2px #f59e0b33}.study-note-hint{font-size:11px;color:#b45309;font-family:var(--mono)}.study-edit-form{display:grid;grid-gap:10px;gap:10px}.study-translation{background:#1e2a3a;border:1.5px solid #2d4a6e;border-radius:8px;padding:12px 14px;display:grid;grid-gap:8px;gap:8px}.study-translation.error{border-color:var(--red);color:var(--red)}.study-tr-label{font-family:var(--mono);font-size:11px;color:#7eb3f7;letter-spacing:.5px;font-weight:700}.study-tr-q{font-size:13px;font-weight:600;color:#c8d8f0}.study-tr-opts{display:grid;grid-gap:5px;gap:5px}.study-empty{text-align:center;color:var(--muted);padding:40px;font-size:14px}.btn-translate.active{background:#1e3a5f;color:#7eb3f7;border-color:#2d6aad}.cat-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cat-study-btn{margin-left:auto;background:var(--accent-light);color:var(--accent);border:1.5px solid var(--accent);border-radius:6px;font-size:11px;font-family:var(--mono);font-weight:700;padding:4px 10px;cursor:pointer;letter-spacing:.3px}.cat-study-btn:hover{background:var(--accent);color:#fff}.bulk-sep{color:var(--border);margin:0 4px}.fab-wrap{position:fixed;right:18px;bottom:18px;z-index:200;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.fab-main{width:52px;height:52px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--accent),var(--navy2));color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.28);cursor:pointer;transition:transform .15s,filter .15s}.fab-main:hover{filter:brightness(1.08);transform:translateY(-2px)}.fab-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end;animation:fab-in .15s ease}.fab-action{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);font-family:var(--mono);font-size:12px;padding:9px 14px;border-radius:24px;box-shadow:0 6px 18px rgba(0,0,0,.18);cursor:pointer;white-space:nowrap}.fab-action:hover{border-color:var(--accent);color:var(--accent)}.fab-logout:hover{border-color:var(--red);color:var(--red)}@keyframes fab-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (max-width:560px){.fab-wrap{right:14px;bottom:14px}}.eq-edit-sec-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.cat-rename-input{background:var(--bg);border:1px solid var(--accent);border-radius:6px;color:var(--text);font-size:13px;padding:2px 8px;min-width:120px}.cat-action-btn{background:none;border:none;color:var(--muted);cursor:pointer;padding:2px 5px;border-radius:4px;display:inline-flex;align-items:center}.cat-action-btn:hover{color:var(--text);background:var(--surface)}.cat-del-btn:hover{color:#f87171!important}.bank-color-wrap{position:relative;display:flex;align-items:center}.bank-color-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--border);cursor:pointer;flex-shrink:0;padding:0;transition:transform .15s}.bank-color-dot:hover{transform:scale(1.25)}.bank-color-picker{position:absolute;top:22px;left:0;z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px;display:flex;flex-wrap:wrap;gap:8px;width:172px;box-shadow:0 8px 24px #0008}.bcp-dot{width:22px;height:22px;border-radius:50%;cursor:pointer;padding:0;border:2px solid transparent;transition:transform .15s,box-shadow .15s}.bcp-dot:hover{transform:scale(1.2)}.bcp-dot.active{box-shadow:0 0 0 3px var(--accent)}.ai-review-pool-badge{font-size:11px;color:var(--accent);background:var(--accent-light);border:1px solid var(--accent);border-radius:6px;padding:2px 8px;white-space:nowrap}.ai-review-sign-badge{font-size:13px;flex-shrink:0}.ai-review-img{width:80px;height:60px;object-fit:contain;border-radius:6px;border:1px solid var(--border)}.ai-review-img,.eq-sec-select{background:var(--bg);flex-shrink:0}.eq-sec-select{font-size:11px;font-family:var(--mono);font-weight:700;border-radius:5px;border:1px solid var(--border);color:var(--muted);padding:2px 4px;cursor:pointer}.eq-sec-select.sec1{color:#60a5fa;border-color:#60a5fa40;background:#1e3a5f30}.eq-sec-select.sec2{color:#34d399;border-color:#34d39940;background:#0d4a3030}.eq-sec-select.sec3{color:#f59e0b;border-color:#f59e0b40;background:#4a3a0d30}.eq-sec-select.sec4{color:#f87171;border-color:#f8717140;background:#4a1a1a30}.cat-empty-label{font-size:11px;color:var(--muted);font-style:italic;font-family:var(--mono)}.dashboard-screen[data-theme=rose]{--db-bg1:#3a1228;--db-bg2:#1a0812;--db-card1:#2d1020;--db-card2:#1f0a18;--db-panel:#1f0a18;--db-chip:#14061a;--db-border:#6d2a4a;--db-muted:#c47a9a;--db-chiptext:#f0c8d8;--db-acc1:#f43f7e;--db-acc2:#c0185a;--db-hover:#fb7ab0;--db-mix1:#4a1230;--db-mix2:#2a0a1a;--db-mixborder:#f43f7e}.dashboard-screen[data-theme=ocean]{--db-bg1:#0a2a40;--db-bg2:#061420;--db-card1:#0a2030;--db-card2:#071828;--db-panel:#071828;--db-chip:#041018;--db-border:#1a4a60;--db-muted:#6aaac8;--db-chiptext:#b8dff0;--db-acc1:#22d3ee;--db-acc2:#0e7490;--db-hover:#67e8f9;--db-mix1:#0d3040;--db-mix2:#061828;--db-mixborder:#22d3ee}.dashboard-screen[data-theme=gold]{--db-bg1:#2a2000;--db-bg2:#1a1408;--db-card1:#26200e;--db-card2:#1c180a;--db-panel:#1c180a;--db-chip:#141006;--db-border:#5a4a1a;--db-muted:#c8a850;--db-chiptext:#f0dea0;--db-acc1:#f59e0b;--db-acc2:#b8860b;--db-hover:#fbbf24;--db-mix1:#362a08;--db-mix2:#1e1a06;--db-mixborder:#f59e0b}.dashboard-screen[data-theme=slate]{--db-bg1:#1e2236;--db-bg2:#0f1117;--db-card1:#181c24;--db-card2:#12151e;--db-panel:#12151e;--db-chip:#0c0f16;--db-border:#2e3446;--db-muted:#7a8099;--db-chiptext:#c8ccda;--db-acc1:#818cf8;--db-acc2:#3d4460;--db-hover:#a5b4fc;--db-mix1:#242840;--db-mix2:#151828;--db-mixborder:#818cf8}.dashboard-screen[data-theme=carbon]{--db-bg1:#1a1a1a;--db-bg2:#0a0a0a;--db-card1:#141414;--db-card2:#0f0f0f;--db-panel:#0f0f0f;--db-chip:#0a0a0a;--db-border:#2a2a2a;--db-muted:#888;--db-chiptext:#e0e0e0;--db-acc1:#aaa;--db-acc2:#555;--db-hover:#ccc;--db-mix1:#1c1c1c;--db-mix2:#101010;--db-mixborder:#666}.dashboard-screen[data-theme=frost]{--db-bg1:#dbe8fc;--db-bg2:#eef3fb;--db-card1:#ffffff;--db-card2:#ffffff;--db-panel:#ffffff;--db-chip:#eef3fb;--db-border:#d3def0;--db-text:#1b2a44;--db-muted:#5d6b86;--db-chiptext:#5d6b86;--db-acc1:#2f6fed;--db-acc2:#16335a;--db-hover:#2f6fed;--db-mix1:#e3edfd;--db-mix2:#ffffff;--db-mixborder:#9cc0fb}.dashboard-screen[data-theme=sage]{--db-bg1:#dcefe5;--db-bg2:#eef6f1;--db-card1:#ffffff;--db-card2:#ffffff;--db-panel:#ffffff;--db-chip:#eef6f1;--db-border:#cfe6da;--db-text:#1c3a30;--db-muted:#5d7a6e;--db-chiptext:#5d7a6e;--db-acc1:#16a06b;--db-acc2:#1c4a3a;--db-hover:#16a06b;--db-mix1:#e0f3ea;--db-mix2:#ffffff;--db-mixborder:#8fd6b5}.dashboard-screen[data-theme=sand]{--db-bg1:#f1e7d4;--db-bg2:#f8f3ea;--db-card1:#fffdf9;--db-card2:#fffdf9;--db-panel:#fffdf9;--db-chip:#f8f3ea;--db-border:#e7dcc8;--db-text:#3a3020;--db-muted:#7a6c52;--db-chiptext:#7a6c52;--db-acc1:#c98a16;--db-acc2:#5a4326;--db-hover:#c98a16;--db-mix1:#f6ecd6;--db-mix2:#fffdf9;--db-mixborder:#e0c489}.dashboard-screen[data-theme=dusk]{--db-bg1:#2a2e4d;--db-bg2:#1c1f33;--db-card1:#2b2f4d;--db-card2:#23263d;--db-panel:#23263d;--db-chip:#1c1f33;--db-border:#3e4470;--db-text:#d8dcf0;--db-muted:#9aa0c8;--db-chiptext:#c0c5e8;--db-acc1:#8b8fff;--db-acc2:#5b63b0;--db-hover:#a5a9ff;--db-mix1:#322f57;--db-mix2:#23203d;--db-mixborder:#8b8fff}