:root{--primary:#2563eb;--primary-deep:#1d4ed8;--primary-ink:#1e40af;--primary-soft:#eff6ff;--primary-line:#bfdbfe;--page:#f4f8fc;--panel:#fff;--line:#e2e8f0;--line-soft:#f1f5f9;--line-strong:#cbd5e1;--ink:#0f172a;--ink-2:#1e293b;--ink-soft:#64748b;--ink-faint:#94a3b8;--good:#10b981;--good-deep:#059669;--good-ink:#065f46;--good-soft:#ecfdf5;--good-line:#a7f3d0;--bad:#ef4444;--bad-deep:#dc2626;--bad-ink:#b91c1c;--bad-soft:#fef2f2;--bad-line:#fecaca;--warn:#f59e0b;--warn-deep:#d97706;--warn-ink:#92400e;--warn-soft:#fffbeb;--warn-line:#fde68a;--sky-soft:#f0f9ff;--sky-ink:#075985;--sky-line:#bae6fd;--violet-soft:#f5f3ff;--violet-ink:#5b21b6;--violet-line:#ddd6fe;--felt:var(--primary);--pencil:var(--warn);--pencil-deep:var(--warn-deep);--f-display:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--f-body:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--shadow-card:0 2px 8px -2px #0e1e3e14, 0 1px 2px -1px #0e1e3e0a;--topbar:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}#__nuxt,body,html{height:100%}body{background:var(--page);color:var(--ink-2);font:500 14px/1.5 var(--f-body);-webkit-font-smoothing:antialiased;margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--primary);font-weight:600}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}h1,h2,h3{font-family:var(--f-display);color:var(--ink);text-wrap:balance;margin:0}h1{letter-spacing:-.03em;font-size:30px;line-height:1.15}h1,h2{font-weight:800}h2{letter-spacing:-.01em;font-size:18px}h3{font-size:15px;font-weight:700}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.soft{color:var(--ink-soft)}.small{font-size:13px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:800}.app{flex-direction:column;min-height:100%;display:flex}.topbar{z-index:30;height:var(--topbar);border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;gap:16px;padding:0 24px;position:sticky;top:0;box-shadow:0 1px 2px #0f172a0a}.brand,.topbar{align-items:center;display:flex}.brand{color:var(--ink);gap:10px;font-weight:800;text-decoration:none}.brand .logo{border-radius:10px;flex:none;width:36px;height:36px;display:block;box-shadow:0 2px #c7d2fe,0 0 0 1px #e0e7ff}.brand .word{letter-spacing:-.02em;font-size:20px}.brand i{color:var(--warn);font-style:normal}.brand small{letter-spacing:.08em;text-transform:uppercase;background:var(--primary-soft);color:var(--primary-ink);border:1px solid var(--primary-line);border-radius:99px;padding:2px 8px;font-size:11px;font-weight:800}.who{align-items:center;gap:10px;display:flex}.avatar{background:var(--primary);color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:12px;font-weight:800;display:grid;box-shadow:0 0 0 2px #dbeafe}.who .name{color:var(--ink-2);font-size:13px}.who .name,.who .role{font-weight:700;line-height:1.2}.who .role{color:var(--good-deep);font-size:11px}.who .out{white-space:nowrap;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:4px 8px;font-size:13px;font-weight:600}.who .out:hover{color:var(--bad-deep);background:var(--bad-soft)}.vr{background:var(--line);width:1px;height:24px}.shell{flex:1;grid-template-columns:256px 1fr;min-height:0;display:grid}.side{border-right:1px solid var(--line);top:var(--topbar);height:calc(100vh - var(--topbar));background:#fff;gap:20px;padding:16px;position:sticky;overflow-y:auto}.nav,.side{flex-direction:column;display:flex}.nav{gap:4px}.nav .group{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);padding:16px 12px 6px;font-size:11px;font-weight:800}.nav .group:first-child{padding-top:0}.nav a{color:#475569;border:1px solid #0000;border-radius:12px;justify-content:space-between;padding:8px 12px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.nav a,.nav a .lbl{align-items:center;gap:10px;display:flex}.nav a svg{width:18px;height:18px;color:var(--ink-faint);flex:none}.nav a:hover{color:var(--ink);background:#f8fafc}.nav a.on{background:var(--primary-soft);color:var(--primary-deep);border-color:#dbeafe;font-weight:700;box-shadow:0 1px 2px #2563eb14}.nav a.on svg{color:var(--primary)}.nav a.on .dot{background:var(--primary);border-radius:50%;width:6px;height:6px}.nav .count{background:var(--warn-soft);color:var(--warn-ink);border:1px solid var(--warn-line);border-radius:99px;padding:1px 8px;font-size:12px;font-weight:800}.nav .count.alert{background:var(--bad-soft);color:var(--bad-ink);border-color:var(--bad-line)}.hubcard{color:#475569;background:linear-gradient(135deg,#eff6ff,#eef2ff);border:1px solid #dbeafe;border-radius:16px;margin-top:auto;padding:12px 14px;font-size:12px}.hubcard b{color:#172554;margin-bottom:2px;font-size:13px;display:block}.main{flex-direction:column;gap:24px;width:100%;min-width:0;max-width:1216px;margin:0 auto;padding:32px 32px 56px}.head,.main{display:flex}.head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}.head p{color:var(--ink-soft);max-width:720px;margin:6px 0 0;font-size:14px}.head p b{color:var(--ink-2)}.panel{background:var(--panel);border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-card);border-radius:24px;flex-direction:column;gap:14px;padding:24px;display:flex}.grid2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spacer{flex:1}.btn{border:1px solid var(--line-strong);color:#334155;cursor:pointer;white-space:nowrap;box-shadow:0 2px 0 var(--line);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:700;text-decoration:none;transition:transform 80ms,box-shadow 80ms,background .15s;display:inline-flex}.btn:hover{background:#f8fafc}.btn:active:not([disabled]){transform:translateY(2px);box-shadow:0 0 #0000}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 4px 0 var(--primary-deep);font-weight:800}.btn.primary:hover{background:var(--primary-deep)}.btn.primary:active:not([disabled]){transform:translateY(3px)}.btn.good{background:var(--good);border-color:var(--good);color:#fff;box-shadow:0 4px 0 var(--good-deep);font-weight:800}.btn.good:hover{background:var(--good-deep)}.btn.danger{border-color:var(--bad-line);color:var(--bad-deep);box-shadow:0 2px 0 var(--bad-line);background:#fff}.btn.danger:hover{background:var(--bad-soft)}.btn.small{border-radius:10px;padding:5px 12px;font-size:12px}.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field label{color:#475569;font-size:12px;font-weight:700}.field input,.field select,.field textarea{border:1px solid var(--line-strong);background:#fff;border-radius:12px;width:100%;padding:9px 12px;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #dbeafe}.field textarea{resize:vertical;min-height:70px}.field .hint{color:var(--ink-soft);font-size:12px}.fields{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.badge{background:var(--primary-soft);color:var(--primary-ink);white-space:nowrap;border:1px solid #dbeafe;border-radius:99px;align-items:center;gap:4px;padding:2px 9px;font-size:11px;font-weight:800;line-height:1.5;display:inline-flex}.badge.draft{color:#475569;border-color:var(--line);background:#f1f5f9}.badge.reviewed{background:var(--warn-soft);color:var(--warn-ink);border-color:var(--warn-line)}.badge.good,.badge.live{background:var(--good-soft);color:var(--good-ink);border-color:var(--good-line)}.badge.bad,.badge.pulled{background:var(--bad-soft);color:var(--bad-ink);border-color:var(--bad-line)}.badge.sky{background:var(--sky-soft);color:var(--sky-ink);border-color:var(--sky-line)}.badge.college{background:var(--primary-soft);color:var(--primary-ink);border-color:#dbeafe}.badge.government{background:var(--violet-soft);color:var(--violet-ink);border-color:var(--violet-line)}.badge.more{color:var(--ink-soft)}.badge.more,.badge.retired{border-color:var(--line);background:#f1f5f9}.badge.retired{color:var(--ink-faint);text-decoration:line-through}.tablewrap{border:1px solid var(--line);background:var(--panel);border-radius:16px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);white-space:nowrap;background:#fff;font-size:11px;font-weight:800}td,th{border-bottom:1px solid var(--line-soft);padding:12px}td{vertical-align:top;font-weight:500}tr:last-child td{border-bottom:0}tr.click{cursor:pointer}tbody tr:hover td,tr.click:hover td{background:#f8fafc}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.num{font-weight:700}.clip,td.num{color:var(--ink-2)}.clip{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:520px;font-weight:600;display:-webkit-box;overflow:hidden}.tags{flex-wrap:wrap;gap:4px;min-width:120px;display:flex}.codes-block{flex-direction:column;gap:6px;margin-top:10px;display:flex}.codes{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2px 16px;display:grid}details>summary{cursor:pointer;color:var(--ink-2);font-size:14px;font-weight:700}.exampick{gap:14px}.examcat,.exampick{flex-direction:column;display:flex}.examcat{border-top:1px solid var(--line);gap:8px;padding-top:10px}.examcat:first-child{border-top:0;padding-top:0}.examgroup{flex-direction:column;gap:4px;display:flex}.examhead{justify-content:space-between;align-items:center;gap:10px;display:flex}.field .examopt{color:var(--ink-2);white-space:nowrap;font-weight:600}.field .examopt input{width:auto}.examopt{font-family:var(--f-mono);cursor:pointer;align-items:center;gap:4px;display:flex}.examopt.off{opacity:.4;cursor:not-allowed}.grouprow td{cursor:pointer;font-weight:700}.bar{background:#f1f5f9;border-radius:99px;height:12px;display:flex;overflow:hidden;box-shadow:inset 0 1px 2px #0f172a0f}.bar i{height:100%;display:block}.bar i:first-child{border-radius:99px 0 0 99px}.legend{color:var(--ink-soft);flex-wrap:wrap;gap:16px;font-size:12px;font-weight:600;display:flex}.legend span:before{content:"";vertical-align:-1px;background:var(--c);border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.note{border:1px solid #0000;border-radius:14px;padding:12px 14px;font-size:14px;font-weight:500}.note.err{background:var(--bad-soft);color:var(--bad-ink);border-color:var(--bad-line)}.note.ok{background:var(--good-soft);color:var(--good-ink);border-color:var(--good-line)}.note.info{background:var(--primary-soft);color:var(--primary-ink);border-color:#dbeafe}.preview{background:linear-gradient(135deg,#eff6ff,#eef2ff);border:1px solid #dbeafe;border-radius:20px;padding:16px}.pcard{border:2px solid var(--line);box-shadow:0 4px 0 var(--line-strong);background:#fff;border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex}.pcard .top{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;font-size:11px;font-weight:800;display:flex}.pcard .stem{color:var(--ink);font-size:18px;font-weight:700;line-height:1.35}.pcard .passage{color:var(--ink-soft);border-left:3px solid var(--line);padding-left:10px;font-size:13.5px}.pcard .opt{border:2px solid var(--line);border-bottom-width:4px;border-bottom-color:var(--line-strong);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:8px 10px;font-weight:600;display:flex}.pcard .opt.right{border-color:var(--good);border-bottom-color:var(--good-deep);background:var(--good-soft)}.pcard .bub{border:2px solid var(--line-strong);width:28px;height:28px;color:var(--ink-soft);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.pcard .opt.right .bub{background:var(--good);border-color:var(--good);color:#fff}.explain{color:var(--ink-2);margin-top:12px;font-size:14px}.explain b{color:var(--primary-deep)}.drawer-bg{z-index:40;background:#0f172a99;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:var(--page);flex-direction:column;gap:16px;width:min(980px,100%);height:100%;padding:28px;display:flex;overflow-y:auto;box-shadow:-12px 0 30px #00000026}.editor{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:20px;display:grid}.timeline{flex-direction:column;gap:6px;font-size:13px;display:flex}.timeline div{gap:10px;display:flex}.timeline .when{color:var(--ink-soft);font-variant-numeric:tabular-nums;min-width:128px;font-size:12px}.login{background:radial-gradient(circle at 20% 0,#dbeafe 0,transparent 45%),radial-gradient(circle at 100% 100%,#e0e7ff 0,transparent 40%),var(--page);place-items:center;min-height:100%;padding:16px;display:grid}.login .box{border:1px solid var(--line);width:min(420px,100%);box-shadow:0 4px 0 var(--line),0 20px 40px -20px #1e3a8a40;background:#fff;border-radius:24px;flex-direction:column;gap:16px;padding:32px;display:flex}.login .box .btn{padding:12px 16px;font-size:14px}.empty{text-align:center;color:var(--ink-soft);padding:32px}.kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;display:grid}.kpi{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:20px;flex-direction:column;gap:4px;padding:18px 20px;display:flex}.kpi b{letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:28px;font-weight:800;display:block}.metric{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:20px;flex-direction:column;gap:12px;padding:20px;transition:border-color .15s;display:flex}.metric:hover{border-color:var(--tone-line,var(--primary-line))}.metric .top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.metric .big{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.metric .big b{letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:36px;font-weight:800;line-height:1}.metric .big span{color:var(--tone,var(--ink-faint));font-size:13px;font-weight:700}.metric .foot{color:var(--ink-soft);align-items:baseline;gap:6px;font-size:12px;display:flex}.metric .foot:before{content:"";background:var(--tone,var(--ink-faint));border-radius:50%;flex:none;width:6px;height:6px;transform:translateY(-1px)}.steps{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.step{border:1px solid var(--tone-line,var(--line));background:#fff;border-radius:16px;flex-direction:column;gap:6px;padding:16px;display:flex;box-shadow:0 1px 2px #0f172a0a}.step .num{background:var(--tone-soft,var(--primary-soft));width:26px;height:26px;color:var(--tone-ink,var(--primary-ink));border-radius:8px;place-items:center;font-size:12px;font-weight:900;display:grid}.step h4{color:var(--ink);margin:4px 0 0;font-size:14px;font-weight:800}.step p{color:var(--ink-soft);margin:0;font-size:12px;line-height:1.6}.step.slate{--tone-soft:#dbeafe;--tone-ink:var(--primary-ink)}.step.amber{--tone-line:var(--warn-line);--tone-soft:#fef3c7;--tone-ink:var(--warn-ink);background:#fffbeb66}.step.indigo{--tone-soft:#e0e7ff;--tone-ink:#4338ca}.step.emerald{--tone-line:var(--good-line);--tone-soft:#d1fae5;--tone-ink:var(--good-ink);background:#ecfdf566}.badge.slate{color:#475569;border-color:var(--line);background:#f1f5f9}.badge.amber{color:var(--warn-ink);border-color:var(--warn-line);background:#fef3c7}.badge.indigo{color:#3730a3;background:#e0e7ff;border-color:#c7d2fe}.badge.emerald{color:var(--good-ink);border-color:var(--good-line);background:#d1fae5}.panel.tinted{background:linear-gradient(135deg,#fff,#eff6ff99);border-color:#dbeafe}.code{font-family:var(--f-mono);letter-spacing:.08em;font-size:22px;font-weight:700}@media (width<=860px){.topbar{padding:0 16px}.who .name,.who .role{display:none}.shell{grid-template-columns:1fr}.side{border-right:0;border-bottom:1px solid var(--line);height:auto;position:static}.hubcard{display:none}.main{padding:20px 16px 40px}.editor{grid-template-columns:1fr}h1{font-size:24px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.page{display:contents}
