:root{--color-primary-50:#e8f0fe;--color-primary-100:#c5d9fc;--color-primary-200:#9ebef9;--color-primary-300:#74a3f6;--color-primary-400:#528ef3;--color-primary-500:#2f79f0;--color-primary-600:#1a65d6;--color-primary-700:#134fb3;--color-primary-800:#0d3a8f;--color-primary-900:#07256b;--color-navy-900:#0b1929;--color-navy-800:#0f2744;--color-navy-700:#13355f;--color-navy-600:#1a4478;--color-navy-500:#1e5494;--color-navy-400:#2563a8;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e1;--color-gray-400:#94a3b8;--color-gray-500:#64748b;--color-gray-600:#475569;--color-gray-700:#334155;--color-gray-800:#1e293b;--color-gray-900:#0f172a;--color-success:#22c55e;--color-warning:#f59e0b;--color-error:#ef4444;--color-info:#3b82f6;--surface-bg:#f0f4f8;--surface-card:#fff;--surface-card-hover:#f8fafc;--surface-sidebar:#f8fbff;--surface-sidebar-hover:#eef4ff;--surface-sidebar-active:#dceaff;--text-primary:var(--color-gray-900);--text-secondary:var(--color-gray-600);--text-muted:var(--color-gray-400);--text-inverse:#fff;--text-sidebar:#475569;--text-sidebar-active:#0f172a;--border-color:var(--color-gray-200);--border-color-strong:var(--color-gray-300);--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000f;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--font-family:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--sidebar-width:260px;--sidebar-collapsed-width:72px;--header-height:64px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--surface-bg:#080e1a;--surface-card:#111827;--surface-card-hover:#1a2332;--surface-sidebar:#060b16;--surface-sidebar-hover:#111d30;--surface-sidebar-active:var(--color-primary-700);--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#0f172a;--border-color:#1e293b;--border-color-strong:#334155;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 4px 6px -1px #00000059, 0 2px 4px -2px #00000040;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -4px #0000004d;--shadow-xl:0 20px 25px -5px #00000080, 0 8px 10px -6px #0006}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;line-height:var(--leading-normal);font-family:var(--font-family);font-size:var(--text-base);color:var(--text-primary);background-color:var(--surface-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal), color var(--transition-normal)}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{cursor:pointer;background:0 0;border:none}:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px;border-radius:var(--radius-sm)}.badge{align-items:center;gap:var(--space-1);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.02em;border-radius:var(--radius-full);white-space:nowrap;transition:all var(--transition-fast);padding:2px 10px;display:inline-flex}.badge--success{color:var(--color-success);background:#22c55e1f}.badge--warning{color:var(--color-warning);background:#f59e0b1f}.badge--info{color:var(--color-info);background:#3b82f61f}.badge--muted{color:var(--text-muted);background:#64748b1a}.card{background:var(--surface-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.card--glass{-webkit-backdrop-filter:blur(16px);background:#fff9}[data-theme=dark] .card--glass{background:#11182799}.card__header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.card__title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.card__subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-1)}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;cursor:pointer;border:1px solid #0000;display:inline-flex}.btn--primary{background:var(--color-primary-600);color:#fff}.btn--primary:hover{background:var(--color-primary-700);box-shadow:var(--shadow-md)}.btn--secondary{color:var(--text-secondary);border-color:var(--border-color);background:0 0}.btn--secondary:hover{background:var(--surface-card-hover);border-color:var(--border-color-strong)}.btn--ghost{color:var(--text-secondary);background:0 0}.btn--ghost:hover{color:var(--text-primary);background:#64748b14}.btn--icon{padding:var(--space-2);border-radius:var(--radius-md)}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn--lg{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}.progress{background:var(--border-color);border-radius:var(--radius-full);width:100%;height:6px;overflow:hidden}.progress__bar{border-radius:var(--radius-full);background:linear-gradient(90deg, var(--color-primary-500), var(--color-primary-400));height:100%;transition:width var(--transition-slow)}.icon-box{border-radius:var(--radius-md);width:40px;height:40px;font-size:var(--text-lg);justify-content:center;align-items:center;display:inline-flex}.icon-box--primary{color:var(--color-primary-500);background:#2f79f01a}.icon-box--success{color:var(--color-success);background:#22c55e1a}.icon-box--warning{color:var(--color-warning);background:#f59e0b1a}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);padding:var(--space-1) var(--space-3);background:var(--color-gray-900);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:all var(--transition-fast);z-index:100;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}[data-tooltip]:hover:after{opacity:1;transform:translate(-50%)translateY(0)}.divider{background:var(--border-color);width:100%;height:1px;margin:var(--space-4) 0}.stat{gap:var(--space-1);flex-direction:column;display:flex}.stat__value{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:var(--leading-tight)}.stat__label{font-size:var(--text-sm);color:var(--text-secondary)}.code-block{background:var(--color-gray-900);color:#e2e8f0;border-radius:var(--radius-md);padding:var(--space-4);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-relaxed);overflow-x:auto}[data-theme=dark] .code-block{border:1px solid var(--border-color);background:#0a0f1a}.table-container{border-radius:var(--radius-lg);border:1px solid var(--border-color);width:100%;overflow-x:auto}body.modal-open{overflow:hidden}.page-modal{z-index:80;opacity:0;pointer-events:none;transition:opacity var(--transition-normal);place-items:center;display:grid;position:fixed;inset:0}.page-modal.is-open{opacity:1;pointer-events:auto}.page-modal__backdrop{-webkit-backdrop-filter:blur(10px);background:#080e1aa8;position:absolute;inset:0}.page-modal__dialog{background:var(--surface-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:min(560px,100vw - 32px);box-shadow:var(--shadow-xl);padding:var(--space-6);position:relative}.page-modal__dialog--wide{width:min(860px,100vw - 32px)}.page-modal__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.page-modal__eyebrow{margin-bottom:var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary-500);display:inline-flex}.page-modal__title{font-size:var(--text-2xl);color:var(--text-primary);line-height:1.15}.page-modal__copy{margin-top:var(--space-4);color:var(--text-secondary);max-width:66ch}.page-modal__footer{justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-6);display:flex}.page-modal__close{border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--surface-card-hover);width:40px;height:40px;color:var(--text-secondary);font-weight:var(--font-bold);transition:all var(--transition-fast)}.page-modal__close:hover{color:var(--text-primary);border-color:var(--border-color-strong)}.sim-view-switch{background:var(--surface-card-hover);border:1px solid var(--border-color);border-radius:var(--radius-full);align-items:center;gap:6px;padding:4px;display:inline-flex}.sim-view-switch--compact{align-self:flex-start}.sim-view-switch__btn{border-radius:var(--radius-full);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);transition:all var(--transition-fast);background:0 0;border:0;padding:8px 14px}.sim-view-switch__btn:hover{color:var(--text-primary)}.sim-view-switch__btn.is-active{background:var(--color-primary-600);color:#fff;box-shadow:var(--shadow-sm)}@media (width<=640px){.page-modal__dialog,.page-modal__dialog--wide{width:calc(100vw - 24px);padding:var(--space-5)}.page-modal__footer{flex-direction:column-reverse}.page-modal__footer .btn{width:100%}}.table{border-collapse:collapse;width:100%}.table th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--surface-card-hover);border-bottom:1px solid var(--border-color)}.table td{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);border-bottom:1px solid var(--border-color)}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--surface-card-hover)}.skeleton{background:linear-gradient(90deg, var(--border-color) 25%, var(--surface-card-hover) 50%, var(--border-color) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{padding:var(--space-16) var(--space-8);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state__icon{margin-bottom:var(--space-4);opacity:.4;font-size:3rem}.empty-state__title{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.empty-state__description{font-size:var(--text-sm);color:var(--text-secondary);max-width:400px;line-height:var(--leading-relaxed)}.spinner{border:2px solid var(--border-color);border-top-color:var(--color-primary-500);border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.sim-speed-controls{gap:var(--space-2);background:var(--surface-bg);border-radius:var(--radius-md);border:1px solid var(--border-color);transition:all var(--transition-normal);align-items:center;padding:6px 12px;display:flex}.speed-btn{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-bold);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;padding:4px 10px}.speed-btn:hover{color:var(--text-primary);background:#0000000d}[data-theme=dark] .speed-btn:hover{background:#ffffff14}.speed-btn.active{box-shadow:var(--shadow-sm);background:var(--color-primary-600)!important;color:#fff!important}.speed-btn.active:hover{background:var(--color-primary-700)!important}.step-btn{background:var(--surface-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-xs);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:4px;padding:4px 12px;display:flex}.step-btn:hover{background:var(--surface-card-hover);border-color:var(--border-color-strong)}.step-btn:active{transform:scale(.98)}.step-btn:disabled{opacity:.45;cursor:not-allowed;background:var(--surface-bg);border-color:var(--border-color);color:var(--text-muted);box-shadow:none;transform:none}.step-btn:disabled:hover{background:var(--surface-bg);border-color:var(--border-color)}.step-btn:disabled:active{transform:none}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:var(--surface-sidebar);z-index:50;transition:transform var(--transition-normal);border-right:1px solid #ffffff0d;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0}[data-theme=light] .sidebar{border-right-color:#0f172a14;box-shadow:8px 0 32px #0f172a0d}.sidebar__header{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-5);cursor:pointer;border-bottom:1px solid #ffffff0f;display:flex}[data-theme=light] .sidebar__header{border-bottom-color:#0f172a14}.sidebar__logo{background:linear-gradient(135deg, var(--color-primary-500), var(--color-primary-700));border-radius:var(--radius-md);width:36px;height:36px;font-size:var(--text-lg);color:#fff;font-weight:var(--font-bold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar__brand{flex-direction:column;display:flex}.sidebar__brand-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:#fff;letter-spacing:-.01em}[data-theme=light] .sidebar__brand-name{color:var(--text-primary)}.sidebar__brand-sub{font-size:var(--text-xs);color:#fff6}[data-theme=light] .sidebar__brand-sub{color:var(--text-secondary)}.sidebar__nav{padding:var(--space-3) var(--space-3);flex:1;overflow-y:auto}.sidebar__section-label{font-size:11px;font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.08em;color:#ffffff4d;padding:var(--space-4) var(--space-3) var(--space-2)}[data-theme=light] .sidebar__section-label{color:#475569b8}.sidebar__item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-sidebar);font-size:var(--text-sm);font-weight:var(--font-medium);transition:all var(--transition-fast);cursor:pointer;margin-bottom:2px;display:flex;position:relative}.sidebar__item:hover{background:var(--surface-sidebar-hover);color:var(--text-sidebar-active)}.sidebar__item.active{background:var(--surface-sidebar-active);color:var(--text-sidebar-active);font-weight:var(--font-semibold)}.sidebar__item.active:before{content:"";background:var(--color-primary-400);border-radius:0 var(--radius-full) var(--radius-full) 0;width:3px;height:20px;position:absolute;top:50%;left:-12px;transform:translateY(-50%)}[data-theme=light] .sidebar__item.active:before{background:var(--color-primary-500)}.sidebar__item-icon{width:20px;height:20px;font-size:var(--text-base);opacity:.8;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar__item.active .sidebar__item-icon{opacity:1}.sidebar__item-badge{border-radius:var(--radius-full);font-size:11px;font-weight:var(--font-semibold);margin-left:auto;padding:1px 8px}.sidebar__item-badge--done{color:var(--color-success);background:#22c55e26}.sidebar__item-badge--progress{color:var(--color-primary-400);background:#3b82f626}.sidebar__item-badge--locked{color:#ffffff40;background:#64748b1a}[data-theme=light] .sidebar__item-badge--locked{color:#475569b8;background:#94a3b829}.sidebar__footer{padding:var(--space-4) var(--space-4);border-top:1px solid #ffffff0f}[data-theme=light] .sidebar__footer{border-top-color:#0f172a14}.sidebar__theme-toggle{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--text-sidebar);font-size:var(--text-sm);width:100%;transition:all var(--transition-fast);display:flex}.sidebar__theme-toggle:hover{background:var(--surface-sidebar-hover);color:var(--text-sidebar-active)}.theme-toggle-track{border-radius:var(--radius-full);width:40px;height:22px;transition:background var(--transition-fast);background:#ffffff26;flex-shrink:0;margin-left:auto;position:relative}[data-theme=light] .theme-toggle-track{background:#94a3b847}.theme-toggle-thumb{width:16px;height:16px;transition:transform var(--transition-fast);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}[data-theme=dark] .theme-toggle-thumb{transform:translate(18px)}[data-theme=dark] .theme-toggle-track{background:var(--color-primary-600)}.main{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.header{height:var(--header-height);padding:0 var(--space-8);background:var(--surface-card);border-bottom:1px solid var(--border-color);z-index:40;-webkit-backdrop-filter:blur(12px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}[data-theme=dark] .header{background:#111827cc}.header__left{align-items:center;gap:var(--space-4);display:flex}.header__breadcrumb{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);display:flex}.header__crumb-home{color:inherit;font:inherit;transition:color var(--transition-fast);background:0 0;border:0;padding:0}.header__crumb-home:hover{color:var(--text-primary)}.header__breadcrumb-sep{color:var(--text-muted)}.header__breadcrumb-current{color:var(--text-primary);font-weight:var(--font-medium)}.header__right{align-items:center;gap:var(--space-3);display:flex}.header__menu-btn{padding:var(--space-2);color:var(--text-secondary);border-radius:var(--radius-md);display:none}.header__menu-btn:hover{background:var(--surface-card-hover)}[data-theme=light] .header__menu-btn{color:var(--text-primary)}.content{padding:var(--space-6);flex-direction:column;flex:1;display:flex}.content__max{flex-direction:column;flex:1;width:100%;max-width:1400px;margin:0 auto;display:flex}.home-page{gap:var(--space-6);flex-direction:column;display:flex}.home-hero{gap:var(--space-6);grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:stretch;display:grid}.home-hero__eyebrow,.home-section-heading__eyebrow,.level-page__eyebrow,.level-page__roadmap-eyebrow,.home-level-card__eyebrow{margin-bottom:var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary-500);display:inline-flex}.home-hero__title{letter-spacing:-.03em;color:var(--text-primary);max-width:14ch;font-size:clamp(2rem,3.4vw,3.25rem);line-height:1.02}.home-hero__desc{margin-top:var(--space-4);color:var(--text-secondary);max-width:60ch;font-size:var(--text-base)}.home-hero__actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.home-hero__summary{gap:var(--space-3);display:grid}.home-summary-card{border-radius:var(--radius-lg);padding:var(--space-4);background:linear-gradient(#2f79f01f,#2f79f00a);border:1px solid #2f79f029}[data-theme=dark] .home-summary-card{background:linear-gradient(#2f79f029,#111827b8)}.home-summary-card__label{margin-bottom:var(--space-2);color:var(--text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;display:block}.home-summary-card__value{color:var(--text-primary);font-size:var(--text-lg);line-height:1.2}.home-roadmap{gap:var(--space-4);flex-direction:column;display:flex}.home-section-heading{justify-content:space-between;gap:var(--space-4);align-items:flex-end;display:flex}.home-section-heading__title{color:var(--text-primary);max-width:20ch;font-size:clamp(1.5rem,2vw,2rem);line-height:1.1}.home-level-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.home-level-card{gap:var(--space-4);cursor:pointer;min-height:100%;transition:transform var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;display:flex}.home-level-card:hover{border-color:var(--color-primary-400);transform:translateY(-3px);box-shadow:0 18px 40px #0f172a2e}.home-level-card:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:3px}.home-level-card--done{border-color:#22c55e47}.home-level-card__header{justify-content:space-between;gap:var(--space-3);align-items:flex-start;display:flex}.home-level-card__title{font-size:var(--text-xl);color:var(--text-primary);line-height:1.15}.home-level-card__desc,.home-level-card__focus,.home-level-card__note{color:var(--text-secondary);font-size:var(--text-sm)}.home-level-card__focus{color:var(--text-primary);font-weight:var(--font-medium)}.home-level-card__tags,.level-page__roadmap-tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.home-level-card__tag,.level-page__roadmap-tag{border-radius:var(--radius-full);background:var(--surface-card-hover);border:1px solid var(--border-color);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);align-items:center;padding:6px 10px;display:inline-flex}.home-level-card__notes{gap:var(--space-2);display:grid}.home-level-card__note{padding-left:var(--space-4);position:relative}.home-level-card__note:before{content:"";background:var(--color-primary-400);border-radius:50%;width:8px;height:8px;position:absolute;top:8px;left:0}.home-level-card__actions{margin-top:auto}.home-view-option-grid{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.home-view-option{gap:var(--space-3);text-align:left;padding:var(--space-4);border-radius:var(--radius-xl);border:1px solid var(--border-color);background:var(--surface-card-hover);transition:all var(--transition-fast);display:grid}.home-view-option:hover{border-color:var(--color-primary-400);transform:translateY(-2px)}.home-view-option.is-active{border-color:var(--color-primary-500);box-shadow:0 0 0 1px #2f79f029}.home-view-option__preview{border-radius:var(--radius-lg);height:164px;display:block;position:relative;overflow:hidden}.home-view-option--three .home-view-option__preview{background:radial-gradient(circle at top,#2f79f05c,#0000 36%),linear-gradient(#0b1120 0%,#111827 100%)}.home-view-option--two .home-view-option__preview{background:linear-gradient(#2f79f01f,#2f79f00a),linear-gradient(#f7fbff 0%,#e8f1ff 100%)}[data-theme=dark] .home-view-option--two .home-view-option__preview{background:linear-gradient(#2f79f038,#2f79f00f),linear-gradient(#121c2f 0%,#0a1220 100%)}.home-view-option__building,.home-view-option__floors{display:block;position:absolute;inset:auto auto 16px 50%;transform:translate(-50%)}.home-view-option__building{background:linear-gradient(#ffffff29,#ffffff14),repeating-linear-gradient(#0000 0 18px,#2f79f02e 18px 20px);border:1px solid #ffffff2e;border-radius:18px 18px 10px 10px;width:88px;height:118px;box-shadow:0 18px 36px #0003}.home-view-option--two .home-view-option__building{background:linear-gradient(#ffffffd1,#dcebffeb),repeating-linear-gradient(#0000 0 18px,#2f79f01a 18px 20px);border-color:#2f79f03d}[data-theme=dark] .home-view-option--two .home-view-option__building{background:linear-gradient(#ffffff14,#0d1728eb),repeating-linear-gradient(#0000 0 18px,#2f79f029 18px 20px)}.home-view-option__floors{border-radius:var(--radius-full);background:#2f79f04d;width:132px;height:8px;bottom:10px}.home-view-option__copy{gap:6px;display:grid}.home-view-option__copy strong{color:var(--text-primary)}.home-view-option__copy span{color:var(--text-secondary);font-size:var(--text-sm)}.home-view-option__check{border-radius:var(--radius-full);color:var(--color-primary-600);font-size:var(--text-xs);font-weight:var(--font-semibold);background:#2f79f01f;justify-self:flex-start;padding:6px 10px;display:inline-flex}.level-page__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:flex-end;display:flex}.level-page__roadmap{gap:var(--space-3);flex-direction:column;display:flex}.level-page__roadmap-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.level-page__roadmap-title{color:var(--text-primary);font-size:var(--text-lg);display:block}.sidebar-overlay{z-index:45;opacity:0;transition:opacity var(--transition-normal);background:#00000080;display:none;position:fixed;inset:0}.sidebar-overlay.active{opacity:1}@media (width<=768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay.active{display:block}.main{margin-left:0}.header__menu-btn{display:flex}.header{height:auto;padding:var(--space-3) var(--space-4);align-items:start;gap:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.header__left{align-items:start;gap:var(--space-3);grid-column:1/3;grid-template-columns:auto minmax(0,1fr);min-width:0;display:grid}.header__menu-btn{margin:2px 0 0}.header__breadcrumb{grid-template-columns:1fr;align-items:start;row-gap:4px;min-width:0;display:grid}.header__breadcrumb>:first-child{min-width:0;font-size:13px;font-weight:var(--font-medium);color:var(--text-secondary);overflow-wrap:anywhere}.header__breadcrumb-sep{display:none}.header__breadcrumb-current{font-size:var(--text-xl);font-weight:var(--font-bold);text-align:left;justify-self:start;line-height:1.1}.header__right{grid-area:1/3;justify-content:flex-end;align-self:start;width:auto;padding-left:0}.header__right .badge{text-overflow:ellipsis;max-width:132px;overflow:hidden}.content{padding:var(--space-4)}.home-hero,.home-level-grid,.home-view-option-grid{grid-template-columns:1fr}.home-section-heading,.level-page__roadmap-head{flex-direction:column;align-items:flex-start}.level-page__actions{justify-content:flex-start;width:100%}}@media (width<=520px){.header__right{justify-self:end}.home-hero__actions,.level-page__actions{flex-direction:column;align-items:stretch}.home-hero__actions .btn,.level-page__actions .btn,.level-page__actions .sim-view-switch{width:100%}}.level-page{gap:var(--space-4);flex-direction:column;height:calc(100vh - 80px);min-height:600px;display:flex}.level-page__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;flex-shrink:0;display:flex}.level-page__title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--text-primary);line-height:var(--leading-tight)}.level-page__desc{color:var(--text-secondary);margin-top:var(--space-1);font-size:var(--text-sm)}.sim-fullscreen-layout{gap:var(--space-4);flex:1;grid-template-columns:1fr 340px;min-height:0;display:grid}@media (width<=1100px){.sim-fullscreen-layout{grid-template-rows:500px auto;grid-template-columns:1fr}}.sim-building-col{border-radius:var(--radius-lg);border:1px solid var(--border-color);background:#0b1120;min-height:0;position:relative;overflow:hidden}.sim-building-col--front-view{background:radial-gradient(circle at top,#2f79f02e,#0000 42%),linear-gradient(#eef4ff 0%,#d9e8ff 30%,#f4f8ff 100%)}[data-theme=dark] .sim-building-col--front-view{background:radial-gradient(circle at top,#2f79f038,#0000 40%),linear-gradient(#091220 0%,#0d1728 32%,#101a2f 100%)}.sim-canvas-wrap{width:100%;height:100%}.sim-front-view{justify-content:center;align-items:center;height:100%;padding:28px;display:flex}.sim-front-view__frame{justify-content:center;align-items:center;width:min(100%,620px);height:100%;display:flex}.sim-front-view__building{background:linear-gradient(#ffffffc7,#e4eeffe6),linear-gradient(90deg,#2f79f014,#0000 44%,#2f79f01a);border:1px solid #2f79f038;border-radius:28px;width:100%;max-width:520px;position:relative;overflow:hidden;box-shadow:0 26px 60px #0f172a2e,inset 0 1px #ffffffb3}[data-theme=dark] .sim-front-view__building{background:linear-gradient(#162338f5,#0a1220fa),linear-gradient(90deg,#2f79f014,#0000 44%,#2f79f01a);box-shadow:0 32px 68px #0000006b,inset 0 1px #ffffff08}.sim-front-view__cab{z-index:22;left:0}.sim-info-col{gap:var(--space-3);flex-direction:column;min-height:0;display:flex;overflow-y:auto}.sim-info-col>*{flex-shrink:0}@media (width<=768px){.level-page{height:auto;min-height:0}.sim-fullscreen-layout{flex:none;grid-template-rows:auto auto;min-height:auto}.sim-building-col{min-height:560px}.sim-info-col{min-height:auto;overflow:visible}.sim-front-view{padding:16px}.sim-front-view__building{max-width:100%}}.sim-card-compact{padding:var(--space-3)!important}.sim-card-compact .req-item{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.sim-layout{gap:var(--space-6);grid-template-columns:380px 1fr;align-items:start;display:grid}.building-container{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.building-3d{perspective:900px;perspective-origin:50% 35%;width:340px;margin-bottom:10px;margin-right:30px;position:relative}.building-3d__wrapper{transform-style:preserve-3d;position:relative;transform:rotateX(8deg)rotateY(-18deg)}.building-roof{height:0;position:relative}.building-roof:before{content:"";border-radius:var(--radius-sm) var(--radius-sm) 0 0;transform-origin:bottom;background:linear-gradient(135deg,#2a4a7f 0%,#1a3560 50%,#142c50 100%);width:100%;height:20px;position:absolute;top:-20px;left:0;transform:rotateX(40deg);box-shadow:0 -2px 15px #2f79f026}.building-roof:after{content:"";border-radius:var(--radius-sm) var(--radius-sm) 0 0;z-index:2;background:linear-gradient(90deg,#2a4a7f,#3b5ea0,#2a4a7f);height:6px;position:absolute;bottom:0;left:-1px;right:-1px}[data-theme=dark] .building-roof:before{background:linear-gradient(135deg,#1a3560 0%,#0f2744 50%,#0a1d38 100%)}[data-theme=dark] .building-roof:after{background:linear-gradient(90deg,#1a3560,#254a78,#1a3560)}.building-body{border:2px solid var(--border-color-strong);background:var(--surface-card);z-index:1;border-top:3px solid #3b5ea0;position:relative;overflow:hidden;box-shadow:0 20px 60px #0000001f,0 4px 20px #00000014}[data-theme=dark] .building-body{border-color:#254a78 #ffffff14 #ffffff14;box-shadow:0 20px 60px #00000080,0 4px 20px #0000004d}.building-body:after{content:"";transform-origin:0 0;z-index:0;background-color:#0000;background-image:repeating-linear-gradient(0deg,#0000 0 52px,#0000001a 52px 56px),repeating-linear-gradient(90deg,#0000 0 8px,#0000000a 8px 12px,#0000 12px 24px),linear-gradient(#c8d4e4,#8499b8);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;width:24px;height:100%;position:absolute;top:0;right:-24px;transform:skewY(-45deg)}[data-theme=dark] .building-body:after{background-image:repeating-linear-gradient(0deg,#0000 0 52px,#00000040 52px 56px),repeating-linear-gradient(90deg,#0000 0 8px,#ffc8320a 8px 12px,#0000 12px 24px),linear-gradient(#1a2d48,#0d1b2e)}.building-3d__wrapper:after{content:"";filter:blur(4px);z-index:-1;background:radial-gradient(#00000026 0%,#0000 70%);height:12px;position:absolute;bottom:-12px;left:10%;right:-10%}[data-theme=dark] .building-3d__wrapper:after{background:radial-gradient(#0006 0%,#0000 70%)}.floor-row{border-bottom:1px solid var(--border-color);align-items:stretch;height:56px;display:flex;position:relative}.floor-row:last-child{border-bottom:none}.floor-row--lobby{background:linear-gradient(90deg,#2f79f00a,#0000)}[data-theme=dark] .floor-row--lobby{background:linear-gradient(90deg,#2f79f014,#0000)}.floor-row--active{background:#2f79f00f}[data-theme=dark] .floor-row--active{background:#2f79f01a}.floor-num{width:36px;font-size:11px;font-weight:var(--font-bold);color:var(--text-muted);font-family:var(--font-mono);border-right:1px solid var(--border-color);background:#00000003;flex-shrink:0;justify-content:center;align-items:center;display:flex}[data-theme=dark] .floor-num{background:#00000026}.floor-num--lobby{color:var(--color-primary-500);font-size:12px}.floor-outside{flex:1;align-items:flex-end;gap:8px;min-width:80px;padding:6px 10px;display:flex;position:relative;overflow:hidden}.elevator-shaft{background:repeating-linear-gradient(0deg,#0000 0 27px,#2f79f008 27px 28px);border-left:1px dashed #2f79f033;border-right:1px dashed #2f79f033;width:100px;position:relative}[data-theme=dark] .elevator-shaft{border-left-color:#2f79f026;border-right-color:#2f79f026}.floor-right{border-left:1px solid var(--border-color);flex:1;justify-content:flex-end;align-items:flex-end;gap:8px;min-width:60px;padding:6px 10px;display:flex;position:relative;overflow:hidden}.elevator-cab-3d{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(#2f79f026 0%,#2f79f014 100%);border:1.5px solid #2f79f066;border-radius:3px;width:100%;height:50px;transition:top .55s cubic-bezier(.4,0,.2,1);position:absolute;left:0;box-shadow:0 0 20px #2f79f01f,inset 0 0 15px #2f79f00d}[data-theme=dark] .elevator-cab-3d{background:linear-gradient(#2f79f033 0%,#2f79f01a 100%);border-color:#2f79f080;box-shadow:0 0 25px #2f79f033,inset 0 0 20px #2f79f014}.cab-door{background:#2f79f00f;border:1px solid #2f79f040;border-radius:2px;width:calc(50% - 3px);transition:transform .35s cubic-bezier(.4,0,.2,1);position:absolute;top:4px;bottom:4px}.cab-door--left{left:3px}.cab-door--right{right:3px}.elevator-cab-3d.doors-open .cab-door--left{transform:translate(-85%)}.elevator-cab-3d.doors-open .cab-door--right{transform:translate(85%)}.cab-cable{background:repeating-linear-gradient(#2f79f04d 0 3px,#0000 3px 6px);width:2px;transition:height .55s cubic-bezier(.4,0,.2,1);position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.cab-riders{z-index:5;align-items:flex-end;gap:4px;display:flex;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}.person-sprite{z-index:15;flex-direction:column;align-items:center;transition:left .4s,opacity .3s;display:flex;position:absolute;bottom:4px}.person-sprite--riding{position:relative;bottom:auto}.sim-front-view .cab-riders{justify-content:center;width:calc(100% - 14px);bottom:4px}.sim-front-view .person-sprite{min-width:22px;position:relative;bottom:auto}.sim-front-view .person-nametag{font-size:7px;top:-14px}.sim-front-view .floor-outside .person-sprite,.sim-front-view .floor-right .person-sprite{margin-top:auto}.sim-front-view--locked .sim-front-view__building{opacity:.8;filter:saturate(.86)}.person-head{border-radius:50%;width:10px;height:10px;margin-bottom:1px}.person-body{border-radius:3px 3px 1px 1px;width:6px;height:14px}.person-legs{gap:2px;display:flex}.person-leg{border-radius:0 0 1px 1px;width:3px;height:8px}.person-sprite--walking .person-leg:first-child{animation:.4s ease-in-out infinite alternate walk-left}.person-sprite--walking .person-leg:last-child{animation:.4s ease-in-out infinite alternate walk-right}@keyframes walk-left{0%{transform:rotate(-15deg)}to{transform:rotate(15deg)}}@keyframes walk-right{0%{transform:rotate(15deg)}to{transform:rotate(-15deg)}}.person-sprite--waiting{animation:1.2s ease-in-out infinite idle-bounce}@keyframes idle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.person-color-0 .person-head,.person-color-0 .person-body,.person-color-0 .person-leg{background:#f59e0b}.person-color-1 .person-head,.person-color-1 .person-body,.person-color-1 .person-leg{background:#ef4444}.person-color-2 .person-head,.person-color-2 .person-body,.person-color-2 .person-leg{background:#22c55e}.person-color-3 .person-head,.person-color-3 .person-body,.person-color-3 .person-leg{background:#a855f7}.person-color-4 .person-head,.person-color-4 .person-body,.person-color-4 .person-leg{background:#ec4899}.person-color-5 .person-head,.person-color-5 .person-body,.person-color-5 .person-leg{background:#14b8a6}.person-color-6 .person-head,.person-color-6 .person-body,.person-color-6 .person-leg{background:#f97316}.person-color-7 .person-head,.person-color-7 .person-body,.person-color-7 .person-leg{background:#06b6d4}.person-nametag{font-size:8px;font-weight:var(--font-bold);color:var(--text-primary);background:var(--surface-card);border:1px solid var(--border-color);white-space:nowrap;box-shadow:var(--shadow-xs);opacity:.9;border-radius:3px;padding:0 4px;position:absolute;top:-16px;left:50%;transform:translate(-50%)}.sim-mobile-hud{z-index:10;flex-direction:column;gap:12px;display:flex;position:absolute;top:12px;left:12px}.sim-mobile-hud__toggle{align-items:center;gap:var(--space-2);border-radius:var(--radius-md);color:#ffffffeb;font-size:var(--text-xs);font-weight:var(--font-semibold);-webkit-backdrop-filter:blur(12px);background:#0a1628eb;border:1px solid #2f79f047;align-self:flex-start;padding:8px 12px;display:none;box-shadow:0 8px 18px #00000038}[data-theme=light] .sim-mobile-hud__toggle{color:var(--text-primary);background:#dcebfff0;border-color:#2f79f073}.sim-mobile-hud__toggle-icon{font-size:13px;line-height:1}.sim-mobile-hud__cards{flex-direction:column;gap:12px;display:flex}[data-view-mode="2d"] .sim-mobile-hud{max-width:calc(100% - 104px)}[data-view-mode="2d"] .sim-mobile-hud__toggle{display:inline-flex}[data-view-mode="2d"] .sim-mobile-hud.is-collapsed .sim-mobile-hud__cards{display:none}[data-view-mode="2d"] .sim-mobile-hud.is-open .sim-mobile-hud__cards{display:flex}[data-view-mode="2d"] .sim-mobile-hud__cards{max-width:min(290px,100vw - 48px)}.floor-display-digital{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);background:#0a1628;border:1px solid #2f79f033;display:inline-flex;box-shadow:0 0 15px #2f79f01a,inset 0 1px #ffffff08}[data-theme=light] .floor-display-digital{background:#dcebffe6;border-color:#2f79f080;box-shadow:0 4px 15px #0000001a}.floor-display-digital__label{color:#ffffff59;text-transform:uppercase;letter-spacing:.1em;font-size:10px}[data-theme=light] .floor-display-digital__label{color:#0009}.floor-display-digital__num{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--color-primary-400);text-align:center;text-shadow:0 0 10px #2f79f080;min-width:30px}[data-theme=light] .floor-display-digital__num{color:var(--color-primary-600);text-shadow:none}.floor-display-digital__dir{font-size:var(--text-lg);color:var(--color-primary-400);transition:transform var(--transition-fast)}.floor-display-digital__dir--up{transform:rotate(0)}.floor-display-digital__dir--down{transform:rotate(180deg)}.floor-display-digital__dir--idle{opacity:.25}.floor-display-digital--roster{box-sizing:border-box;flex-direction:column;align-items:stretch;width:100%;padding:12px}.roster-header{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:8px;display:flex}[data-theme=light] .roster-header{border-bottom-color:#0000000d}.roster-header__title{color:#ffffff59;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:var(--font-semibold)}[data-theme=light] .roster-header__title{color:#0009}.roster-header__count{font-family:var(--font-mono);color:var(--color-primary-400);font-size:11px}[data-theme=light] .roster-header__count{color:var(--color-primary-600);font-weight:var(--font-bold)}.roster-placeholder{font-size:var(--text-xs);color:#ffffff59}[data-theme=light] .roster-placeholder{color:var(--text-muted)}.person-roster{gap:var(--space-2);flex-direction:column;max-height:300px;display:flex;overflow-y:auto}@media (width<=600px){.sim-mobile-hud{max-width:calc(100% - 104px)}.sim-mobile-hud__toggle{display:inline-flex}.sim-mobile-hud.is-collapsed .sim-mobile-hud__cards{display:none}.sim-mobile-hud.is-open .sim-mobile-hud__cards{display:flex}.sim-mobile-hud__cards{max-width:min(290px,100vw - 48px)}.floor-display-digital{width:100%;padding:10px 14px}.floor-display-digital--roster{padding:10px}.person-roster{max-height:164px}}.status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.status-dot--idle{background:var(--color-gray-400)}.status-dot--moving{background:var(--color-primary-500);box-shadow:0 0 8px var(--color-primary-500);animation:1s ease-in-out infinite pulse-glow}.status-dot--doors{background:var(--color-warning);box-shadow:0 0 8px var(--color-warning);animation:.6s ease-in-out infinite pulse-glow}.status-dot--complete{background:var(--color-success);box-shadow:0 0 8px var(--color-success)}@keyframes pulse-glow{0%,to{opacity:1}50%{opacity:.5}}.sim-controls{gap:var(--space-4);padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;display:flex}.sim-actions{gap:var(--space-3);width:100%;display:flex}.sim-action-btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-2);background:var(--surface-card-hover);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;flex:1;display:flex}.sim-action-btn:hover{background:var(--surface-card);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.sim-action-btn__icon{font-size:32px;line-height:1}.sim-action-btn__label{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em}.sim-action-btn--play-pause .sim-action-btn__icon{color:var(--color-primary-400)}.sim-action-btn--play-pause:hover{border-color:var(--color-primary-500)}.sim-action-btn--reset .sim-action-btn__icon{color:var(--color-warning)}.sim-action-btn--reset:hover{border-color:var(--color-warning)}.sim-controls__status{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary);flex:1;display:flex}.sim-controls__status-text{font-size:var(--text-xs);color:var(--text-secondary)}.sim-panel{gap:var(--space-4);flex-direction:column;display:flex}.req-list{gap:var(--space-2);flex-direction:column;display:flex}.req-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-card-hover);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-secondary);border:1px solid var(--border-color);transition:all var(--transition-fast);display:flex}.req-item--done{border-color:#22c55e33}.req-item--done .req-check{color:var(--color-success)}.req-item--pending .req-check{color:var(--text-muted)}.level2-runner{gap:var(--space-4)}.level2-runner__header{align-items:flex-start}.level2-runner__eyebrow{margin-bottom:var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary-500);display:inline-flex}.level2-runner__title{font-size:var(--text-xl);color:var(--text-primary);line-height:1.15}.level2-runner__intro{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.level2-runner__actions{gap:var(--space-3);flex-direction:column;display:flex}.level2-runner__status-copy{font-size:var(--text-sm);color:var(--text-secondary)}.level2-runner__status-copy.is-pass{color:var(--color-success)}.level2-runner__status-copy.is-fail{color:var(--color-error)}.level2-runner__stats{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.level2-runner__stat{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--surface-card-hover);text-align:center;flex-direction:column;gap:4px;display:flex}.level2-runner__stat-value{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary)}.level2-runner__stat-label{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary)}.level2-runner__lower-stack{--level2-results-offset:0px;gap:var(--space-3);margin-top:var(--level2-results-offset);transition:margin-top var(--transition-normal);flex-direction:column;display:flex}.level2-runner__matrix-grid{gap:var(--space-3);display:grid}.level2-runner__matrix-item{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--surface-card-hover);gap:var(--space-2);flex-direction:column;display:flex}.level2-runner__matrix-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.level2-runner__matrix-title{color:var(--text-primary);font-size:var(--text-base)}.level2-runner__matrix-copy{color:var(--text-secondary);font-size:var(--text-sm)}.level2-runner__matrix-status{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-muted)}.level2-runner__matrix-status.is-pass{color:var(--color-success)}.level2-runner__matrix-status.is-fail{color:var(--color-error)}.level2-runner__methods{gap:var(--space-2);flex-wrap:wrap;display:flex}.level2-runner__method-pill{align-items:center;gap:var(--space-2);border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--surface-card-hover);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:8px 10px;display:inline-flex}.level2-runner__method-pill.is-pass{color:var(--color-success);border-color:#22c55e47}.level2-runner__method-pill.is-fail{color:var(--color-error);border-color:#ef444447}.level2-runner__method-state{color:inherit;opacity:.85}.level2-runner__results-card{min-height:0;overflow:hidden}.level2-runner__results-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.level2-runner__results-head-main{flex-direction:column;gap:4px;min-width:0;display:flex}.level2-runner__results-file{color:var(--text-secondary);font-size:var(--text-xs);font-family:var(--font-mono);letter-spacing:.02em}.level2-runner__collapse-btn{border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--surface-card-hover);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.level2-runner__collapse-btn:hover{color:var(--text-primary);border-color:var(--border-color-strong);background:var(--surface-card)}.level2-runner__collapse-icon{font-size:10px;line-height:1}.level2-runner__results-shell{margin-top:var(--space-3)}.level2-runner__results-card.is-collapsed{padding-bottom:var(--space-4)}.level2-runner__results{gap:var(--space-3);flex-direction:column;max-height:520px;display:flex;overflow-y:auto}.level2-runner__terminal{border-radius:var(--radius-md);background:#0b1220;border:1px solid #2f79f02e;overflow:hidden;box-shadow:inset 0 1px #ffffff08}[data-theme=light] .level2-runner__terminal{background:#f7fbff;border-color:#2f79f047;box-shadow:inset 0 1px #ffffffb3}.level2-runner__terminal-bar{background:#ffffff08;border-bottom:1px solid #ffffff0d;align-items:center;gap:8px;padding:10px 12px;display:flex}[data-theme=light] .level2-runner__terminal-bar{background:#2f79f00f;border-bottom-color:#0f172a14}.level2-runner__terminal-dot{background:#94a3b8d9;border-radius:50%;width:9px;height:9px}.level2-runner__terminal-dot:first-child{background:#ef4444}.level2-runner__terminal-dot:nth-child(2){background:#f59e0b}.level2-runner__terminal-dot:nth-child(3){background:#22c55e}.level2-runner__terminal-title{color:#f1f5f9c7;font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.04em;margin-left:auto}[data-theme=light] .level2-runner__terminal-title{color:#0f172ab3}.level2-runner__terminal-screen{color:#dbe7ff;max-height:520px;font-family:var(--font-mono);background:linear-gradient(#2f79f00d,#0000 28px),#0b1220;flex-direction:column;gap:4px;margin:0;padding:12px;font-size:11px;line-height:1.35;display:flex;overflow-y:auto}[data-theme=light] .level2-runner__terminal-screen{color:#16304f;background:linear-gradient(#2f79f00d,#0000 28px),#f7fbff}.level2-runner__terminal-screen--empty{min-height:96px}.level2-runner__terminal-line{white-space:nowrap;flex:none;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:4px;min-width:0;animation:.22s level2TerminalRowIn;display:grid;overflow:hidden}.level2-runner__terminal-prefix{color:#94a3b8e6;text-transform:uppercase;letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}[data-theme=light] .level2-runner__terminal-prefix{color:#475569e0}.level2-runner__terminal-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.level2-runner__terminal-line--pass .level2-runner__terminal-text{color:#4ade80}.level2-runner__terminal-line--fail .level2-runner__terminal-text,.level2-runner__terminal-line--error .level2-runner__terminal-text{color:#f87171}.level2-runner__terminal-line--warn .level2-runner__terminal-text{color:#fbbf24}.level2-runner__terminal-line--separator .level2-runner__terminal-text{color:#94a3b8d1}.level2-runner__terminal-line--muted .level2-runner__terminal-text{color:#dbe7ffdb}[data-theme=dark] .level2-runner__terminal-screen.is-streaming .level2-runner__terminal-line:first-child .level2-runner__terminal-text,.level2-runner__terminal-screen.is-streaming .level2-runner__terminal-line:first-child .level2-runner__terminal-text{position:relative}.level2-runner__terminal-screen.is-streaming .level2-runner__terminal-line:first-child .level2-runner__terminal-text:after{content:"_";color:currentColor;margin-left:2px;animation:.9s step-end infinite level2TerminalCursor;display:inline-block}[data-theme=light] .level2-runner__terminal-line--muted .level2-runner__terminal-text{color:#16304f}[data-theme=light] .level2-runner__terminal-line--separator .level2-runner__terminal-text{color:#475569db}@keyframes level2TerminalRowIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes level2TerminalCursor{0%,49%{opacity:1}50%,to{opacity:0}}@media (width<=600px){.level2-runner__stats{grid-template-columns:1fr}.level2-runner__results-head{align-items:center}.level2-runner__method-pill{justify-content:space-between;width:100%}}.live-feed-toggle{color:#fff;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:11;background:#0f1e3ce6;border:1px solid #2f79f04d;padding:8px 16px;display:none;box-shadow:0 4px 12px #0003}[data-view-mode="2d"] .live-feed-toggle{justify-content:center;align-items:center;display:inline-flex}[data-theme=light] .live-feed-toggle{color:var(--text-primary);background:#dcebffe6;border-color:#2f79f080}.live-feed-overlay{border-radius:var(--radius-lg);z-index:12;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform-origin:100% 0;width:320px;max-width:calc(100% - 24px);transition:all var(--transition-fast);background:#0f1e3ce6;border:1px solid #2f79f04d;flex-direction:column;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 10px 30px #0006}[data-view-mode="2d"] .live-feed-overlay{opacity:0;pointer-events:none;transform:scale(.95)}[data-view-mode="2d"] .live-feed-overlay.open{opacity:1;pointer-events:auto;transform:scale(1)}[data-theme=light] .live-feed-overlay{background:#dcebffe6;border-color:#2f79f080;box-shadow:0 10px 30px #0000001a}.live-feed-overlay__header{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}[data-theme=light] .live-feed-overlay__header{border-bottom-color:#0000000d}[data-theme=light] .live-feed-overlay__header span{color:var(--text-primary)!important}.live-feed-overlay__close{color:#ffffff80;cursor:pointer;background:0 0;border:none;font-size:14px;display:none}[data-view-mode="2d"] .live-feed-overlay__close{display:block}[data-theme=light] .live-feed-overlay__close{color:#00000080}.live-feed{max-height:250px;padding:var(--space-2);font-size:var(--text-xs);flex-direction:column;gap:1px;display:flex;overflow-y:auto}.live-feed__entry{align-items:flex-start;gap:var(--space-2);padding:3px var(--space-2);color:#fffc;border-radius:4px;animation:.25s feed-in;display:flex}[data-theme=light] .live-feed__entry{color:var(--text-primary)}.live-feed-overlay__title{font-size:var(--text-ms);font-weight:var(--font-semibold);color:#fff}[data-theme=light] .live-feed-overlay__title{color:var(--text-primary)}@keyframes feed-in{0%{opacity:0;transform:translate(6px)}to{opacity:1;transform:translate(0)}}.live-feed__time{font-family:var(--font-mono);color:var(--text-muted);flex-shrink:0;font-size:10px}.sim-stats-row{gap:var(--space-3);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=600px){.sim-stats-row{grid-template-columns:repeat(2,1fr)}}.sim-stat-box{background:var(--surface-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-3);text-align:center;transition:all var(--transition-fast)}.sim-stat-box:hover{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #2f79f00f}.sim-stat-box__val{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--text-primary);font-family:var(--font-mono)}.sim-stat-box__label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:2px;font-size:10px}.person-roster{gap:var(--space-2);flex-direction:column;display:flex}.person-roster__item{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);transition:all var(--transition-fast);background:#0003;border:1px solid #ffffff0d;display:flex}[data-theme=light] .person-roster__item{background:var(--surface-card-hover);border-color:#0000000d}.person-roster__color{border-radius:50%;flex-shrink:0;width:12px;height:12px}.person-roster__name{font-weight:var(--font-semibold);color:#fffffff2}[data-theme=light] .person-roster__name{color:var(--text-primary)}.person-roster__route{color:#ffffff80;font-family:var(--font-mono);font-size:var(--text-xs)}[data-theme=light] .person-roster__route{color:var(--text-muted)}.person-roster__status{margin-left:auto}.sim-legend-bar{gap:var(--space-4);padding:var(--space-1) 0;flex-wrap:wrap;display:flex}.sim-legend-bar__item{align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:11px;display:flex}.sim-legend-bar__dot{border-radius:50%;width:8px;height:8px}.speed-control{align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--text-secondary);display:flex}.speed-control__btn{border-radius:var(--radius-sm);font-size:11px;font-weight:var(--font-semibold);border:1px solid var(--border-color);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);padding:2px 8px}.speed-control__btn:hover,.speed-control__btn.active{background:var(--color-primary-600);color:#fff;border-color:var(--color-primary-600)}@media (width<=900px){.live-feed-toggle{display:block}.live-feed-overlay{opacity:0;pointer-events:none;transform:scale(.95)}.live-feed-overlay.open{opacity:1;pointer-events:auto;transform:scale(1)}.live-feed-overlay__close{display:block}}.construction-overlay{z-index:20;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0;overflow:hidden}.construction-svg{opacity:.9;width:100%;height:100%}.construction-overlay__panel{border-radius:var(--radius-xl);width:min(320px,100% - 32px);padding:var(--space-5);text-align:left;background:#080e1ac2;border:1px solid #fbbf2457;box-shadow:0 20px 48px #00000059}[data-theme=light] .construction-overlay__panel{background:#ffffffe0;border-color:#d9770647}.construction-overlay__eyebrow{margin-bottom:var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.08em;text-transform:uppercase;color:#fbbf24;display:inline-flex}[data-theme=light] .construction-overlay__eyebrow{color:#d97706}.construction-overlay__title{font-size:var(--text-lg);color:#fff;line-height:1.2;display:block}[data-theme=light] .construction-overlay__title{color:var(--text-primary)}.construction-overlay__copy{margin-top:var(--space-3);color:#ffffffc2;font-size:var(--text-sm)}[data-theme=light] .construction-overlay__copy{color:var(--text-secondary)}.construction-overlay__dots{margin-top:var(--space-4);gap:8px;display:inline-flex}.construction-overlay__dots span{background:#fbbf24;border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite construction-pulse}.construction-overlay__dots span:nth-child(2){animation-delay:.2s}.construction-overlay__dots span:nth-child(3){animation-delay:.4s}@keyframes construction-pulse{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1)}}@keyframes hammer-swing{0%{transform:rotate(0)}50%{transform:rotate(-35deg)}to{transform:rotate(0)}}@keyframes excavator-arm{0%,to{transform:rotate(0)}50%{transform:rotate(15deg)}}@keyframes excavator-bucket{0%,to{transform:rotate(0)}50%{transform:rotate(-20deg)}}@keyframes pulley-lift{0%,to{transform:translateY(0)}50%{transform:translateY(-40px)}}@keyframes truck-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-1px)}}@keyframes smoke-float{0%{opacity:0;transform:translateY(0)scale(.8)}20%{opacity:.6}to{opacity:0;transform:translateY(-40px)scale(1.5)}}.anim-hammer{transform-origin:0 100%;animation:.4s ease-in-out infinite hammer-swing}.anim-excavator-arm{transform-origin:30% 70%;animation:3s ease-in-out infinite excavator-arm}.anim-excavator-bucket{transform-origin:70% 30%;animation:3s ease-in-out infinite excavator-bucket}.anim-pulley{animation:4s ease-in-out infinite pulley-lift}.anim-truck{animation:.15s linear infinite truck-idle}.anim-smoke{animation:2s ease-out infinite smoke-float}.construction-card{border-radius:var(--radius-lg);padding:var(--space-4);margin-top:var(--space-4);background:#fbbf241a;border:1px solid #fbbf244d}[data-theme=light] .construction-card{background:#fbbf240d;border-color:#d9770666}.construction-card__header{align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:#fbbf24;font-weight:var(--font-bold);display:flex}[data-theme=light] .construction-card__header{color:#d97706}.construction-progress{background:#0003;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden}.construction-progress__bar{background:#fbbf24;border-radius:4px;width:45%;height:100%;box-shadow:0 0 10px #fbbf2480}.construction-status{font-size:var(--text-xs);color:var(--text-secondary);font-style:italic}.fade-in{animation:.5s both fadeIn}.fade-in-up{animation:.5s both fadeInUp}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.stagger>:first-child{animation-delay:50ms}.stagger>:nth-child(2){animation-delay:.1s}.stagger>:nth-child(3){animation-delay:.15s}.stagger>:nth-child(4){animation-delay:.2s}.stagger>:nth-child(5){animation-delay:.25s}.stagger>:nth-child(6){animation-delay:.3s}.stagger>:nth-child(7){animation-delay:.35s}.stagger>:nth-child(8){animation-delay:.4s}.text-center{text-align:center}.text-left{text-align:left}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (width<=768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--color-primary-500);color:#fff}
