:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color-scheme:dark;--bg:#0a1020;--panel:#111a2e;--panel2:#162138;--text:#e9eef9;--muted:#91a0b8;--border:#22304b;--brand:#4f8cff;--brand2:#7c5cff;--danger:#fb7185;--shadow:0 18px 45px rgba(0,0,0,.28)}:root[data-theme=light]{color-scheme:light;--bg:#f5f7fb;--panel:#fff;--panel2:#f2f5fa;--text:#172033;--muted:#65738b;--border:#dce3ee;--brand:#2563eb;--brand2:#6d28d9;--shadow:0 18px 45px rgba(31,45,70,.1)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:255px;background:linear-gradient(180deg,#0c1426,#0a1020);border-right:1px solid #1b2941;padding:24px 18px;display:flex;flex-direction:column;z-index:10}:root[data-theme=light] .sidebar{background:#fff;border-color:var(--border)}.brand{display:flex;gap:12px;align-items:center;margin-bottom:38px}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--brand),var(--brand2));display:grid;place-items:center;font-weight:800;color:#fff}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:11px;margin-top:3px}.sidebar nav{display:grid;gap:8px}.sidebar nav a,.ghost{border:0;background:transparent;color:var(--muted);padding:12px 14px;border-radius:11px;text-align:left;cursor:pointer}.sidebar nav a.router-link-active{background:#4f8cff1f;color:var(--text)}.sidebar-footer{margin-top:auto;display:grid;gap:5px}.ghost.danger:hover{color:var(--danger)}.main{margin-left:255px;min-height:100vh}.main.no-shell{margin-left:0}.page{max-width:1240px;margin:auto;padding:42px 42px 80px}.page-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;margin-bottom:28px}.page-head h1{font-size:36px;line-height:1.05;margin:8px 0 10px;letter-spacing:-.03em}.page-head p{color:var(--muted);max-width:760px;margin:0;line-height:1.6}.eyebrow{color:#74a4ff;font-size:12px;font-weight:800;letter-spacing:.12em}.back{display:block;color:var(--muted);font-size:13px;margin-bottom:16px}.notice,.warning{padding:16px 18px;border:1px solid rgba(245,158,11,.25);background:#f59e0b14;border-radius:14px;margin:20px 0 34px;line-height:1.55}.warning{color:#fbbf24}.section-title{display:flex;align-items:end;justify-content:space-between;margin:30px 0 16px}.section-title h2{margin:0;font-size:20px}.section-title a{color:#7da9ff;font-size:13px}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.module-card{--accent:#60a5fa;padding:22px;border:1px solid var(--border);background:var(--panel);border-radius:18px;box-shadow:var(--shadow);transition:.2s transform,.2s border-color}.module-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}.module-top,.module-meta{display:flex;justify-content:space-between;align-items:center}.module-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 20px var(--accent)}.weight,.module-meta{color:var(--muted);font-size:12px}.module-card h3{margin:18px 0 8px;font-size:19px}.module-card p{color:var(--muted);line-height:1.5;min-height:46px}.bar{height:6px;background:var(--panel2);border-radius:10px;overflow:hidden;margin:20px 0 10px}.bar i{display:block;height:100%;background:var(--accent);border-radius:10px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:28px}.quick{padding:20px;border:1px solid var(--border);border-radius:16px;background:var(--panel2)}.quick strong,.quick span{display:block}.quick span{color:var(--muted);font-size:13px;margin-top:6px}.ring{width:var(--s);height:var(--s);border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--brand) var(--p),var(--panel2) 0)}.ring:before{content:"";width:calc(var(--s) - 12px);height:calc(var(--s) - 12px);background:var(--panel);border-radius:50%;position:absolute}.ring div{z-index:1;font-size:13px;font-weight:800}.ring{position:relative}.objective-box{background:linear-gradient(135deg,#4f8cff1a,#7c5cff14);border:1px solid rgba(79,140,255,.2);padding:20px 24px;border-radius:16px}.objective-box h3{margin-top:0}.objective-box li{margin:8px 0;color:var(--muted)}.topic-list{display:grid;gap:14px}.topic-card{display:flex;gap:16px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px}.topic-check input{width:20px;height:20px;accent-color:var(--brand)}.topic-body{flex:1}.topic-body h3{margin:0 0 7px}.topic-body p{color:var(--muted);line-height:1.55;margin:0 0 13px}.topic-body textarea{width:100%;min-height:78px;margin-top:14px;background:var(--panel2);border:1px solid var(--border);border-radius:10px;color:var(--text);padding:12px;resize:vertical}.source-chips{display:flex;flex-wrap:wrap;gap:6px}.source-chips a{font-size:11px;color:#91b5ff;border:1px solid rgba(79,140,255,.25);background:#4f8cff14;padding:5px 8px;border-radius:20px}.material-list{display:grid;gap:8px}.material-row{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--border);background:var(--panel);border-radius:12px}.file-icon{font-size:10px;font-weight:800;padding:8px 6px;text-align:center;border-radius:8px;background:var(--panel2);color:#8ab0ff}.material-row strong,.material-row small{display:block}.material-row small{color:var(--muted);margin-top:4px}.status{font-size:11px;padding:6px 8px;border-radius:20px;white-space:nowrap}.status.ok{color:#34d399;background:#34d3991a}.status.pending{color:#fbbf24;background:#fbbf241a}.toolbar{display:flex;gap:10px;margin:22px 0;flex-wrap:wrap}.toolbar input,.toolbar select{background:var(--panel);border:1px solid var(--border);color:var(--text);padding:11px 12px;border-radius:10px;min-width:220px}.primary,.secondary,.button-link,.mini{border:0;border-radius:10px;padding:11px 16px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:700}.secondary,.button-link,.mini{background:var(--panel2);border:1px solid var(--border);color:var(--text)}button:disabled{opacity:.55;cursor:not-allowed}.wide{width:100%}.library-table{border:1px solid var(--border);border-radius:16px;overflow:hidden}.lib-head,.lib-row{display:grid;grid-template-columns:1.8fr .6fr .35fr .35fr;gap:14px;align-items:center}.lib-head{padding:11px 16px;background:var(--panel2);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.lib-row{padding:16px;background:var(--panel);border-top:1px solid var(--border)}.lib-row:first-of-type{border-top:0}.lib-row strong,.lib-row small,.lib-row a{display:block}.lib-row small{color:var(--muted);margin-top:5px;line-height:1.4}.lib-row a{color:#7da9ff;font-size:11px;margin-top:7px}.tag{font-size:11px;color:var(--muted)}.row-actions{display:flex;gap:6px}.mini{padding:7px 9px;font-size:11px}.header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.viewer{height:72vh;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--panel)}.viewer iframe{width:100%;height:100%;border:0}.text-view{height:100%;overflow:auto;padding:22px;white-space:pre-wrap;line-height:1.55;color:var(--text);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}.empty-state{text-align:center;padding:80px 20px;border:1px dashed var(--border);border-radius:16px;background:var(--panel)}.empty-state p{color:var(--muted);max-width:540px;margin:auto}.quiz-list{display:grid;gap:16px}.quiz-card{display:grid;grid-template-columns:40px 1fr;gap:12px;padding:20px;background:var(--panel);border:1px solid var(--border);border-radius:16px}.qnum{width:34px;height:34px;border-radius:10px;background:var(--panel2);display:grid;place-items:center;font-weight:800}.quiz-card h3{margin:4px 0 14px;font-size:17px}.option{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid var(--border);border-radius:10px;margin:7px 0;cursor:pointer}.option:has(input:checked){border-color:#5b8df6;background:#4f8cff14}.option.correct{border-color:#34d399;background:#34d39914}.option.wrong{border-color:#fb7185;background:#fb718514}.option input{margin-top:3px;accent-color:var(--brand)}.explain{margin-top:13px;padding:13px;border-radius:10px;background:var(--panel2)}.explain p{color:var(--muted);line-height:1.5}.submit-quiz{margin-top:20px}.score-pill{padding:10px 13px;border-radius:30px;background:#4f8cff1a;color:#8ab0ff;font-weight:800}.score-pill.success{color:#34d399;background:#34d3991a}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,520px) 1fr}.login-card{padding:64px;display:flex;flex-direction:column;justify-content:center;background:var(--panel)}.login-badge{font-size:11px;color:#81aaff;letter-spacing:.12em;font-weight:800}.login-card h1{font-size:48px;margin:12px 0 8px;letter-spacing:-.04em}.login-card>p,.login-card>small{color:var(--muted);line-height:1.6}.login-card form{display:grid;gap:14px;margin:30px 0}.login-card label{display:grid;gap:7px;font-size:13px}.login-card input{padding:13px;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--text)}.error{color:var(--danger);font-size:13px}.login-art{position:relative;overflow:hidden;padding:9vw;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 70% 25%,rgba(79,140,255,.18),transparent 35%),radial-gradient(circle at 30% 80%,rgba(124,92,255,.18),transparent 30%),#08101f}.login-art h2{font-size:50px;max-width:760px;line-height:1.05;letter-spacing:-.04em;margin:14px 0;color:#f3f6fb}.login-art p{max-width:620px;color:#8fa0ba;font-size:17px;line-height:1.6}.hero-kicker{color:#79a4ff;font-size:12px;letter-spacing:.14em;font-weight:800}.orbit{position:absolute;border:1px solid rgba(119,160,255,.18);border-radius:50%}.o1{width:420px;height:420px;right:-100px;top:-80px}.o2{width:260px;height:260px;right:60px;top:0}.skeleton{color:var(--muted)}code{background:var(--panel2);padding:2px 5px;border-radius:5px}.danger{color:var(--danger)}@media(max-width:950px){.sidebar{width:78px;padding:18px 10px}.brand>div:last-child,.sidebar nav span,.sidebar-footer button{font-size:0}.brand{justify-content:center}.sidebar nav a{text-align:center;font-size:20px}.main{margin-left:78px}.page{padding:30px 22px 60px}.module-grid,.quick-grid,.login-page{grid-template-columns:1fr}.login-art{display:none}.login-card{min-height:100vh;padding:38px}.lib-head{display:none}.lib-row{grid-template-columns:1fr auto}.lib-row>.tag,.lib-row>.status{display:none}.page-head{flex-direction:column}.header-actions{justify-content:flex-start}}@media(max-width:600px){.sidebar{position:fixed;inset:auto 0 0;width:auto;height:64px;flex-direction:row;align-items:center;padding:8px 12px;border-right:0;border-top:1px solid var(--border)}.brand{display:none}.sidebar nav{display:flex;justify-content:space-around;width:100%}.sidebar nav a{padding:9px 18px}.sidebar-footer{display:none}.main{margin-left:0;padding-bottom:64px}.page{padding:24px 15px 50px}.page-head h1{font-size:30px}.material-row{grid-template-columns:45px 1fr}.material-row .status{display:none}.quiz-card{grid-template-columns:1fr}.qnum{margin-bottom:2px}.login-card{padding:26px}.toolbar input,.toolbar select{width:100%}}.row-error{color:#fbbf24;font-size:11px;margin-top:6px;line-height:1.4;display:block}.reader{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start}.reader-toc{position:sticky;top:24px;max-height:78vh;display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.toc-head{display:flex;justify-content:space-between;align-items:baseline}.toc-head span{color:var(--muted);font-size:11px}.reader-toc input{background:var(--panel2);border:1px solid var(--border);color:var(--text);padding:9px 10px;border-radius:9px}.reader-toc nav{overflow:auto;display:grid;gap:2px;padding-right:4px}.toc-item{text-align:left;background:transparent;border:0;color:var(--muted);padding:7px 9px;border-radius:8px;cursor:pointer;font-size:12.5px;line-height:1.35}.toc-item:hover{background:var(--panel2);color:var(--text)}.toc-item.here{color:var(--text)}.toc-item.lvl-2{padding-left:9px;font-weight:600}.toc-item.lvl-3{padding-left:20px}.toc-item.lvl-4{padding-left:30px;font-size:12px}.reader-main{border:1px solid var(--border);border-radius:16px;background:var(--panel);overflow:hidden;min-width:0}.reader-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--panel2);flex-wrap:wrap}.reader-meta{color:var(--muted);font-size:12px}.doc-view{height:72vh;overflow:auto;padding:34px 42px;line-height:1.65;font-size:15.5px}.doc-view h1,.doc-view h2,.doc-view h3,.doc-view h4{line-height:1.25;margin:1.6em 0 .6em;letter-spacing:-.01em}.doc-view h1{font-size:26px}.doc-view h2{font-size:21px}.doc-view h3{font-size:17px}.doc-view h4{font-size:15px}.doc-view h2,.doc-view h3{scroll-margin-top:20px}.doc-view p{margin:0 0 1em}.doc-view a{color:#7da9ff;text-decoration:underline;text-underline-offset:2px}.doc-view ul,.doc-view ol{padding-left:1.4em;margin:0 0 1em}.doc-view li{margin:.35em 0}.doc-view blockquote{margin:1em 0;padding:2px 16px;border-left:3px solid var(--brand);color:var(--muted)}.doc-view table{border-collapse:collapse;width:100%;margin:1em 0;font-size:13.5px;display:block;overflow-x:auto}.doc-view th,.doc-view td{border:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top}.doc-view th{background:var(--panel2)}.doc-view hr{border:0;border-top:1px solid var(--border);margin:1.6em 0}.doc-view pre{background:var(--panel2);padding:14px;border-radius:10px;overflow:auto}.pager{display:flex;align-items:center;justify-content:center;gap:14px;padding:12px;border-top:1px solid var(--border);color:var(--muted);font-size:13px}.mode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;margin:8px 0 4px}.mode-card{text-align:left;padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--panel);color:var(--text);cursor:pointer;transition:.15s border-color,.15s transform}.mode-card:hover{transform:translateY(-2px)}.mode-card.active{border-color:var(--brand);background:#4f8cff14}.mode-card p{color:var(--muted);font-size:13px;line-height:1.5;margin:8px 0 12px}.mode-meta{display:flex;flex-wrap:wrap;gap:6px}.mode-meta span{font-size:11px;color:var(--muted);border:1px solid var(--border);padding:3px 7px;border-radius:20px}.bank-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:22px}.bank-stats>div{padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--panel2)}.bank-stats strong{display:block;font-size:24px}.bank-stats span{color:var(--muted);font-size:12px}.exam-timer{text-align:right}.exam-timer strong{display:block;font-size:30px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.exam-timer span{color:var(--muted);font-size:12px}.exam-timer.urgent strong{color:var(--danger)}.exam-layout{display:grid;grid-template-columns:1fr 250px;gap:18px;align-items:start}.exam-crumbs{display:flex;gap:8px;align-items:center;margin-bottom:12px;flex-wrap:wrap}.quiz-card.single{padding:28px}.case-box{border-left:3px solid var(--brand);background:var(--panel2);padding:14px 16px;border-radius:0 12px 12px 0;margin-bottom:16px}.case-box span{font-size:10px;font-weight:800;letter-spacing:.14em;color:#7da9ff}.case-box p{margin:6px 0 0;line-height:1.6;color:var(--text)}.case-box.repeated{opacity:.72}.option.chosen{border-color:#5b8df6;background:#4f8cff1a}.option span{flex:1;line-height:1.5}.exam-nav{position:sticky;top:24px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--panel);display:grid;gap:12px}.nav-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;max-height:44vh;overflow:auto}.nav-cell{aspect-ratio:1;border:1px solid var(--border);background:var(--panel2);color:var(--muted);border-radius:7px;font-size:11px;cursor:pointer}.nav-cell.done{background:#4f8cff33;color:var(--text);border-color:#3f6fd0}.nav-cell.flag{border-color:#f59e0b}.nav-cell.here{outline:2px solid var(--brand)}.result-head{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px;border-radius:18px;border:1px solid var(--border);background:var(--panel)}.result-head.ok{border-color:#34d39966;background:#34d39912}.result-head.fail{border-color:#fb718559;background:#fb71850f}.result-head h2{margin:8px 0;font-size:32px;letter-spacing:-.03em}.result-head p{color:var(--muted);margin:0}.result-actions{display:flex;gap:8px;align-items:flex-start}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:16px}.result-card{padding:18px;border:1px solid var(--border);border-radius:16px;background:var(--panel)}.result-card h3{margin:10px 0 6px;font-size:16px}.result-card strong{font-size:26px}.result-card strong.good{color:#34d399}.result-card strong.bad{color:var(--danger)}.result-card small{color:var(--muted);font-size:12px}.module-scores{display:grid;gap:8px}.module-score{display:grid;grid-template-columns:170px 1fr 60px;gap:12px;align-items:center;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.module-score span{color:var(--muted);font-size:13px}.module-score strong{text-align:right;font-size:13px}.module-score .bar{margin:0}.provider-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:10px 0}.provider-card{text-align:left;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--panel);color:var(--text);cursor:pointer}.provider-card.active{border-color:var(--brand);background:#4f8cff14}.provider-card.pending{opacity:.75}.provider-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.provider-card p{color:var(--muted);font-size:12.5px;line-height:1.5;margin:8px 0}.provider-card small{color:var(--muted);font-size:11px}.account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.account-card{padding:22px;border:1px solid var(--border);border-radius:16px;background:var(--panel);display:grid;gap:12px;align-content:start}.account-card h3{margin:0}.account-card label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.account-card input{padding:11px;background:var(--panel2);border:1px solid var(--border);border-radius:9px;color:var(--text)}.account-card small{color:var(--muted);font-size:12px}.session-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.session-row small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.mini.danger{color:var(--danger);border-color:#fb718559}.notice button{margin-left:8px}@media(max-width:1100px){.reader,.exam-layout{grid-template-columns:1fr}.reader-toc,.exam-nav{position:static;max-height:none}.nav-grid{grid-template-columns:repeat(10,1fr)}}@media(max-width:600px){.doc-view{padding:20px 16px;height:65vh;font-size:15px}.module-score{grid-template-columns:110px 1fr 50px}.exam-timer{text-align:left}}.mode-warning{display:block;margin-top:10px;color:#fbbf24;font-size:11.5px;line-height:1.45}
