:root{--ink:#141613;--ink-dim:#4e5449;--ink-faint:#6e7568;--bg-0:#fafbf7;--bg-1:#f1f3ec;--bg-2:#e6e9df;--line:#d8dccd;--olive:#4f5b18;--olive-dim:#7c8a45;--amber:#96500a;--bg:var(--bg-0);--fg:var(--ink);--muted:var(--ink-dim);--faint:var(--ink-faint);--panel:var(--bg-1);--raised:var(--bg-2);--accent:var(--olive);--accent-dim:var(--olive-dim);--ok:#10646e;--warn:var(--amber);--danger:#a4262c;--ok-soft:rgba(16,100,110,.07);--warn-soft:rgba(150,80,10,.07);--danger-soft:rgba(164,38,44,.06);--accent-soft:rgba(79,91,24,.07);--accent-line:rgba(79,91,24,.3);--ok-line:rgba(16,100,110,.36);--warn-line:rgba(150,80,10,.34);--danger-line:rgba(164,38,44,.34);--ok-text:#0d515a;--warn-text:#7a4108;--danger-text:#8c2025;--veil:rgba(0,0,0,.016);--veil-2:rgba(0,0,0,.004);--soft:rgba(0,0,0,.02);--soft-hover:rgba(0,0,0,.045);--card-bg:linear-gradient(180deg,var(--veil),var(--veil-2));--chrome-bg:rgba(250,251,247,.85);--chrome-solid:rgba(250,251,247,.94);--autofill:#eef1e8;--select:rgba(79,91,24,.16);--on-accent:#ffffff;--accent-hover:#3d4711;--accent-glow:rgba(79,91,24,.1);--accent-wash:rgba(79,91,24,.08);--focus-ring:rgba(79,91,24,.14);--wash-2:rgba(53,46,115,.06);--shadow-card:0 18px 50px rgba(0,0,0,.10);--seal-ring:rgba(0,0,0,.1);--seal-shadow:rgba(0,0,0,.12);--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;color-scheme:light}:root[data-theme=dark]{--ink:#e9ede6;--ink-dim:#a6ac9e;--ink-faint:#7b8175;--bg-0:#101210;--bg-1:#171a16;--bg-2:#20241e;--line:#31362c;--olive:#a8b96b;--olive-dim:#66753a;--amber:#dfa94a;--ok:#56b9c4;--danger:#e08a8a;--ok-soft:rgba(86,185,196,.10);--warn-soft:rgba(223,169,74,.09);--danger-soft:rgba(224,138,138,.08);--accent-soft:rgba(168,185,107,.09);--accent-line:rgba(168,185,107,.28);--ok-line:rgba(86,185,196,.42);--warn-line:rgba(223,169,74,.36);--danger-line:rgba(224,138,138,.4);--ok-text:#8fd3da;--warn-text:#e8c288;--danger-text:#e8a1a1;--veil:rgba(255,255,255,.028);--veil-2:rgba(255,255,255,.008);--soft:rgba(255,255,255,.02);--soft-hover:rgba(255,255,255,.05);--chrome-bg:rgba(16,18,16,.82);--chrome-solid:rgba(16,18,16,.92);--autofill:#191d18;--select:rgba(168,185,107,.22);--on-accent:#1b2008;--accent-hover:#bccb84;--accent-glow:rgba(168,185,107,.08);--accent-wash:rgba(168,185,107,.11);--focus-ring:rgba(168,185,107,.16);--wash-2:rgba(94,88,168,.10);--shadow-card:0 18px 50px rgba(0,0,0,.38);--seal-ring:rgba(255,255,255,.14);--seal-shadow:rgba(0,0,0,.4);color-scheme:dark}*{box-sizing:border-box}body,html{background:var(--bg)}body{margin:0;color:var(--fg);font:15.5px/1.65 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-underline-offset:2px}::selection{background:var(--select)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.shell{max-width:1080px;margin:0 auto;padding:32px 24px 88px}header.top{position:-webkit-sticky;position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--chrome-bg);border-bottom:1px solid var(--line)}header.top .inner{max-width:1080px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}header.top strong{font-size:15px;font-weight:680;letter-spacing:-.02em;display:flex;align-items:center;gap:10px}header.top nav{display:flex;gap:20px;font-size:14px;flex-wrap:wrap}header.top nav a{color:var(--muted);text-decoration:none;transition:color .2s}header.top nav a:hover{color:var(--fg)}.seal{background:#fff;border-radius:50%;display:block;padding:3px;object-fit:contain;box-shadow:0 0 0 1px var(--seal-ring),0 2px 10px var(--seal-shadow)}.seal-sm{width:30px;height:30px}@media (max-width:560px){.brand-long{display:none}}.seal-md{width:58px;height:58px;padding:4px}.seal-lg{width:96px;height:96px;padding:6px;margin:0 auto 26px}h1,h2,h3{letter-spacing:-.025em;line-height:1.2;margin:0}h1{font-size:27px;font-weight:650;margin-bottom:6px}h2{font-size:18px;margin:32px 0 12px}h2,h3{font-weight:640}h3{font-size:15.5px}p.sub{color:var(--muted);margin:0 0 26px;font-size:14.5px;max-width:66ch}.eyebrow{font-size:11.5px;font-weight:680;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);display:flex;align-items:center;gap:10px;margin-bottom:10px}.eyebrow:before{content:"";width:26px;height:1px;background:var(--accent-dim);flex:none}.hint{color:var(--muted);font-size:13px;font-weight:400}.faint{color:var(--faint)}.empty{color:var(--muted);padding:34px 0;font-size:14.5px}.mono{font-family:var(--mono)}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:12px;vertical-align:top;border-bottom:1px solid var(--line)}th{font-size:10.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:680}tbody tr:hover{background:var(--panel)}.theme-switch{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--line);border-radius:999px;background:var(--soft)}.theme-switch .lbl{font-size:11px;font-weight:680;letter-spacing:.09em;text-transform:uppercase;color:var(--faint);padding:0 8px 0 10px}.theme-switch button{font:inherit;font-size:12.5px;font-weight:620;padding:4px 13px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--muted);cursor:pointer;transition:background .18s,color .18s,border-color .18s}.theme-switch button:hover{color:var(--fg)}.theme-switch button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}@media (max-width:520px){.theme-switch .lbl{display:none}}.tag{display:inline-block;padding:2px 9px;border-radius:999px;font-size:11px;font-weight:680;border:1px solid var(--line);text-transform:uppercase;letter-spacing:.06em}.tag,.tag.draft{color:var(--muted)}.tag.in_review{color:var(--warn);border-color:var(--warn-line);background:var(--warn-soft)}.tag.active{color:var(--ok);border-color:var(--ok-line);background:var(--ok-soft)}.tag.archived{color:var(--danger);border-color:var(--danger-line);background:var(--danger-soft)}.status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:660;letter-spacing:.03em}.status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.status.ok{color:var(--ok)}.status.pending{color:var(--warn)}.status.bad{color:var(--danger)}.status.none,.status.retired{color:var(--muted)}.status.retired:before{background:transparent;box-shadow:inset 0 0 0 1px currentColor}form.stack{display:grid;grid-gap:17px;gap:17px;max-width:720px}label{display:grid;grid-gap:6px;gap:6px;font-size:13px;font-weight:620}input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{font:inherit;font-size:15px;padding:10px 13px;width:100%;color:var(--fg);background:var(--bg-0);border:1px solid var(--line);border-radius:8px;transition:border-color .18s,box-shadow .18s}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-soft)}textarea{min-height:84px;resize:vertical;line-height:1.6}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-text-fill-color:var(--fg);-webkit-box-shadow:0 0 0 1000px var(--autofill) inset;caret-color:var(--fg)}button{font:inherit;font-size:14.5px;font-weight:620;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 19px;border-radius:8px;cursor:pointer;border:1px solid transparent;background:var(--accent);color:var(--on-accent);transition:background .2s,border-color .2s,transform .18s ease,opacity .2s}button:hover:not(:disabled){background:var(--accent-hover)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}button.secondary{background:var(--soft);color:var(--fg);border-color:var(--line)}button.secondary:hover:not(:disabled){background:var(--soft-hover);border-color:var(--accent-dim)}button.danger{background:transparent;border-color:var(--danger-line);color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.card{border:1px solid var(--line);border-radius:13px;padding:22px;background:var(--card-bg)}.notice{padding:13px 15px;border-radius:9px;border:1px solid var(--line);background:var(--soft);color:var(--muted);font-size:14px;line-height:1.6;margin-bottom:18px}.notice strong{color:var(--fg);font-weight:640}.notice.error{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger-text)}.notice.error strong{color:var(--danger)}.notice.warn{border-color:var(--warn-line);background:var(--warn-soft);color:var(--warn-text)}.notice.warn strong{color:var(--amber)}.notice.ok{border-color:var(--ok-line);background:var(--ok-soft);color:var(--ok-text)}.notice code,code{font-family:var(--mono);font-size:12.5px;background:var(--raised);border:1px solid var(--line);border-radius:4px;padding:1px 5px;color:var(--fg)}.choice{display:grid;grid-template-columns:1fr 130px 92px 34px;grid-gap:10px;gap:10px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:9px;margin-bottom:9px;background:var(--panel)}.choice.correct{border-color:var(--ok-line);background:var(--ok-soft)}.journey{display:grid;grid-gap:0;gap:0;margin-top:28px}.jstep{display:grid;grid-template-columns:42px 1fr auto;grid-gap:18px;gap:18px;align-items:start;padding:18px 0;position:relative;border-bottom:1px solid var(--line)}.jstep:last-child{border-bottom:none}.jstep .mark{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:12.5px;font-weight:680;border:1px solid var(--line);color:var(--faint);background:var(--raised);margin-top:1px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.jstep.done .mark{border-color:var(--ok-line);color:var(--ok)}.jstep.available .mark{border-color:var(--accent-dim);color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.jstep .title{font-weight:640;font-size:15px}.jstep .detail,.jstep.locked .title{color:var(--muted)}.jstep .detail{font-size:13.5px;margin-top:3px}.jstep .blocked{font-size:13px;color:var(--warn);margin-top:6px}.exam{max-width:780px}.exam .qcard{border:1px solid var(--line);border-radius:13px;padding:22px;margin-bottom:16px;background:var(--card-bg)}.exam .stem{font-size:16px;font-weight:620;margin-bottom:15px;line-height:1.55}.exam .qnum{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:680;margin-bottom:9px}.exam .opt{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:9px;padding:12px 15px;margin-bottom:9px;cursor:pointer;background:var(--bg-0);font-size:14.5px;line-height:1.5;transition:border-color .15s,background .15s}.exam .opt:hover{border-color:var(--accent-dim)}.exam .opt input{margin:3px 0 0;width:auto;flex:none;accent-color:var(--teal)}.exam .opt:has(input:checked){border-color:var(--accent-dim);background:var(--accent-soft)}.exam .sticky-submit{position:-webkit-sticky;position:sticky;bottom:0;background:var(--chrome-solid);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:15px 0;margin-top:10px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.exam .survey-section{font-size:13px;font-weight:640;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin:32px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}.exam section:first-of-type .survey-section{margin-top:8px}.exam .opt-other{align-items:center;gap:10px}.exam .opt-other>span{color:var(--muted);flex:none}.exam .opt-other input[type=text]{margin:0;flex:1 1;min-width:0}.result-banner{border-radius:13px;padding:24px;margin-bottom:24px;border:1px solid var(--line);background:var(--card-bg)}.result-banner.pass{border-color:var(--ok-line);background:var(--ok-soft)}.result-banner.fail{border-color:var(--warn-line);background:var(--warn-soft)}.result-banner h2{margin:0 0 7px;font-size:21px}.result-banner .score{font-size:13.5px;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.objective{border:1px solid var(--line);border-left:3px solid var(--warn);border-radius:9px;padding:14px 16px;margin-bottom:10px;background:var(--soft)}.objective .code{font-size:11px;font-weight:700;letter-spacing:.09em;color:var(--warn);text-transform:uppercase}@media (max-width:720px){.shell{padding:24px 18px 64px}header.top .inner{padding:12px 18px;gap:14px}h1{font-size:23px}}