@font-face{font-family:Sui Generis;src:url(/assets/Sui%20Generis%20Rg-C4o8TrZv.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-family:"Font Awesome 7 Brands";src:url(/assets/fa-brands-400-BP5tdqmh.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-family:"Font Awesome 7 Free";src:url(/assets/fa-solid-900-DRAAbZTg.woff2) format("woff2");font-weight:900;font-style:normal}:root{color-scheme:dark;--bg: #0a0a0a;--surface: #161616;--surface-strong: #191919;--surface-raised: #1c1c1c;--surface-dark: #090909;--surface-darker: #060708;--surface-black: #050504;--text-heading: #e2ddd4;--text-body: #bcb8b0;--text-muted: #6b6860;--text-dim: #4a4842;--text-white: #ffffff;--text-bright: #dedede;--accent: #ff8000;--accent-warm: #ff9933;--accent-glow: rgba(255, 128, 0, .2);--border: #4e4e4e;--border-panel: #3d3d3d;--border-faint: #1a1a1a;--red: #8f3824;--green: #4a7a4a;--steel: #8795a6;--tar: #0a0a0a;--shadow-panel: .4rem .4rem 0 rgba(0, 0, 0, .3);--shadow-panel-color: rgba(0, 0, 0, .3);--display-font: "Segoe UI Semibold", "Segoe UI", "Trebuchet MS", Tahoma, sans-serif;--body-font: "Segoe UI", "Trebuchet MS", Tahoma, sans-serif;--mono-font: "Consolas", "Cascadia Code", "Courier New", monospace;--brand-font: "Sui Generis", var(--display-font);--otc-header-bg: #111111;--otc-header-border: var(--border-panel);--otc-panel-border: var(--border-panel);--otc-panel-bg-top: #111111;--otc-panel-bg-bottom: #111111;--panel-bg-top: var(--otc-panel-bg-top);--panel-bg-bottom: var(--otc-panel-bg-bottom);--otc-panel-header-bg-top: var(--surface-strong);--otc-panel-header-bg-bottom: var(--surface-strong);--otc-panel-shadow: var(--shadow-panel-color);--otc-menu-shadow: rgba(0, 0, 0, .3);--masthead-bg: linear-gradient(180deg, rgba(22, 22, 22, .98), rgba(10, 10, 10, .99));--masthead-border: var(--border-panel);--masthead-shadow: 0 10px 30px rgba(0, 0, 0, .45);--panel-border: var(--border-panel);--hero-heading-color: var(--text-heading);--hero-heading-letter-spacing: .04em;--kicker-letter-spacing: .14em;--entity-hero-before-bg: linear-gradient(90deg, rgba(8, 9, 11, .96) 0%, rgba(8, 9, 11, .72) 42%, rgba(8, 9, 11, .18) 100%);--form-bg: rgba(17, 17, 17, .96);--form-border: var(--border-panel);--form-text: var(--text-heading);--form-inset-shadow: inset 0 1px 0 rgba(255, 255, 255, .02);--link-color: var(--accent);--link-hover-color: var(--text-heading);--nav-btn-bg: linear-gradient(180deg, #111111 0%, #0a0a0a 100%);--nav-btn-hover-bg: linear-gradient(180deg, #222222 0%, #111111 100%);--nav-btn-accent: var(--accent);font-family:var(--body-font);background:var(--bg);color:var(--text-body)}html{font-size:16px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent);color:#fff}body.theme-rattletrap,.site-shell.theme-rattletrap{--masthead-bg: linear-gradient(180deg, rgba(38, 20, 14, .96) 0%, rgba(26, 14, 10, .96) 58%, rgba(15, 8, 6, .98) 100%);--masthead-border: #5e3b2a;--nav-btn-bg: linear-gradient(180deg, #7b4a2f 0%, #5d341f 52%, #4a2818 53%, #321a10 100%);--nav-btn-hover-bg: linear-gradient(180deg, #986040 0%, #714228 52%, #603621 53%, #3e2316 100%);--nav-btn-accent: #f08a3f}.primary-nav .otc-btn--tab{min-width:8.2rem;padding:.55rem 1.3rem;clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%)}.primary-nav .otc-btn--tab:first-child{margin-left:0}.entity-layout-sidebar,.content-surface-panel{border:1px solid var(--panel-border, #3d3d3d);background:var(--surface, #161616);box-shadow:var(--shadow-panel)}.content-card-title,.docs-tree-title{color:var(--hero-heading-color, #e2ddd4);letter-spacing:var(--hero-heading-letter-spacing, .04em)}.section-header-kicker{color:var(--accent);letter-spacing:var(--kicker-letter-spacing, .14em)}input,select,textarea,#blog-search-input,#manifest-search,.asset-select-wrap select{border-color:var(--form-border, #3d3d3d);background:var(--form-bg, rgba(17, 17, 17, .96));color:var(--form-text, #e2ddd4);box-shadow:var(--form-inset-shadow, inset 0 1px 0 rgba(255, 255, 255, .02))}.spotlight-link{color:var(--link-color, #ff8000)}.spotlight-link:hover{color:var(--link-hover-color, #e2ddd4)}*{box-sizing:border-box}body{margin:0;min-width:320px;position:relative;background:var(--bg)}a{color:inherit}button,a{font:inherit}.site-shell{min-height:100vh;position:relative;z-index:1;isolation:isolate}.site-shell.theme-main-v2:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 960px 600px at 18% 8%,rgba(255,128,0,.045) 0%,transparent 70%),radial-gradient(ellipse 720px 840px at 82% 92%,rgba(58,106,138,.025) 0%,transparent 70%),linear-gradient(#0a0a0aeb,#0a0a0af5)}.hero,.content-band,.project-hero,.docs-layout{width:min(1480px,calc(100% - 2rem));margin:0 auto}.hero{display:grid;grid-template-columns:minmax(24rem,.72fr) minmax(0,1.28fr);gap:clamp(1.19rem,2vw,2.38rem);align-items:center;min-height:auto;padding:1.7rem 0}.hero-plate{position:relative;padding:clamp(1.19rem,3vw,2.02rem);border:2px solid #353d46;background:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 9px),#151a20;box-shadow:.6rem .6rem #050504;transform:rotate(-.6deg)}.hero-plate:before,.hero-plate:after{content:"";position:absolute;width:.62rem;height:.62rem;border-radius:999px;background:#0a0908;border:1px solid #5a6571}.hero-plate:before{top:.65rem;right:.65rem}.hero-plate:after{bottom:.65rem;left:.65rem}.lede{max-width:48rem;margin:0;color:#c7d0da;font-size:var(--font-size-body-lg);line-height:1.55}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.feature-strip{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:1;display:grid;gap:.25rem;padding:.85rem 1rem;border-left:4px solid #ff8000;background:#050504d1}.feature-strip strong{text-transform:uppercase;color:#f0d7ac}.feature-strip span{color:var(--text-muted)}.feature-strip a{color:#ff8000;text-transform:uppercase;font-weight:800;text-decoration:none;text-shadow:0 1px 0 #000}.content-band,.project-hero{padding:6rem 0}.two-column{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:clamp(2.38rem,6vw,5.94rem)}.project-hero{border-bottom:1px solid var(--border)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes terminal-flicker{0%{opacity:.98}5%{opacity:.95}10%{opacity:.98}15%{opacity:.94}25%{opacity:.98}30%{opacity:1}to{opacity:.98}}.home-terminal{position:relative;margin-top:1rem;border:1px solid #565656;background:linear-gradient(180deg,#101010,#090909);padding:.8rem .95rem;font-family:Consolas,Courier New,monospace;font-size:var(--font-size-label);color:#ff8000;text-shadow:0 0 6px rgba(255,128,0,.24);overflow-y:auto;height:340px;animation:terminal-flicker .15s infinite;box-shadow:inset 0 0 40px #ff80000d;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:auto}.home-terminal::-webkit-scrollbar{display:none}.home-terminal p{margin:.1rem 0;line-height:1.2}.home-terminal .status-ok{color:#00ff41;font-weight:700}.home-terminal .status-warn{color:#ff0}.home-terminal .ascii-logo{color:#ffb000;line-height:1;margin:.5rem 0;white-space:pre;font-weight:700}.home-terminal:before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,#ffffff0d 0px 1px,#0000 2px 4px);opacity:.22}.home-terminal:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#ffffff0d,#0000);opacity:.25}#home-terminal-output,.home-terminal .terminal-cursor{position:relative;z-index:1}.home-hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}.industrial-plate{position:relative;background-size:cover;border:2px solid var(--steel);box-shadow:4px 4px 15px #0009;padding:24px;overflow:hidden}.plate-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}.plate-title{margin:0;font-size:var(--font-size-h4);color:var(--text-body)}.plate-id{font-family:Consolas,Courier New,monospace;font-size:12px;opacity:.65}.status-terminal p{margin:.2rem 0}.terminal-cursor{display:inline-block;width:10px;height:18px;background:#ff8000;animation:blink 1s step-end infinite;vertical-align:middle;margin-left:5px}.rattletrap-hero-theme{padding:1.4rem 1.2rem;border:1px solid #4f3528;background:linear-gradient(0deg,#1b110ce0,#1b110ce0)}.rattletrap-hero-theme .eyebrow{color:#d5a770}.rattletrap-hero-theme h1,.rattletrap-hero-theme .lede{color:#f1dfca}.rattletrap-grid .work-panel{border-color:#5f3f2e;background:linear-gradient(180deg,#18100df0,#120c0af0)}.rattletrap-grid .work-panel h2{color:#f4c388}.rattletrap-grid .work-panel p{color:#d9c8b7}.theme-rattletrap .nav-header{--nav-header-bg: #130908;--nav-header-border: #6e4430;--nav-drop-bg: #130908;--nav-drop-border: #6e4430;--nav-item-color: #d9c8b7;--nav-item-hover: #f4c388;--nav-item-active: #f4c388;--nav-drop-item-color: #d9c8b7;--nav-drop-item-hover: #f4c388;--nav-drop-item-active: #f4c388;--nav-drop-item-active-bg: rgba(244, 195, 136, .12);--nav-drop-item-active-border: rgba(244, 195, 136, .25);--nav-drop-item-hover-bg: rgba(244, 195, 136, .06)}.rattletrap-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.mechanical-btn{border:1px solid #8a5f41;color:#f4d7b2;padding:.55rem .9rem;background:linear-gradient(180deg,#7b4b30,#4f2c1d);font-family:var(--display-font);text-transform:uppercase;letter-spacing:.02em;box-shadow:inset 0 1px #ffd49f52,0 2px #2c1810,0 5px 8px #00000073;cursor:pointer}.mechanical-btn:hover{filter:brightness(1.08)}.mechanical-btn:active{transform:translateY(1px);box-shadow:inset 0 1px #ffd49f40,0 1px #2c1810}.mechanical-btn.orange{background:linear-gradient(180deg,#b4662d,#7a3e1d);border-color:#be743b}.rattletrap-content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 3rem}.rattletrap-panel{padding:1rem;border:1px solid #674331;background:linear-gradient(180deg,#1a110df0,#120c0af0)}.rattletrap-panel h2{margin:0 0 .6rem;color:#efbf88}.rattletrap-panel p{margin:0 0 .8rem;color:#e2cfbc}.mobile-masthead{display:none}.hero,.content-band,.project-hero{width:min(1480px,calc(100% - 2rem));margin:0 auto}.docs-scene-shell{margin-top:.6rem}.otc-links-list{display:grid;gap:.5rem}.otc-links-list .otc-btn--link{width:100%}.otc-btn.otc-btn--special-link{width:100%;appearance:none;justify-content:space-between;text-align:left;border:1px solid var(--otc-panel-border, #3d3d3d);box-shadow:none;color:#e1dbd2;background:#111111f5;text-transform:none;letter-spacing:.06em;text-shadow:none;border-radius:0}.otc-btn.otc-btn--special-link .service-mark{display:inline-flex;align-items:center;gap:.45rem}.otc-btn.otc-btn--special-link .service-mark:before{font-family:"Font Awesome 7 Brands",Segoe UI Symbol,sans-serif;font-weight:400;line-height:1;font-size:var(--font-size-body);display:inline-block;color:var(--special-link-brand, #ff8000)}.otc-btn.otc-btn--special-link-fab .service-mark:before{content:"";font-family:"Font Awesome 7 Free","Font Awesome 6 Free","Font Awesome 5 Free",Segoe UI Symbol,sans-serif;font-weight:900}.otc-btn--special-link-discord .service-mark:before{content:""}.otc-btn--special-link-github .service-mark:before{content:""}.otc-btn--special-link-trello .service-mark:before{content:""}.otc-btn--special-link-youtube .service-mark:before{content:""}.otc-btn--special-link-fab{--special-link-brand: #8f8efa}.otc-btn--special-link-discord{--special-link-brand: #5865f2}.otc-btn--special-link-github{--special-link-brand: #f0f6fc}.otc-btn--special-link-trello{--special-link-brand: #0052cc}.otc-btn--special-link-youtube{--special-link-brand: #ff0033}.otc-btn.otc-btn--special-link:hover{color:#fff;border-color:color-mix(in srgb,var(--special-link-brand, #ff8000) 42%,var(--otc-panel-border, #3d3d3d));background:#181818fa}.otc-btn.otc-btn--special-link:active{transform:translateY(1px);box-shadow:none}.site-footer{width:min(1480px,calc(100% - 2rem));margin:2.2rem auto 1.2rem;padding:1.5rem 0;border-top:1px solid var(--border, #4e4e4e);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem}.site-footer-left{font-family:var(--mono-font);font-size:var(--font-size-meta);color:var(--text-dim)}.site-footer-left .hl{color:var(--accent, #ff8000)}.site-footer-center{font-size:var(--font-size-meta);color:var(--text-dim)}.site-footer-right{display:flex;gap:1rem}a.site-footer-link{font-family:var(--display-font);font-size:var(--font-size-meta);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted, #6b6860);text-decoration:none;transition:color .12s}a.site-footer-link:before{content:"/";color:var(--accent, #ff8000);margin-right:.35rem;opacity:.25}a.site-footer-link:hover{color:var(--accent, #ff8000)}a.site-footer-link--contact:before{content:"";font-family:"Font Awesome 7 Free","Font Awesome 6 Free","Font Awesome 5 Free",Segoe UI Symbol,sans-serif;font-weight:900;color:inherit;opacity:.5}a.site-footer-link--discord:before{content:"";font-family:"Font Awesome 7 Brands",Segoe UI Symbol,sans-serif;font-weight:400;color:inherit;opacity:.5}a.site-footer-link--youtube:before{content:"";font-family:"Font Awesome 7 Brands",Segoe UI Symbol,sans-serif;font-weight:400;color:inherit;opacity:.5}a.site-footer-link--rss:before{content:"";font-family:"Font Awesome 7 Free","Font Awesome 6 Free","Font Awesome 5 Free",Segoe UI Symbol,sans-serif;font-weight:900;color:inherit;opacity:.5}.info-row--icon dd{position:relative}.contact-email-link{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;transition:color .16s ease}.contact-email-link:before{content:"";font-family:"Font Awesome 7 Free","Font Awesome 6 Free","Font Awesome 5 Free",Segoe UI Symbol,sans-serif;font-weight:900;line-height:1;font-size:var(--font-size-body);color:#ff8000}.contact-email-link:hover{color:#fff}.trailer-frame-wrap{position:relative;width:100%;aspect-ratio:16 / 9;border:1px solid rgba(255,255,255,.12);background:#090909}.trailer-frame{position:absolute;inset:0;width:100%;height:100%;border:0}.docs-status-error{border-color:#80413a}.status-spinner{width:.85rem;height:.85rem;border-radius:999px;border:2px solid #6a665d;border-top-color:#ff8000;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:820px){.hero,.two-column,.docs-layout,.work-grid,.home-console,.rattletrap-content-grid{grid-template-columns:1fr}.hero{min-height:auto;padding-top:3rem}.hero-plate{transform:none}.work-grid,.home-console{margin-top:0}.docs-sidebar,.doc-reader{min-height:auto}.site-footer{flex-direction:column;align-items:flex-start;gap:.5rem}}@media(max-width:980px){.masthead-desktop{display:none}.mobile-masthead{display:block;position:sticky;top:0;z-index:1000;width:min(1600px,calc(100% - 2rem));margin:0 auto}}@keyframes mobile-nav-panel-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes mobile-nav-section-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sub-nav{display:flex;justify-content:center;gap:.5rem;padding:.5rem;background:var(--surface-strong);border-bottom:1px solid var(--border);font-size:var(--font-size-body)}.sub-nav a{padding:.25rem .75rem;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;color:var(--text-muted)}.sub-nav a:hover,.sub-nav a.active{color:var(--text-body)}.spotlight-card{padding:2rem}.spotlight-card h3{margin-top:0;color:var(--accent);text-transform:uppercase}.spotlight-card p{color:var(--text-body)}.spotlight-link{display:inline-block;margin-top:1rem;padding:.5rem 1rem;border:1px solid var(--border);text-decoration:none;text-transform:uppercase;font-weight:700}.dev-console{--dc-bg: rgba(10, 10, 12, .94);--dc-border: var(--accent);--dc-text: #c8c4bc;--dc-text-dim: #7a7a7a;--dc-prompt: var(--green, #5a9a5a);--dc-error: #ff6a6a;--dc-input-bg: rgba(18, 18, 20, .9);--dc-nav-hover: color-mix(in srgb, var(--accent) 12%, transparent);--dc-bar-bg: rgba(6, 6, 8, .95);position:fixed;top:0;left:0;right:0;z-index:1000;font-family:var(--mono-font);font-size:var(--font-size-label);color:var(--dc-text);background:var(--dc-bg);border-bottom:1px solid var(--dc-border);box-shadow:0 4px 24px #0009;max-height:45vh;display:flex;flex-direction:column}.dev-console[hidden]{display:none}.dev-console-bar{display:flex;align-items:center;gap:1rem;padding:.35rem .75rem;background:var(--dc-bar-bg);border-bottom:1px solid color-mix(in srgb,var(--dc-border) 20%,transparent);flex-shrink:0}.dev-console-bar-label{text-transform:uppercase;font-size:var(--font-size-meta);letter-spacing:.12em;color:var(--dc-text-dim);flex-shrink:0}.dev-console-nav-links{display:flex;gap:.15rem;flex-wrap:wrap}.dev-console-nav-link{padding:.15rem .5rem;color:var(--dc-text-dim);text-decoration:none;font-size:var(--font-size-meta);border-radius:2px;transition:background .12s,color .12s}.dev-console-nav-link:hover{background:var(--dc-nav-hover);color:var(--accent)}.dev-console-output{flex:1;overflow-y:auto;padding:.35rem .75rem;min-height:60px;max-height:calc(45vh - 3rem)}.dev-console-line{padding:.08rem 0;line-height:1.5;white-space:pre-wrap;word-break:break-all}.dev-console-line strong{color:var(--accent)}.dev-console-prompt-inline{color:var(--dc-prompt)}.dev-console-error{color:var(--dc-error)}.dev-console-input-line{display:flex;align-items:center;gap:.4rem;padding:.3rem .75rem;background:var(--dc-input-bg);border-top:1px solid color-mix(in srgb,var(--dc-border) 12%,transparent);flex-shrink:0}.dev-console-prompt{color:var(--dc-prompt);flex-shrink:0;font-size:var(--font-size-body)}.dev-console-input{flex:1;border:none;background:transparent;color:var(--dc-text);font-family:var(--mono-font);font-size:var(--font-size-label);outline:none}.dev-console-input::placeholder{color:var(--dc-text-dim)}
