:root{--bg:#faf6ee;--surface:#fff;--surface-2:#f5efe3;--surface-3:#ede6d6;--text:#2d2a26;--sub:#6b6560;--dim:#a39e96;--accent:#f07a38;--accent-deep:#d96520;--secondary:#f1a7a1;--success:#2bb67e;--danger:#e8291f;--warning:#f5c842;--border:#3c32281a;--border-hi:#3c322833;--line:var(--border);--line-strong:var(--page-accent);--page-accent:#f07a38;--page-shadow:#3c32281f;--shadow-soft:0 8px 24px #3c322814;--shadow-hover:0 14px 36px #3c32281f;--shadow-panel:0 12px 32px #3c32281a;--shadow-pixel:var(--shadow-soft);--shadow-pixel-pink:var(--shadow-soft);--shadow-pixel-lg:var(--shadow-hover);--radius-xl:16px;--radius-lg:16px;--radius-md:12px;--radius-sm:10px;--radius-pill:24px;--nav-h:76px;--content-w:1440px;--hero-stage-w:1160px}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}html{background:var(--bg);scrollbar-color:var(--accent) var(--surface-2);scrollbar-width:thin}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:14px;font-weight:500;line-height:1.6;position:relative;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(85% 55% at 92% 4%,#f07a3817,#0000 52%),radial-gradient(70% 45% at 4% 96%,#2bb67e12,#0000 48%);position:fixed;inset:0}a{color:inherit}h1,h2,h3{letter-spacing:-.02em;margin:0;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:800;line-height:1.2}button,input,select,textarea{font:inherit}button,input,select,textarea,.hero-link,.button-link,.sim-explore-btn,.preview-rail-card,.tn-link,.tn-brand-pill{min-height:44px}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-thumb{background:var(--accent);border:2px solid var(--surface-2);border-radius:8px}.app-shell{min-height:100vh;position:relative}.trinity-nav,.page-content,.site-footer{z-index:1;position:relative}.trinity-nav{z-index:70;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:sticky;top:14px}.trinity-nav-inner{border:1px solid var(--border-hi);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:all;scrollbar-width:none;background:#ffffffeb;border-radius:40px;align-items:center;gap:6px;max-width:100%;padding:8px 12px;display:flex;overflow-x:auto;box-shadow:0 8px 32px #3c322821}.trinity-nav-inner::-webkit-scrollbar{display:none}.tn-brand-pill,.tn-link{color:var(--text);white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-pill);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 16px;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:11px;font-weight:700;text-decoration:none;transition:transform .18s,background .18s,border-color .18s,color .18s;display:inline-flex}.tn-brand-pill{color:#3b1a0c;background:linear-gradient(135deg,#ffd460 0%,#f1a7a1 100%);border-color:#3b1a0c1a}.tn-link:hover,.tn-brand-pill:hover,.hero-link:hover,.button-link:hover,.sim-explore-btn:hover,.filter-clear-btn:hover,.search-bar-submit:hover,.class-tab:hover,.preview-rail-card:hover,.row-actions button:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.tn-brand-pill:hover{box-shadow:none;border-color:#3b1a0c2e}.tn-link:hover{box-shadow:none;background:#f07a381a;border-color:#f07a3824}.tn-link.active,.tn-link[aria-current=page]{background:var(--accent);border-color:var(--accent);color:#fff}.tn-link--finder:hover,.tn-link.active:hover,.tn-link[aria-current=page]:hover{color:#fff}.tn-link--finder{background:#2bb67e1a;border-color:#2bb67e33}.tn-link--finder:hover{background:#2bb67e;border-color:#2bb67e}.page-content{width:min(var(--content-w), calc(100vw - 24px));margin:0 auto;padding:14px 0 32px}.site-footer{color:#faf6eea6;letter-spacing:.04em;text-transform:none;background:#3b1a0c;border-top:1px solid #faf6ee26;justify-content:space-between;gap:16px;padding:18px 20px 24px;font-size:12px;font-weight:600;display:flex}.site-footer strong{color:#faf6ee;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:13px;font-weight:800}.page,.home-page{flex-direction:column;gap:24px;display:flex}.catalog-hero-band{position:relative}.catalog-hero-shell{border:1px solid var(--border-hi);border-radius:var(--radius-xl);box-shadow:var(--shadow-soft);background:linear-gradient(165deg,#faf6ee 0%,#f5efe3 55%,#fff 100%);padding:16px;position:relative;overflow:hidden}.catalog-hero-grid{min-height:inherit;grid-template-columns:minmax(0,1fr);gap:16px;display:grid;position:relative}.catalog-hero-grid--with-rail{grid-template-columns:minmax(0,1fr) 320px}.catalog-hero-stage{width:100%;min-height:inherit;max-width:var(--hero-stage-w);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);align-items:center;display:grid}.catalog-hero-stage--solo{max-width:none}.catalog-hero-copy{flex-direction:column;gap:12px;max-width:820px;padding:28px;display:flex}.catalog-hero-eyebrow,.browse-shell-eyebrow,.hero-eyebrow,.section-header h2,.chapter-group-kicker,.preview-rail-kicker,.sim-card-kicker,.search-bar-label,.filter-rail label span,.admin-filters span{letter-spacing:.1em;text-transform:uppercase;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:10px;font-weight:700;line-height:1.5}.catalog-hero-title,.hero h1,.empty-state h1,.admin-auth h1,.admin-head h1{text-transform:none;color:#3b1a0c;font-size:clamp(1.7rem,4vw,3.3rem)}.catalog-hero-title{max-width:12ch}.catalog-hero-subhead,.hero p,.empty-state p,.error-note,.hero-note,.class-card-desc,.sim-card-desc,.chapter-group-head p,.preview-rail-card p,.browse-shell-head p,.admin-sim-desc,.admin-group-head p,.admin-sim-card-title-row p{color:var(--sub);margin:0}.catalog-hero-actions,.catalog-hero-footer{flex-direction:column;gap:12px;display:flex}.catalog-hero-footer{flex-flow:wrap;padding-top:6px}.hero-metric{background:var(--page-accent);color:#fff;border-radius:var(--radius-lg);min-width:118px;box-shadow:var(--shadow-soft);border:none;gap:4px;padding:12px 16px;display:grid}.hero-metric strong{font-size:1.5rem;line-height:1}.hero-metric span{letter-spacing:.06em;text-transform:uppercase;font-size:11px}.cool-scene{border:1px solid var(--border-hi);border-radius:var(--radius-lg);min-height:320px;box-shadow:var(--shadow-soft);background:linear-gradient(#f07a381a,#0000),radial-gradient(circle,#f1a7a159,#0000 38%)}.preview-rail{align-content:start;gap:12px;display:grid}.preview-rail-head{justify-content:flex-start;display:flex}.preview-rail-list{gap:12px;display:grid}.preview-rail-card{--rail-accent:var(--page-accent);border:1px solid var(--border-hi);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);gap:10px;padding:16px;text-decoration:none;transition:transform .18s,box-shadow .18s;display:grid}.preview-rail-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.preview-rail-index,.preview-rail-eyebrow,.preview-rail-meta,.sim-card-code,.sim-card-badge,.admin-badge{letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;min-height:30px;padding:0 10px;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:9px;font-weight:700;display:inline-flex}.preview-rail-index{background:var(--rail-accent);color:#fff;border-radius:var(--radius-pill)}.preview-rail-eyebrow{border:1px solid var(--rail-accent);color:var(--rail-accent);border-radius:var(--radius-pill)}.preview-rail-card h3,.section-header h2,.sim-card-title,.chapter-group-head h2,.browse-shell-head h2,.class-tab-panel-copy h3,.admin-group-head h2,.admin-preview-head h2,.admin-sim-card-title-row h3{text-transform:none;margin:0}.preview-rail-card h3{font-size:.95rem}.preview-rail-meta{color:var(--page-accent);border:1px solid var(--border-hi);border-radius:var(--radius-pill);justify-self:start}.home-section{flex-direction:column;gap:14px;display:flex}.section-header{align-items:center;gap:14px;display:flex}.section-header h2{color:var(--text);white-space:nowrap}.section-header-line{background:linear-gradient(90deg, var(--page-accent) 0%, #f07a3840 100%);border-radius:2px;flex:1;height:2px}.browse-shell,.hero,.chapter-group,.empty-state,.admin-auth,.admin-table-wrap,.admin-form,.sim-viewer-head,.admin-filters,.admin-group,.admin-preview-modal,.admin-code-modal{border:1px solid var(--border-hi);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}.browse-shell,.empty-state,.admin-auth,.admin-form,.sim-viewer-head,.hero,.admin-preview-modal,.admin-code-modal{padding:20px}.browse-shell,.hero,.admin-form,.admin-auth{gap:14px;display:grid}.browse-shell-head,.chapter-group-head,.admin-head,.admin-group-head,.admin-sim-card-top,.admin-preview-head,.admin-code-head{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.browse-shell-head h2{font-size:clamp(1rem,2vw,1.3rem)}.hero h1,.empty-state h1{font-size:clamp(1.6rem,4vw,2.4rem)}.hero-note,.error-note,.empty-note{border:1px solid var(--border-hi);border-radius:var(--radius-md);background:var(--surface-2);padding:10px 14px}.hero-note{color:var(--sub)}.search-bar,.search-bar-control{gap:8px;display:grid}.search-bar-field{border:1px solid var(--border-hi);background:var(--surface-2);border-radius:var(--radius-md);min-height:56px;box-shadow:var(--shadow-soft);align-items:center;gap:12px;padding:0 14px;display:flex}.search-bar-field:focus-within{border-color:var(--page-accent);box-shadow:0 0 0 3px #f07a3833 inset, var(--shadow-soft)}.search-bar-icon{color:var(--page-accent);font-size:1rem}.search-bar input,.filter-rail select,.admin-form input,.admin-form textarea,.admin-form select,.admin-auth input,.admin-filters select{width:100%;color:var(--text);background:0 0;border:0}.search-bar input,.filter-rail select,.admin-form input,.admin-form select,.admin-auth input,.search-bar-field,.admin-filters select{min-height:52px}.search-bar-submit{border:1px solid var(--page-accent);background:var(--page-accent);color:#fff;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius-pill);box-shadow:var(--shadow-soft);flex-shrink:0;justify-content:center;align-items:center;padding:0 16px;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:11px;font-weight:700;transition:transform .18s,box-shadow .18s;display:inline-flex}.search-bar input:focus,.filter-rail select:focus,.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus,.admin-auth input:focus,.admin-filters select:focus{outline:none}.filter-rail{top:calc(var(--nav-h) + 10px);z-index:20;border:1px solid var(--border-hi);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:#fffffff2;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:8px;padding:12px;display:grid;position:sticky}.filter-rail label,.admin-form label,.admin-auth label,.admin-filters label{color:var(--sub);gap:8px;display:grid}.filter-rail select,.admin-form input,.admin-form textarea,.admin-form select,.admin-auth input,.admin-filters select{border:1px solid var(--border-hi);border-radius:var(--radius-md);background:linear-gradient(45deg, transparent 50%, var(--page-accent) 50%) calc(100% - 18px) center / 8px 8px no-repeat, linear-gradient(135deg, var(--page-accent) 50%, transparent 50%) calc(100% - 12px) center / 8px 8px no-repeat, var(--surface-2);box-shadow:var(--shadow-soft);appearance:none;padding:0 14px}.admin-form textarea{resize:vertical;min-height:140px;padding-block:12px}.hero-link,.button-link,.sim-explore-btn,.filter-clear-btn,.row-actions button,.admin-auth button{border:1px solid var(--border-hi);background:var(--surface);color:var(--text);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-pill);box-shadow:var(--shadow-soft);justify-content:center;align-items:center;gap:8px;padding:0 18px;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:11px;font-weight:700;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s,color .18s,border-color .18s;display:inline-flex}button,.hero-link,.button-link,.sim-explore-btn,.filter-clear-btn,.search-bar-submit,.class-tab,.admin-auth button{border-radius:var(--radius-pill)}.hero-link:active,.button-link:active,.sim-explore-btn:active,.row-actions button:active,.search-bar-submit:active{box-shadow:var(--shadow-soft);transform:translateY(0)}.hero-link--primary,.button-link,.sim-explore-btn,.search-bar-submit,.admin-auth button{background:var(--page-accent);border-color:var(--page-accent);color:#fff}.filter-clear-btn{height:52px}.row-actions,.hero-cta-row,.sim-viewer-actions{flex-wrap:wrap;gap:10px;display:flex}.class-grid,.sim-grid{gap:16px;display:grid}.sim-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.class-tabs-shell{border:1px solid var(--border-hi);border-radius:var(--radius-xl);background:linear-gradient(180deg, var(--ambient,transparent), transparent 60%), var(--surface);box-shadow:var(--shadow-soft);gap:14px;padding:16px;display:grid}.class-tabs{flex-wrap:wrap;gap:8px;display:flex}.class-tab{border:1px solid var(--border-hi);background:var(--surface-2);color:var(--text);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius-pill);box-shadow:var(--shadow-soft);align-items:center;gap:10px;padding:0 16px;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:11px;font-weight:700;transition:transform .18s,box-shadow .18s,background .18s,color .18s;display:inline-flex}.class-tab--active{background:var(--page-accent);color:#fff;border-color:var(--page-accent);box-shadow:var(--shadow-soft)}.class-tab-icon{font-size:1rem;line-height:1}.class-tab--active .class-tab-icon{color:currentColor!important}.class-tab-label{display:inline-block}.class-tab-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:var(--shadow-soft);grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:14px;padding:16px;display:grid}.class-tab-panel-copy,.class-tab-spotlight{gap:12px;display:grid}.class-tab-panel-copy h3{font-size:clamp(1rem,2.1vw,1.35rem)}.class-tab-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.class-tab-metrics div{background:var(--page-accent);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-soft);border:none;gap:4px;padding:12px;display:grid}.class-tab-metrics strong{font-size:1.35rem;line-height:1}.class-tab-metrics span{letter-spacing:.06em;text-transform:uppercase;font-size:11px}.class-tab-chip-grid{gap:10px;display:grid}.class-tab-chip{border:1px solid var(--border-hi);background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:12px;display:grid}.class-tab-chip span[aria-hidden=true]{border:1px solid var(--border-hi);color:#3b1a0c;background:#fff;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.class-tab-chip strong,.class-tab-chip span:last-child{display:block}.class-tab-chip strong{font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:12px;font-weight:800;line-height:1.4}.class-tab-chip span:last-child{color:var(--sub);margin-top:2px;font-size:11px}.class-card,.sim-card{--card-accent:var(--page-accent);color:inherit;border:1px solid var(--border-hi);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);flex-direction:column;text-decoration:none;transition:transform .18s,box-shadow .18s;display:flex;overflow:hidden}.sim-card:hover,.sim-card:focus-visible,.class-card:hover,.class-card:focus-visible{box-shadow:var(--shadow-hover);outline:none;transform:translateY(-2px)}.sim-card-header{background:var(--card-accent);border-radius:var(--radius-lg) var(--radius-lg) 0 0;justify-content:space-between;align-items:flex-start;gap:12px;padding:16px;display:flex}.sim-card-flags{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.sim-card-icon-box,.sim-card-code,.sim-card-badge,.admin-badge{border-radius:var(--radius-md)}.sim-card-icon-box{color:#3b1a0c;background:#fff;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.6rem;font-weight:700;display:inline-flex}.sim-card-code,.sim-card-badge,.admin-badge{border:1px solid #ffffff73}.sim-card-code{color:var(--page-accent);align-self:flex-start}.sim-card-badge{color:#fff;background:#3b1a0c40}.sim-card-badge--light{background:#ffffff29}.sim-card-body{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex}.sim-card-title{font-size:.95rem}.sim-explore-btn{width:100%}.sim-explore-btn:after{content:""}.chapter-group-head h2{font-size:clamp(1rem,2vw,1.3rem)}.empty-state h3,.admin-auth h1,.admin-head h1{margin:0 0 8px;font-size:clamp(1rem,2vw,1.25rem)}.loading-grid{border:1px solid var(--border-hi);border-radius:var(--radius-lg);background:linear-gradient(90deg, #f07a381f, #f1a7a147, #2bb67e1f) 0 0 / 220% 100%, var(--surface-2);min-height:180px;box-shadow:var(--shadow-soft);animation:1.2s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0,0 0}to{background-position:-200% 0,0 0}}.sim-viewer{flex-direction:column;gap:16px;display:flex}.sim-viewer-head{gap:14px;display:grid}.sim-iframe{border:1px solid var(--border-hi);border-radius:var(--radius-lg);width:100%;min-height:72vh;box-shadow:var(--shadow-soft);background:#0a0c1a}.sim-grid--featured .sim-card{opacity:0;animation:.46s forwards featuredCardIn;transform:translateY(18px)}@keyframes featuredCardIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.admin-head{align-items:center}.admin-form{gap:16px;display:grid}.sim-editor-tabs{gap:0;margin-bottom:8px;display:flex}.sim-editor-tab{border:1.5px solid var(--border-hi);background:var(--surface-2);cursor:pointer;padding:8px 16px;font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:600;transition:background .15s,color .15s}.sim-editor-tab--active{background:var(--text);color:var(--surface)}.sim-editor-tab:first-child{border-radius:var(--radius-ctrl) 0 0 var(--radius-ctrl)}.sim-editor-tab:last-child{border-radius:0 var(--radius-ctrl) var(--radius-ctrl) 0;border-left:none}.admin-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:16px;display:grid}.admin-filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;display:flex}.admin-filter-group{gap:0;display:flex}.admin-chip{letter-spacing:.1em;text-transform:uppercase;border:1.5px solid var(--border-hi);background:var(--surface-2);cursor:pointer;min-height:36px;padding:6px 14px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:600;transition:background .15s,color .15s}.admin-filter-group .admin-chip{border-right:none}.admin-filter-group .admin-chip:first-child{border-radius:var(--radius-ctrl) 0 0 var(--radius-ctrl)}.admin-filter-group .admin-chip:last-child{border-right:1.5px solid var(--border-hi);border-radius:0 var(--radius-ctrl) var(--radius-ctrl) 0}.admin-chip--active{background:var(--text);color:var(--surface)}.admin-chip:hover:not(.admin-chip--active){background:var(--surface)}.admin-chapter-select{border:1.5px solid var(--border-hi);border-radius:var(--radius-ctrl);background:var(--surface-2);appearance:none;cursor:pointer;min-height:36px;padding:0 10px;font-family:IBM Plex Mono,monospace;font-size:11px}.admin-filter-count{color:var(--sub);margin-left:auto;font-family:IBM Plex Mono,monospace;font-size:11px}.admin-groups{gap:16px;display:grid}.admin-group{gap:16px;padding:18px;display:grid}.admin-sim-list{gap:12px;display:grid}.admin-sim-card{border:1px solid var(--border-hi);border-radius:var(--radius-lg);background:var(--surface-2);box-shadow:var(--shadow-soft);gap:14px;padding:16px;display:grid}.admin-sim-card--disabled{opacity:.7}.admin-sim-card-main{gap:12px;display:grid}.admin-sim-card-title-row,.admin-sim-badges,.admin-preview-head{gap:10px;display:flex}.admin-sim-card-top,.admin-preview-head,.admin-sim-card-title-row{align-items:flex-start}.admin-drag-handle{border:1px solid var(--border-hi);border-radius:var(--radius-md);background:var(--surface-2);min-width:40px;min-height:40px;color:var(--text);cursor:grab;box-shadow:var(--shadow-soft);justify-content:center;align-items:center;display:inline-flex}.admin-badge{color:var(--sub)}.admin-badge--ok{color:#86efac}.admin-badge--danger{color:#fecaca}.admin-sync-feedback{color:var(--sub);margin:0;font-size:12px;font-weight:700}.admin-sync-feedback--success{color:var(--success)}.admin-sync-feedback--error{color:var(--danger)}.admin-sync-feedback--pending{color:var(--page-accent)}.admin-preview-backdrop,.admin-code-backdrop{z-index:120;background:#000000d6;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.admin-preview-frame{border:1px solid var(--border-hi);border-radius:var(--radius-lg);background:#0a0c1a;width:100%;min-height:min(72vh,860px)}.admin-code-modal{gap:16px;width:min(1200px,100%)}.admin-code-head{align-items:flex-start}.admin-code-textarea{box-sizing:border-box;border:1.5px solid var(--border-hi);border-radius:var(--radius-md);background:var(--surface-2);width:100%;min-height:480px;color:var(--text);resize:vertical;padding:16px;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.6}.admin-code-pre{border:1px solid var(--border-hi);border-radius:var(--radius-md);color:#faf6ee;white-space:pre-wrap;word-break:break-word;background:#1a1612;min-height:min(70vh,760px);max-height:min(70vh,760px);margin:0;padding:18px;font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace;font-size:12px;line-height:1.7;overflow:auto}.class-page{--page-shadow:var(--page-accent)}.class-page .catalog-hero-band{isolation:isolate}.class-page .catalog-hero-shell:before{content:"";pointer-events:none;opacity:0;mix-blend-mode:screen;position:absolute;inset:-18%}.class-page[data-class=x] .catalog-hero-band{animation:.55s ease-out both classHeroRise}.class-page[data-class=x] .catalog-hero-shell:before{background:radial-gradient(circle at 18% 22%,#c49a3c47,#0000 56%);animation:1.4s ease-out both classHeroGlowX}.class-page[data-class=xi] .catalog-hero-band{animation:.5s ease-out both classHeroSlide}.class-page[data-class=xi] .catalog-hero-shell:before{background:radial-gradient(circle at 18%,#7a9e7e42,#0000 58%);animation:1.5s ease-out both classHeroGlowXi}.class-page[data-class=xii] .catalog-hero-band{animation:.5s cubic-bezier(.2,.8,.3,1) both classHeroScale}.class-page[data-class=xii] .catalog-hero-shell:before{background:radial-gradient(circle at 78% 24%,#d98b7247,#0000 54%);animation:1.45s cubic-bezier(.2,.8,.3,1) both classHeroGlowXii}@keyframes classHeroRise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes classHeroSlide{0%{opacity:0;transform:translate(-32px)}to{opacity:1;transform:translate(0)}}@keyframes classHeroScale{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes classHeroGlowX{0%{opacity:0;transform:translate(-10%,10%)scale(.84)}55%{opacity:.78}to{opacity:.22;transform:translate(12%,-8%)scale(1.08)}}@keyframes classHeroGlowXi{0%{opacity:0;transform:translate(-14%)scale(.9)}60%{opacity:.72}to{opacity:.18;transform:translate(16%)scale(1.06)}}@keyframes classHeroGlowXii{0%{opacity:0;transform:translate(10%,-10%)scale(.86)}50%{opacity:.74}to{opacity:.2;transform:translate(-8%,12%)scale(1.12)}}.grid-2,.grid-3{gap:12px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.checkbox-row{align-items:center;gap:10px;display:flex}.checkbox-row input{width:18px;height:18px;min-height:18px;accent-color:var(--page-accent)}.missing-env{max-width:720px;margin:48px auto}.home-hero{border-radius:var(--radius-xl);background:#0d1117;border:1px solid #ffffff12;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff0a,0 24px 64px #00000047}.home-hero:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff07 1px,#0000 1px),linear-gradient(90deg,#ffffff07 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0}.home-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#f07a381c,#0000 60%);width:480px;height:480px;position:absolute;top:-100px;left:-60px}.home-hero-inner{z-index:1;grid-template-columns:1fr auto;align-items:center;gap:24px;min-height:420px;padding:52px 52px 40px;display:grid;position:relative}.home-hero-copy{flex-direction:column;gap:18px;max-width:520px;display:flex}.home-hero-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#f1a7a1d9;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:10px;font-weight:700}.home-hero-title{letter-spacing:-.03em;color:#fff;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:clamp(2.2rem,4.5vw,3.6rem);font-weight:800;line-height:1.08}.home-hero-sub{color:#ffffff85;max-width:400px;margin:0;font-size:15px;line-height:1.65}.home-hero-actions{flex-wrap:wrap;gap:10px;padding-top:4px;display:flex}.home-hero-cta{border-radius:var(--radius-pill);letter-spacing:.07em;text-transform:uppercase;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 20px;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:11px;font-weight:700;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.home-hero-cta--primary{color:#fff;background:#f07a38;border:1px solid #f07a38;box-shadow:0 4px 20px #f07a3859}.home-hero-cta--primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px #f07a3880}.home-hero-cta--ghost{color:#ffffffb8;background:#ffffff12;border:1px solid #ffffff24}.home-hero-cta--ghost:hover{color:#fff;background:#ffffff1f;transform:translateY(-2px)}.home-hero-notice{border-radius:var(--radius-sm);color:#ffffff73;background:#ffffff0f;border:1px solid #ffffff1a;margin:0;padding:8px 12px;font-size:11px}.home-hero-notice--error{color:#fca5a5;background:#e8291f26;border-color:#e8291f4d}.home-hero-metrics{z-index:1;border-top:1px solid #ffffff12;grid-template-columns:repeat(4,1fr);display:grid;position:relative}.home-hero-metric{color:#fff;border-right:1px solid #ffffff12;flex-direction:column;gap:4px;padding:18px 28px;display:flex}.home-hero-metric:last-child{border-right:none}.home-hero-metric strong{letter-spacing:-.03em;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:1.9rem;font-weight:800;line-height:1}.home-hero-metric span{letter-spacing:.1em;text-transform:uppercase;color:#ffffff61;font-size:10px;font-weight:600}.orbit-art{flex-shrink:0;justify-content:center;align-items:center;padding:20px;display:flex}.orbit-system{justify-content:center;align-items:center;width:300px;height:300px;display:flex;position:relative}.orbit-core{z-index:2;background:#e8291f;border-radius:50%;width:18px;height:18px;position:absolute;box-shadow:0 0 0 4px #e8291f33,0 0 28px #e8291f99,0 0 56px #e8291f40}.orbit-glow{pointer-events:none;background:radial-gradient(circle,#e8291f1a,#0000 70%);border-radius:50%;width:160px;height:160px;position:absolute}.orbit-ring{border:1px solid;border-radius:50%;position:absolute;top:50%;left:50%}.orbit-ring--1{border-color:#c49a3c47;width:110px;height:110px;animation:4.5s linear infinite orbit-spin;transform:translate(-50%,-50%)}.orbit-ring--2{border-color:#2bb67e38;width:192px;height:192px;animation:8s linear infinite reverse orbit-spin;transform:translate(-50%,-50%)}.orbit-ring--3{border-color:#4a7fff2e;width:280px;height:280px;animation:13s linear infinite orbit-spin;transform:translate(-50%,-50%)}.orbit-dot{border-radius:50%;width:12px;height:12px;position:absolute;top:-6px;left:calc(50% - 6px)}.orbit-dot--gold{background:#c49a3c;box-shadow:0 0 10px #c49a3ccc,0 0 20px #c49a3c66}.orbit-dot--blue{background:#4a7fff;box-shadow:0 0 10px #4a7fffcc,0 0 20px #4a7fff66}@keyframes orbit-spin{0%{transform:translate(-50%,-50%)rotate(0)}to{transform:translate(-50%,-50%)rotate(360deg)}}.home-classes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.class-browse-card{color:inherit;border:1px solid var(--border-hi);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-soft);flex-direction:column;text-decoration:none;transition:transform .22s,box-shadow .22s;display:flex;overflow:hidden}.class-browse-card:hover{box-shadow:0 20px 48px #3c322821, 0 0 0 1px var(--browse-accent,var(--page-accent));outline:none;transform:translateY(-5px)}.class-browse-card:focus-visible{outline:2px solid var(--browse-accent,var(--page-accent));outline-offset:2px}.class-browse-head{justify-content:space-between;align-items:flex-end;gap:12px;padding:28px 28px 22px;display:flex}.class-browse-num{letter-spacing:-.05em;color:#ffffffeb;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:3.8rem;font-weight:800;line-height:1}.class-browse-label{letter-spacing:.12em;text-transform:uppercase;color:#fff9;align-self:flex-end;padding-bottom:6px;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:10px;font-weight:700}.class-browse-body{flex-direction:column;flex:1;gap:12px;padding:22px 28px 16px;display:flex}.class-browse-count{align-items:baseline;gap:7px;display:flex}.class-browse-count strong{letter-spacing:-.04em;color:var(--text);font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:2.4rem;font-weight:800;line-height:1}.class-browse-count span{color:var(--sub);font-size:13px;font-weight:500}.class-browse-desc{color:var(--sub);margin:0;font-size:13px;line-height:1.55}.class-browse-topics{flex-wrap:wrap;gap:6px;padding-top:4px;display:flex}.class-browse-topic{border:1px solid var(--border-hi);border-radius:var(--radius-pill);background:var(--surface-2);letter-spacing:.07em;text-transform:uppercase;color:var(--sub);padding:4px 10px;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:9px;font-weight:700;display:inline-block}.class-browse-footer{border-top:1px solid var(--border);letter-spacing:.06em;text-transform:uppercase;color:var(--browse-accent,var(--page-accent));justify-content:space-between;align-items:center;padding:14px 28px;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-size:11px;font-weight:700;transition:gap .18s;display:flex}.class-browse-arrow{transition:transform .18s}.class-browse-card:hover .class-browse-arrow{transform:translate(4px)}@media (width<=1180px){.catalog-hero-grid,.catalog-hero-grid--with-rail,.class-tab-panel{grid-template-columns:1fr}.catalog-hero-shell{min-height:auto}.preview-rail-list{scrollbar-width:none;grid-auto-columns:minmax(250px,1fr);grid-auto-flow:column;padding-bottom:6px;overflow-x:auto}.preview-rail-list::-webkit-scrollbar{display:none}.orbit-system{width:240px;height:240px}.orbit-ring--3{width:220px;height:220px}.home-hero-inner{min-height:360px;padding:40px 36px 32px}}@media (width<=900px){.trinity-nav{padding-inline:12px}.page-content{width:min(var(--content-w), calc(100vw - 16px));padding-top:10px}.catalog-hero-shell,.browse-shell,.hero,.chapter-group,.sim-viewer-head,.empty-state,.admin-auth,.admin-form,.admin-group,.admin-preview-modal,.admin-code-modal{padding:16px}.catalog-hero-copy{padding:26px 18px}.catalog-hero-title{font-size:clamp(1.4rem,8vw,2.5rem)}.browse-shell-head,.chapter-group-head,.site-footer,.admin-head,.admin-group-head,.admin-code-head,.sim-viewer-actions{flex-direction:column;align-items:stretch}.filter-rail,.grid-2,.grid-3,.class-tab-panel,.class-tab-metrics,.sim-grid{grid-template-columns:1fr}.sim-iframe{min-height:60vh}.home-hero-inner{grid-template-columns:1fr;gap:32px;min-height:auto;padding:36px 28px 28px}.orbit-art{order:-1}.orbit-system{width:200px;height:200px}.orbit-ring--3{width:188px;height:188px}.orbit-ring--2{width:128px;height:128px}.orbit-ring--1{width:74px;height:74px}.home-hero-metrics{grid-template-columns:repeat(2,1fr)}.home-hero-metric{padding:14px 20px}.home-classes-grid{grid-template-columns:1fr}}@media (width<=640px){.tn-brand-pill,.tn-link,.hero-link,.button-link,.sim-explore-btn,.filter-clear-btn,.row-actions button,.admin-auth button,.search-bar-submit,.class-tab{font-size:10px}.catalog-hero-copy{padding-inline:14px}}:root{--bg:#080c16;--surface:#0f1624;--surface-2:#182030;--surface-3:#1e2840;--text:#eef0f8;--sub:#8b92b0;--dim:#4a5070;--accent:#00c9a7;--accent-2:#6366f1;--accent-deep:#00a98d;--secondary:#6366f1;--success:#23c483;--danger:#ff5b6b;--warning:#f0c15b;--border:#8b92b029;--border-hi:#8b92b042;--line:var(--border);--line-strong:var(--page-accent);--page-accent:#00c9a7;--page-shadow:#00c9a74d;--shadow-soft:0 18px 40px #01051070;--shadow-hover:0 26px 64px #00000094;--shadow-panel:0 20px 56px #01051080;--shadow-pixel:var(--shadow-soft);--shadow-pixel-pink:var(--shadow-soft);--shadow-pixel-lg:var(--shadow-hover);--radius-xl:24px;--radius-lg:20px;--radius-md:16px;--radius-sm:12px;--radius-pill:999px;--nav-h:64px;--content-w:1440px;--hero-stage-w:1220px;--glow-teal:#00c9a740;--glow-gold:#c49a3c4d;--glow-red:#e8291f4d}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);scrollbar-color:var(--accent) var(--surface)}body{color:var(--text);background:radial-gradient(circle at 100% 0,#00c9a71f,#0000 26%),radial-gradient(circle at 0 100%,#6366f124,#0000 28%),linear-gradient(#070b14 0%,#080c16 48%,#060912 100%);font-family:Space Grotesk,system-ui,sans-serif}body:before,body:after{content:"";pointer-events:none;z-index:0;position:fixed;inset:0}body:before{background:radial-gradient(circle at 84% 10%,#00c9a71f,#0000 24%),radial-gradient(circle at 10% 90%,#6366f11f,#0000 28%)}body:after{background:linear-gradient(#ffffff05 0,#fff0 10%)}h1,h2,h3,.tn-brand-pill,.tn-link,.hero-link,.button-link,.sim-explore-btn,.filter-clear-btn,.search-bar-submit,.class-tab{font-family:Space Grotesk,system-ui,sans-serif}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg, var(--accent), var(--accent-2));border:2px solid var(--surface)}.page-content{width:min(var(--content-w), calc(100vw - 24px));padding:calc(var(--nav-h) + 24px) 0 48px}.page,.home-page{gap:28px}.home-page{gap:24px}.trinity-nav{z-index:90;pointer-events:all;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0a0e1aeb;border-bottom:1px solid #00c9a738;padding:0;position:fixed;top:0;left:0;right:0;box-shadow:0 1px #00c9a714,0 20px 48px #0105106b}.trinity-nav:after{content:"";background:linear-gradient(90deg,#0000 0%,#00c9a799 20%,#6366f173 50%,#00c9a799 80%,#0000 100%);height:1px;position:absolute;bottom:-1px;left:0;right:0}.trinity-nav-inner{width:min(var(--content-w), calc(100vw - 24px));min-height:var(--nav-h);box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin:0 auto;padding:10px 0;display:grid;overflow:visible}.trinity-nav-brand,.trinity-nav-actions{align-items:center;display:flex}.trinity-nav-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.trinity-nav-links{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tn-brand-pill{letter-spacing:.18em;min-height:44px;color:var(--text);text-transform:uppercase;box-shadow:none;background:0 0;border:0;border-radius:0;gap:10px;padding:0;font-size:1.02rem;font-weight:700}.tn-brand-pill:hover{box-shadow:none;border-color:#0000;transform:none}.tn-brand-mark{color:var(--accent);text-shadow:0 0 18px #00c9a7cc;font-size:.9rem}.tn-link{min-height:44px;color:var(--sub);letter-spacing:.12em;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0 8px;font-size:.82rem;font-weight:500;position:relative}.tn-link:after{content:"";background:linear-gradient(90deg, var(--accent), var(--accent-2));opacity:0;border-radius:999px;height:2px;transition:opacity .18s,transform .18s;position:absolute;bottom:7px;left:8px;right:8px;transform:scaleX(.55)}.tn-link:hover,.tn-link.active,.tn-link[aria-current=page]{color:var(--accent);box-shadow:none;background:0 0;transform:none}.tn-link:hover:after,.tn-link.active:after,.tn-link[aria-current=page]:after{opacity:1;transform:scaleX(1)}.tn-link--finder{border-radius:var(--radius-pill);color:#c4c7ff;background:#6366f11f;border:1px solid #6366f147;padding-inline:16px}.tn-link--finder:after{left:14px;right:14px}.tn-link--admin{border-radius:var(--radius-pill);background:#00c9a714;border:1px solid #00c9a733;padding-inline:16px}.tn-link--admin:after{left:14px;right:14px}.tn-random-btn{border-radius:var(--radius-pill);min-height:44px;color:var(--text);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;background:linear-gradient(135deg,#00c9a72e,#6366f12e),#0f1624eb;border:1px solid #00c9a757;padding:0 18px;font-size:.76rem;font-weight:700;transition:transform .18s,box-shadow .18s,border-color .18s;box-shadow:0 0 0 1px #00c9a714,0 12px 28px #01051052}.tn-random-btn:hover:not(:disabled){border-color:#00c9a78f;transform:translateY(-1px);box-shadow:0 0 0 1px #00c9a729,0 0 22px #00c9a729,0 18px 38px #0105106b}.tn-random-btn:disabled{opacity:.55;cursor:not-allowed}.nav-status-pill{border-radius:var(--radius-pill);min-height:44px;color:var(--sub);letter-spacing:.12em;text-transform:uppercase;background:#182030db;border:1px solid #8b92b02e;justify-content:center;align-items:center;padding:0 14px;font-size:.76rem;font-weight:700;display:inline-flex}.site-footer{color:var(--sub);background:#050811;border-top:1px solid #00c9a724;align-items:center;padding:22px 24px 28px;box-shadow:0 -16px 40px #01051057}.site-footer strong{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;font-size:.92rem}.catalog-hero-shell,.browse-shell,.hero,.chapter-group,.empty-state,.admin-auth,.admin-table-wrap,.admin-form,.sim-viewer-head,.admin-filters,.admin-group,.admin-preview-modal,.admin-code-modal{border:1px solid var(--border);background:linear-gradient(180deg, #ffffff04, transparent 44%), var(--surface);box-shadow:var(--shadow-panel)}.catalog-hero-shell{border-radius:var(--radius-xl);background:radial-gradient(circle at top right, #00c9a729, transparent 24%), radial-gradient(circle at left center, #6366f129, transparent 34%), linear-gradient(180deg, #ffffff05, transparent 38%), var(--surface)}.catalog-hero-stage{background:radial-gradient(circle at 0 0,#00c9a717,#0000 28%),linear-gradient(#ffffff05,#0000 48%),#0a0e1ad1;border:1px solid #00c9a729;box-shadow:inset 0 1px #ffffff08,0 24px 56px #01051075}.catalog-hero-copy{padding:28px}.catalog-hero-eyebrow,.browse-shell-eyebrow,.hero-eyebrow,.section-header h2,.chapter-group-kicker,.preview-rail-kicker,.sim-card-kicker,.search-bar-label,.filter-rail label span,.admin-filters span{letter-spacing:.16em;font-size:.72rem;font-weight:700}.catalog-hero-eyebrow,.browse-shell-eyebrow,.hero-eyebrow,.chapter-group-kicker,.preview-rail-kicker,.sim-card-kicker,.search-bar-label{color:var(--accent)}.catalog-hero-title,.hero h1,.empty-state h1,.admin-auth h1,.admin-head h1{color:var(--text)}.catalog-hero-subhead,.hero p,.empty-state p,.error-note,.hero-note,.class-card-desc,.sim-card-desc,.chapter-group-head p,.preview-rail-card p,.browse-shell-head p,.admin-sim-desc,.admin-group-head p,.admin-sim-card-title-row p{color:var(--sub)}.catalog-hero-footer,.hero-cta-row,.sim-viewer-actions,.row-actions{gap:12px}.hero-metric,.home-hero-metric{background:linear-gradient(160deg,#00c9a714,#6366f10f),#0f1624e0;border:1px solid #00c9a729;border-radius:18px;min-width:120px;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff08,0 16px 36px #0105104d}.hero-metric strong,.home-hero-metric strong{color:var(--text);text-shadow:0 0 18px #00c9a714}.hero-metric span,.home-hero-metric span{color:var(--accent)}.preview-rail-card{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:linear-gradient(160deg,#00c9a714,#0000 42%),#0f1624e6}.preview-rail-index{background:linear-gradient(135deg, var(--rail-accent), color-mix(in srgb, var(--rail-accent) 40%, white));color:#061018}.preview-rail-eyebrow,.preview-rail-meta{color:var(--rail-accent);background:#00c9a714;border-color:#00c9a733}.section-header{align-items:flex-end}.section-header h2{color:var(--text)}.section-header-line{background:linear-gradient(90deg,#00c9a7a6,#6366f11a);height:1px}.browse-shell-head,.chapter-group-head,.admin-group-head{border-bottom:0;padding-bottom:0}.chapter-group-head,.browse-shell-head,.admin-group-head{align-items:flex-start}.chapter-group-head>div,.browse-shell-head>div,.admin-group-head>div{border-left:3px solid var(--page-accent);padding-left:16px}.hero-note,.error-note,.empty-note{border:1px solid var(--border-hi);background:#182030db}.error-note,.empty-note{color:#ffb4be;background:#ff5b6b14;border-color:#ff5b6b47}.search-bar-field{background:linear-gradient(180deg, #ffffff04, transparent 52%), var(--surface-2);min-height:58px;box-shadow:inset 0 1px 0 #ffffff05, var(--shadow-soft);border:1px solid #00c9a724}.search-bar-field:focus-within{box-shadow:0 0 0 3px #00c9a71f, inset 0 1px 0 #ffffff08, var(--shadow-soft);border-color:#00c9a770}.search-bar-icon{color:var(--accent)}.search-bar input,.filter-rail select,.admin-form input,.admin-form textarea,.admin-form select,.admin-auth input,.admin-filters select{color:var(--text)}.search-bar input::placeholder,.admin-form input::placeholder,.admin-form textarea::placeholder,.admin-auth input::placeholder{color:var(--dim)}.filter-rail{top:calc(var(--nav-h) + 18px);box-shadow:var(--shadow-panel);background:linear-gradient(#ffffff05,#0000 52%),#0f1624eb;border:1px solid #00c9a724;border-radius:20px;padding:14px}.filter-rail select,.admin-form input,.admin-form textarea,.admin-form select,.admin-auth input,.admin-filters select{background:linear-gradient(45deg, transparent 50%, var(--accent) 50%) calc(100% - 18px) center / 8px 8px no-repeat, linear-gradient(135deg, var(--accent) 50%, transparent 50%) calc(100% - 12px) center / 8px 8px no-repeat, #182030e0;box-shadow:inset 0 1px 0 #ffffff05, var(--shadow-soft);border:1px solid #00c9a724}.admin-form input,.admin-form textarea,.admin-auth input{background:#182030e0}.hero-link,.button-link,.sim-explore-btn,.filter-clear-btn,.row-actions button,.admin-auth button,.search-bar-submit{background:linear-gradient(180deg, #ffffff05, transparent 58%), var(--surface-2);min-height:46px;color:var(--text);border:1px solid #00c9a72e;padding:0 18px;box-shadow:inset 0 1px #ffffff05,0 14px 30px #01051047}.hero-link:hover,.button-link:hover,.sim-explore-btn:hover,.filter-clear-btn:hover,.search-bar-submit:hover,.row-actions button:hover,.admin-auth button:hover{background:linear-gradient(180deg, #00c9a714, transparent 58%), var(--surface-3);border-color:#00c9a752;transform:translateY(-2px);box-shadow:0 0 0 1px #00c9a71f,0 0 24px #00c9a717,0 18px 36px #01051057}.hero-link--primary,.button-link,.search-bar-submit,.admin-auth button{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 85%, white), var(--accent-deep)), var(--accent);color:#041611;border-color:#00c9a74d}.hero-link--primary:hover,.button-link:hover,.search-bar-submit:hover,.admin-auth button:hover{color:#03130f}.loading-grid{background:linear-gradient(90deg,#00c9a71a,#6366f13d,#00c9a71a) 0 0/220% 100%,#182030d9;border:1px solid #00c9a72e}.sim-card{isolation:isolate;box-shadow:var(--shadow-soft);background:linear-gradient(#ffffff05,#0000 54%),#0f1624f5;border:1px solid #00c9a71f;border-radius:22px;animation:.52s both fadeUp;position:relative}.sim-card:before{content:"";background:linear-gradient(90deg, var(--card-accent), color-mix(in srgb, var(--card-accent) 46%, white));z-index:1;border-radius:22px 22px 0 0;height:4px;position:absolute;top:0;left:0;right:0}.sim-card:hover,.sim-card:focus-visible{border-color:#00c9a74d;transform:translateY(-6px);box-shadow:0 0 0 1px #00c9a71f,0 0 26px #00c9a71f,0 24px 56px #0105106b}.sim-card-glow{background:radial-gradient(circle, color-mix(in srgb, var(--card-accent) 44%, transparent), transparent 70%);opacity:0;z-index:0;pointer-events:none;width:220px;height:160px;transition:opacity .22s;position:absolute;inset:auto -10% -16% auto}.sim-card:hover .sim-card-glow,.sim-card:focus-visible .sim-card-glow{opacity:.9}.sim-card-header,.sim-card-body,.sim-card-footer{z-index:1;position:relative}.sim-card-header{background:0 0;border-radius:0;padding:20px 20px 0}.sim-card-icon-box{width:54px;height:54px;color:var(--card-accent);background:radial-gradient(circle at 30% 20%,#ffffff1f,#0000 42%),#182030f2;border:1px solid #00c9a729;border-radius:18px;box-shadow:inset 0 1px #ffffff0a}.sim-card-code,.sim-card-badge,.admin-badge{border-radius:var(--radius-pill)}.sim-card-code,.sim-card-badge{border-color:#00c9a71f}.sim-card-code{color:var(--accent);background:#6366f11a}.sim-card-badge{color:var(--text);background:#00c9a714;position:relative;overflow:hidden}.sim-card-badge--light{color:#d9ddff;background:#6366f11f}.sim-card-badge--shimmer:after{content:"";background:linear-gradient(115deg,#0000 15%,#fff6 45%,#0000 70%);animation:2.8s linear infinite shimmer;position:absolute;inset:0;transform:translate(-150%)}.sim-card-body{gap:12px;padding:18px 20px 20px}.sim-card-title{color:var(--text);font-size:1.08rem}.sim-card-desc{color:var(--sub)}.sim-card-footer{padding:0 20px 20px}.sim-card[data-type=game]{border-color:#6366f12e}.sim-grid--featured .sim-card:first-child{animation-delay:40ms}.sim-grid--featured .sim-card:nth-child(2){animation-delay:.1s}.sim-grid--featured .sim-card:nth-child(3){animation-delay:.16s}.sim-grid--featured .sim-card:nth-child(4){animation-delay:.22s}.sim-grid--featured .sim-card:nth-child(5){animation-delay:.28s}.chapter-group{padding:22px}.chapter-group-head h2{color:var(--text);font-size:clamp(1.1rem,2vw,1.42rem)}.empty-state{text-align:left}.sim-viewer{gap:18px}.sim-iframe,.admin-preview-frame{box-shadow:var(--shadow-panel);background:#07101d;border:1px solid #00c9a729}.home-hero{min-height:calc(100svh - var(--nav-h) - 28px);background:radial-gradient(circle at 82% 16%,#00c9a729,#0000 22%),radial-gradient(circle at 12% 22%,#6366f12e,#0000 26%),linear-gradient(#0a0f1b 0%,#09111d 54%,#07101a 100%);border:1px solid #00c9a729;border-radius:28px;box-shadow:0 0 0 1px #ffffff05,0 30px 74px #0105108a}.home-hero:before,.home-hero:after{display:none}.hero-bg-grid{opacity:.42;pointer-events:none;background-color:#0000;background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:52px 52px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000b8,#0000 88%);mask-image:linear-gradient(#000000b8,#0000 88%)}.hero-bg-grid:after{content:"";opacity:.42;background:repeating-linear-gradient(#ffffff05 0 1px,#0000 1px 7px);animation:16s linear infinite scanLines;position:absolute;inset:0}.hero-particle{pointer-events:none;filter:blur(2px);border-radius:50%;position:absolute}.hero-particle--1{background:#00c9a7cc;width:18px;height:18px;animation:10s ease-in-out infinite floatA;top:14%;right:18%;box-shadow:0 0 30px #00c9a78c}.hero-particle--2{background:#6366f1bf;width:10px;height:10px;animation:13s ease-in-out infinite floatB;top:34%;right:8%;box-shadow:0 0 26px #6366f170}.hero-particle--3{background:#00c9a7ad;width:14px;height:14px;animation:11s ease-in-out infinite floatC;bottom:18%;left:8%;box-shadow:0 0 26px #00c9a766}.hero-particle--4{background:#ffffffb8;width:8px;height:8px;animation:9s ease-in-out infinite reverse floatB;top:14%;left:48%;box-shadow:0 0 20px #ffffff52}.home-hero-inner{z-index:1;min-height:calc(100svh - var(--nav-h) - 112px);gap:28px;padding:64px 56px 28px;position:relative}.home-hero-copy{gap:20px;max-width:620px}.home-hero-eyebrow{color:var(--accent)}.home-hero-title{max-width:10ch;color:var(--text);text-shadow:0 0 32px #00c9a714}.home-hero-sub{max-width:500px;color:var(--sub);font-size:1rem}.home-hero-cta{border-radius:var(--radius-pill);border:1px solid #00c9a733;min-height:46px}.home-hero-cta--primary{color:#031611;background:linear-gradient(135deg,#19e2bf,#00b89a);border-color:#00c9a76b;box-shadow:0 0 30px #00c9a738}.home-hero-cta--ghost{color:var(--text);background:#0f1624c7}.home-hero-notice{color:var(--sub);background:#0f16249e;border:1px solid #00c9a72e}.home-hero-notice--error{background:#ff5b6b14;border-color:#ff5b6b42}.home-hero-metrics{border-top:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:0 28px 28px;display:grid}.home-hero-metric{border-right:0;padding:18px 20px}.home-hero-metric strong{font-size:2rem}.orbit-art{padding:8px 0}.orbit-system{width:340px;height:340px}.orbit-core{background:var(--accent);box-shadow:0 0 0 5px #00c9a71f,0 0 26px #00c9a7a8,0 0 54px #6366f142}.orbit-glow{background:radial-gradient(circle,#00c9a72e,#0000 68%);width:220px;height:220px}.orbit-ring{box-shadow:0 0 16px #ffffff05}.orbit-ring--1{border-color:#c49a3c80}.orbit-ring--2{border-color:#00c9a766}.orbit-ring--3{border-color:#6366f161}.orbit-dot--gold{box-shadow:0 0 12px #c49a3ce6,0 0 28px #c49a3c66}.orbit-dot--green{background:var(--accent);box-shadow:0 0 14px #00c9a7e6,0 0 34px #00c9a76b}.orbit-dot--blue{box-shadow:0 0 14px #6366f1d6,0 0 34px #6366f166}.home-section,.home-classes-grid{gap:16px}.class-browse-card{isolation:isolate;border:1px solid #00c9a71a;border-left:4px solid var(--browse-accent);box-shadow:var(--shadow-soft);background:linear-gradient(#ffffff04,#0000 58%),#0f1624f0;border-radius:24px;animation:.56s both fadeUp;position:relative}.class-browse-card:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(120deg,#0000 18%,#ffffff14 46%,#0000 72%);transition:transform .3s;position:absolute;inset:0;transform:translate(-135%)}.class-browse-card:hover,.class-browse-card:focus-visible{box-shadow:0 0 0 1px color-mix(in srgb, var(--browse-accent) 28%, transparent), 0 0 28px color-mix(in srgb, var(--browse-accent) 20%, transparent), 0 28px 58px #01051070;border-color:#00c9a73d;transform:translateY(-7px)}.class-browse-card:hover:after,.class-browse-card:focus-visible:after{transform:translate(135%)}.class-browse-glow{background:radial-gradient(circle, color-mix(in srgb, var(--browse-accent) 34%, transparent), transparent 72%);opacity:0;z-index:0;pointer-events:none;width:220px;height:160px;transition:opacity .22s;position:absolute;inset:auto -8% -14% auto}.class-browse-card:hover .class-browse-glow,.class-browse-card:focus-visible .class-browse-glow{opacity:1}.class-browse-head,.class-browse-body,.class-browse-footer{z-index:1;position:relative}.class-browse-head{background:linear-gradient(135deg, color-mix(in srgb, var(--browse-accent) 80%, black), color-mix(in srgb, var(--browse-accent) 46%, #07101d))!important}.class-browse-num,.class-browse-count strong{color:var(--text)}.class-browse-label,.class-browse-count span,.class-browse-desc{color:var(--sub)}.class-browse-topic{color:var(--text);background:#182030e0;border-color:#00c9a724}.class-browse-footer{color:var(--browse-accent);border-top:1px solid #00c9a71f}[data-class=x]{--page-accent:#c49a3c;--page-shadow:#c49a3c}[data-class=xi]{--page-accent:#00c9a7;--page-shadow:#00c9a7}[data-class=xii]{--page-accent:#e8291f;--page-shadow:#e8291f}.admin-chip,.sim-editor-tab,.admin-chapter-select{border-color:var(--border);background:var(--surface-2);color:var(--text)}.admin-chip--active,.sim-editor-tab--active{background:var(--accent);color:#041611}.admin-code-pre{color:#cfd6ea;background:#09101c}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes floatA{0%,to{transform:translate(0,0)}50%{transform:translate(16px,-18px)}}@keyframes floatB{0%,to{transform:translate(0,0)}50%{transform:translate(-14px,14px)}}@keyframes floatC{0%,to{transform:translate(0,0)}50%{transform:translate(10px,-14px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 0 1px #00c9a71f,0 0 18px #00c9a714}50%{box-shadow:0 0 0 1px #00c9a733,0 0 24px #00c9a729}}@keyframes scanLines{0%{transform:translateY(-12%)}to{transform:translateY(12%)}}@media (width<=1180px){.trinity-nav-inner{grid-template-columns:1fr;justify-items:stretch;gap:10px;padding-block:12px}.trinity-nav-brand,.trinity-nav-actions,.trinity-nav-links{justify-content:center}.catalog-hero-shell{min-height:auto}.home-hero-inner{min-height:auto;padding:52px 40px 24px}}@media (width<=900px){.page-content{width:min(var(--content-w), calc(100vw - 16px));padding-top:calc(var(--nav-h) + 48px)}.trinity-nav-inner{width:min(var(--content-w), calc(100vw - 16px))}.catalog-hero-shell,.browse-shell,.hero,.chapter-group,.sim-viewer-head,.empty-state,.admin-auth,.admin-form,.admin-group,.admin-preview-modal,.admin-code-modal{padding:18px}.home-hero{min-height:auto}.home-hero-inner{grid-template-columns:1fr;gap:32px;padding:42px 28px 12px}.home-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 16px 16px}.orbit-art{order:-1}.orbit-system{width:250px;height:250px}.filter-rail,.grid-2,.grid-3,.class-tab-panel,.class-tab-metrics,.sim-grid,.home-classes-grid{grid-template-columns:1fr}.browse-shell-head,.chapter-group-head,.site-footer,.admin-head,.admin-group-head,.admin-code-head,.sim-viewer-actions{flex-direction:column;align-items:stretch}}@media (width<=640px){.page-content{padding-top:calc(var(--nav-h) + 72px)}.trinity-nav-links{gap:2px 10px}.tn-link,.tn-random-btn,.hero-link,.button-link,.sim-explore-btn,.filter-clear-btn,.row-actions button,.admin-auth button,.search-bar-submit,.class-tab{font-size:.72rem}.home-hero-title{font-size:clamp(2rem,12vw,3rem)}.home-hero-metrics{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation:none!important}}:root{--bg:#f5f0e8;--surface:#fffdf8;--surface-2:#f1eadf;--surface-3:#e7dcc8;--text:#0a0c1a;--sub:#5b5147;--dim:#8f8478;--accent:#1a1a2e;--accent-deep:#0a0c1a;--secondary:#d98b72;--success:#7a9e7e;--danger:#e8291f;--warning:#c49a3c;--border:#0a0c1a1f;--border-hi:#0a0c1a38;--line:#0a0c1a24;--line-strong:#0a0c1a;--page-accent:#c49a3c;--page-shadow:#0a0c1a14;--shadow-soft:0 14px 30px #0a0c1a0f;--shadow-hover:0 18px 40px #0a0c1a1a;--shadow-panel:0 22px 48px #0a0c1a14;--radius-xl:0;--radius-lg:0;--radius-md:0;--radius-sm:0;--radius-pill:999px;--nav-h:64px;--content-w:1320px}html{background:var(--bg);scrollbar-color:var(--text) var(--surface-2)}body{color:var(--text);background:var(--bg);font-family:DM Sans,system-ui,sans-serif;font-size:15px;font-weight:500;line-height:1.55}body:before{opacity:.35;background-color:#0000;background-image:linear-gradient(#0a0c1a08 1px,#0000 1px),linear-gradient(90deg,#0a0c1a08 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:64px 64px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}h1,h2,h3{letter-spacing:.02em;color:var(--text);font-family:Bebas Neue,Arial Narrow,sans-serif;font-weight:400;line-height:.92}button,input,select,textarea{font-family:DM Sans,system-ui,sans-serif}:focus-visible{outline:2px solid var(--text);outline-offset:3px}.app-shell[data-shell=editorial]{background:0 0;min-height:100vh}.app-shell[data-shell=editorial] .page-content{width:min(var(--content-w), calc(100vw - 40px));margin:0 auto;padding:32px 0 56px}.app-shell[data-route=home] .page-content{width:100%;max-width:none;padding:0 0 72px}.app-shell[data-shell=editorial] .trinity-nav{z-index:120;border-bottom:2px solid var(--text);box-shadow:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f5f0e8f5;padding:0;position:sticky;top:0;left:auto;right:auto}.app-shell[data-shell=editorial] .trinity-nav:after{display:none}.app-shell[data-shell=editorial] .trinity-nav-inner{width:min(var(--content-w), calc(100vw - 40px));min-height:var(--nav-h);box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;margin:0 auto;padding:10px 0;display:grid}.app-shell[data-shell=editorial] .trinity-nav-brand,.app-shell[data-shell=editorial] .trinity-nav-actions{align-items:center;display:flex}.app-shell[data-shell=editorial] .trinity-nav-actions{justify-content:flex-end}.app-shell[data-shell=editorial] .trinity-nav-links{flex-wrap:wrap;justify-content:center;gap:10px 18px;display:flex}.app-shell[data-shell=editorial] .tn-brand-pill{border:2px solid var(--text);background:var(--surface);min-height:44px;color:var(--text);box-shadow:none;gap:2px;padding:10px 14px 8px;text-decoration:none;display:inline-grid;transform:none}.app-shell[data-shell=editorial] .tn-brand-pill:hover{border-color:var(--text);box-shadow:none;transform:translateY(-1px)}.app-shell[data-shell=editorial] .tn-brand-kicker,.app-shell[data-shell=editorial] .tn-link,.app-shell[data-shell=editorial] .tn-random-btn,.app-shell[data-shell=editorial] .section-header-label,.app-shell[data-shell=editorial] .section-header-meta,.app-shell[data-shell=editorial] .home-hero-eyebrow,.app-shell[data-shell=editorial] .catalog-hero-eyebrow,.app-shell[data-shell=editorial] .browse-shell-eyebrow,.app-shell[data-shell=editorial] .chapter-group-kicker,.app-shell[data-shell=editorial] .hero-eyebrow,.app-shell[data-shell=editorial] .search-bar-label,.app-shell[data-shell=editorial] .filter-rail label>span,.app-shell[data-shell=editorial] .class-browse-kicker,.app-shell[data-shell=editorial] .class-browse-label,.app-shell[data-shell=editorial] .home-featured-code,.app-shell[data-shell=editorial] .home-featured-meta{letter-spacing:.16em;text-transform:uppercase;font-family:DM Sans,system-ui,sans-serif;font-size:11px;font-weight:700}.app-shell[data-shell=editorial] .tn-brand-kicker{color:var(--sub)}.app-shell[data-shell=editorial] .tn-brand-name{letter-spacing:.05em;font-family:Bebas Neue,Arial Narrow,sans-serif;font-size:2.1rem;line-height:.82}.app-shell[data-shell=editorial] .tn-link,.app-shell[data-shell=editorial] .tn-random-btn{min-height:44px;color:var(--text);background:0 0;border:1px solid #0000;border-radius:0;padding:0 14px;text-decoration:none;transition:background .18s,color .18s,transform .18s}.app-shell[data-shell=editorial] .tn-link:hover,.app-shell[data-shell=editorial] .tn-random-btn:hover{box-shadow:none;background:#0a0c1a0f;transform:translateY(-1px)}.app-shell[data-shell=editorial] .tn-link.active,.app-shell[data-shell=editorial] .tn-link[aria-current=page]{background:var(--text);color:#fff}.app-shell[data-shell=editorial] .tn-random-btn{border:2px solid var(--text);background:var(--text);color:#fff;cursor:pointer}.app-shell[data-shell=editorial] .tn-random-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.app-shell[data-shell=editorial] .site-footer{border-top:2px solid var(--text);background:var(--text);color:#ffffffb8;padding:22px clamp(20px,4vw,40px) 28px}.app-shell[data-shell=editorial] .site-footer strong{letter-spacing:.06em;color:#fff;font-family:Bebas Neue,Arial Narrow,sans-serif;font-size:1.75rem;font-weight:400}.app-shell[data-shell=editorial] .page,.app-shell[data-shell=editorial] .home-page{gap:32px}.app-shell[data-route=home] .home-page{gap:48px}.app-shell[data-route=home] .home-hero{min-height:auto;box-shadow:none;background:0 0;border:0;border-radius:0}.app-shell[data-route=home] .home-hero-panel{min-height:calc(100svh - var(--nav-h));background:var(--text);color:#fff;position:relative;overflow:hidden}.app-shell[data-route=home] .home-hero-panel:before{content:"";opacity:.35;pointer-events:none;background-color:#0000;background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:84px 84px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.app-shell[data-route=home] .home-hero-inner{z-index:1;width:min(var(--content-w), calc(100vw - 40px));min-height:calc(100svh - var(--nav-h));grid-template-columns:minmax(0,1.35fr) minmax(320px,.75fr);align-items:end;gap:42px;margin:0 auto;padding:clamp(38px,7vw,82px) 0;display:grid;position:relative}.app-shell[data-route=home] .home-hero-copy{max-width:860px}.app-shell[data-route=home] .home-hero-eyebrow{color:#ffffffb8;margin:0 0 18px}.app-shell[data-route=home] .home-hero-title{letter-spacing:.02em;color:#fff;max-width:8.2ch;font-size:clamp(5rem,12vw,10rem);line-height:.86}.app-shell[data-route=home] .home-hero-sub{color:#ffffffc7;max-width:520px;margin-top:20px;font-size:1rem}.app-shell[data-route=home] .home-hero-notices{gap:10px;max-width:540px;margin-top:22px;display:grid}.app-shell[data-route=home] .home-hero-notice{color:#ffffffd6;background:#ffffff0f;border:1px solid #ffffff2e;padding:12px 14px}.app-shell[data-route=home] .home-hero-notice--error{background:#e8291f2e;border-color:#e8291f8f}.app-shell[data-route=home] .home-hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.app-shell[data-route=home] .home-hero-cta{letter-spacing:.16em;text-transform:uppercase;border:2px solid #fff;border-radius:0;justify-content:center;align-items:center;min-height:48px;padding:0 18px;font-family:DM Sans,system-ui,sans-serif;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.app-shell[data-route=home] .home-hero-cta--primary{color:var(--text);background:#fff}.app-shell[data-route=home] .home-hero-cta--ghost{color:#fff;background:0 0}.app-shell[data-route=home] .home-hero-cta:hover{transform:translateY(-1px)}.app-shell[data-route=home] .home-hero-metrics{border-top:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;display:grid}.app-shell[data-route=home] .home-hero-metric{background:#ffffff08;border:1px solid #ffffff2e;flex-direction:column;justify-content:space-between;min-height:150px;padding:18px;display:flex}.app-shell[data-route=home] .home-hero-metric span{color:#ffffffad}.app-shell[data-route=home] .home-hero-metric strong{color:#fff;font-family:Bebas Neue,Arial Narrow,sans-serif;font-size:clamp(2.8rem,5vw,4rem);font-weight:400;line-height:.9}.app-shell[data-route=home] .home-section{width:min(var(--content-w), calc(100vw - 40px));gap:20px;margin:0 auto}.app-shell[data-route=home] .section-header{grid-template-columns:auto auto 1fr;align-items:end;gap:18px;display:grid}.app-shell[data-route=home] .section-header-copy{max-width:640px}.app-shell[data-route=home] .section-header-label{color:var(--sub);margin:0 0 8px}.app-shell[data-route=home] .section-header h2{font-size:clamp(2.8rem,5.4vw,4.6rem)}.app-shell[data-route=home] .section-header-meta{color:var(--sub);white-space:nowrap}.app-shell[data-route=home] .section-header-line{background:#0a0c1a2e;height:2px}.app-shell[data-route=home] .home-classes-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.app-shell[data-route=home] .class-browse-card{border:1.5px solid var(--border);border-top:4px solid var(--browse-accent);background:var(--surface);min-height:360px;color:var(--text);box-shadow:none;border-left-width:1.5px;border-radius:0;padding:18px 18px 0;text-decoration:none}.app-shell[data-route=home] .class-browse-card:after,.app-shell[data-route=home] .class-browse-glow{display:none}.app-shell[data-route=home] .class-browse-card:hover,.app-shell[data-route=home] .class-browse-card:focus-visible{box-shadow:var(--shadow-soft);border-color:#0a0c1a38;transform:translateY(-4px)}.app-shell[data-route=home] .class-browse-kicker{color:var(--sub);margin:0 0 16px}.app-shell[data-route=home] .class-browse-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px;display:flex}.app-shell[data-route=home] .class-browse-label{color:var(--sub)}.app-shell[data-route=home] .class-browse-num{font-family:Bebas Neue,Arial Narrow,sans-serif;font-size:3.5rem;line-height:.88}.app-shell[data-route=home] .class-browse-body{flex-direction:column;flex:1;gap:14px;padding:0;display:flex}.app-shell[data-route=home] .class-browse-count strong{font-family:Bebas Neue,Arial Narrow,sans-serif;font-size:4rem;line-height:.88;display:block}.app-shell[data-route=home] .class-browse-count span,.app-shell[data-route=home] .class-browse-desc{color:var(--sub)}.app-shell[data-route=home] .class-browse-topics{flex-wrap:wrap;gap:8px;margin-top:auto;padding-bottom:18px;display:flex}.app-shell[data-route=home] .class-browse-topic{border:1px solid var(--border);background:var(--surface-2);min-height:32px;color:var(--text);letter-spacing:.08em;text-transform:uppercase;border-radius:0;align-items:center;padding:0 10px;font-family:DM Sans,system-ui,sans-serif;font-size:.76rem;font-weight:600;display:inline-flex}.app-shell[data-route=home] .class-browse-footer{background:var(--text);color:#fff;letter-spacing:.16em;text-transform:uppercase;border-top:0;margin:0 -18px;padding:14px 18px;font-family:DM Sans,system-ui,sans-serif;font-size:11px;font-weight:700}.app-shell[data-route=home] .home-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.app-shell[data-route=home] .home-featured-tile{border:1.5px solid var(--border);border-left:6px solid var(--tile-accent);background:var(--surface);min-height:280px;box-shadow:none;flex-direction:column;gap:18px;padding:20px;display:flex}.app-shell[data-route=home] .home-featured-tile--lead{grid-column:span 2;min-height:360px}.app-shell[data-route=home] .home-featured-tile-head,.app-shell[data-route=home] .home-featured-tile-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.app-shell[data-route=home] .home-featured-code,.app-shell[data-route=home] .home-featured-meta{color:var(--sub);margin:0}.app-shell[data-route=home] .home-featured-flags{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.app-shell[data-route=home] .home-featured-flag{border:1px solid color-mix(in srgb, var(--tile-accent) 28%, var(--border));background:color-mix(in srgb, var(--tile-accent) 10%, white);min-height:28px;color:var(--text);letter-spacing:.14em;text-transform:uppercase;align-items:center;padding:0 10px;font-family:DM Sans,system-ui,sans-serif;font-size:10px;font-weight:700;display:inline-flex}.app-shell[data-route=home] .home-featured-tile-body{gap:12px;display:grid}.app-shell[data-route=home] .home-featured-kicker{color:var(--sub);margin:0;font-size:.95rem}.app-shell[data-route=home] .home-featured-title{font-size:clamp(2.2rem,3.4vw,3.2rem)}.app-shell[data-route=home] .home-featured-desc{max-width:40ch;color:var(--sub);margin:0}.app-shell[data-route=home] .home-featured-link,.app-shell[data-shell=editorial] .hero-link,.app-shell[data-shell=editorial] .button-link,.app-shell[data-shell=editorial] .sim-explore-btn,.app-shell[data-shell=editorial] .filter-clear-btn,.app-shell[data-shell=editorial] .row-actions button,.app-shell[data-shell=editorial] .admin-auth button,.app-shell[data-shell=editorial] .search-bar-submit{border:1.5px solid var(--text);background:var(--text);color:#fff;min-height:44px;box-shadow:none;letter-spacing:.16em;text-transform:uppercase;border-radius:0;justify-content:center;align-items:center;padding:0 16px;font-family:DM Sans,system-ui,sans-serif;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.app-shell[data-route=home] .home-featured-link:hover,.app-shell[data-shell=editorial] .hero-link:hover,.app-shell[data-shell=editorial] .button-link:hover,.app-shell[data-shell=editorial] .sim-explore-btn:hover,.app-shell[data-shell=editorial] .filter-clear-btn:hover,.app-shell[data-shell=editorial] .row-actions button:hover,.app-shell[data-shell=editorial] .admin-auth button:hover,.app-shell[data-shell=editorial] .search-bar-submit:hover{border-color:var(--text);background:var(--text);color:#fff;box-shadow:var(--shadow-soft);transform:translateY(-1px)}.app-shell[data-shell=editorial] .catalog-hero-shell,.app-shell[data-shell=editorial] .browse-shell,.app-shell[data-shell=editorial] .chapter-group,.app-shell[data-shell=editorial] .hero,.app-shell[data-shell=editorial] .empty-state,.app-shell[data-shell=editorial] .admin-auth,.app-shell[data-shell=editorial] .admin-form,.app-shell[data-shell=editorial] .admin-group,.app-shell[data-shell=editorial] .admin-preview-modal,.app-shell[data-shell=editorial] .admin-code-modal,.app-shell[data-shell=editorial] .sim-viewer-head{border:1.5px solid var(--border-hi);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:0}.app-shell[data-shell=editorial] .catalog-hero-shell{background:linear-gradient(90deg, #0a0c1a0a 1px, transparent 1px), linear-gradient(#0a0c1a0a 1px, transparent 1px), var(--surface);background-size:56px 56px}.app-shell[data-shell=editorial] .catalog-hero-stage{border:1.5px solid var(--border-hi);background:var(--surface-2);box-shadow:none}.app-shell[data-shell=editorial] .hero-metric{border:1.5px solid var(--border-hi);background:var(--surface);box-shadow:none}.app-shell[data-shell=editorial] .hero-metric strong{color:var(--text);text-shadow:none}.app-shell[data-shell=editorial] .hero-metric span{color:var(--sub)}.app-shell[data-shell=editorial] .catalog-hero-title,.app-shell[data-shell=editorial] .browse-shell-head h2,.app-shell[data-shell=editorial] .chapter-group-head h2,.app-shell[data-shell=editorial] .admin-group-head h2,.app-shell[data-shell=editorial] .sim-viewer-head h1,.app-shell[data-shell=editorial] .hero h1,.app-shell[data-shell=editorial] .admin-auth h1{font-size:clamp(2.8rem,5vw,4.4rem)}.app-shell[data-shell=editorial] .catalog-hero-subhead,.app-shell[data-shell=editorial] .browse-shell-head>p,.app-shell[data-shell=editorial] .chapter-group-head>p,.app-shell[data-shell=editorial] .hero p,.app-shell[data-shell=editorial] .sim-viewer-head p,.app-shell[data-shell=editorial] .empty-state p,.app-shell[data-shell=editorial] .admin-auth p,.app-shell[data-shell=editorial] .admin-group p,.app-shell[data-shell=editorial] .admin-form p{color:var(--sub)}.app-shell[data-shell=editorial] .browse-shell-head,.app-shell[data-shell=editorial] .chapter-group-head,.app-shell[data-shell=editorial] .admin-group-head,.app-shell[data-shell=editorial] .sim-viewer-head{gap:18px}.app-shell[data-shell=editorial] .chapter-group-head>div,.app-shell[data-shell=editorial] .browse-shell-head>div,.app-shell[data-shell=editorial] .admin-group-head>div{border-left:4px solid var(--page-accent);padding-left:18px}.app-shell[data-shell=editorial] .search-bar-field,.app-shell[data-shell=editorial] .filter-rail,.app-shell[data-shell=editorial] .filter-rail select,.app-shell[data-shell=editorial] .admin-form input,.app-shell[data-shell=editorial] .admin-form textarea,.app-shell[data-shell=editorial] .admin-form select,.app-shell[data-shell=editorial] .admin-auth input,.app-shell[data-shell=editorial] .admin-filters select{border:1.5px solid var(--border-hi);background:var(--surface);box-shadow:none;color:var(--text);border-radius:0}.app-shell[data-shell=editorial] .search-bar-field:focus-within{border-color:var(--text);box-shadow:none}.app-shell[data-shell=editorial] .search-bar-icon{color:var(--text)}.app-shell[data-shell=editorial] .filter-rail{padding:16px;top:24px}.app-shell[data-shell=editorial] .filter-rail label,.app-shell[data-shell=editorial] .admin-auth label{color:var(--sub)}.app-shell[data-shell=editorial] .loading-grid{border:1.5px solid var(--border-hi);background:linear-gradient(90deg, #0a0c1a0f, #0a0c1a1f, #0a0c1a0f) 0 0 / 220% 100%, var(--surface-2)}.app-shell[data-shell=editorial] .error-note,.app-shell[data-shell=editorial] .empty-note{color:#8c1e18;background:#e8291f14;border:1.5px solid #e8291f47}.app-shell[data-shell=editorial] .sim-card{border:1.5px solid var(--border-hi);background:var(--surface);box-shadow:var(--shadow-soft);border-radius:0}.app-shell[data-shell=editorial] .sim-card:before{background:var(--card-accent);border-radius:0;height:4px}.app-shell[data-shell=editorial] .sim-card:hover,.app-shell[data-shell=editorial] .sim-card:focus-visible{box-shadow:var(--shadow-soft);border-color:#0a0c1a38;transform:translateY(-4px)}.app-shell[data-shell=editorial] .sim-card-glow{display:none}.app-shell[data-shell=editorial] .sim-card-icon-box{border:1.5px solid var(--border-hi);background:var(--surface-2);box-shadow:none;border-radius:0}.app-shell[data-shell=editorial] .sim-card-code,.app-shell[data-shell=editorial] .sim-card-badge,.app-shell[data-shell=editorial] .admin-badge{border-color:var(--border-hi);border-radius:0}.app-shell[data-shell=editorial] .sim-card-code{background:var(--surface-2);color:var(--text)}.app-shell[data-shell=editorial] .sim-card-badge{color:var(--text);background:#0a0c1a0f}.app-shell[data-shell=editorial] .sim-card-badge--light{color:var(--text);background:#7a9e7e1f}.app-shell[data-shell=editorial] .sim-card-title{font-size:2rem}.app-shell[data-shell=editorial] .sim-card-desc,.app-shell[data-shell=editorial] .sim-card-kicker{color:var(--sub)}.app-shell[data-shell=editorial] .sim-iframe,.app-shell[data-shell=editorial] .admin-preview-frame{border:1.5px solid var(--border-hi);box-shadow:none;background:#fff}.app-shell[data-shell=editorial] .sim-viewer-actions{flex-wrap:wrap;gap:12px;display:flex}@media (width<=1180px){.app-shell[data-shell=editorial] .trinity-nav-inner{grid-template-columns:1fr;gap:14px}.app-shell[data-shell=editorial] .trinity-nav-brand,.app-shell[data-shell=editorial] .trinity-nav-actions,.app-shell[data-shell=editorial] .trinity-nav-links{justify-content:flex-start}.app-shell[data-route=home] .home-hero-inner{grid-template-columns:1fr;align-items:start;min-height:auto}}@media (width<=900px){.app-shell[data-shell=editorial] .page-content,.app-shell[data-shell=editorial] .trinity-nav-inner,.app-shell[data-route=home] .home-hero-inner,.app-shell[data-route=home] .home-section{width:min(var(--content-w), calc(100vw - 24px))}.app-shell[data-route=home] .home-hero-panel{min-height:auto}.app-shell[data-route=home] .home-hero-inner{gap:28px;padding:34px 0 40px}.app-shell[data-route=home] .home-hero-title{font-size:clamp(4.2rem,18vw,7rem)}.app-shell[data-route=home] .home-hero-metrics,.app-shell[data-route=home] .home-classes-grid,.app-shell[data-route=home] .home-featured-grid{grid-template-columns:1fr}.app-shell[data-route=home] .home-featured-tile--lead{grid-column:auto;min-height:320px}.app-shell[data-route=home] .section-header{grid-template-columns:1fr;align-items:stretch}.app-shell[data-route=home] .section-header-meta{white-space:normal}}@media (width<=640px){.app-shell[data-shell=editorial] .page-content,.app-shell[data-shell=editorial] .trinity-nav-inner,.app-shell[data-route=home] .home-hero-inner,.app-shell[data-route=home] .home-section{width:calc(100vw - 20px)}.app-shell[data-shell=editorial] .tn-link,.app-shell[data-shell=editorial] .tn-random-btn,.app-shell[data-shell=editorial] .hero-link,.app-shell[data-shell=editorial] .button-link,.app-shell[data-shell=editorial] .sim-explore-btn,.app-shell[data-shell=editorial] .filter-clear-btn,.app-shell[data-shell=editorial] .row-actions button,.app-shell[data-shell=editorial] .admin-auth button,.app-shell[data-shell=editorial] .search-bar-submit,.app-shell[data-route=home] .home-featured-link{font-size:10px}.app-shell[data-route=home] .home-hero-metrics{grid-template-columns:1fr}}
