:root,[data-theme=dark]{--bg: #0b0f19;--panel: #111827;--panel2: #0f172a;--softBg: rgba(2, 6, 23, .55);--border: rgba(255, 255, 255, .08);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .65);--danger: #ef4444;--warn: #f59e0b;--ok: #10b981;--accent: #3b82f6;--radius: 12px;--card-bg: rgba(17,24,39,.72);--input-bg: rgba(2,6,23,.6);--btn-bg: rgba(2,6,23,.55);--btn-hover: rgba(2,6,23,.85);--hover-bg: rgba(255,255,255,.06);--tab-bg: rgba(2,6,23,.4);--progress-ring-track: rgba(255,255,255,.06);--exam-bg: rgba(17,24,39,.85);--primary-bg: rgba(59,130,246,.25);--primary-border: rgba(59,130,246,.35);--primary-hover: rgba(59,130,246,.35);--warn-bg: rgba(245,158,11,.15);--warn-border: rgba(245,158,11,.35);--warn-hover: rgba(245,158,11,.25);--active-nav-bg: rgba(59,130,246,.18);--tab-active-bg: rgba(59,130,246,.2);--body-grad1: rgba(59,130,246,.18);--body-grad2: rgba(16,185,129,.12);--nav-start: rgba(17,24,39,.96);--nav-end: rgba(15,23,42,.96);--modal-overlay: rgba(0, 0, 0, .7);--shadow: rgba(0,0,0,.25);--toggle-on: rgba(16,185,129,.5);--toggle-on-border: rgba(16,185,129,.6);--toggle-on-knob: #10b981;--toggle-off: rgba(255,255,255,.1);--toggle-off-border: rgba(255,255,255,.15);--toggle-off-knob: #64748b;--field-label: #e2e8f0}[data-theme=light]{--bg: #f4f6f9;--panel: #ffffff;--panel2: #f1f5f9;--softBg: rgba(241,245,249,.85);--border: rgba(0,0,0,.1);--text: #1e293b;--muted: #64748b;--danger: #dc2626;--warn: #d97706;--ok: #059669;--accent: #2563eb;--card-bg: rgba(255,255,255,.85);--input-bg: rgba(241,245,249,.9);--btn-bg: rgba(241,245,249,.9);--btn-hover: rgba(226,232,240,1);--hover-bg: rgba(0,0,0,.04);--tab-bg: rgba(241,245,249,.7);--progress-ring-track: rgba(0,0,0,.07);--exam-bg: rgba(255,255,255,.92);--primary-bg: rgba(37,99,235,.1);--primary-border: rgba(37,99,235,.25);--primary-hover: rgba(37,99,235,.18);--warn-bg: rgba(217,119,6,.08);--warn-border: rgba(217,119,6,.25);--warn-hover: rgba(217,119,6,.15);--active-nav-bg: rgba(37,99,235,.1);--tab-active-bg: rgba(37,99,235,.12);--body-grad1: rgba(59,130,246,.06);--body-grad2: rgba(16,185,129,.04);--nav-start: rgba(255,255,255,.97);--nav-end: rgba(248,250,252,.97);--modal-overlay: rgba(0, 0, 0, .4);--shadow: rgba(0,0,0,.08);--toggle-on: rgba(5,150,105,.35);--toggle-on-border: rgba(5,150,105,.5);--toggle-on-knob: #059669;--toggle-off: rgba(0,0,0,.08);--toggle-off-border: rgba(0,0,0,.15);--toggle-off-knob: #94a3b8;--field-label: #334155}[data-theme=serene]{--bg: #0f1a2e;--panel: #162036;--panel2: #131d32;--softBg: rgba(15,26,46,.6);--border: rgba(100,180,200,.12);--text: rgba(220,235,245,.92);--muted: rgba(160,195,215,.7);--danger: #f87171;--warn: #fbbf24;--ok: #34d399;--accent: #38bdf8;--card-bg: rgba(22,32,54,.75);--input-bg: rgba(15,26,46,.65);--btn-bg: rgba(15,26,46,.6);--btn-hover: rgba(15,26,46,.85);--hover-bg: rgba(100,180,200,.06);--tab-bg: rgba(15,26,46,.45);--progress-ring-track: rgba(100,180,200,.08);--exam-bg: rgba(22,32,54,.88);--primary-bg: rgba(56,189,248,.18);--primary-border: rgba(56,189,248,.3);--primary-hover: rgba(56,189,248,.28);--warn-bg: rgba(251,191,36,.12);--warn-border: rgba(251,191,36,.3);--warn-hover: rgba(251,191,36,.2);--active-nav-bg: rgba(56,189,248,.15);--tab-active-bg: rgba(56,189,248,.18);--body-grad1: rgba(56,189,248,.12);--body-grad2: rgba(52,211,153,.08);--nav-start: rgba(22,32,54,.96);--nav-end: rgba(19,29,50,.96);--modal-overlay: rgba(0, 0, 0, .6);--shadow: rgba(0,0,0,.3);--toggle-on: rgba(52,211,153,.4);--toggle-on-border: rgba(52,211,153,.55);--toggle-on-knob: #34d399;--toggle-off: rgba(100,180,200,.1);--toggle-off-border: rgba(100,180,200,.18);--toggle-off-knob: #5b8a9a;--field-label: rgba(200,220,235,.9)}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:radial-gradient(1000px 600px at 10% 10%,var(--body-grad1),transparent 60%),radial-gradient(1000px 600px at 90% 10%,var(--body-grad2),transparent 60%),var(--bg);color:var(--text)}.app-shell{display:grid;grid-template-columns:64px 1fr;min-height:100vh}.app-shell.focus-mode{grid-template-columns:1fr}.app-shell.focus-mode .nav-bar{display:none}.nav-bar{display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:2px;background:linear-gradient(180deg,var(--nav-start),var(--nav-end));border-right:1px solid var(--border);overflow-y:auto;max-height:100vh;position:sticky;top:0}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:52px;border-radius:12px;border:none;background:transparent;color:var(--muted);cursor:pointer;transition:background .15s,color .15s;font-size:10px;font-weight:500;letter-spacing:.2px;gap:3px;padding:0;min-height:unset;position:relative}.nav-item:hover{background:var(--hover-bg);color:var(--text)}.nav-item.active{background:var(--active-nav-bg);color:var(--accent)}.nav-icon{font-size:20px;line-height:1}.nav-label{font-size:10px;white-space:nowrap}.nav-badge{position:absolute;top:4px;right:4px;min-width:16px;height:16px;border-radius:8px;background:var(--danger);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px}.nav-sub-badge{display:flex;align-items:center;justify-content:center;padding:3px 10px;border-radius:12px;font-size:10px;font-weight:700;margin:4px auto;white-space:nowrap}.nav-sub-pro{background:#22c55e26;color:var(--ok);border:1px solid var(--ok)}.nav-sub-trial{background:#3b82f626;color:var(--accent);border:1px solid var(--accent)}.nav-spacer{flex:1}.sidebar{display:none;border-right:1px solid var(--border);padding:18px 16px;background:linear-gradient(180deg,#111827eb,#0f172aeb);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);overflow-y:auto;max-height:100vh}.main{padding:18px 24px 40px;overflow-y:auto;max-height:100vh}.focus-main{max-width:860px;margin:0 auto;padding:12px 20px 40px}.tab-bar{display:flex;gap:2px;padding:4px;background:var(--tab-bg);border:1px solid var(--border);border-radius:12px;margin-bottom:16px}.tab-btn{flex:1;padding:8px 12px;border:none;border-radius:8px;background:transparent;color:var(--muted);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s;min-height:unset;width:auto}.tab-btn:hover{background:var(--hover-bg);color:var(--text)}.tab-btn.active{background:var(--tab-active-bg);color:var(--accent);font-weight:600}.h1{font-size:18px;margin:0 0 6px;letter-spacing:.2px}.p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.35}.small{font-size:12px;color:var(--muted)}.error{color:var(--danger);font-size:12px;margin-top:8px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.col{flex:1;min-width:0}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);padding:14px;margin:12px 0;box-shadow:0 10px 30px var(--shadow)}.cardTitle{font-size:14px;font-weight:600;margin-bottom:10px;letter-spacing:.2px}button{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--btn-bg);color:var(--text);cursor:pointer;transition:transform .06s ease,background .18s ease,border-color .18s ease;font-size:13px}button:hover{background:var(--btn-hover)}button:active{transform:translateY(1px)}button:disabled{opacity:.6;cursor:not-allowed}.btnPrimary{background:var(--primary-bg);border-color:var(--primary-border)}.btnPrimary:hover{background:var(--primary-hover)}.btnWarn{background:var(--warn-bg);border-color:var(--warn-border)}.btnWarn:hover{background:var(--warn-hover)}.optionBtn{width:100%;padding:12px 14px;margin-bottom:6px;border-radius:10px;text-align:left;font-size:13px;line-height:1.4}.badge{display:inline-block;padding:4px 10px;border-radius:8px;border:1px solid var(--border);background:var(--tab-bg);font-size:12px;white-space:nowrap}.examPanel{border:1px solid var(--border);border-radius:var(--radius);background:var(--exam-bg);padding:18px;margin-bottom:16px;box-shadow:0 10px 30px var(--shadow)}.examHeader{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.qText{font-size:15px;line-height:1.55;margin-bottom:14px;padding:12px;border-radius:10px;background:var(--tab-bg);border:1px solid var(--border)}select,input[type=text]{width:100%;margin-top:6px;padding:10px;border-radius:10px;border:1px solid var(--border);outline:none;background:var(--input-bg);color:var(--text);font-size:13px}label{font-size:12px;color:var(--muted)}.table{width:100%;border-collapse:collapse;font-size:12px;margin-top:8px}.table th{border-bottom:1px solid var(--border);padding:8px 6px;color:var(--muted);text-align:left;font-weight:600}.table td{border-bottom:1px solid var(--border);padding:8px 6px}.progressGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;margin-top:10px}.statBox{padding:12px;border-radius:10px;background:var(--tab-bg);border:1px solid var(--border);text-align:center}.statValue{font-size:24px;font-weight:700;color:var(--accent)}.statLabel{font-size:11px;color:var(--muted);margin-top:4px}pre{background:var(--input-bg);border:1px solid var(--border);padding:10px;border-radius:12px;overflow:auto;font-size:12px}.adminFilterRow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.adminFilterRow select,.adminFilterRow input{width:auto;min-width:100px}.adminFilterRow button{width:auto;padding:8px 14px}.adminTable{font-size:13px}.adminTable th{font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);white-space:nowrap}.adminTable td{vertical-align:middle}.adminBtn{width:auto!important;padding:4px 10px!important;font-size:11px!important;border-radius:6px!important}.adminBtnDanger{background:#ef444426!important;color:var(--danger)!important}.adminBtnDanger:hover{background:#ef44444d!important}.diffBadge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:600}.diff-easy{background:#10b98126;color:var(--ok)}.diff-medium{background:#f59e0b26;color:var(--warn)}.diff-hard{background:#ef444426;color:var(--danger)}.adminPagination{display:flex;gap:10px;align-items:center;justify-content:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.adminPagination button{width:auto;padding:6px 14px}.modalOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;max-width:420px;width:100%;max-height:85vh;overflow-y:auto}.modalWide{max-width:640px}.toast-container{position:fixed;top:16px;right:16px;z-index:2000;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:380px;width:calc(100% - 32px)}.toast{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;font-size:13px;font-weight:500;color:#fff;pointer-events:auto;cursor:pointer;box-shadow:0 4px 20px #00000059;animation:toastIn .3s ease-out;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toast-exit{animation:toastOut .3s ease-in forwards}.toast-icon{font-size:16px;flex-shrink:0}.toast-msg{flex:1;line-height:1.35}.toast-close{background:none;border:none;color:#ffffffb3;font-size:14px;cursor:pointer;padding:0 2px;flex-shrink:0}.toast-close:hover{color:#fff}.toast-success{background:#10b981eb;border:1px solid rgba(16,185,129,.5)}.toast-error{background:#ef4444eb;border:1px solid rgba(239,68,68,.5)}.toast-warning{background:#f59e0beb;border:1px solid rgba(245,158,11,.5);color:#1a1a1a}.toast-warning .toast-close{color:#00000080}.toast-warning .toast-close:hover{color:#1a1a1a}.toast-info{background:#3b82f6eb;border:1px solid rgba(59,130,246,.5)}@keyframes toastIn{0%{opacity:0;transform:translate(40px) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(40px) scale(.95)}}.modal textarea{width:100%;background:var(--panel2);border:1px solid var(--border);border-radius:8px;padding:10px;color:var(--text);font-size:13px;font-family:inherit;resize:vertical;margin-bottom:10px}.adminFormGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}.user-bar{display:flex;align-items:center;justify-content:flex-end;padding:8px 0 12px;gap:10px;min-height:44px}.hamburger-btn{display:none;background:none;border:1px solid var(--border);color:var(--text);font-size:22px;width:40px;height:40px;padding:0;border-radius:8px;cursor:pointer;flex-shrink:0;align-items:center;justify-content:center}.hamburger-btn:hover{background:var(--hover-bg)}.voice-pill-container{position:fixed;bottom:24px;right:24px;z-index:1200;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.voice-pill{display:flex;align-items:center;gap:6px;width:auto;padding:8px 14px;border-radius:24px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid var(--border);background:var(--tab-bg);color:var(--muted);box-shadow:0 4px 16px var(--shadow);transition:all .25s ease}.voice-pill:hover{background:var(--hover-bg);border-color:var(--accent);color:var(--text)}.voice-pill--active{background:#10b98126;border-color:var(--ok);color:var(--ok);animation:voice-pulse 2s ease-in-out infinite}.voice-pill--active:hover{background:#10b98140;border-color:var(--ok);color:var(--ok)}.voice-pill-label{white-space:nowrap}.voice-transcript{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:6px 12px;font-size:11px;color:var(--muted);max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 4px 12px var(--shadow);animation:voice-fade-in .2s ease}@keyframes voice-pulse{0%,to{box-shadow:0 0 #10b9814d}50%{box-shadow:0 0 0 8px #10b98100}}@keyframes voice-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.voice-pill-container{bottom:72px;right:16px}}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:90}@media (max-width: 900px){.main{padding:14px 16px 32px}.progressGrid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}}@media (max-width: 768px){.app-shell{grid-template-columns:1fr;grid-template-rows:1fr auto}.nav-bar{flex-direction:row;position:fixed;bottom:0;left:0;right:0;height:56px;max-height:56px;padding:4px 8px;gap:0;border-right:none;border-top:1px solid var(--border);z-index:100;justify-content:space-around;overflow:visible;background:linear-gradient(0deg,var(--nav-end),var(--nav-start))}.nav-item{width:auto;height:48px;min-width:48px;flex:1;border-radius:8px}.nav-spacer{display:none}.nav-badge{top:2px;right:calc(50% - 18px)}.main{padding:10px 12px 72px;max-height:none;overflow-y:visible}.sidebar-overlay{display:none}.card{padding:10px;margin:8px 0}.examPanel{padding:12px}.progressGrid{grid-template-columns:1fr 1fr;gap:8px}.statValue{font-size:20px}.table{display:block;overflow-x:auto;white-space:nowrap}.modalOverlay{padding:10px}.modal{max-width:100%;max-height:90vh;padding:14px}.modalWide{max-width:100%}.adminFormGrid{grid-template-columns:1fr}.examHeader{flex-direction:column;gap:8px}.adminFilterRow{flex-direction:column}.adminFilterRow select,.adminFilterRow input,.adminFilterRow button{width:100%}.tab-bar{flex-wrap:nowrap;overflow-x:auto}.tab-btn{flex:none;white-space:nowrap}.app-shell.focus-mode{grid-template-rows:1fr}.focus-main{padding:10px 12px 72px}}@media (max-width: 480px){.main{padding:8px 8px 68px}.card{padding:8px}.examPanel{padding:10px}button{min-height:44px;font-size:14px}.optionBtn{padding:14px;font-size:14px}select,input[type=text]{min-height:44px;font-size:14px}.nav-item{height:44px}.nav-icon{font-size:18px}.nav-label{font-size:9px}.progressGrid{grid-template-columns:1fr}.qText{font-size:14px;padding:10px}.row{flex-direction:column;align-items:stretch}.h1{font-size:16px}.p{font-size:12px}}
