:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-base:#0c1117;--color-base-deep:#080c11;--color-surface:#121a23;--color-surface-2:#16202b;--color-surface-elevated:#1b2633;--color-border:#edf3f91a;--color-border-strong:#edf3f92e;--color-text:#edf3f8;--color-text-muted:#edf3f9a3;--color-text-faint:#edf3f97a;--accent-h:36;--accent-s:55%;--accent-l:60%;--color-accent:hsl(var(--accent-h) var(--accent-s) var(--accent-l));--color-accent-bright:hsl(var(--accent-h) var(--accent-s) calc(var(--accent-l) + 14%));--color-accent-ink:#0d1117;--color-accent-soft:color-mix(in srgb, var(--color-accent) 16%, transparent);--color-accent-border:color-mix(in srgb, var(--color-accent) 42%, transparent);--color-accent-glow:color-mix(in srgb, var(--color-accent) 30%, transparent);--header-bg:#0c1117b8;--bg-glow:color-mix(in srgb, var(--color-accent) 10%, transparent);--dot-grid:#edf3f90d;--glass-bg:#121a238c;--glass-border:#edf3f91f;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Menlo, monospace;--font-scale:1;--text-hero:40px;--text-section:20px;--text-body:16px;--text-label:12px;--text-button:14px;--text-mono:13px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--radius:10px;--control-h:44px;--control-h-sm:36px;--ease-out:cubic-bezier(.2, 0, 0, 1);--dur-fast:.18s;--dur-med:.32s}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-base:#f2eee3;--color-base-deep:#e9e4d5;--color-surface:#faf7ee;--color-surface-2:#f2ecdc;--color-surface-elevated:#fdfbf4;--color-border:#3e36281a;--color-border-strong:#3e362829;--color-text:#2e2b26;--color-text-muted:#2e2b26a3;--color-text-faint:#2e2b2675;--color-accent-bright:hsl(var(--accent-h) calc(var(--accent-s) + 6%) 40%);--color-accent-ink:#12161b;--color-accent-soft:color-mix(in srgb, var(--color-accent) 15%, transparent);--color-accent-border:color-mix(in srgb, var(--color-accent) 42%, transparent);--color-accent-glow:color-mix(in srgb, var(--color-accent) 20%, transparent);--glass-bg:#faf7ee9e;--glass-border:#3e36281a;--header-bg:#faf7eecc;--bg-glow:color-mix(in srgb, var(--color-accent) 11%, transparent);--dot-grid:#3e36280d}[data-accent=teal]{--accent-h:175;--accent-s:46%;--accent-l:52%}[data-accent=blue]{--accent-h:212;--accent-s:55%;--accent-l:56%}[data-accent=violet]{--accent-h:262;--accent-s:50%;--accent-l:66%}[data-accent=rose]{--accent-h:6;--accent-s:60%;--accent-l:62%}[data-accent=green]{--accent-h:148;--accent-s:38%;--accent-l:50%}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(1200px 600px at 50% -10%, var(--bg-glow) 0%, transparent 60%), var(--color-base);color:var(--color-text);font-family:var(--font-sans);font-size:calc(var(--text-body) * var(--font-scale));-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.55}h1,h2,h3,p,ul,ol,figure{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}:focus-visible{outline:2px solid var(--color-accent-border);outline-offset:2px;border-radius:2px}::selection{background:var(--color-accent-soft)}:focus:not(:focus-visible){outline:none}.text-hero{font-size:calc(var(--text-hero) * var(--font-scale));font-weight:var(--weight-semibold);letter-spacing:-.02em;line-height:1.12}.text-section{font-size:calc(var(--text-section) * var(--font-scale));font-weight:var(--weight-semibold);letter-spacing:-.01em;line-height:1.3}.text-label{font-family:var(--font-mono);font-size:calc(var(--text-label) * var(--font-scale));font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase}.text-mono{font-family:var(--font-mono);font-size:calc(var(--text-mono) * var(--font-scale))}.muted{color:var(--color-text-muted)}.faint{color:var(--color-text-faint)}.accent-text{color:var(--color-accent-bright)}.container{width:100%;max-width:1080px;padding:0 var(--space-5);margin:0 auto}.stack-1{gap:var(--space-1);display:grid}.stack-2{gap:var(--space-2);display:grid}.stack-3{gap:var(--space-3);display:grid}.stack-4{gap:var(--space-4);display:grid}.stack-5{gap:var(--space-5);display:grid}.stack-6{gap:var(--space-6);display:grid}.row{align-items:center;gap:var(--space-3);display:flex}.row-between{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.screen-enter{animation:screen-in var(--dur-med) var(--ease-out) both}.step-enter{animation:step-in var(--dur-med) var(--ease-out) both}@keyframes screen-in{0%{opacity:0}to{opacity:1}}@keyframes step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pulse-accent{0%{box-shadow:0 0 0 0 var(--color-accent-glow)}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}@keyframes success-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes skeleton-pulse{0%,to{opacity:.55}50%{opacity:.9}}.hologram-zone{position:relative}.hologram-zone:before{content:"";border-radius:inherit;pointer-events:none;z-index:0;background-image:radial-gradient(circle, var(--dot-grid) 1px, transparent 1px);background-size:22px 22px;position:absolute;inset:0}.hologram-zone:after{content:"";border-radius:inherit;pointer-events:none;z-index:1;background:linear-gradient(180deg, transparent 0%, var(--color-accent-glow) 50%, transparent 100%);opacity:.5;background-size:100% 300%;animation:7s linear infinite hologram-scan;position:absolute;inset:0}.hologram-zone>*{z-index:2;position:relative}@keyframes hologram-scan{0%{background-position:0 -100%}to{background-position:0 200%}}.hover-lift{transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)}.hover-lift:hover{box-shadow:0 0 0 1px var(--color-accent-border), 0 10px 32px -16px var(--color-accent-glow);transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-h);padding:0 var(--space-5);border-radius:var(--radius);font-size:var(--text-button);font-weight:var(--weight-semibold);letter-spacing:-.01em;color:var(--color-text);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);white-space:nowrap;background:0 0;border:1px solid #0000;display:inline-flex}.btn--sm{height:var(--control-h-sm);padding:0 var(--space-4);font-size:13px}.btn--primary{background:var(--color-accent);color:var(--color-accent-ink);box-shadow:0 6px 18px -10px var(--color-accent-glow), inset 0 1px 0 #ffffff40;position:relative;overflow:hidden}.btn--primary:hover:not(:disabled){background:var(--color-accent-bright)}.btn--primary:after{content:"";transition:background-position var(--dur-med) var(--ease-out);background:linear-gradient(115deg,#0000 30%,#ffffff61 50%,#0000 70%) 180% 0/220% 100%;position:absolute;inset:0}.btn:active:not(:disabled){transform:translateY(1px)}.btn--primary:hover:not(:disabled):after{background-position:-40% 0}.btn--primary:disabled{background:var(--color-surface-2);color:var(--color-text-faint)}.btn--primary:disabled:after{display:none}.btn--secondary{border-color:var(--color-border-strong)}.btn--secondary:hover:not(:disabled){background:var(--color-surface-2)}.btn--secondary:disabled{color:var(--color-text-faint);border-color:var(--color-border)}.btn--ghost{color:var(--color-text-muted)}.btn--ghost:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-2)}.btn--ghost:disabled{color:var(--color-text-faint)}.btn:disabled{cursor:not-allowed}.btn--success{animation:pulse-accent .6s var(--ease-out)}.btn__spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.panel{border-radius:var(--radius);border:1px solid var(--color-border)}.panel--flat{background:0 0;border:none}.panel--elevated{background:var(--color-surface)}.panel--inset{background:var(--color-base-deep)}.panel--glass{background:var(--glass-bg);border-color:var(--glass-border);-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1)}.panel-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);display:flex}.panel-body{padding:var(--space-5)}.status{align-items:center;gap:var(--space-2);font-size:13px;display:inline-flex}.status--accent,.status--blocked{color:var(--color-accent-bright)}.status--muted{color:var(--color-text-faint)}.status--neutral{color:var(--color-text-muted)}.tag{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);font-family:var(--font-mono);font-size:11px;font-weight:var(--weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;display:inline-flex}.tag--high,.tag--accent{color:var(--color-accent-bright);border-color:var(--color-accent-border);background:var(--color-accent-soft)}.tag--medium{color:var(--color-text);border-color:var(--color-border-strong)}.tag--protected,.tag--active,.tag--compromised{color:var(--color-accent-bright);border-color:var(--color-accent-border);background:var(--color-accent-soft)}.tag--low{color:var(--color-text-faint)}.progress{align-items:center;gap:var(--space-3);display:flex}.progress__bars{flex:1;align-items:center;gap:6px;margin:0;padding:0;list-style:none;display:flex}.progress__bar{background:var(--color-border-strong);opacity:.5;height:2px;transition:background var(--dur-med) var(--ease-out), opacity var(--dur-fast) var(--ease-out);border-radius:2px;flex:1}.progress__bar.is-on{background:var(--color-accent-border);opacity:1}.progress__bar.is-current{background:var(--color-accent)}.progress__count{color:var(--color-text-faint);letter-spacing:.04em;font-size:11px}.progress-bar{background:var(--color-border);border-radius:2px;height:2px;overflow:hidden}.progress-bar__fill{background:var(--color-accent);height:100%;transition:width .4s var(--ease-out), background .3s var(--ease-out)}.skeleton{background:var(--color-surface-2);animation:1.4s ease-in-out infinite skeleton-pulse;display:inline-block}.state-block{text-align:center;justify-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-5);border:1px dashed var(--color-border-strong);border-radius:var(--radius);background:var(--color-base-deep);display:grid}.state-block__icon{border:1px solid var(--color-border-strong);width:40px;height:40px;color:var(--color-text-muted);border-radius:50%;place-items:center;display:grid}.completion{text-align:center;justify-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-5);border:1px solid var(--color-accent-border);border-radius:var(--radius);background:var(--color-accent-soft);display:grid}.completion--compact{padding:var(--space-5);text-align:left;justify-items:start}.completion__badge{background:var(--color-accent);width:40px;height:40px;color:var(--color-accent-ink);animation:success-pop .4s var(--ease-out);border-radius:50%;place-items:center;display:grid}.field{gap:var(--space-2);align-content:start;display:grid}.input{width:100%;height:var(--control-h);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font:inherit;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);font-size:15px}.input:hover{border-color:var(--color-border-strong)}.input:focus{border-color:var(--color-accent-border);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}.input::placeholder{color:var(--color-text-faint)}.input--mono{font-family:var(--font-mono);font-size:var(--text-mono)}.input--area{height:auto;padding:var(--space-3);resize:vertical;line-height:1.55}.input--num{font-family:var(--font-mono);text-align:center;width:72px}.event-log{font-family:var(--font-mono);font-size:var(--text-mono);margin:0;padding:0;line-height:1.7;list-style:none}.event-log--empty{padding:var(--space-4);color:var(--color-text-faint);font-size:13px}.event-log__line{gap:var(--space-2);border-bottom:1px solid var(--color-border);grid-template-columns:52px 64px 1fr;padding:2px 0;display:grid}.event-log__line:last-child{border-bottom:none}.event-log__level{color:var(--color-text-faint);font-weight:var(--weight-semibold);letter-spacing:.05em;font-size:11px}.event-log__time{color:var(--color-text-faint)}.event-log__line--warn .event-log__level,.event-log__line--warn .event-log__msg{color:var(--color-accent-bright)}.event-log__line--alert .event-log__level,.event-log__line--alert .event-log__msg{color:var(--color-accent)}.event-log__line--ok .event-log__level,.event-log__line--ok .event-log__msg{color:var(--color-accent-bright)}.event-log__line--live .event-log__level{align-items:center;gap:var(--space-1);color:var(--color-accent);display:inline-flex;position:relative}.event-log__line--live .event-log__level:before{content:"";background:var(--color-accent);width:6px;height:6px;box-shadow:0 0 8px var(--color-accent-glow);animation:pulse-accent 1.8s var(--ease-out) infinite;border-radius:50%}.event-log__msg{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shell{flex-direction:column;min-height:100%;display:flex}.shell__header{z-index:40;background:var(--header-bg);-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);border-bottom:1px solid var(--color-border);align-items:center;height:60px;display:flex;position:sticky;top:0}.shell__main{flex-direction:column;flex:1;display:flex}.shell__footer{border-top:1px solid var(--color-border);padding:var(--space-4) 0;margin-top:var(--space-8);background:var(--color-surface-2)}.footer-row{gap:var(--space-4)}.accentbar{align-items:center;gap:var(--space-2);display:flex}.accentbar--compact .accentbar__swatches{gap:2px}.accentbar__swatches{align-items:center;gap:var(--space-1);display:flex}.accentbar__swatch{cursor:pointer;width:28px;height:28px;transition:transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;padding:0;display:grid}.accentbar__swatch:hover{transform:translateY(-2px)}.accentbar__swatch.is-active{border-color:var(--color-accent-border);box-shadow:0 0 0 3px var(--color-accent-soft)}.accentbar__dot{border:1px solid var(--color-border-strong);border-radius:50%;width:16px;height:16px;display:block}.iconbtn{border-radius:var(--radius);width:36px;height:36px;color:var(--color-text-muted);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);place-items:center;display:grid}.iconbtn:hover{background:var(--color-surface-2);color:var(--color-text)}.iconbtn--menu{position:relative}.brand{align-items:center;gap:var(--space-2);display:inline-flex}.brand__mark{border-radius:var(--radius);border:1px solid var(--color-accent-border);width:30px;height:30px;color:var(--color-accent-bright);background:var(--color-accent-soft);place-items:center;display:grid}.brand__text{flex-direction:column;line-height:1.1;display:flex}.brand__text strong{font-size:14px;font-weight:var(--weight-semibold);letter-spacing:-.01em}.brand__sub{font-family:var(--font-mono);color:var(--color-text-faint);letter-spacing:.04em;font-size:11px}.topnav__primary{align-items:center;gap:var(--space-1);margin-left:auto;display:flex}.topnav__link{padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--color-text-muted);transition:color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);font-size:14px;position:relative}.topnav__link:hover{color:var(--color-text);background:var(--color-surface-2)}.topnav__link:after{content:"";left:var(--space-3);right:var(--space-3);background:var(--color-accent);transform-origin:0;height:2px;transition:transform var(--dur-med) var(--ease-out);border-radius:2px;position:absolute;bottom:2px;transform:scaleX(0)}.topnav__link:hover:after{transform:scaleX(.35)}.topnav__link.is-active{color:var(--color-text)}.topnav__link.is-active:after{transform:scaleX(1)}.topnav__progress{align-items:center;gap:var(--space-2);margin-left:var(--space-4);padding-left:var(--space-4);border-left:1px solid var(--color-border);display:flex}.topnav__progress-icon{border-radius:var(--radius);border:1px solid var(--color-border-strong);width:30px;height:30px;color:var(--color-text-muted);place-items:center;display:grid}.topnav__progress-text .text-mono{color:var(--color-text-faint);font-size:11px}.fontctl,.langctl{border:1px solid var(--color-border);border-radius:var(--radius);align-items:center;gap:2px;padding:2px;display:flex}.fontctl__btn{border-radius:calc(var(--radius) - 2px);width:28px;height:28px;font-size:11px}.fontctl__btn:disabled{opacity:.4;cursor:default}.fontctl__label{font-weight:var(--weight-semibold)}.fontctl__state{text-align:center;width:28px;color:var(--color-text-faint);font-size:11px}.langctl__btn{border-radius:calc(var(--radius) - 2px);min-width:28px;height:28px;font-family:var(--font-mono);font-size:11px;font-weight:var(--weight-semibold);color:var(--color-text-muted);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);padding:0 6px}.langctl__btn:hover{color:var(--color-text)}.langctl__btn.is-active{color:var(--color-accent-bright);background:var(--color-accent-soft)}@media (width<=1180px){.topnav__progress-text{display:none}}@media (width<=940px){.fontctl__state{display:none}}@media (width<=860px){.langctl,.fontctl,.accentbar .text-label{display:none}}.scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity var(--dur-med) var(--ease-out);z-index:50;background:#04070a8c;position:fixed;inset:0}.scrim.is-open{opacity:1;pointer-events:auto}.drawer{z-index:60;background:var(--color-surface);border-right:1px solid var(--color-border);width:min(360px,88vw);transition:transform var(--dur-med) var(--ease-out);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;transform:translate(-102%)}.drawer.is-open{transform:none}.drawer__head{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.drawer__list{padding:var(--space-3);flex:1;gap:2px;margin:0;list-style:none;display:grid;overflow-y:auto}.drawer__item{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border:1px solid #0000;display:flex}a.drawer__item:hover{background:var(--color-surface-2)}.drawer__item--locked{opacity:.55;cursor:not-allowed}.drawer__num{border-radius:var(--radius);border:1px solid var(--color-border);width:34px;height:34px;font-family:var(--font-mono);color:var(--color-text-muted);flex-shrink:0;place-items:center;font-size:12px;display:grid}.drawer__num.is-current{color:var(--color-accent-bright);border-color:var(--color-accent-border);background:var(--color-accent-soft)}.drawer__text{flex:1;gap:2px;min-width:0;display:grid}.drawer__title{font-size:14px;font-weight:var(--weight-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.drawer__topic{font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.drawer__lock{color:var(--color-text-faint);flex-shrink:0}.drawer__foot{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}.page{padding:var(--space-7) 0 var(--space-8);flex-direction:column;flex:1;display:flex}.page-head{gap:var(--space-3);max-width:680px;display:grid}.landing{padding:var(--space-8) 0;flex:1;align-items:center;display:flex}.landing__inner{gap:var(--space-6);max-width:720px;display:grid}.landing__title{font-size:clamp(calc(34px * var(--font-scale)), 6vw, calc(56px * var(--font-scale)))}.landing__lead{max-width:560px;font-size:calc(17px * var(--font-scale));line-height:1.6}.landing__facts{gap:var(--space-4);flex-wrap:wrap;display:flex}.fact{align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-family:var(--font-mono);font-size:13px;display:inline-flex}.landing__actions{align-items:center;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.landing__eyebrow .text-label{letter-spacing:.12em}.classlist{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.classrow{align-items:center;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);display:flex}a.classrow:hover{border-color:var(--color-border-strong);background:var(--color-surface-2);transform:translateY(-1px)}.classrow--locked{opacity:.55;cursor:not-allowed}.classrow__num{border-radius:var(--radius);border:1px solid var(--color-border);width:44px;height:44px;font-family:var(--font-mono);color:var(--color-text-muted);flex-shrink:0;place-items:center;font-size:13px;display:grid}.classrow__body{flex:1;gap:2px;min-width:0;display:grid}.classrow__title{font-size:16px;font-weight:var(--weight-semibold)}.classrow__topic{font-family:var(--font-mono);font-size:12px}.classrow__hint{font-size:13px}.classrow__status{flex-shrink:0}.classrow__arrow{color:var(--color-text-faint);flex-shrink:0}.classlead{gap:var(--space-6);grid-template-columns:1.4fr 1fr;align-items:stretch;display:grid}.classlead__copy{gap:var(--space-4);align-content:start;display:grid}.classlead__sim{gap:var(--space-2);padding:var(--space-6);align-content:center;justify-items:start;display:grid}.grid-2{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width<=760px){.classlead,.grid-2{grid-template-columns:1fr}.topnav__primary,.topnav__progress{display:none}}.landing__flow{justify-content:center;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.landing__flow-step{justify-items:center;gap:var(--space-1);min-width:64px;display:grid}.landing__flow-icon{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);width:42px;height:42px;transition:all .25s var(--ease-out);place-items:center;display:grid}.landing__flow-icon:hover{border-color:var(--color-accent-border);box-shadow:0 0 14px -4px var(--color-accent-glow);transform:translateY(-2px)}.landing__flow-arrow{transition:color .3s var(--ease-out), text-shadow .3s var(--ease-out)}.landing__flow-arrow:hover{text-shadow:0 0 8px var(--color-accent-glow)}.landing__model{transition:box-shadow .4s var(--ease-out)}.landing__model:hover{box-shadow:0 0 40px -12px var(--color-accent-glow)}.about-arch__flow{justify-content:center;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.about-arch__arrow{color:var(--color-accent);transition:text-shadow .3s var(--ease-out);font-size:20px}.about-arch__arrow:hover{text-shadow:0 0 10px var(--color-accent-glow)}@media (width<=640px){.landing__flow{gap:var(--space-1)}.landing__flow-step{min-width:52px}.landing__flow-icon{width:36px;height:36px}.about-arch__flow{flex-direction:column}.about-arch__arrow{transform:rotate(90deg)}}.lab{padding-bottom:var(--space-8);flex-direction:column;flex:1;display:flex}.lab__chrome{z-index:30;border-bottom:1px solid var(--color-border);background:var(--header-bg);-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);position:sticky;top:60px}.lab__chrome-inner{align-items:center;gap:var(--space-5);padding:var(--space-3) 0;display:flex}.lab__back{align-items:center;gap:var(--space-1);color:var(--color-text-muted);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out);font-size:14px;display:inline-flex}.lab__meta{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.lab__meta .text-label{font-size:11px}.lab__body{padding-top:var(--space-6)}body.lab-focus .shell__header,body.lab-focus .shell__footer{display:none}body.lab-focus .lab__chrome{top:0}body.lab-focus .lab{font-size:17px}body.lab-focus .text-section{font-size:24px}.step{max-width:1080px;margin:0 auto}.step-head{gap:var(--space-3);margin-bottom:var(--space-6);display:grid}.step-head__meta{gap:var(--space-2)}.step-head__guidance{max-width:640px}.step-body{margin-bottom:var(--space-5)}.step-foot{align-items:center;gap:var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--color-border);display:flex}.phase-badge{align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius);border:1px solid var(--color-border);color:var(--color-text-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-size:11px;display:inline-flex}.phase-badge--defend{color:var(--color-accent-bright);border-color:var(--color-accent-border);background:var(--color-accent-soft)}.killchain{gap:0;margin:0;padding:0;list-style:none;display:grid}.killchain__stage{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;display:flex;position:relative}.killchain__node{z-index:1;border:1px solid var(--color-border);border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;margin-top:2px;display:grid;position:relative}.killchain__stage:before{content:"";background:var(--color-border);width:1px;position:absolute;top:-8px;bottom:-8px;left:10px}.killchain__stage:first-child:before{display:none}.killchain__num{color:var(--color-text-faint);font-family:var(--font-mono);font-size:10px}.killchain__label{gap:1px;min-width:0;display:grid}.killchain__name{font-weight:var(--weight-medium);font-size:14px}.killchain__blurb{font-size:12px}.killchain__stage--done .killchain__node,.killchain__stage--done .killchain__name{color:var(--color-text-faint)}.killchain__stage--done .killchain__blurb{color:var(--color-text-faint);opacity:.7}.killchain__stage--current .killchain__node{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink);box-shadow:0 0 0 4px var(--color-accent-soft)}.killchain__stage--current .killchain__name{color:var(--color-accent-bright)}.killchain__stage--current:before{background:var(--color-accent-border)}.killchain__stage--blocked .killchain__node{border-color:var(--color-accent-border);color:var(--color-accent);background:var(--color-accent-soft)}.killchain__stage--blocked .killchain__name{color:var(--color-accent-bright)}.killchain__stage--future{opacity:.5}.killchain__arrow{color:var(--color-accent);animation:float 1.1s var(--ease-out) infinite;margin-left:auto}@keyframes float{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(3px)}}.killchain--compact .killchain__stage{padding:var(--space-2) 0}.killchain--compact .killchain__name{font-size:13px}.callout{border:1px solid var(--color-accent-border);background:var(--color-accent-soft);border-radius:var(--radius);padding:var(--space-4);gap:var(--space-3);display:grid}.callout .text-label{color:var(--color-accent-bright)}.callout--neutral{border-color:var(--color-border-strong);background:var(--color-surface)}.callout--neutral .text-label{color:var(--color-text-muted)}.rule-line{align-items:center;gap:var(--space-3);font-size:13px;display:flex}.rule-line__bar{background:var(--color-accent-border);width:40px;height:1px}@media (width<=760px){.lab__chrome-inner{gap:var(--space-3)}.lab__meta .text-label{display:none}.step-foot{flex-wrap:wrap}}.understand{gap:var(--space-5);grid-template-columns:1.05fr .95fr;align-items:start;display:grid}.understand__map{gap:var(--space-4);display:grid}.understand__status{gap:var(--space-2);padding:var(--space-4);display:grid}.understand__side{gap:var(--space-4);min-width:0;display:grid}.sysmap{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);gap:var(--space-2);background:var(--color-base-deep);display:grid}.sysmap__zone{gap:var(--space-2);display:grid}.sysmap__zone-label{color:var(--color-text-faint);font-size:10px}.sysmap__row{gap:var(--space-2);flex-wrap:wrap;display:flex}.sysmap__connector{color:var(--color-text-faint);justify-items:center;display:grid}.maplink{opacity:.6}.mapnode{text-align:left;min-width:150px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);gap:2px;display:grid}.mapnode:hover{border-color:var(--color-border-strong);background:var(--color-surface-2)}.mapnode.is-selected{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.mapnode__name{font-weight:var(--weight-semibold);font-size:14px}.mapnode__type{font-family:var(--font-mono);color:var(--color-text-muted);font-size:11px}.mapnode__tag{font-family:var(--font-mono);letter-spacing:.04em;color:var(--color-accent-bright);justify-self:start;font-size:10px}.inspector{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:var(--space-4);position:sticky;top:140px}.inspector__head{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.inspector__facts{gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr);display:grid}.inspector__fact{gap:2px;display:grid}.inspector__cia{gap:var(--space-3);display:grid}.cia-row{gap:var(--space-1);display:grid}.cia-row__label{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.cia-row__name{font-weight:var(--weight-medium)}.cia-row__bar{gap:4px;display:flex}.cia-row__seg{background:var(--color-border-strong);border-radius:2px;flex:1;height:3px}.cia-row__seg.is-filled{background:var(--color-accent)}.cia-row__hint{font-size:12px}.cia-list{padding-left:var(--space-4);color:var(--color-text-muted);gap:var(--space-1);margin:0;display:grid}.state-block--tall{align-content:center;min-height:220px}.recon{gap:var(--space-5);grid-template-columns:.9fr 1.1fr;align-items:start;display:grid}.recon__intel{padding:var(--space-4);gap:var(--space-4);display:grid}.recon__facts{gap:var(--space-3);display:grid}.recon__fact{gap:2px;display:grid}.recon__actions{gap:var(--space-3);display:grid}.recon__grid{gap:var(--space-2);display:grid}.recon__action{align-items:center;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);text-align:left;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);display:flex}.recon__action:hover{border-color:var(--color-border-strong);background:var(--color-surface-2)}.recon__action.is-on{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.recon__action-label{font-size:14px;font-weight:var(--weight-medium);flex:1}.recon__action svg{color:var(--color-text-muted)}.recon__action.is-on svg{color:var(--color-accent-bright)}.phish{gap:var(--space-5);grid-template-columns:1fr 1fr;align-items:start;display:grid}.phish__build{gap:var(--space-4);display:grid}.choice-group{gap:var(--space-2);display:grid}.choice-group__buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.choice{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);transition:all var(--dur-fast) var(--ease-out);font-size:13px}.choice:hover{border-color:var(--color-border-strong);color:var(--color-text)}.choice.is-on{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-bright)}.realism{gap:var(--space-2);display:grid}.realism__dots{gap:6px;display:flex}.realism__dot{background:var(--color-border);border-radius:3px;width:26px;height:5px}.realism__dot.is-filled{background:var(--color-accent)}.realism__score{color:var(--color-accent-bright)}.phish__preview{gap:var(--space-4);display:grid}.email-preview{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-base-deep)}.email-preview__head{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.email-preview__rows{padding:var(--space-3) var(--space-4);gap:var(--space-2);margin:0;display:grid}.email-preview__row{gap:var(--space-2);grid-template-columns:72px 1fr;display:grid}.email-preview__row dt{color:var(--color-text-faint);font-size:12px;font-family:var(--font-mono)}.exploit{gap:var(--space-5);grid-template-columns:1fr 1fr;align-items:start;display:grid}.exploit__main{gap:var(--space-4);display:grid}.exploit__vuln{padding:var(--space-4);gap:var(--space-3);display:grid}.success-glow{padding:var(--space-2) 0}.vuln-flow{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.vuln-flow__step{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);animation:step-in .4s var(--ease-out);font-size:13px;display:flex}.vuln-flow__idx{border:1px solid var(--color-accent-border);width:20px;height:20px;color:var(--color-accent-bright);font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:10px;display:grid}.exploit__side{gap:var(--space-4);display:grid}.persist{gap:var(--space-2);display:grid}.persist__choice{text-align:left;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);gap:2px;display:grid}.persist__choice:hover{border-color:var(--color-border-strong)}.persist__choice.is-on{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.persist__choice.is-on .persist__name{color:var(--color-accent-bright)}.persist__name{font-weight:var(--weight-medium);font-size:14px}.c2{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-base-deep);padding:var(--space-3);justify-items:center;gap:var(--space-2);display:grid}.c2__host{align-items:center;gap:var(--space-2);display:flex}.c2__line{align-items:center;gap:var(--space-2);font-size:13px;display:flex}.c2__rail{background:var(--color-accent-border);width:80px;height:2px}.c2__server{color:var(--color-accent-bright)}.objectives{gap:var(--space-5);grid-template-columns:1.1fr .9fr;align-items:start;display:grid}.objectives__grid{gap:var(--space-2);display:grid}.objective{gap:var(--space-1);text-align:left;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);display:grid}.objective:hover{border-color:var(--color-border-strong)}.objective.is-on{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.objective__head{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.objective__title{font-weight:var(--weight-semibold)}.objective.is-on .objective__title{color:var(--color-accent-bright)}.objectives__result{gap:var(--space-4);display:grid}.impact{padding:var(--space-4);gap:var(--space-3);display:grid}.impact-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--color-border);display:flex}@media (width<=900px){.understand,.recon,.phish,.exploit,.objectives{grid-template-columns:1fr}.inspector,.understand__side{position:static}.sysmap__row{flex-direction:column;align-items:stretch}.mapnode{min-width:0}}.defend-head{gap:var(--space-3);display:grid}.defense-intro{align-items:flex-start;gap:var(--space-4);padding:var(--space-4);display:flex}.defhead{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.defhead__identity{flex:1;gap:2px;min-width:220px;display:grid}.defhead__budget{font-size:22px;font-weight:600}.defhead__meter{align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);display:flex}.defhead__remaining{color:var(--color-text);font-size:18px;font-weight:600}.defhead__remaining.is-low{color:var(--color-accent-bright)}.pipeline{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-base-deep);padding:var(--space-4);gap:var(--space-1);display:grid}.pipeline__layer{gap:0;display:grid}.pipeline__line{background:var(--color-border-strong);width:2px;height:10px;margin-left:9px}.pipeline__row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.pipeline__dot{border:1px solid var(--color-border);width:20px;height:20px;color:var(--color-accent-ink);border-radius:50%;place-items:center;display:grid}.pipeline__dot.is-active{background:var(--color-accent);border-color:var(--color-accent)}.pipeline__name{font-weight:var(--weight-medium);font-size:13px}.pipeline__chips{gap:var(--space-1);flex-wrap:wrap;display:flex}.controls{gap:var(--space-2);display:grid}.control{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);transition:border-color var(--dur-fast) var(--ease-out)}.control:hover{border-color:var(--color-border-strong)}.control.is-on{border-color:var(--color-accent-border);background:var(--color-surface-2)}.control__row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;display:flex}.control__checkbox{opacity:0;pointer-events:none;position:absolute}.control__box{border:1px solid var(--color-border-strong);border-radius:var(--radius);width:22px;height:22px;color:var(--color-accent-ink);transition:background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);flex-shrink:0;place-items:center;display:grid}.control.is-on .control__box{background:var(--color-accent);border-color:var(--color-accent)}.control__text{flex:1;gap:1px;min-width:0;display:grid}.control__name{font-weight:var(--weight-semibold);font-size:14px}.control.is-on .control__name{color:var(--color-accent-bright)}.control__what{font-size:13px}.control__trade{align-items:baseline;gap:var(--space-2);margin-top:var(--space-1);padding-top:var(--space-2);border-top:1px dashed var(--color-border);flex-wrap:wrap;font-size:13px;display:flex}.control__cost{flex-shrink:0;font-size:16px;font-weight:600}.control:not(.is-on) .control__cost{color:var(--color-text-faint)}.control__hint{align-items:center;gap:var(--space-1);padding:0 var(--space-4) var(--space-2) calc(var(--space-4) + 34px);color:var(--color-text-faint);font-size:12px;display:flex}.control__checkbox:focus-visible+.control__box{outline:2px solid var(--color-accent-border);outline-offset:2px}.control input:disabled+.control__box{opacity:.4}.replay{gap:var(--space-5);grid-template-columns:260px 1fr 320px;align-items:start;display:grid}.replay__chain{padding:var(--space-4);gap:var(--space-3);display:grid;position:sticky;top:140px}.replay__main{gap:var(--space-4);min-width:0;display:grid}.replay__flow{gap:var(--space-2);display:grid}.replay__step{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);display:flex}.replay__step.is-block{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.replay__idx{font-family:var(--font-mono);color:var(--color-text-faint);font-size:11px}.replay__stage{flex:1;gap:1px;min-width:0;display:grid}.replay__stage-name{font-weight:var(--weight-medium)}.replay__note{font-size:12px}.replay__outcome{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.verdict{border:1px solid var(--color-accent-border);background:var(--color-accent-soft);border-radius:var(--radius);padding:var(--space-4);gap:var(--space-2);display:grid}.replay__log{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-base-deep);padding:var(--space-4);gap:var(--space-3);display:grid}@media (width<=1080px){.replay{grid-template-columns:1fr}.replay__chain{grid-template-columns:1fr;display:grid;position:static}}.compare{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.compare__board{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:var(--space-4);gap:var(--space-1);display:grid}.compare__board--after{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.compare__head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.compare__row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-top:1px solid var(--color-border);font-size:13px;display:flex}.compare__board--after .compare__row{border-top-color:var(--color-accent-border)}.compare__row--total{padding-top:var(--space-3);margin-top:var(--space-1)}.result-row{gap:var(--space-5);grid-template-columns:340px 1fr;align-items:start;display:grid}.score{padding:var(--space-4);gap:var(--space-2);display:grid}.score__num{color:var(--color-accent-bright);font-size:44px;font-weight:600;line-height:1}.why{padding:var(--space-4);gap:var(--space-3);display:grid}.why__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.why__item{gap:var(--space-2);display:flex}.why__stage{color:var(--color-accent-bright);text-transform:capitalize;min-width:120px}.nist-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.nist{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:var(--space-4);gap:var(--space-2);align-content:start;display:grid}.nist.is-done{border-color:var(--color-accent-border)}.nist__head{justify-content:space-between;align-items:center;display:flex}.nist__name{color:var(--color-accent-bright);font-size:12px;font-weight:600}.nist:not(.is-done) .nist__name{color:var(--color-text-faint)}.nist__dot{border:1px solid var(--color-border);width:20px;height:20px;color:var(--color-accent-ink);border-radius:50%;place-items:center;display:grid}.nist.is-done .nist__dot{background:var(--color-accent);border-color:var(--color-accent)}.nist__title{font-weight:var(--weight-semibold)}.nist__title+.muted{font-size:13px}.quiz{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);padding:var(--space-4);gap:var(--space-3);display:grid}.quiz__scenario{font-size:13px}.quiz__question{font-weight:var(--weight-semibold)}.quiz__options{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.quiz__opt{align-items:center;gap:var(--space-2);text-align:left;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);font-size:13px;display:flex}.quiz__opt:hover{border-color:var(--color-border-strong);color:var(--color-text)}.quiz__opt.is-on,.quiz__opt.is-right{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-bright)}.quiz__opt.is-wrong{border-color:var(--color-border-strong);opacity:.8}.quiz__opt-key{font-family:var(--font-mono);color:var(--color-text-faint)}.quiz__opt-icon{color:var(--color-accent-bright);margin-left:auto}.quiz__feedback{padding:var(--space-2) var(--space-3);border-radius:var(--radius);font-size:13px}.quiz__feedback.is-good{color:var(--color-accent-bright);background:var(--color-accent-soft);border:1px solid var(--color-accent-border)}.quiz__feedback.is-bad{color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border)}.complete{justify-items:center;gap:var(--space-6);text-align:center;padding:var(--space-5) 0;display:grid}.complete__badge{background:var(--color-accent);width:56px;height:56px;color:var(--color-accent-ink);animation:success-pop .45s var(--ease-out);border-radius:50%;place-items:center;display:grid}.complete__panel{padding:var(--space-5);text-align:left;gap:var(--space-4);width:100%;max-width:620px;display:grid}.complete__learned{gap:var(--space-2);grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;display:grid}.complete__learned li{align-items:center;gap:var(--space-2);font-size:14px;display:flex}.complete__score{align-items:baseline;gap:var(--space-2);padding:var(--space-4) var(--space-5);display:flex}.complete__next{gap:var(--space-1);display:grid}@media (width<=900px){.compare,.result-row,.quiz__options,.complete__learned{grid-template-columns:1fr}}.mapnode,.recon__action,.persist__choice,.objective,.control:not(.is-on),.choice:not(.is-on),.quiz__opt:not(.is-on):not(.is-right):not(.is-wrong){transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)}.mapnode:hover,.recon__action:hover,.persist__choice:hover,.objective:hover,.control:not(.is-on):hover,.choice:not(.is-on):hover,.quiz__opt:hover{box-shadow:0 0 0 1px var(--color-accent-border), 0 10px 32px -16px var(--color-accent-glow);transform:translateY(-1px)}.recon__action.is-on,.persist__choice.is-on,.objective.is-on,.choice.is-on,.mapnode.is-selected{box-shadow:0 0 0 1px var(--color-accent-border), 0 6px 24px -14px var(--color-accent-glow)}.sysmap{box-shadow:inset 0 0 80px -48px var(--color-accent-glow)}.mapnode.is-selected{animation:node-lock 2.4s var(--ease-out) infinite}@keyframes node-lock{0%,to{box-shadow:0 0 0 1px var(--color-accent-border), 0 0 0 0 var(--color-accent-glow), 0 6px 24px -14px var(--color-accent-glow)}50%{box-shadow:0 0 0 1px var(--color-accent-border), 0 0 0 6px transparent, 0 6px 24px -14px var(--color-accent-glow)}}.mapnode:hover{transform:scale(1.015)}.killchain__stage--current .killchain__node{animation:stage-beacon 2.6s var(--ease-out) infinite}@keyframes stage-beacon{0%,to{box-shadow:0 0 0 4px var(--color-accent-soft)}50%{box-shadow:0 0 0 9px #0000}}.killchain.hologram-zone{overflow:hidden}.killchain.hologram-zone .killchain__stage--current:before{background:linear-gradient(90deg, transparent, var(--color-accent), transparent);animation:chain-shimmer 2.2s var(--ease-out) infinite;overflow:hidden}@keyframes chain-shimmer{0%{opacity:0;transform:translate(-8px)}25%{opacity:.7}to{opacity:0;transform:translate(16px)}}.c2-chrome{padding-bottom:var(--space-2)}.c2-rail{padding:var(--space-2) 0 var(--space-3);border-top:1px solid var(--color-border);scrollbar-width:thin;align-items:center;gap:6px;display:flex;overflow-x:auto}.c2-rail__item{border-radius:var(--radius);border:1px solid var(--color-border);width:34px;height:34px;color:var(--color-text-muted);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);flex-shrink:0;place-items:center;display:grid}.c2-rail__item:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface-2)}.c2-rail__item.is-done{color:var(--color-accent-bright);border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c2-rail__item.is-current{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.c2-rail__item.is-locked{opacity:.32;cursor:not-allowed}.c2-rail__num{font-family:var(--font-mono);font-size:11px;font-weight:var(--weight-semibold)}.c2-modes{border:1px solid var(--color-border);border-radius:var(--radius);flex-wrap:wrap;gap:2px;width:fit-content;max-width:100%;padding:2px;display:flex}.c2-modes__btn{padding:var(--space-2) var(--space-3);border-radius:calc(var(--radius) - 2px);color:var(--color-text-muted);transition:background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);font-size:14px}.c2-modes__btn:hover{color:var(--color-text)}.c2-modes__btn.is-active{color:var(--color-accent-bright);background:var(--color-accent-soft)}.c2-pane{padding-top:var(--space-1)}.c2-panel{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);gap:var(--space-3);background:var(--color-surface);display:grid}.c2-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.c2-list--num{padding-left:var(--space-5);list-style:decimal}.c2-list__item{gap:var(--space-2);color:var(--color-text-muted);align-items:baseline;display:flex}.c2-list:not(.c2-list--num) .c2-list__item:before{content:"";background:var(--color-accent-border);border-radius:50%;flex-shrink:0;align-self:center;width:4px;height:4px}.c2-chain{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.c2-chain__item{align-items:baseline;gap:var(--space-2);display:flex}.c2-chain__dot{border:1px solid var(--color-accent-border);border-radius:50%;flex-shrink:0;align-self:center;width:6px;height:6px}.c2-expand{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.c2-expand--muted{background:var(--color-base-deep)}.c2-expand__toggle{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);text-align:left;display:flex}.c2-expand__toggle:hover .text-label{color:var(--color-accent-bright)}.c2-expand__chevron{color:var(--color-text-faint);transition:transform var(--dur-fast) var(--ease-out)}.c2-expand__toggle[aria-expanded=true] .c2-expand__chevron{transform:rotate(180deg)}.c2-expand__body{padding:0 var(--space-4) var(--space-4);gap:var(--space-3);display:grid}.c2-expand__close{color:var(--color-text-faint);text-underline-offset:3px;justify-self:start;font-size:13px;text-decoration:underline}.c2-map{gap:var(--space-2);padding-top:var(--space-2);flex-wrap:wrap;display:flex}.c2-map__pair{animation:step-in var(--dur-med) var(--ease-out) both;justify-items:center;gap:1px;display:grid}.c2-map__from{font-family:var(--font-mono);color:var(--color-text-muted);font-size:13px}.c2-map__arrow{color:var(--color-accent);font-size:11px}.c2-map__to{font-family:var(--font-mono);color:var(--color-accent-bright);font-size:13px}.c2-alphabet{gap:2px;display:grid;overflow-x:auto}.c2-alphabet__row{gap:2px;display:flex}.c2-alphabet__cell{border:1px solid var(--color-border);width:28px;height:32px;font-family:var(--font-mono);border-radius:4px;flex-shrink:0;place-items:center;font-size:12px;display:grid}.c2-alphabet__cell--plain{color:var(--color-text-muted)}.c2-alphabet__cell--cipher{color:var(--color-accent-bright);background:var(--color-accent-soft)}.c2-grid{gap:4px;width:fit-content;max-width:100%;display:grid;overflow-x:auto}.c2-grid__row{gap:4px;display:flex}.c2-grid__cell{border:1px solid var(--color-border);width:34px;height:34px;font-family:var(--font-mono);color:var(--color-text-muted);border-radius:4px;place-items:center;font-size:13px;display:grid}.c2-grid__cell.is-empty{color:var(--color-text-faint)}.c2-grid--mapped{border:1px solid var(--color-accent-border);border-radius:var(--radius);padding:var(--space-2);background:var(--color-accent-soft)}.c2-grid__cell.is-match{color:var(--color-accent-bright);border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c2-stepper{border:1px solid var(--color-border);border-radius:var(--radius);align-items:center;gap:2px;width:fit-content;padding:2px;display:flex}.c2-stepper__btn{border-radius:calc(var(--radius) - 2px);width:30px;height:30px;color:var(--color-text-muted);place-items:center;display:grid}.c2-stepper__btn:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-2)}.c2-stepper__btn:disabled{opacity:.35}.c2-stepper__val{text-align:center;min-width:42px;font-family:var(--font-mono);font-size:13px}.c2-chip{height:28px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);align-items:center;font-size:13px;display:inline-flex}.c2-chip.is-active{color:var(--color-accent-bright);border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c2-keyspace{flex-wrap:wrap;gap:4px;display:flex}.c2-keyspace__chip{border:1px solid var(--color-border);width:28px;height:28px;font-family:var(--font-mono);color:var(--color-text-muted);transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);border-radius:4px;place-items:center;font-size:12px;display:grid}.c2-keyspace__chip:hover:not(:disabled){border-color:var(--color-border-strong);color:var(--color-text)}.c2-keyspace__chip.is-selected{color:var(--color-accent-bright);border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c2-keyspace__chip:disabled{opacity:.3}.c2-rows{gap:var(--space-2);display:grid}.c2-rows__item{align-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;padding:var(--space-2) var(--space-3);text-align:left;color:var(--color-text);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);grid-template-columns:auto 1fr;display:grid}.c2-rows__item:hover:not(:disabled){border-color:var(--color-border-strong)}.c2-rows__item.is-selected,.c2-rows__item.is-match{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c2-rows__shift{font-family:var(--font-mono);color:var(--color-text-muted);min-width:56px;font-size:12px}.c2-rows__text{font-family:var(--font-mono);color:var(--color-text);font-size:13px}.c2-rows__hint{font-family:var(--font-mono);color:var(--color-accent-bright);grid-column:2;font-size:13px}.c2-rows--scroll{max-height:280px;padding-right:var(--space-2);overflow-y:auto}.c2-quiz{gap:var(--space-3);display:grid}.c2-quiz__q{color:var(--color-text-muted);font-size:14px}.c2-options{gap:var(--space-2);display:grid}.c2-options__opt{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);text-align:left;color:var(--color-text);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);display:flex}.c2-options__opt:hover:not(:disabled){border-color:var(--color-border-strong)}.c2-options__opt.is-correct{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c2-options__opt.is-wrong{color:var(--color-text-faint)}.c2-options__mark{border:1px solid var(--color-border-strong);width:18px;height:18px;color:var(--color-accent-bright);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;display:grid}.c2-decision-opt.is-picked{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c2-decision-opt.is-picked .c2-options__mark{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.c2-result{border:1px solid var(--color-accent-border);border-radius:var(--radius);background:var(--color-accent-soft);padding:var(--space-4);gap:var(--space-3);justify-items:start;display:grid}.c2-result--error{border-color:var(--color-border-strong);background:var(--color-surface)}.c2-keypair{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.c2-keypair--narrow{grid-template-columns:repeat(2,minmax(0,1fr))}.c2-keycard{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);display:grid}.c2-keycard--secret{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c2-keycard__label{align-items:center;gap:var(--space-2);color:var(--color-accent-bright);display:flex}.c2-keycard__value{font-family:var(--font-mono);color:var(--color-text-muted);word-break:break-all;font-size:12px}.c2-math{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);display:grid}.c2-math__row{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.c2-math__name{font-family:var(--font-mono);color:var(--color-text-muted);font-size:13px}.c2-math__val{font-family:var(--font-mono);color:var(--color-accent-bright);font-size:13px}.c2-compare{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);display:grid}.c2-compare__name{font-size:14px;font-weight:var(--weight-semibold);color:var(--color-text)}.c2-compare__what{color:var(--color-text-muted);font-size:13px}.c2-compare__status{color:var(--color-accent-bright);font-size:13px}.c2-flow{gap:var(--space-2);display:grid}.c2-flow--actors{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.c2-flow__nodes{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.c2-flow__node{gap:var(--space-2);text-align:center;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);align-content:start;justify-items:center;display:grid}.c2-flow__node.is-active{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c2-flow__node.is-warn{border-color:var(--color-border-strong)}.c2-flow__avatar{border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text-muted);font-family:var(--font-mono);border-radius:50%;place-items:center;font-size:13px;display:grid}.c2-flow__node.is-active .c2-flow__avatar{border-color:var(--color-accent-border);color:var(--color-accent-bright);background:var(--color-surface)}.c2-flow__node.is-warn .c2-flow__avatar{color:var(--color-accent-bright);border-color:var(--color-accent-border)}.c2-flow__name{font-size:14px;font-weight:var(--weight-semibold)}.c2-flow__role{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-faint);font-size:12px}.c2-flow__sub{color:var(--color-text-muted);font-size:13px}.c2-flow__label{font-family:var(--font-mono);color:var(--color-text);font-size:13px}.c2-flow__links{gap:var(--space-2);display:grid}.c2-flow__link{background:var(--color-border-strong);height:2px;transition:background var(--dur-fast) var(--ease-out);display:block}.c2-flow__link.is-hot{background:var(--color-accent)}.c2-flow__unit{gap:var(--space-2);grid-template-columns:auto 1fr;align-items:center;display:grid}.c2-flow__connector{align-items:center;gap:4px;display:flex}.c2-flow__connector--accent{color:var(--color-accent)}.c2-flow__connector--none{color:var(--color-text-faint)}.c2-flow__connector .c2-flow__line{background:var(--color-border-strong);width:32px;height:2px}.c2-flow__connector--accent .c2-flow__line{background:var(--color-accent)}.c2-flow__connector .c2-flow__head{border-style:solid;border-width:4px 0 4px 6px;border-color:transparent transparent transparent var(--color-border-strong)}.c2-flow__connector--accent .c2-flow__head{border-left-color:var(--color-accent)}.c2-flow__connector--none .c2-flow__head{border-left-color:var(--color-text-faint)}.c2-steps{gap:var(--space-2);display:grid}.c2-steps__item{align-items:start;gap:var(--space-3);grid-template-columns:auto 1fr auto;display:grid}.c2-steps__mark{border:1px solid var(--color-border);width:26px;height:26px;font-family:var(--font-mono);color:var(--color-text-muted);border-radius:50%;place-items:center;font-size:12px;display:grid}.c2-steps__item.is-done .c2-steps__mark{border-color:var(--color-accent-border);color:var(--color-accent-bright);background:var(--color-accent-soft)}.c2-steps__item.is-current .c2-steps__mark{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink)}.c2-steps__body{gap:2px;display:grid}.c2-steps__label{font-size:14px}.c2-steps__result{font-family:var(--font-mono);color:var(--color-text-faint);font-size:12px}.c2-arch{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.c2-arch__node{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);justify-items:center;gap:2px;font-size:12px;display:grid}.c2-arch__line{background:var(--color-accent-border);width:28px;height:1px}.c2-keypair{gap:var(--space-2);display:grid}.c2-keypair__grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.c2-keypair--narrow .c2-keypair__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.c2-keypair__card{gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);align-content:start;display:grid}.c2-keypair__card--private{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c2-keypair__card--public{border-color:var(--color-border)}.c2-keypair__icon{border-radius:var(--radius);border:1px solid var(--color-border);width:34px;height:34px;color:var(--color-text-muted);place-items:center;display:grid}.c2-keypair__card--private .c2-keypair__icon{color:var(--color-accent-bright);border-color:var(--color-accent-border)}.c2-keypair__name{font-size:14px;font-weight:var(--weight-semibold)}.c2-keypair__note{color:var(--color-text-muted);font-size:13px}.c2-keypair__value{font-family:var(--font-mono);color:var(--color-text-muted);word-break:break-all;font-size:12px}.c2-keysizes{gap:var(--space-2);display:grid}.c2-keysizes__card{align-items:center;gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);text-align:left;grid-template-columns:1fr auto;display:grid}.c2-keysizes__card.is-active{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c2-keysizes__bits{align-items:center;gap:var(--space-2);font-family:var(--font-mono);color:var(--color-text-muted);font-size:13px;display:flex}.c2-keysizes__count{font-family:var(--font-mono);color:var(--color-accent-bright);text-align:right;font-size:13px}.c2-guess-list{gap:var(--space-2);max-height:300px;padding-right:var(--space-2);display:grid;overflow-y:auto}.c2-primitive{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);gap:var(--space-2);display:grid}.c2-primitive--sym{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c2-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.c2-diffhex{font-family:var(--font-mono);word-break:break-all;font-size:13px;line-height:1.7}.c2-table{border:1px solid var(--color-border);border-radius:var(--radius);gap:1px;display:grid;overflow:hidden}.c2-table__head,.c2-table__row{gap:var(--space-3);padding:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.c2-table__head{background:var(--color-surface-2);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint);font-size:12px}.c2-table__row{color:var(--color-text-muted);border-top:1px solid var(--color-border);font-size:13px}.c2-check-list{gap:var(--space-2);display:grid}.c2-check{gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);display:grid}.c2-check__question{color:var(--color-text);font-size:14px}.c2-check__options{gap:var(--space-2);flex-wrap:wrap;display:flex}.c2-check__icon{border:1px solid var(--color-border);width:22px;height:22px;color:var(--color-text-muted);border-radius:50%;place-items:center;display:grid}.c2-check.is-match{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c2-check.is-match .c2-check__icon{border-color:var(--color-accent-border);color:var(--color-accent-bright)}.c2-check__key{width:22px;height:22px;font-family:var(--font-mono);color:var(--color-text-muted);border-radius:50%;place-items:center;font-size:11px;display:grid}.c2-check__opt{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-2) var(--space-3);color:var(--color-text);font-size:14px;display:inline-flex}.c2-check__opt:hover:not(:disabled){border-color:var(--color-border-strong)}.c2-check__opt.is-on,.c2-check__opt.is-right{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c2-check__opt.is-wrong{border-color:var(--color-border-strong);color:var(--color-text-faint)}.c2-check__feedback{font-size:13px}.c2-check__feedback.is-good{color:var(--color-accent-bright)}.c2-check__feedback.is-bad{color:var(--color-text-muted)}.c2-scenarios{gap:var(--space-2);display:grid}.c2-scenarios__item{gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;padding:var(--space-3);text-align:left;grid-template-columns:auto 1fr;align-items:start;display:grid}.c2-scenarios__item:hover:not(:disabled){border-color:var(--color-border-strong)}.c2-finding{gap:var(--space-2);display:grid}.c2-challenge{border:1px solid var(--color-accent-border);border-radius:var(--radius);background:var(--color-accent-soft);padding:var(--space-4);gap:var(--space-3);display:grid}.c2-debrief{gap:var(--space-3);display:grid}.c2-debrief__items{gap:var(--space-2);display:grid}.c2-debrief__item{gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);grid-template-columns:1fr auto;align-items:center;display:grid}.c2-debrief__label{color:var(--color-text-muted);font-size:14px}.c2-debrief__model{font-family:var(--font-mono);color:var(--color-accent-bright);font-size:13px}.c2-outcomes{gap:var(--space-2);display:grid}.c2-outcomes__row{gap:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);grid-template-columns:1fr auto;align-items:center;font-size:14px;display:grid}.c2-cmap{gap:var(--space-4);justify-items:center;display:grid}.c2-cmap__root{font-size:15px;font-weight:var(--weight-semibold);color:var(--color-accent-bright);border:1px solid var(--color-accent-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);background:var(--color-accent-soft)}.c2-cmap__branches{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.c2-cmap__branch{gap:var(--space-2);align-content:start;display:grid}.c2-cmap__branch-title{text-transform:uppercase;letter-spacing:.08em;color:var(--color-accent-bright);font-size:12px}.c2-cmap__branch-child{color:var(--color-text);font-size:14px}.c2-cmap__branch-sub{color:var(--color-text-muted);font-size:13px}.c2-summary{gap:var(--space-2);display:grid}.c2-summary__item{gap:var(--space-3);color:var(--color-text-muted);align-items:baseline;font-size:14px;display:flex}.c2-summary__num{font-family:var(--font-mono);color:var(--color-accent-bright);font-size:12px}.c2-tech{font-family:var(--font-mono);color:var(--color-text-faint);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);font-size:12px;overflow-x:auto}.crypto-value{gap:var(--space-2);display:grid}.crypto-value__head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.crypto-value__text{font-family:var(--font-mono);color:var(--color-text-muted);word-break:break-all;border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);-webkit-user-select:all;user-select:all;font-size:12px;line-height:1.6;display:block}.crypto-value__text--plain{font-family:inherit;font-size:14px}.c2-copyfield{gap:var(--space-2);display:grid}.c2-copyfield__row{gap:var(--space-2);align-items:center;display:flex}.c2-copyfield__btn{flex-shrink:0}.c2-file{gap:var(--space-2);justify-items:start;display:grid}.c2-file__input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.c2-heroq{align-items:center;gap:var(--space-3);color:var(--color-accent-bright);display:flex}.c2-kerck{border-left:2px solid var(--color-accent-border);padding-left:var(--space-3)}.c2-mission{gap:var(--space-3);justify-items:start;display:grid}.c2-strip{flex-wrap:wrap;gap:4px;display:flex}.c2-strip__pair{opacity:.35;transition:opacity var(--dur-fast) var(--ease-out);align-items:center;gap:4px;display:inline-flex}.c2-strip__pair.is-lit{opacity:1}.c2-strip__char{border:1px solid var(--color-border);width:30px;height:34px;font-family:var(--font-mono);color:var(--color-accent-bright);border-radius:4px;place-items:center;font-size:13px;display:grid}.c2-strip__arrow{color:var(--color-text-faint);place-items:center;display:grid}.c2-section{gap:var(--space-2);display:grid}.c2-section__head{align-items:center;gap:var(--space-2);color:var(--color-accent-bright);display:flex}.c2-section__guidance{color:var(--color-text-muted);font-size:14px}.c2-section__body{gap:var(--space-3);display:grid}.c2-section__foot{gap:var(--space-2);flex-wrap:wrap;display:flex}.c2-expando{gap:var(--space-1);display:grid}.c2-expando__summary{align-items:center;gap:var(--space-2);color:var(--color-text-muted);cursor:pointer;font-size:13px;display:inline-flex}.c2-expando__summary:hover{color:var(--color-accent-bright)}.c2-expando__body{border-left:2px solid var(--color-accent-border);padding-left:var(--space-3);gap:var(--space-2);display:grid}.c2-options__btn{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);text-align:left;color:var(--color-text);transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);display:flex}.c2-options__btn:hover:not(:disabled){border-color:var(--color-border-strong)}.c2-options__btn.is-correct{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c2-options__btn.is-wrong{color:var(--color-text-faint)}.c2-options__btn.is-picked{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c2-options__btn .c2-options__mark{border:1px solid var(--color-border-strong);width:18px;height:18px;color:var(--color-accent-bright);border-radius:50%;flex-shrink:0;place-items:center;font-size:11px;display:grid}.sim-badge{text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;font-size:11px;display:inline-flex}.c3-panel{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);background:var(--color-surface-2,var(--color-surface))}.c3-panel>.text-label{margin-bottom:var(--space-2);display:block}.c3-cert{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.c3-cert__head{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);flex-direction:column;gap:4px;display:flex}.c3-cert__grid{background:var(--color-border);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1px;display:grid}.c3-cert__field{padding:var(--space-2) var(--space-3);background:var(--color-surface);grid-template-columns:1fr auto;grid-template-areas:"name edit""val val";align-items:start;gap:2px 8px;display:grid}.c3-cert__field.is-edited{background:var(--color-accent-soft)}.c3-cert__field dt{grid-area:name}.c3-cert__field dd{grid-area:val}.c3-cert__field .iconbtn{grid-area:edit}.c3-cert__val{font-family:var(--font-mono);color:var(--color-text);overflow-wrap:anywhere;font-size:13px}.c3-tamper{gap:var(--space-2);display:grid}.c3-tamper .row{flex-wrap:wrap}.c3-fp-cmp{gap:var(--space-2);display:grid}.c3-fp-cmp__row{align-items:start;gap:var(--space-2);grid-template-columns:minmax(120px,auto) 1fr;display:grid}.c3-chain{gap:var(--space-3);display:grid}.c3-chain__rail{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.c3-chain__node-wrap{justify-items:center;gap:2px;display:grid}.c3-chain__node{font-family:var(--font-mono);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:999px;padding:6px 12px;font-size:13px}.c3-chain__node.is-leaf{border-color:var(--color-accent-border);color:var(--color-accent-bright)}.c3-chain__node.is-root{border-color:var(--color-border-strong);background:var(--color-accent-soft)}.c3-chain__link{background:var(--color-border-strong);width:26px;height:1px}.c3-pool{gap:var(--space-2);flex-wrap:wrap;display:flex}.c3-pool--options{flex-direction:column;align-items:stretch}.c3-pool__item{font-family:var(--font-mono);text-align:left;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);font-size:13px}.c3-pool__item:hover:not(:disabled){border-color:var(--color-border-strong)}.c3-pool__item[aria-pressed=true]{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-bright)}.c3-keycard{gap:var(--space-2);text-align:left;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);display:grid}.c3-keycard:hover{border-color:var(--color-border-strong)}.c3-keycard.is-active{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c3-keycard__head{align-items:center;gap:var(--space-2);display:flex}.c3-keycard__body{gap:2px;display:grid}.c3-keycard__row{gap:var(--space-2);grid-template-columns:auto 1fr;align-items:center;display:grid}.c3-keycard__row code{font-family:var(--font-mono);color:var(--color-text);overflow-wrap:anywhere;font-size:13px}.c3-secret{align-items:baseline;gap:var(--space-2);margin:var(--space-2) 0;display:flex}.c3-secret__val{font-family:var(--font-mono);color:var(--color-accent-bright);font-size:16px}.c3-crl{overflow-x:auto}.c3-crl__table{border-collapse:collapse;width:100%;font-size:13px}.c3-crl__table th,.c3-crl__table td{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.c3-crl__table tbody tr.is-highlight{background:var(--color-accent-soft)}.c3-checks{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.c3-checks__row{gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:auto auto 1fr;align-items:baseline;display:grid}.c3-checks__row.is-fail{border-color:var(--color-danger-border,#c05555);background:var(--color-danger-soft,#c0555514)}.c3-checks__row.is-ok{border-color:var(--color-border)}.c3-checks__id{color:var(--color-text);font-size:12px}.c3-checks__mark{color:var(--color-text-muted)}.c3-checks__row.is-fail .c3-checks__mark{color:var(--color-danger-border,#c05555)}.c3-math{gap:var(--space-2);display:grid}.c3-math__row{gap:var(--space-2);grid-template-columns:auto 1fr;align-items:center;display:grid}.c3-math__val{font-family:var(--font-mono);color:var(--color-text);overflow-wrap:anywhere;font-size:14px}.c3-filecard{gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);align-content:start;display:grid}.c3-filecard.is-good{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c3-filecard.is-bad{border-color:var(--color-danger-border,#c05555);background:var(--color-danger-soft,#c0555514)}.c3-filecard__head{align-items:center;gap:var(--space-2);display:flex}.c3-filecard__name{margin:0;font-size:12px}.c3-diff{color:var(--color-accent-bright);background:var(--color-accent-soft);border-radius:2px}.c3-report{gap:var(--space-2);display:grid}.c3-report__row{align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:auto 1fr;display:grid}.c3-report__value{font-variant-numeric:tabular-nums;min-width:88px}.grow-1{flex:auto}.c4-glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--glass-border)}.c4-glow-hover:hover{box-shadow:0 0 0 1px var(--color-accent-border), 0 8px 28px -14px var(--color-accent-glow);transition:box-shadow .3s var(--ease-out)}.c4-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);background:var(--color-surface);cursor:pointer;transition:border-color .24s var(--ease-out), background .24s var(--ease-out), box-shadow .24s var(--ease-out), transform .18s var(--ease-out)}.c4-card:hover{border-color:var(--color-border-strong);box-shadow:0 4px 16px -8px var(--color-accent-glow);transform:translateY(-1px)}.c4-card.is-open{border-color:var(--color-accent-border);background:var(--color-accent-soft);box-shadow:0 0 12px -4px var(--color-accent-glow)}.c4-card__head{align-items:center;gap:var(--space-2);display:flex}.c4-card__body{margin-top:var(--space-2)}.c4-rank{gap:var(--space-2);display:grid}.c4-rank__item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);cursor:grab;transition:border-color .2s var(--ease-out), background .2s var(--ease-out), box-shadow .2s var(--ease-out), transform .15s var(--ease-out);display:flex}.c4-rank__item:hover{border-color:var(--color-border-strong);box-shadow:0 2px 10px -4px var(--color-accent-glow);transform:translate(2px)}.c4-rank__item:active{cursor:grabbing}.c4-rank__pos{font-family:var(--font-mono);min-width:28px;color:var(--color-text-muted);font-size:13px}.c4-rank__val{font-family:var(--font-mono);color:var(--color-accent-bright);font-size:13px}.c4-matrix{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-border);gap:1px;display:grid;overflow:auto hidden}.c4-matrix__row{gap:1px;display:grid}.c4-matrix__label{background:var(--color-surface);color:var(--color-text-muted);align-items:center;min-width:80px;padding:6px 10px;font-size:12px;display:flex}.c4-matrix__cell{background:var(--color-surface);cursor:pointer;min-width:42px;color:var(--color-text-faint);transition:background .18s var(--ease-out), color .18s var(--ease-out), box-shadow .18s var(--ease-out), transform .12s var(--ease-out);border:0;place-items:center;padding:6px 8px;font-size:11px;display:grid}.c4-matrix__cell:hover{background:var(--color-surface-2);box-shadow:inset 0 0 8px -4px var(--color-accent-glow)}.c4-matrix__cell.is-on{color:var(--color-accent-bright);background:var(--color-accent-soft);box-shadow:0 0 6px -2px var(--color-accent-glow)}.c4-matrix__cell.is-over{color:var(--color-accent);background:var(--color-accent-soft)}.c4-attempt__row{gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);transition:border-color .3s var(--ease-out), background .3s var(--ease-out), opacity .3s var(--ease-out);grid-template-columns:36px 1fr auto;align-items:center;display:grid}.c4-attempt__row.is-reached{border-color:var(--color-accent-border);background:var(--color-accent-soft);box-shadow:0 0 12px -6px var(--color-accent-glow)}.c4-attempt__row.is-blocked{opacity:.55}.c4-path{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.c4-path__node{font-family:var(--font-mono);border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-surface);transition:border-color .35s var(--ease-out), color .35s var(--ease-out), background .35s var(--ease-out), box-shadow .35s var(--ease-out);animation:path-in .4s var(--ease-out) both;border-radius:999px;padding:3px 8px;font-size:11px}@keyframes path-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.c4-path__node.is-ok{color:var(--color-accent-bright);border-color:var(--color-accent-border)}.c4-path__node.is-impact{color:var(--color-accent-bright);border-color:var(--color-accent-border);background:var(--color-accent-soft);box-shadow:0 0 14px -4px var(--color-accent-glow)}.c4-path__node.is-start{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}.c4-path__node.is-blocked{opacity:.38}.c4-path__arrow{color:var(--color-text-faint);font-size:11px}.c4-config{gap:var(--space-2);display:grid}.c4-config__row{gap:var(--space-3);grid-template-columns:160px 1fr;align-items:center;display:grid}.c4-config__label{font-size:13px}.c4-config__opts{gap:var(--space-2);flex-wrap:wrap;display:flex}.c4-config__opt{border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;transition:border-color .2s var(--ease-out), background .2s var(--ease-out), color .2s var(--ease-out), box-shadow .2s var(--ease-out), transform .15s var(--ease-out);padding:4px 12px;font-size:12px}.c4-config__opt:hover{border-color:var(--color-border-strong);box-shadow:0 2px 10px -4px var(--color-accent-glow);transform:translateY(-1px)}.c4-config__opt.is-selected{border-color:var(--color-accent-border);color:var(--color-accent-bright);background:var(--color-accent-soft);box-shadow:0 0 10px -4px var(--color-accent-glow)}.c4-creep{gap:var(--space-2);scrollbar-width:thin;max-height:380px;display:grid;overflow:auto}.c4-creep__item{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:border-color .22s var(--ease-out), background .22s var(--ease-out), opacity .22s var(--ease-out), box-shadow .22s var(--ease-out);padding:4px 10px;font-size:12px;display:flex}.c4-creep__item:hover{border-color:var(--color-border-strong);box-shadow:0 2px 8px -4px var(--color-accent-glow)}.c4-creep__item.is-kept{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-bright);box-shadow:0 0 8px -4px var(--color-accent-glow)}.c4-creep__item.is-dropped{opacity:.4;text-decoration:line-through}.c4-score__dim{gap:var(--space-3);grid-template-columns:140px 1fr 30px;align-items:center;display:grid}.c4-score__bar{background:var(--color-border);border-radius:3px;height:6px;overflow:hidden}.c4-score__fill{background:var(--color-accent);height:100%;transition:width .45s var(--ease-out);border-radius:3px}.c4-score__num{font-variant-numeric:tabular-nums;text-align:right;font-size:13px}.c4-level{justify-items:center;gap:6px;display:grid}.c4-level__badge{font-family:var(--font-mono);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-accent-bright);background:var(--color-accent-soft);transition:box-shadow .25s var(--ease-out);padding:6px 14px;font-size:14px}.c4-level__badge:hover{box-shadow:0 0 14px -4px var(--color-accent-glow)}.c4-modes{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);flex-wrap:wrap;gap:6px;width:fit-content;max-width:100%;padding:2px;display:flex}.c4-modes__btn{padding:var(--space-2) var(--space-3);border-radius:calc(var(--radius) - 2px);color:var(--color-text-muted);transition:background .22s var(--ease-out), color .22s var(--ease-out), box-shadow .22s var(--ease-out);font-size:13px}.c4-modes__btn:hover{color:var(--color-text);background:var(--color-surface-2)}.c4-modes__btn.is-active{color:var(--color-accent-bright);background:var(--color-accent-soft);box-shadow:0 0 10px -4px var(--color-accent-glow)}.c4-pool{gap:var(--space-2);flex-wrap:wrap;display:flex}.c4-pool__item{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;transition:border-color .2s var(--ease-out), background .2s var(--ease-out), color .2s var(--ease-out), box-shadow .2s var(--ease-out), transform .15s var(--ease-out);font-size:13px}.c4-pool__item:hover:not(:disabled){border-color:var(--color-border-strong);box-shadow:0 2px 10px -4px var(--color-accent-glow);transform:translateY(-1px)}.c4-pool__item.is-taken{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-bright);box-shadow:0 0 10px -4px var(--color-accent-glow)}.c4-divider{border-top:1px solid var(--color-border);margin:var(--space-4) 0}.c4-meta{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.c4-meta__item{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);transition:border-color .24s var(--ease-out), box-shadow .24s var(--ease-out);gap:2px;display:grid}.c4-meta__item:hover{border-color:var(--color-border-strong);box-shadow:0 2px 12px -6px var(--color-accent-glow)}.c4-meta__val{font-family:var(--font-mono);color:var(--color-accent-bright);font-size:15px}@media (width<=640px){.c4-config__row{grid-template-columns:1fr}.c4-score__dim{grid-template-columns:100px 1fr 24px}.c4-meta{grid-template-columns:1fr 1fr}.c4-matrix__label{min-width:56px;padding:4px 6px;font-size:10px}.c4-matrix__cell{min-width:32px;padding:4px 5px;font-size:10px}.c4-attempt__row{grid-template-columns:28px 1fr auto}}@media (width<=480px){.c4-modes{gap:4px}.c4-modes__btn,.c4-pool__item{padding:var(--space-1) var(--space-2);font-size:12px}.c4-meta{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.c4-card,.c4-rank__item,.c4-matrix__cell,.c4-attempt__row,.c4-path__node,.c4-config__opt,.c4-creep__item,.c4-pool__item,.c4-score__fill{transition:none;animation:none}}.c4-panel{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);background:var(--color-surface);transition:border-color .25s var(--ease-out), box-shadow .25s var(--ease-out), transform .2s var(--ease-out)}.c4-panel:hover{border-color:var(--color-border-strong);box-shadow:0 4px 20px -10px var(--color-accent-glow)}.c4-hero{background:linear-gradient(135deg, var(--color-accent-soft) 0%, transparent 50%);border:1px solid var(--color-accent-border);border-radius:var(--radius);padding:var(--space-5);transition:box-shadow .35s var(--ease-out)}.c4-hero:hover{box-shadow:0 0 28px -10px var(--color-accent-glow)}.c5-timeline{border-left:1px solid var(--color-border);padding-left:var(--space-3);gap:0;display:grid}.c5-timeline__row{gap:var(--space-2);padding:var(--space-2) 0;transition:opacity .25s var(--ease-out);grid-template-columns:44px 1fr;display:grid;position:relative}.c5-timeline__row:before{content:"";background:var(--color-border);border:1px solid var(--color-surface);border-radius:50%;width:8px;height:8px;position:absolute;top:12px;left:-22px}.c5-timeline__row.is-suspicious:before{background:var(--color-accent);box-shadow:0 0 6px var(--color-accent-glow)}.c5-timeline__time{font-family:var(--font-mono);color:var(--color-text-faint);font-size:12px}.c5-timeline__event{color:var(--color-text-muted);font-size:13px}.c5-timeline__row.is-suspicious .c5-timeline__event{color:var(--color-accent-bright)}.c5-email{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);overflow:hidden}.c5-email__head{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);display:grid}.c5-email__field{gap:var(--space-2);grid-template-columns:72px 1fr;font-size:13px;display:grid}.c5-email__field dt{color:var(--color-text-faint)}.c5-email__field dd{color:var(--color-text)}.c5-email__body{padding:var(--space-4);color:var(--color-text);white-space:pre-wrap;font-size:14px;line-height:1.6}.c5-email__body mark{background:var(--color-accent-soft);color:var(--color-accent-bright);cursor:pointer;transition:background .2s var(--ease-out);border-radius:2px;padding:0 2px}.c5-email__body mark:hover{background:var(--color-accent-border)}.c5-evidence{gap:var(--space-2);display:grid}.c5-evidence__item{gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:border-color .22s var(--ease-out), background .22s var(--ease-out), box-shadow .22s var(--ease-out);grid-template-columns:auto 1fr;display:grid}.c5-evidence__item:hover{border-color:var(--color-border-strong);box-shadow:0 2px 10px -4px var(--color-accent-glow)}.c5-evidence__item.is-found{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c5-case{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);background:var(--color-surface);transition:border-color .25s var(--ease-out), box-shadow .25s var(--ease-out), background .25s var(--ease-out)}.c5-case:hover{border-color:var(--color-border-strong);box-shadow:0 2px 12px -6px var(--color-accent-glow)}.c5-case__head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.c5-case.is-correct{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c5-chain{flex-direction:column;gap:0;display:flex;position:relative}.c5-chain__stage{gap:var(--space-2);padding:var(--space-2) 0;grid-template-columns:28px 1fr;align-items:start;display:grid}.c5-chain__num{font-family:var(--font-mono);border:1px solid var(--color-border);border-radius:var(--radius);width:28px;height:28px;color:var(--color-text-muted);background:var(--color-surface);place-items:center;font-size:12px;display:grid}.c5-chain__stage.is-correct .c5-chain__num{border-color:var(--color-accent-border);color:var(--color-accent-bright);background:var(--color-accent-soft)}.c5-chain__stage.is-wrong .c5-chain__num{border-color:var(--color-border-strong)}.c5-chain__label{color:var(--color-text);font-size:13px}.c5-defense{gap:var(--space-3);display:grid}.c5-defense__layer{gap:var(--space-2);display:grid}.c5-defense__band{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint);font-size:11px}.c5-control{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;transition:border-color .2s var(--ease-out), background .2s var(--ease-out), color .2s var(--ease-out), box-shadow .2s var(--ease-out);font-size:12px}.c5-control:hover{border-color:var(--color-border-strong);box-shadow:0 2px 8px -4px var(--color-accent-glow)}.c5-control.is-active{border-color:var(--color-accent-border);color:var(--color-accent-bright);background:var(--color-accent-soft);box-shadow:0 0 8px -4px var(--color-accent-glow)}.c5-reflect{gap:var(--space-3);display:grid}.c5-reflect__q textarea{width:100%;min-height:60px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);resize:vertical;font-family:inherit;font-size:13px}.c5-split{gap:var(--space-4);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.c5-split__col{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);display:grid}.c5-split__arrow{color:var(--color-accent);font-size:20px}.c5-score{gap:var(--space-2);display:grid}.c5-score__row{gap:var(--space-3);grid-template-columns:1fr 60px;align-items:center;display:grid}.c5-score__label{font-size:13px}.c5-score__val{text-align:right;font-family:var(--font-mono);color:var(--color-accent-bright);font-size:14px}.c5-takeaway{gap:var(--space-2);display:grid}.c5-takeaway__item{gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:auto 1fr;align-items:start;display:grid}.c5-takeaway__num{font-family:var(--font-mono);color:var(--color-accent-bright);text-align:center;width:24px;font-size:13px}@media (width<=640px){.c5-split{grid-template-columns:1fr}.c5-split__arrow{text-align:center}.c5-chain__stage{grid-template-columns:22px 1fr}}@media (prefers-reduced-motion:reduce){.c5-evidence__item,.c5-case,.c5-control,.c5-timeline__row{transition:none}}.c6-topo{gap:var(--space-2);display:grid}.c6-topo__zone{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);background:var(--color-surface);transition:border-color .25s var(--ease-out), box-shadow .25s var(--ease-out)}.c6-topo__zone:hover{border-color:var(--color-border-strong);box-shadow:0 2px 14px -6px var(--color-accent-glow)}.c6-topo__zone.is-selected{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c6-topo__zone h4{margin-bottom:var(--space-1);font-size:13px}.c6-topo__nodes{gap:var(--space-2);flex-wrap:wrap;display:flex}.c6-topo__node{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;transition:all .2s var(--ease-out);font-size:12px}.c6-topo__node:hover{border-color:var(--color-border-strong);box-shadow:0 1px 6px -2px var(--color-accent-glow)}.c6-topo__node.is-selected{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-bright)}.c6-topo__arrow{text-align:center;color:var(--color-accent);padding:var(--space-1) 0;font-size:18px}.c6-packet{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);overflow:hidden}.c6-packet__head{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);display:flex}.c6-packet__fields{gap:1px;padding:0;display:grid}.c6-packet__field{gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);grid-template-columns:120px 1fr;align-items:center;display:grid}.c6-packet__field:last-child{border-bottom:none}.c6-packet__field .mono{font-family:var(--font-mono);color:var(--color-text);font-size:13px}.c6-packet__services{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.c6-packet__svc-pill{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);cursor:pointer;transition:border-color .2s var(--ease-out), background .2s var(--ease-out), color .2s var(--ease-out), box-shadow .2s var(--ease-out);background:var(--color-surface);font-size:13px;font-weight:600}.c6-packet__svc-pill:hover:not(:disabled){border-color:var(--color-border-strong);box-shadow:0 2px 10px -4px var(--color-accent-glow)}.c6-packet__svc-pill.is-selected{border-color:var(--color-accent-border);color:var(--color-accent-bright)}.c6-packet__svc-pill.is-correct{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-bright);box-shadow:0 0 8px -2px var(--color-accent-glow)}.c6-packet__svc-pill.is-wrong{opacity:.4}.c6-packet__svc-pill:disabled{opacity:.5;cursor:not-allowed}.c6-packet__row{gap:var(--space-2);grid-template-columns:140px 1fr;padding:2px 0;display:grid}.c6-packet__row dt{color:var(--color-text-faint)}.c6-packet__row dd{color:var(--color-text)}.c6-packet-done{align-items:center;gap:var(--space-1);border:1px solid var(--color-accent-border);color:var(--color-accent-bright);background:var(--color-accent-soft);border-radius:999px;padding:2px 8px;font-size:11px;display:inline-flex}.c6-rule-table{border-collapse:collapse;width:100%;font-size:12px}.c6-rule-table th,.c6-rule-table td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-border);text-align:left}.c6-rule-table th{color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.c6-rule-table td{color:var(--color-text-muted);font-family:var(--font-mono);font-size:12px}.c6-rule-table__action.is-allow{color:var(--color-accent-bright)}.c6-rule-table__action.is-deny{color:var(--color-accent)}.c6-rule-builder{gap:var(--space-2);display:grid}.c6-rule-builder__row{gap:var(--space-2);grid-template-columns:120px 1fr;align-items:center;display:grid}.c6-result{gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:28px 1fr;align-items:start;display:grid}.c6-result.is-allow{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c6-result.is-deny{opacity:.65}.c6-result__icon{font-size:14px}.c6-state{gap:var(--space-2);display:grid}.c6-state__row{gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);grid-template-columns:1fr auto;align-items:center;display:grid}.c6-state__tag{border:1px solid var(--color-accent-border);color:var(--color-accent-bright);background:var(--color-accent-soft);border-radius:999px;padding:2px 8px;font-size:11px}.c6-alert{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:var(--space-2);transition:border-color .2s var(--ease-out), box-shadow .2s var(--ease-out)}.c6-alert:hover{border-color:var(--color-border-strong);box-shadow:0 2px 10px -4px var(--color-accent-glow)}.c6-alert.is-high{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c6-alert__head{align-items:center;gap:var(--space-2);margin-bottom:4px;display:flex}.c6-alert__method{text-transform:uppercase;letter-spacing:.04em;font-size:11px}.c6-siem{gap:var(--space-3);display:grid}.c6-siem__event{gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:54px 1fr;display:grid}.c6-siem__source{color:var(--color-text-faint);text-transform:uppercase;font-size:11px}.c6-exposure{gap:var(--space-2);display:grid}.c6-exposure__path{font-family:var(--font-mono);align-items:center;gap:4px;padding:2px 0;font-size:11px;display:flex}.c6-exposure__path span{color:var(--color-accent-bright)}@media (width<=640px){.c6-topo__zone{padding:var(--space-2)}.c6-rule-builder__row{grid-template-columns:1fr}.c6-packet__row{grid-template-columns:100px 1fr}}@media (prefers-reduced-motion:reduce){.c6-topo__node,.c6-alert{transition:none}}.c6-mission__topology{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-4) 0;display:flex}.c6-mission__zone{padding:var(--space-3) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.c6-mission__zone--internet{border-style:dashed}.c6-mission__arrow{color:var(--color-accent)}.c6-mission__chain-row{gap:var(--space-3);padding:var(--space-1) 0;grid-template-columns:28px 1fr;align-items:baseline;display:grid}.c6-mission__chain-num{font-family:var(--font-mono);color:var(--color-accent-bright);text-align:center;font-size:12px}.c7-channel{gap:var(--space-3);display:grid}.c7-channel__endpoint{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);text-align:center;transition:border-color .25s var(--ease-out), box-shadow .25s var(--ease-out)}.c7-channel__endpoint:hover{border-color:var(--color-border-strong);box-shadow:0 2px 12px -6px var(--color-accent-glow)}.c7-channel__flow{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;display:flex}.c7-channel__packet{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-mono);background:var(--color-surface);transition:all .3s var(--ease-out);font-size:12px}.c7-channel__packet.is-encrypted{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-bright)}.c7-channel__packet.is-blocked{opacity:.4}.c7-channel__packet.is-tampered{border-color:var(--color-accent-border)}.c7-handshake{gap:0;display:grid}.c7-handshake__row{gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background .2s var(--ease-out);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.c7-handshake__row:hover{background:var(--color-surface-2)}.c7-handshake__row.is-open{background:var(--color-accent-soft)}.c7-handshake__row.is-vulnerable{border-left:2px solid var(--color-accent-border)}.c7-handshake__label{font-family:var(--font-mono);font-size:12px}.c7-handshake__label.is-client{text-align:right}.c7-handshake__label.is-server{text-align:left}.c7-handshake__arrow{color:var(--color-text-faint);font-size:12px}.c7-handshake__detail{padding:var(--space-2) var(--space-4) var(--space-3);color:var(--color-text-muted);font-size:13px}.c7-attacker{text-align:center;padding:var(--space-2);position:relative}.c7-attacker__node{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);transition:all .25s var(--ease-out);font-size:13px;display:inline-flex}.c7-attacker__node.is-active{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c7-tunnel{gap:var(--space-2);display:grid}.c7-tunnel__path{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.c7-tunnel__path span{font-family:var(--font-mono);border:1px dashed var(--color-accent-border);border-radius:var(--radius);color:var(--color-accent-bright);padding:4px 8px;font-size:11px}.c7-keyring{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.c7-keyring__col{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.c7-keyring__key{font-family:var(--font-mono);padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:var(--space-1);font-size:11px}.c7-keyring__key.is-private{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-bright)}@media (width<=640px){.c7-handshake__row{grid-template-columns:1fr auto 1fr;font-size:11px}.c7-keyring{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.c7-channel__packet{transition:none}}.c8-radar{gap:var(--space-4);display:grid}.c8-radar__map{gap:var(--space-2);text-align:center;display:grid}.c8-radar__zone{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);transition:all .25s var(--ease-out);cursor:pointer}.c8-radar__zone:hover{border-color:var(--color-border-strong);box-shadow:0 2px 14px -6px var(--color-accent-glow)}.c8-radar__zone.is-selected{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c8-radar__zone h4{margin-bottom:var(--space-1);font-size:13px}.c8-radar__roles{gap:var(--space-1);flex-wrap:wrap;justify-content:center;display:flex}.c8-radar__role{border:1px solid var(--color-border);color:var(--color-text-muted);transition:all .2s var(--ease-out);border-radius:999px;padding:3px 8px;font-size:11px}.c8-radar__role.is-highlight{border-color:var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent-bright)}.c8-profile{gap:var(--space-3);display:grid}.c8-profile__meta{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.c8-profile__chip{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface)}.c8-profile__chip h5{color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-1);font-size:11px}.c8-workday{border-left:1px solid var(--color-border);padding-left:var(--space-3);gap:0;display:grid}.c8-workday__row{gap:var(--space-2);padding:var(--space-2) 0;grid-template-columns:48px 1fr;display:grid;position:relative}.c8-workday__row:before{content:"";background:var(--color-border);border:1px solid var(--color-surface);border-radius:50%;width:7px;height:7px;position:absolute;top:14px;left:-19px}.c8-workday__row:nth-child(odd):before{background:var(--color-accent-border)}.c8-workday__time{font-family:var(--font-mono);color:var(--color-text-faint);font-size:12px}.c8-workday__event{color:var(--color-text-muted);font-size:13px}.c8-skill-matrix{overflow:auto}.c8-skill-matrix__table{border-collapse:collapse;width:100%;font-size:12px}.c8-skill-matrix__table th,.c8-skill-matrix__table td{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);text-align:center}.c8-skill-matrix__table th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint);background:var(--color-surface);font-size:10px}.c8-skill-matrix__table td{transition:all .2s var(--ease-out);cursor:pointer;font-size:12px}.c8-skill-matrix__table td:hover{background:var(--color-accent-soft)}.c8-skill__lvl.strong{color:var(--color-accent-bright);background:var(--color-accent-soft)}.c8-skill__lvl.working{color:var(--color-accent)}.c8-skill__lvl.foundation{color:var(--color-text-faint)}.c8-path{gap:var(--space-2);display:grid}.c8-path__arrow{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);transition:all .2s var(--ease-out);display:flex}.c8-path__arrow:hover{border-color:var(--color-border-strong);box-shadow:0 2px 10px -4px var(--color-accent-glow)}.c8-path__from{font-size:14px;font-weight:600}.c8-path__to{color:var(--color-accent-bright);font-size:14px}.c8-path__skills{color:var(--color-text-muted);margin-top:var(--space-1);font-size:12px}.c8-result__card{padding:var(--space-5);border:1px solid var(--color-accent-border);border-radius:var(--radius);background:var(--color-accent-soft);text-align:center}.c8-result__role{color:var(--color-accent-bright);font-size:24px;font-weight:600}.c8-result__why{margin-top:var(--space-2);color:var(--color-text-muted);font-size:14px}.c8-result__skills{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.c8-result__skill{border:1px solid var(--color-border);border-radius:999px;padding:4px 12px;font-size:12px}@media (width<=640px){.c8-skill-matrix{font-size:10px}.c8-skill-matrix__table th{font-size:9px}}.c8-role-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.c8-role-card{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);cursor:pointer;text-align:left;transition:border-color .22s var(--ease-out), box-shadow .22s var(--ease-out), transform .2s var(--ease-out), background .22s var(--ease-out);animation:card-breathe 4s var(--ease-out) infinite;grid-template-columns:48px 1fr;align-items:start;display:grid}@keyframes card-breathe{0%,to{border-color:var(--color-border)}50%{border-color:var(--color-accent-border);box-shadow:0 2px 12px -6px var(--color-accent-glow)}}.c8-role-card:hover{border-color:var(--color-accent-border);box-shadow:0 6px 22px -10px var(--color-accent-glow);background:var(--color-surface-2);animation:none;transform:translateY(-2px)}.c8-role-card.is-explored{border-color:var(--color-accent-border);background:var(--color-accent-soft)}.c8-role-card__icon{border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-base-deep);width:48px;height:48px;color:var(--color-accent-bright);transition:box-shadow .22s var(--ease-out), border-color .22s var(--ease-out);place-items:center;display:grid}.c8-role-card:hover .c8-role-card__icon{border-color:var(--color-accent-border);box-shadow:0 0 14px -4px var(--color-accent-glow)}.c8-role-card__body{gap:var(--space-1);display:grid}.c8-role-card__desc{font-size:12px;line-height:1.5}@media (width<=640px){.c8-role-grid{grid-template-columns:1fr}.c8-role-card{gap:var(--space-2);padding:var(--space-2) var(--space-3);grid-template-columns:40px 1fr}.c8-role-card__icon{width:40px;height:40px}}.c2-panel{transition:border-color .25s var(--ease-out), box-shadow .25s var(--ease-out), transform .22s var(--ease-out)}.c2-panel:hover{border-color:var(--color-border-strong);box-shadow:0 4px 18px -8px var(--color-accent-glow);transform:translateY(-1px)}.c2-pane{transition:none}.callout{transition:border-color .25s var(--ease-out), box-shadow .25s var(--ease-out)}.callout:hover{box-shadow:0 0 14px -6px var(--color-accent-glow)}.tag--accent:hover,.tag--high:hover,.tag--protected:hover,.tag--active:hover{box-shadow:0 0 8px -2px var(--color-accent-glow);transform:translateY(-1px)}.tag--medium:hover{border-color:var(--color-accent-border)}.tag--neutral:hover{border-color:var(--color-border-strong)}.status{transition:color .25s var(--ease-out), transform .22s var(--ease-out)}.status--accent svg{filter:drop-shadow(0 0 6px var(--color-accent-glow))}.input{transition:border-color .2s var(--ease-out), box-shadow .2s var(--ease-out), background .2s var(--ease-out)}.input:hover{box-shadow:0 0 10px -4px var(--color-accent-glow)}select.input{cursor:pointer;appearance:none;transition:border-color .22s var(--ease-out), box-shadow .22s var(--ease-out), background-color .22s var(--ease-out);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23D6A05C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:38px}select.input:hover{border-color:var(--color-accent-border);box-shadow:0 0 14px -6px var(--color-accent-glow);background-color:var(--color-surface-2)}select.input:focus{border-color:var(--color-accent-border);box-shadow:0 0 0 1px var(--color-accent-border), 0 0 18px -6px var(--color-accent-glow);outline:none}.btn--secondary{transition:border-color .2s var(--ease-out), background .2s var(--ease-out), box-shadow .2s var(--ease-out), transform .18s var(--ease-out)}.btn--secondary:hover:not(:disabled){box-shadow:0 2px 12px -4px var(--color-accent-glow)}.c2-rail__item{transition:border-color .22s var(--ease-out), background .22s var(--ease-out), color .22s var(--ease-out), box-shadow .22s var(--ease-out), transform .18s var(--ease-out)}.c2-rail__item:hover:not(:disabled){box-shadow:0 2px 10px -4px var(--color-accent-glow);transform:translateY(-1px)}.c2-rail__item.is-current{box-shadow:0 0 14px -4px var(--color-accent-glow)}.c2-rail__item.is-done{box-shadow:0 0 8px -4px var(--color-accent-glow)}.classrow:hover{border-color:var(--color-border-strong);box-shadow:0 3px 16px -8px var(--color-accent-glow);transform:translate(2px)}.landing__lead{transition:color .3s var(--ease-out)}.c2-expand__toggle:hover .text-label{color:var(--color-accent-bright);transition:color .2s var(--ease-out)}.progress__bar.is-current{box-shadow:0 0 6px var(--color-accent-glow)}.progress__bar.is-on{box-shadow:0 0 4px var(--color-accent-glow)}.c5-timeline__row.is-suspicious{transition:color .3s var(--ease-out), opacity .3s var(--ease-out)}.c5-timeline__row.is-suspicious:before{animation:timeline-pulse 2.2s var(--ease-out) infinite}@keyframes timeline-pulse{0%,to{box-shadow:0 0 4px var(--color-accent-glow)}50%{box-shadow:0 0 12px var(--color-accent-glow)}}.c5-evidence__item.is-found{animation:evidence-found .5s var(--ease-out) both}@keyframes evidence-found{0%{box-shadow:0 0 0 0 var(--color-accent-glow)}to{box-shadow:0 0 16px -4px var(--color-accent-glow)}}.c5-chain__stage.is-correct .c5-chain__num{animation:chain-pop .4s var(--ease-out) both}@keyframes chain-pop{0%{transform:scale(.8)}60%{transform:scale(1.08)}to{transform:scale(1)}}.c5-case{transition:border-color .25s var(--ease-out), box-shadow .25s var(--ease-out), transform .22s var(--ease-out), background .25s var(--ease-out)}.c5-email__body mark{transition:background .2s var(--ease-out), box-shadow .2s var(--ease-out)}.c5-email__body mark:hover{box-shadow:0 0 6px -2px var(--color-accent-glow)}.iconbtn:hover{transform:translateY(-1px)}.lab__back:hover{transform:translate(-2px)}.event-log__line:hover{background:var(--color-surface-2)}.c3-crl__table tbody tr{transition:background .22s var(--ease-out)}.c3-crl__table tbody tr:hover{background:var(--color-surface-2)}.panel--elevated{transition:box-shadow .3s var(--ease-out)}.panel--elevated:hover{box-shadow:0 8px 30px -14px #00000080}.state-block{transition:border-color .25s var(--ease-out), box-shadow .25s var(--ease-out)}.state-block:hover{border-color:var(--color-border-strong);box-shadow:0 0 20px -8px var(--color-accent-glow)}.completion{transition:box-shadow .3s var(--ease-out)}.completion:hover{box-shadow:0 0 24px -8px var(--color-accent-glow)}@media (width<=640px){body:before{opacity:.3}}.c2-options__btn,.c2-quiz button,.c2-options button,.c3-pool__item,.c6-packet__svc-pill,.c5-decision{transition:border-color .22s var(--ease-out), background .22s var(--ease-out), color .22s var(--ease-out), box-shadow .22s var(--ease-out), transform .18s var(--ease-out);cursor:pointer;padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);background:var(--color-surface);text-align:left;width:100%;font-size:14px;display:block;position:relative}.c2-options__btn:not([aria-pressed=true]):not(.is-correct):not(.is-wrong):not(:disabled),.c3-pool__item:not(.is-taken):not(:disabled),.c6-packet__svc-pill:not(.is-selected):not(:disabled),.c5-decision:not(.is-selected):not(.is-correct):not(.is-wrong):not(:disabled){animation:answer-breathe 3.5s var(--ease-out) infinite}@keyframes answer-breathe{0%,to{border-color:var(--color-border)}50%{border-color:var(--color-accent-border)}}.c2-options__btn:hover:not(:disabled),.c2-quiz button:hover:not(:disabled),.c3-pool__item:hover:not(:disabled),.c6-packet__svc-pill:hover:not(:disabled),.c5-decision:hover:not(:disabled){border-color:var(--color-accent-border);box-shadow:0 4px 18px -8px var(--color-accent-glow);color:var(--color-accent-bright);transform:translate(3px)}.c2-options__btn:active:not(:disabled),.c3-pool__item:active:not(:disabled),.c6-packet__svc-pill:active:not(:disabled),.c5-decision:active:not(:disabled){transform:translate(3px)scale(.97)}.c2-options__btn[aria-pressed=true],.c3-pool__item.is-taken,.c6-packet__svc-pill.is-selected,.c5-decision.is-selected{border-color:var(--color-accent-border);color:var(--color-accent-bright);background:var(--color-accent-soft);box-shadow:0 0 8px -2px var(--color-accent-glow);animation:none}.c2-options__btn.is-correct,.c6-packet__svc-pill.is-correct,.c5-decision.is-correct{background:var(--color-accent-soft);color:var(--color-accent-bright);border-color:var(--color-accent-border);box-shadow:0 0 14px -4px var(--color-accent-glow);animation:answer-pop .4s var(--ease-out) both}@keyframes answer-pop{0%{transform:scale(.95)}60%{transform:scale(1.03)}to{transform:scale(1)}}.c2-options__btn.is-wrong{opacity:.4;animation:none}@media (prefers-reduced-motion:reduce){.c2-options__btn,.c2-quiz button,.c3-pool__item,.c6-packet__svc-pill,.c5-decision{transition:none;animation:none}}body:after{content:"";z-index:0;pointer-events:none;background-image:radial-gradient(circle, var(--dot-grid) 1px, transparent 1px);opacity:.5;background-size:26px 26px;animation:60s linear infinite grid-drift;position:fixed;inset:-60px}@keyframes grid-drift{0%{transform:translate(0,0)}to{transform:translate(26px,26px)}}#root{z-index:1;position:relative}.panel--glass{position:relative;overflow:hidden}.panel--glass:before{content:"";pointer-events:none;background:linear-gradient(105deg, transparent 0%, var(--color-accent-glow) 50%, transparent 100%);opacity:.35;width:55%;height:100%;animation:holo-sheen 6.5s var(--ease-out) infinite;position:absolute;top:0;left:-80%;transform:skew(-18deg)}@keyframes holo-sheen{0%{left:-80%}55%,to{left:140%}}.c2-list__item,.c5-timeline__row,.c5-evidence__item,.c2-chain__item{animation:rise-in .4s var(--ease-out) both}.c2-list__item:first-child,.c5-timeline__row:first-child,.c5-evidence__item:first-child{animation-delay:20ms}.c2-list__item:nth-child(2),.c5-timeline__row:nth-child(2),.c5-evidence__item:nth-child(2){animation-delay:60ms}.c2-list__item:nth-child(3),.c5-timeline__row:nth-child(3),.c5-evidence__item:nth-child(3){animation-delay:.1s}.c2-list__item:nth-child(4),.c5-timeline__row:nth-child(4),.c5-evidence__item:nth-child(4){animation-delay:.14s}.c2-list__item:nth-child(5),.c5-timeline__row:nth-child(5),.c5-evidence__item:nth-child(5){animation-delay:.18s}.c2-list__item:nth-child(6),.c5-timeline__row:nth-child(6),.c5-evidence__item:nth-child(6){animation-delay:.22s}.c2-list__item:nth-child(7),.c5-timeline__row:nth-child(7),.c5-evidence__item:nth-child(7){animation-delay:.26s}.c2-list__item:nth-child(8),.c5-timeline__row:nth-child(8),.c5-evidence__item:nth-child(8){animation-delay:.3s}.c2-list__item:nth-child(9),.c5-timeline__row:nth-child(9),.c5-evidence__item:nth-child(9){animation-delay:.34s}.c2-list__item:nth-child(n+10),.c5-timeline__row:nth-child(n+10),.c5-evidence__item:nth-child(n+10){animation-delay:.38s}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.c5-timeline__row.is-suspicious:before,.status--accent svg,.event-log__line--live .event-log__level:before{animation:breathe 2.4s var(--ease-out) infinite}@keyframes breathe{0%,to{opacity:.7;filter:drop-shadow(0 0 2px var(--color-accent-glow))}50%{opacity:1;filter:drop-shadow(0 0 8px var(--color-accent-glow))}}.c4-card,.c5-case,.c4-meta__item{transform-style:preserve-3d;will-change:transform}.c4-card:hover,.c5-case:hover{transform:translateY(-2px)rotateX(1.5deg)}.event-log{position:relative}.event-log:after{content:"";pointer-events:none;border-radius:inherit;background:repeating-linear-gradient(0deg,#0000 0 3px,#edf3f904 3px 4px);position:absolute;inset:0}.progress__bar.is-current,.progress-bar__fill{position:relative;overflow:hidden}.progress__bar.is-current:after,.progress-bar__fill:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff59 50%,#0000 100%) 0 0/200% 100%;animation:2s linear infinite bar-shimmer;position:absolute;inset:0}@keyframes bar-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.step-head .text-section{padding-bottom:6px;display:inline-block;position:relative}.step-head .text-section:after{content:"";background:linear-gradient(90deg, var(--color-accent), transparent);transform-origin:0;width:100%;height:2px;animation:underline-draw .6s var(--ease-out) both;border-radius:2px;position:absolute;bottom:0;left:0}@keyframes underline-draw{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.lab--focus .lab__body{position:relative}.lab--focus .lab__body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(120% 90% at 50% 40%, transparent 55%, var(--color-base-deep) 100%);position:fixed;inset:0}.completion__badge{box-shadow:0 0 0 0 var(--color-accent-glow);animation:success-pop .4s var(--ease-out), badge-radiate 2.6s var(--ease-out) .4s infinite}@keyframes badge-radiate{0%{box-shadow:0 0 0 0 var(--color-accent-glow)}70%{box-shadow:0 0 0 14px #0000}to{box-shadow:0 0 #0000}}.btn--primary{transition:background var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out)}.btn--primary:hover:not(:disabled){box-shadow:0 10px 26px -10px var(--color-accent-glow), inset 0 1px 0 #ffffff40;transform:translateY(-1px)scale(1.015)}.c4-pool__item.is-taken,.c4-config__opt.is-selected,.c5-control.is-active{box-shadow:0 0 0 1px var(--color-accent-border), 0 0 12px -3px var(--color-accent-glow)}.c2-rail__item.is-current{animation:rail-beacon 2.2s var(--ease-out) infinite}@keyframes rail-beacon{0%,to{box-shadow:0 0 6px -1px var(--color-accent-glow)}50%{box-shadow:0 0 16px -1px var(--color-accent-glow)}}@media (width<=640px){body:after{opacity:.3;animation:none}.panel--glass:before{opacity:0;animation:none}}body{position:relative}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(600px 400px at 20% 30%, var(--bg-glow) 0%, transparent 60%), radial-gradient(400px 300px at 80% 70%, var(--bg-glow) 0%, transparent 50%);opacity:.55;position:fixed;inset:0}.lab__body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(800px 500px at 50% 35%, var(--color-accent-glow) 0%, transparent 70%);opacity:.12;position:fixed;inset:0}.lab__body .container{z-index:1;position:relative}.lab--focus .lab__chrome:after{content:"";background:linear-gradient(180deg, var(--color-accent-soft) 0%, transparent 100%);z-index:10;pointer-events:none;opacity:.6;height:6px;animation:bar-reveal .5s var(--ease-out) both;position:fixed;top:0;left:0;right:0}@keyframes bar-reveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:.6;transform:translateY(0)}}.c2-panel{position:relative;overflow:hidden}.c2-panel:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--color-accent-border) 50%, transparent 100%);opacity:0;height:1px;transition:opacity .35s var(--ease-out);pointer-events:none;position:absolute;top:0;left:0;right:0}.c2-panel:hover:before{opacity:1}.callout{position:relative}.callout:hover:before{content:"";background:var(--color-accent);border-radius:0 var(--radius) var(--radius) 0;width:2px;animation:edge-glow .35s var(--ease-out) both;z-index:2;pointer-events:none;position:absolute;top:0;bottom:0;left:0}@keyframes edge-glow{0%{opacity:0;transform:scaleY(.6)}to{opacity:1;transform:scaleY(1)}}.text-mono.accent-text,.c4-meta__val,.text-mono{transition:text-shadow .25s var(--ease-out)}.text-mono.accent-text:hover,.c4-meta__val:hover{text-shadow:0 0 12px var(--color-accent-glow)}.step-body{animation:body-reveal .45s var(--ease-out) both}@keyframes body-reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hologram-zone{isolation:isolate;position:relative}.hologram-zone:after{box-shadow:inset 0 0 40px -10px var(--color-accent-glow)}.stack-2>*,.stack-3>*,.stack-4>*,.stack-5>*{animation:item-in .35s var(--ease-out) both}.stack-2>:first-child{animation-delay:20ms}.stack-2>:nth-child(2){animation-delay:60ms}.stack-3>:first-child{animation-delay:20ms}.stack-3>:nth-child(2){animation-delay:60ms}.stack-3>:nth-child(3){animation-delay:.1s}.stack-4>:first-child{animation-delay:20ms}.stack-4>:nth-child(2){animation-delay:60ms}.stack-4>:nth-child(3){animation-delay:.1s}.stack-4>:nth-child(4){animation-delay:.14s}.stack-5>:first-child{animation-delay:20ms}.stack-5>:nth-child(2){animation-delay:60ms}.stack-5>:nth-child(3){animation-delay:.1s}.stack-5>:nth-child(4){animation-delay:.14s}.stack-5>:nth-child(5){animation-delay:.18s}@keyframes item-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.c6-rule-table tbody tr,.c3-crl__table tbody tr,.c8-skill-matrix__table tbody tr{transition:background .18s var(--ease-out), box-shadow .18s var(--ease-out)}.c6-rule-table tbody tr:hover,.c3-crl__table tbody tr:hover,.c8-skill-matrix__table tbody tr:hover{background:var(--color-accent-soft);box-shadow:inset 4px 0 0 var(--color-accent-border)}.c4-meta__item{transition:transform .22s var(--ease-out), box-shadow .22s var(--ease-out), border-color .22s var(--ease-out)}.c4-meta__item:hover{box-shadow:0 6px 20px -10px var(--color-accent-glow);transform:translateY(-2px)}.c2-expand__toggle{transition:background .2s var(--ease-out), box-shadow .2s var(--ease-out)}.c2-expand__toggle:hover{box-shadow:inset 0 0 20px -10px var(--color-accent-glow)}.status--accent{transition:text-shadow .3s var(--ease-out)}.status--accent:hover{text-shadow:0 0 10px var(--color-accent-glow)}.page-head{animation:head-in .5s var(--ease-out) both}@keyframes head-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.c8-radar__zone{transition:transform .25s var(--ease-out), box-shadow .25s var(--ease-out), border-color .25s var(--ease-out)}.c8-radar__zone:hover{box-shadow:0 8px 28px -12px var(--color-accent-glow);transform:translateY(-3px)scale(1.01)}.c8-workday__row{transition:background .2s var(--ease-out)}.c8-workday__row:hover{background:var(--color-surface-2)}.c8-workday__row:hover:before{background:var(--color-accent);box-shadow:0 0 8px var(--color-accent-glow);transition:all .2s var(--ease-out)}.c3-panel,.c4-meta__item,.c6-alert,.c8-profile__chip{transition:box-shadow .25s var(--ease-out), border-color .25s var(--ease-out), transform .22s var(--ease-out)}.c3-panel:hover,.c6-alert:hover,.c8-profile__chip:hover{box-shadow:0 4px 18px -8px var(--color-accent-glow);transform:translateY(-1px)}.classrow{transition:transform .22s var(--ease-out), box-shadow .22s var(--ease-out), border-color .22s var(--ease-out), background .22s var(--ease-out)}.classrow:hover{background:var(--color-surface-2)}.landing__lead{padding-bottom:12px;position:relative}.landing__lead:after{content:"";background:var(--color-accent);width:60px;height:2px;box-shadow:0 0 8px var(--color-accent-glow);animation:lead-line .7s var(--ease-out) both;border-radius:2px;position:absolute;bottom:0;left:0}@keyframes lead-line{0%{opacity:0;width:0}to{opacity:1;width:60px}}@media (width<=640px){.lab__body:before{opacity:.06}.lab--focus .lab__chrome:after{height:3px}}@media (prefers-reduced-motion:reduce){.step-body,.stack-2>*,.stack-3>*,.stack-4>*,.stack-5>*,.page-head,.lead-line{animation:none}}.particle-field{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.particle-field:before,.particle-field:after{content:"";background:var(--color-accent);opacity:.12;border-radius:50%;width:3px;height:3px;animation:14s linear infinite float-up;position:absolute}.particle-field:before{animation-duration:16s;animation-delay:-3s;left:15%}.particle-field:after{animation-duration:18s;animation-delay:-8s;left:75%}@keyframes float-up{0%{opacity:0;transform:translateY(120vh)translate(0)}10%{opacity:.15}80%{opacity:.08}to{opacity:0;transform:translateY(-10vh)translate(60px)}}.c2-panel{transition:border-color .3s var(--ease-out), box-shadow .3s var(--ease-out);position:relative}.c2-panel:after{content:"";border-radius:var(--radius);background:linear-gradient(135deg, var(--color-accent-glow) 0%, transparent 40%, transparent 60%, var(--color-accent-glow) 100%);-webkit-mask-composite:xor;opacity:0;pointer-events:none;transition:opacity .4s var(--ease-out);padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.c2-panel:hover:after{opacity:.5}.btn:active:after{content:"";border-radius:inherit;background:var(--color-accent-glow);animation:ripple-out .5s var(--ease-out) both;pointer-events:none;position:absolute;inset:-4px}@keyframes ripple-out{0%{opacity:.4;transform:scale(.92)}to{opacity:0;transform:scale(1.04)}}@keyframes blur-reveal{0%{opacity:0;filter:blur(4px);transform:translateY(16px)}to{opacity:1;filter:blur();transform:translateY(0)}}.lab__body .container>section{animation:blur-reveal .45s var(--ease-out) both}.tag--accent,.tag--high{animation:tag-pulse 3s var(--ease-out) infinite}@keyframes tag-pulse{0%,to{box-shadow:0 0 2px var(--color-accent-glow)}50%{box-shadow:0 0 8px var(--color-accent-glow)}}.btn--primary{position:relative}.c4-path__arrow,.c5-split__arrow{transition:color .3s var(--ease-out), text-shadow .3s var(--ease-out)}.c4-path__arrow:hover,.c5-split__arrow:hover{color:var(--color-accent-bright);text-shadow:0 0 10px var(--color-accent-glow)}.lab__back:hover{text-shadow:0 0 8px var(--color-accent-glow)}.callout{position:relative;overflow:visible}.callout:before{content:"";background:var(--color-accent);width:2px;transition:transform .3s var(--ease-out);z-index:2;pointer-events:none;border-radius:2px 0 0 2px;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.callout:hover:before{transform:scaleY(1)}select.input option:hover,select.input option:checked{background:var(--color-accent-soft)}@media (width<=640px){.particle-field:before,.particle-field:after{animation:none}.btn--primary:before{display:none}}@media (prefers-reduced-motion:reduce){.particle-field:before,.particle-field:after,.tag--accent,.tag--high,.lab__body .container>section,.btn:active:after{animation:none}}.lab__body{position:relative}.lab__body:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(900px 400px at 25% 30%, var(--color-accent-glow) 0%, transparent 70%), radial-gradient(600px 300px at 75% 70%, var(--color-accent-glow) 0%, transparent 60%);opacity:.08;position:fixed;inset:0}.lab__body .container:before{content:"";height:1px;margin-bottom:var(--space-4);background:linear-gradient(90deg, transparent 0%, var(--color-accent-border) 20%, var(--color-accent-border) 80%, transparent 100%);opacity:.5;animation:bar-sheen 5s var(--ease-out) infinite;display:block}@keyframes bar-sheen{0%,to{opacity:.3}50%{opacity:.7}}.c2-panel,.callout,.c4-card,.c5-case,.c6-alert,.c8-role-card{position:relative;overflow:hidden}.c2-panel:before,.callout:after,.c4-card:before,.c5-case:before,.c6-alert:before,.c8-role-card:after{content:"";pointer-events:none;background:radial-gradient(ellipse at 30% 20%, var(--color-accent-glow) 0%, transparent 60%);opacity:0;width:200%;height:200%;transition:opacity .5s var(--ease-out);z-index:1;position:absolute;top:-50%;left:-50%}.c2-panel:hover:before,.callout:hover:after,.c4-card:hover:before,.c5-case:hover:before,.c6-alert:hover:before,.c8-role-card:hover:after{opacity:.15}.c2-panel,.callout{transition:box-shadow .35s var(--ease-out), border-color .35s var(--ease-out)}.c2-panel:hover,.callout:hover{box-shadow:0 0 0 1px var(--color-accent-border), 0 12px 36px -14px var(--color-accent-glow), inset 0 1px 0 #ffffff0a}.text-mono.accent-text,code.mono,.c4-meta__val,.c3-cert__val,.c6-packet__field .mono{transition:text-shadow .3s var(--ease-out), color .3s var(--ease-out)}.text-mono.accent-text:hover,code.mono:hover,.c4-meta__val:hover,.c3-cert__val:hover,.c6-packet__field .mono:hover{text-shadow:0 0 18px var(--color-accent-glow);color:var(--color-accent-bright)}.btn--primary:before{content:"";border-radius:calc(var(--radius) + 2px);background:var(--color-accent-glow);opacity:0;filter:blur(14px);transition:opacity .35s var(--ease-out);z-index:-1;pointer-events:none;position:absolute;inset:-4px}.btn--primary:hover:not(:disabled):before{opacity:.6}.btn--primary:hover:not(:disabled){box-shadow:0 12px 32px -12px var(--color-accent-glow), inset 0 1px 0 #ffffff40, 0 0 0 2px var(--color-accent-border)}.iconbtn{transition:transform .18s var(--ease-out), color .2s var(--ease-out), text-shadow .2s var(--ease-out)}.iconbtn:hover{text-shadow:0 0 12px var(--color-accent-glow);color:var(--color-accent-bright);transform:scale(1.1)}.step-head .text-section{transition:text-shadow .4s var(--ease-out)}.step-head:hover .text-section{text-shadow:0 0 20px var(--color-accent-glow)}.c4-modes__btn,.c2-modes__btn,.c4-modes__btn{transition:transform .18s var(--ease-out), box-shadow .18s var(--ease-out), background .2s var(--ease-out), color .2s var(--ease-out)}.c4-modes__btn:hover,.c2-modes__btn:hover{box-shadow:0 3px 10px -4px var(--color-accent-glow);transform:translateY(-1px)}.container>*{transition:opacity .3s var(--ease-out)}@media (width<=640px){.btn--primary:before{display:none}.c2-panel:before,.callout:after{opacity:0}}@media (prefers-reduced-motion:reduce){.lab__body .container:before,.c2-panel:before,.callout:after,.c4-card:before,.c5-case:before,.c6-alert:before,.c8-role-card:after{opacity:0;animation:none}}.c4-card,.c5-case,.c8-role-card,.c5-evidence__item{position:relative}.c4-card:after,.c5-case:after,.c8-role-card:before,.c5-evidence__item:after{content:"";background:var(--color-accent);opacity:0;width:5px;height:5px;box-shadow:0 0 6px var(--color-accent-glow);transition:opacity .35s var(--ease-out), transform .35s var(--ease-out);pointer-events:none;z-index:3;border-radius:50%;position:absolute;top:6px;right:6px}.c4-card:hover:after,.c5-case:hover:after,.c8-role-card:hover:before,.c5-evidence__item:hover:after{opacity:.8;transform:scale(1.4)}.c4-divider,.c4-divider{position:relative}.c4-divider:after{content:"";background:var(--color-accent-glow);opacity:0;filter:blur(3px);height:1px;transition:opacity 1.5s var(--ease-out);pointer-events:none;position:absolute;top:-1px;left:20%;right:20%}.c4-divider:hover:after{opacity:.4}.c8-profile__chip{position:relative;overflow:hidden}.c8-profile__chip:after{content:"";background:linear-gradient(105deg, transparent 0%, var(--color-accent-glow) 50%, transparent 100%);opacity:0;width:50%;height:220%;transition:opacity .5s var(--ease-out);pointer-events:none;position:absolute;top:-60%;left:-60%;transform:skew(-15deg)}.c8-profile__chip:hover:after{opacity:.2;animation:chip-sheen 2s var(--ease-out) infinite}@keyframes chip-sheen{0%{left:-60%}50%,to{left:120%}}.c5-timeline__row:before,.c8-workday__row:before{transition:box-shadow .3s var(--ease-out), background .3s var(--ease-out), transform .3s var(--ease-out)}.c5-timeline__row:hover:before,.c8-workday__row:hover:before{box-shadow:0 0 12px var(--color-accent-glow);background:var(--color-accent);transform:scale(1.5)}.state-block{transition:border-color .5s var(--ease-out), box-shadow .5s var(--ease-out);animation:state-breathe 4s var(--ease-out) infinite}@keyframes state-breathe{0%,to{border-color:var(--color-border-strong)}50%{border-color:var(--color-accent-border);box-shadow:0 0 16px -6px var(--color-accent-glow)}}.c4-meta__val,.c4-meta__item:hover .c4-meta__val{transition:transform .25s var(--ease-out), text-shadow .25s var(--ease-out)}.c4-meta__item:hover .c4-meta__val{text-shadow:0 0 16px var(--color-accent-glow);transform:scale(1.06)}@media (prefers-reduced-motion:reduce){.c4-card:after,.c5-case:after,.c8-role-card:before,.c5-evidence__item:after,.c4-divider:after,.c8-profile__chip:after,.state-block{animation:none}}html:before{content:"";pointer-events:none;z-index:9998;background:radial-gradient(600px circle at var(--cursor-x,50%) var(--cursor-y,50%), var(--color-accent-glow) 0%, transparent 60%);opacity:.25;width:100%;height:100%;transition:opacity .6s var(--ease-out);position:fixed;top:0;left:0}@media (width<=640px){html:before{opacity:.12}}@media (prefers-reduced-motion:reduce){html:before{opacity:0}}@keyframes rotate-light{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.panel--glass{position:relative}.panel--glass:after{content:"";border-radius:var(--radius);background:conic-gradient(from 0deg, transparent 0deg, var(--color-accent-glow) 90deg, transparent 180deg, transparent 360deg);-webkit-mask-composite:xor;opacity:.35;pointer-events:none;z-index:0;padding:2px;animation:8s linear infinite rotate-light;position:absolute;inset:-2px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.panel--glass>*{z-index:1;position:relative}.c4-card:hover,.c5-case:hover{box-shadow:0 2px 4px #0000004d, 0 6px 12px #0003, 0 12px 28px #00000026, 0 0 0 1px var(--color-accent-border), 0 0 40px -14px var(--color-accent-glow)}.completion__badge,.progress__bar.is-current{position:relative}.completion__badge:after,.progress__bar.is-current:after{content:"";animation:dot-pulse 2s var(--ease-out) infinite;pointer-events:none;background:0 0;border-radius:50%;position:absolute;inset:-4px}@keyframes dot-pulse{0%{box-shadow:0 0 0 0 var(--color-accent-glow)}70%{box-shadow:0 0 0 8px #0000}to{box-shadow:0 0 #0000}}@keyframes hue-shift{0%,to{filter:hue-rotate()}25%{filter:hue-rotate(3deg)}75%{filter:hue-rotate(-3deg)}}body:before{animation:hue-shift 20s var(--ease-out) infinite}.classrow:hover{box-shadow:0 2px 6px #00000040, 0 6px 18px #00000026, 0 0 0 1px var(--color-accent-border), 0 0 24px -10px var(--color-accent-glow);transition:box-shadow .35s var(--ease-out), transform .25s var(--ease-out)}.callout:after{content:"";background:linear-gradient(90deg, transparent, var(--color-accent-border), transparent);opacity:0;height:1px;transition:opacity .4s var(--ease-out);pointer-events:none;z-index:2;position:absolute;top:0;left:8px;right:8px}.callout:hover:after{opacity:.6}.c2-chain__dot,.c4-score__fill{transition:box-shadow .3s var(--ease-out)}.c2-chain__dot:hover{box-shadow:0 0 10px var(--color-accent-glow);cursor:default}@media (width<=640px){.panel--glass:after{opacity:.15;animation:none}body:before{animation:none}}@media (prefers-reduced-motion:reduce){.panel--glass:after,body:before,.completion__badge:after,.progress__bar.is-current:after{animation:none}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);transition:background .3s var(--ease-out);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-border)}*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::selection{background:var(--color-accent-soft);color:var(--color-accent-bright);text-shadow:0 0 6px var(--color-accent-glow)}:focus-visible{outline:2px solid var(--color-accent-border);outline-offset:2px;box-shadow:0 0 0 4px var(--color-accent-soft);border-radius:3px}a:not(.btn):not(.iconbtn):not(.c2-rail__item):not(.classrow){background-image:linear-gradient(var(--color-accent-border), var(--color-accent-border));transition:background-size .3s var(--ease-out);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:1px;text-decoration:none}a:not(.btn):not(.iconbtn):not(.c2-rail__item):not(.classrow):hover{background-size:100% 1px}.shell__drawer{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px)saturate(1.2);backdrop-filter:blur(20px)saturate(1.2);border-right:1px solid var(--glass-border)}.shell__header{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px)saturate(1.2);backdrop-filter:blur(16px)saturate(1.2);border-bottom:1px solid var(--glass-border)}.shell__nav .is-active{position:relative}.shell__nav .is-active:after{content:"";background:var(--color-accent);height:2px;box-shadow:0 0 8px var(--color-accent-glow);border-radius:2px;position:absolute;bottom:-2px;left:0;right:0}.shell__footer{border-top:1px solid var(--color-accent-border);box-shadow:0 -2px 20px -8px var(--color-accent-glow)}.lab__chrome{background:var(--glass-bg);-webkit-backdrop-filter:blur(14px)saturate(1.1);backdrop-filter:blur(14px)saturate(1.1);border-bottom:1px solid var(--glass-border)}html{scroll-behavior:smooth}input[type=checkbox]:checked,input[type=radio]:checked{accent-color:var(--color-accent)}code,pre,.text-mono,.mono{border-radius:4px}@media (width<=640px){.shell__drawer,.shell__header,.lab__chrome{-webkit-backdrop-filter:blur(8px)saturate();backdrop-filter:blur(8px)saturate()}}html:after{content:"";pointer-events:none;z-index:9999;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.15s steps(3,end) infinite grain-shift;position:fixed;inset:0}@keyframes grain-shift{0%{background-position:0 0}25%{background-position:-5px 3px}50%{background-position:2px -4px}75%{background-position:-3px -2px}to{background-position:4px 1px}}.c2-panel:hover{box-shadow:0 0 0 1px var(--color-accent-border), 0 0 12px -4px var(--color-accent-glow), 0 8px 24px -10px #0000004d}.status--accent svg,.tag--accent svg,.completion__badge svg{filter:drop-shadow(0 0 4px var(--color-accent-glow))}.c2-list__item{transition:transform .25s var(--ease-out), color .25s var(--ease-out)}.c2-list__item:hover{color:var(--color-accent-bright);transform:translate(4px)}.c2-chain__dot{transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out)}.c2-chain__item:hover .c2-chain__dot{box-shadow:0 0 8px var(--color-accent-glow);background:var(--color-accent);transform:scale(2)}.c4-divider{transition:border-color .5s var(--ease-out)}.c4-divider:hover{border-color:var(--color-accent-border);box-shadow:0 1px 4px var(--color-accent-glow)}.text-section{transition:letter-spacing .5s var(--ease-out)}.text-section:hover{letter-spacing:.02em}@media (width<=640px){html:after{opacity:.02}}@media (prefers-reduced-motion:reduce){html:after{opacity:.02;animation:none}}@keyframes light-sweep{0%{opacity:0;transform:translate(-150%)skew(-20deg)}20%{opacity:.4}80%{opacity:.4}to{opacity:0;transform:translate(250%)skew(-20deg)}}.c2-panel,.c4-card,.c5-case,.c6-alert,.c8-role-card,.c8-profile__chip{position:relative;overflow:hidden}.c2-panel>.light-sweep,.c4-card>.light-sweep,.c5-case>.light-sweep,.c6-alert>.light-sweep,.c8-role-card>.light-sweep,.c8-profile__chip>.light-sweep{display:none}.c2-panel:hover:after,.c4-card:hover:after,.c5-case:hover:after,.c6-alert:hover:after,.c8-profile__chip:hover:after{content:"";background:linear-gradient(90deg, transparent 0%, var(--color-accent-glow) 50%, transparent 100%);pointer-events:none;z-index:2;width:40%;height:100%;animation:light-sweep .8s var(--ease-out) both;position:absolute;top:0;left:0}.step-head h2:after{content:"";background:var(--color-accent);width:48px;height:3px;box-shadow:0 0 8px var(--color-accent-glow);animation:heading-line .5s var(--ease-out) both;border-radius:3px;position:absolute;bottom:-4px;left:0}.step-head h2{position:relative}@keyframes heading-line{0%{opacity:0;width:0}to{opacity:1;width:48px}}.input:focus{box-shadow:0 0 0 1px var(--color-accent-border), 0 0 0 4px var(--color-accent-soft), 0 0 20px -4px var(--color-accent-glow);transition:box-shadow .25s var(--ease-out)}.status--accent{text-shadow:0 0 8px var(--color-accent-glow)}.completion__badge{position:relative}.completion__badge:after{content:"";background:conic-gradient(from 0deg, var(--color-accent-glow) 0deg, transparent 90deg, transparent 180deg, var(--color-accent-glow) 270deg, transparent 360deg);pointer-events:none;border:1px solid #0000;border-radius:50%;animation:4s linear infinite rotate-glow;position:absolute;inset:-6px;-webkit-mask:radial-gradient(circle,#0000 50%,#000 51%);mask:radial-gradient(circle,#0000 50%,#000 51%)}@keyframes rotate-glow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tag--accent:hover{box-shadow:0 0 12px -2px var(--color-accent-glow);transform:scale(1.08)}.progress__bar.is-on,.progress__bar.is-current{background-image:linear-gradient(90deg, var(--color-accent) 0%, var(--color-accent-bright) 50%, var(--color-accent) 100%);background-size:200% 100%;animation:3s linear infinite bar-gradient}@keyframes bar-gradient{0%{background-position:0 0}to{background-position:200% 0}}.c2-rail__item:hover:after{content:"";background:var(--color-accent-border);border-radius:1px;height:1px;position:absolute;bottom:4px;left:6px;right:6px}@media (width<=640px){.completion__badge:after{opacity:0;animation:none}}@media (prefers-reduced-motion:reduce){.c2-panel:hover:after,.c4-card:hover:after,.c5-case:hover:after,.c6-alert:hover:after,.c8-profile__chip:hover:after{opacity:0;animation:none}.completion__badge:after,.progress__bar.is-on,.progress__bar.is-current{animation:none}}.classrow{transform-style:preserve-3d;perspective:600px}.classrow:hover{box-shadow:-4px 8px 20px -8px #0006, 0 0 0 1px var(--color-accent-border), 0 0 24px -10px var(--color-accent-glow);transform:translateY(-2px)rotateX(2deg)rotateY(-1deg)}.classrow__num{transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out)}.classrow:hover .classrow__num{box-shadow:0 4px 12px -4px var(--color-accent-glow);transform:translateZ(20px)scale(1.05)}.c2-expand__body{animation:spring-open .5s var(--ease-out) both}@keyframes spring-open{0%{opacity:0;transform:translateY(-8px)scaleY(.9)}60%{transform:translateY(2px)scaleY(1.02)}to{opacity:1;transform:translateY(0)scaleY(1)}}.text-hero{background:linear-gradient(120deg, var(--color-text) 0%, var(--color-text) 30%, var(--color-accent-bright) 50%, var(--color-text) 70%, var(--color-text) 100%);-webkit-text-fill-color:transparent;animation:sheen-text 6s var(--ease-out) infinite;background-size:300% 100%;-webkit-background-clip:text;background-clip:text}@keyframes sheen-text{0%,to{background-position:100% 0}50%{background-position:0 0}}.drawer__item{animation:drawer-slide .4s var(--ease-out) both}.drawer__item:first-child{animation-delay:30ms}.drawer__item:nth-child(2){animation-delay:60ms}.drawer__item:nth-child(3){animation-delay:90ms}.drawer__item:nth-child(4){animation-delay:.12s}.drawer__item:nth-child(5){animation-delay:.15s}.drawer__item:nth-child(6){animation-delay:.18s}.drawer__item:nth-child(7){animation-delay:.21s}.drawer__item:nth-child(8){animation-delay:.24s}@keyframes drawer-slide{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.c2-expand__chevron{transition:transform .35s var(--ease-out), color .25s var(--ease-out)}.c2-expand__toggle[aria-expanded=true] .c2-expand__chevron{color:var(--color-accent-bright);filter:drop-shadow(0 0 6px var(--color-accent-glow))}code,pre{box-shadow:inset 0 1px 2px #00000026}.c4-score__fill,.c8-result__skill{animation:bar-grow .8s var(--ease-out) both}@keyframes bar-grow{0%{width:0!important}}input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer;transition:transform .15s var(--ease-out)}input[type=checkbox]:checked{transform:scale(1.1)}input[type=checkbox]:hover{filter:drop-shadow(0 0 4px var(--color-accent-glow))}@media (width<=640px){.text-hero{-webkit-text-fill-color:var(--color-text);background:0 0}.classrow:hover{transform:translateY(-1px)}}@media (prefers-reduced-motion:reduce){.text-hero{-webkit-text-fill-color:var(--color-text);animation:none}.c2-expand__body,.drawer__item,.c4-score__fill{animation:none}}.completion__badge svg,.status--accent svg{animation:float-gentle 4s var(--ease-out) infinite}@keyframes float-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.btn:active:after{content:"";border-radius:inherit;border:2px solid var(--color-accent);animation:click-pulse .4s var(--ease-out) both;pointer-events:none;position:absolute;inset:0}@keyframes click-pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.15)}}.c8-skill-matrix__table td:hover{background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent-border)}.c8-skill__lvl.strong{text-shadow:0 0 6px var(--color-accent-glow)}.c2-rail__item.is-current:after{content:"";background:var(--color-accent);width:4px;height:4px;box-shadow:0 0 8px var(--color-accent-glow);animation:dot-breathe 1.5s var(--ease-out) infinite;border-radius:50%;position:absolute;bottom:-2px;left:50%;transform:translate(-50%)}@keyframes dot-breathe{0%,to{opacity:.5;transform:translate(-50%)scale(1)}50%{opacity:1;transform:translate(-50%)scale(1.5)}}.accent-text,.c4-meta__val,.text-mono.accent-text{position:relative}.accent-text:hover:after,.c4-meta__val:hover:after{content:"";background:linear-gradient(90deg, transparent, var(--color-accent-glow), transparent);pointer-events:none;mix-blend-mode:overlay;opacity:.3;background-size:200% 100%;animation:1s linear both text-shimmer-hover;position:absolute;inset:0}@keyframes text-shimmer-hover{0%{background-position:200% 0}to{background-position:-200% 0}}.c4-card.is-open{box-shadow:0 0 0 1px var(--color-accent-border), 0 4px 16px -6px var(--color-accent-glow)}.c8-result__card,.completion{animation:result-glow 3s var(--ease-out) infinite}@keyframes result-glow{0%,to{box-shadow:0 0 0 1px var(--color-accent-border), 0 0 20px -8px var(--color-accent-glow)}50%{box-shadow:0 0 0 1px var(--color-accent-border), 0 0 36px -10px var(--color-accent-glow)}}.field:focus-within .text-label{color:var(--color-accent-bright);transition:color .2s var(--ease-out)}.btn--secondary:hover:not(:disabled){background-image:linear-gradient(135deg, transparent 0%, var(--color-accent-soft) 50%, transparent 100%);animation:ghost-slide .6s var(--ease-out) both;background-size:200% 100%}@keyframes ghost-slide{0%{background-position:200% 0}to{background-position:0 0}}@media (width<=640px){.c2-panel:hover{background-image:none;animation:none}}@media (prefers-reduced-motion:reduce){.completion__badge svg,.status--accent svg,.c2-heroq svg,.c4-heroq svg,.c2-rail__item.is-current:after{animation:none}.c2-panel:hover{background-image:none;animation:none}.c8-result__card,.completion,.btn:active:after{animation:none}}.muted{transition:color .3s var(--ease-out)}.c2-panel:hover .muted,.callout:hover .muted,.c5-case:hover .muted,.c4-card:hover .muted{color:var(--color-text)}.c2-chain__item{transition:transform .25s var(--ease-out), color .25s var(--ease-out)}.c2-chain__item:hover{color:var(--color-accent-bright)}.c2-chain__item:hover .c2-chain__dot{animation:dot-glow .6s var(--ease-out) both}@keyframes dot-glow{0%{box-shadow:0 0 0 0 var(--color-accent-glow)}to{box-shadow:0 0 8px 2px var(--color-accent-glow)}}.tag{transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out)}.tag:hover{box-shadow:0 2px 6px -2px var(--color-accent-glow);transform:scale(1.05)}.fact{transition:border-color .3s var(--ease-out), color .3s var(--ease-out), box-shadow .3s var(--ease-out)}.fact:hover{border-color:var(--color-accent-border);color:var(--color-accent-bright);box-shadow:0 2px 10px -4px var(--color-accent-glow)}.drawer__num{transition:box-shadow .3s var(--ease-out), color .3s var(--ease-out)}.drawer__item:hover .drawer__num{color:var(--color-accent-bright);box-shadow:inset 0 0 8px -2px var(--color-accent-glow)}.shell__footer{transition:border-color 1.5s var(--ease-out)}.shell__footer:hover{border-color:var(--color-accent-border)}.progress__count{transition:color .3s var(--ease-out), text-shadow .3s var(--ease-out)}.progress__count:hover{color:var(--color-accent-bright);text-shadow:0 0 8px var(--color-accent-glow)}.brand__mark svg{transition:transform .4s var(--ease-out), color .3s var(--ease-out)}.brand:hover .brand__mark svg{color:var(--color-accent-bright);transform:rotate(-12deg)}.lab__back{transition:color .3s var(--ease-out)}.c6-rule-table th:hover,.c3-crl__table th:hover,.c8-skill-matrix__table th:hover{color:var(--color-accent-bright);transition:color .2s var(--ease-out)}.footer-row .muted{transition:color .3s var(--ease-out), text-shadow .3s var(--ease-out)}.footer-row .muted:hover{text-shadow:0 0 6px var(--color-accent-glow)}@media (width<=640px){.tag:hover{transform:none}}@media (prefers-reduced-motion:reduce){.brand__mark svg{transition:none}.c2-chain__dot{animation:none}}.fact{animation:fact-float 5s var(--ease-out) infinite}.fact:first-child{animation-delay:0s}.fact:nth-child(2){animation-delay:.8s}.fact:nth-child(3){animation-delay:1.6s}@keyframes fact-float{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.c2-rail__num{transition:transform .3s var(--ease-out), text-shadow .3s var(--ease-out)}.c2-rail__item:hover .c2-rail__num{text-shadow:0 0 6px var(--color-accent-glow)}.lab__back svg{transition:transform .35s var(--ease-out)}.lab__back:hover svg{transform:translate(-3px)}.lab__back:hover{color:var(--color-accent-bright)}hr,.rule-line__bar{background:linear-gradient(90deg, transparent, var(--color-accent-border) 30%, var(--color-accent-border) 70%, transparent);border:none;height:1px}.completion__badge{transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out)}.completion__badge:hover{box-shadow:0 0 20px -4px var(--color-accent-glow);transform:scale(1.05)}.topnav__link{transition:color .2s var(--ease-out);position:relative}.topnav__link:after{content:"";background:var(--color-accent);width:0;height:2px;box-shadow:0 0 6px var(--color-accent-glow);transition:width .3s var(--ease-out);border-radius:2px;position:absolute;bottom:-4px;left:0}.topnav__link:hover:after,.topnav__link.is-active:after{width:100%}.page.screen-enter{animation:page-in .45s var(--ease-out) both}@keyframes page-in{0%{opacity:0;filter:blur(2px);transform:translateY(6px)}to{opacity:1;filter:blur();transform:translateY(0)}}.event-log__line{transition:background .2s var(--ease-out), padding-left .25s var(--ease-out)}.event-log__line:hover{background:var(--color-surface-2);padding-left:4px}.c3-cert{transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out)}.c3-cert:hover{box-shadow:8px 4px 24px -10px #00000080, 0 0 20px -6px var(--color-accent-glow);transform:perspective(800px)rotateY(1deg)}@media (width<=640px){.c3-cert:hover{transform:none}}@media (prefers-reduced-motion:reduce){.fact,.page.screen-enter{animation:none}}
