@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&family=Space+Mono:wght@400;700&display=swap";:root{--color-void: #000000;--color-near-black: #111111;--color-dark-surface: #222222;--color-mid-grey: #444444;--color-cool-grey: #888888;--color-light-cool: #B0BEC5;--color-light-grey: #D6DCE4;--color-off-white: #F5F5F5;--color-white: #FFFFFF;--color-warm-light: #FFF8F0;--color-slate: #546E7A;--color-dark-slate: #78909C;--color-shard-glow: #E8E0D4;--color-ice-blue: #C8D8E0;--color-alert: #FF4444;--color-success: #44FF88;--color-caution: #FFCC00;--font-mono: "JetBrains Mono", "Courier New", monospace;--font-display: "Space Mono", monospace;--text-world: 48px;--text-display: 32px;--text-heading: 20px;--text-label: 13px;--text-body: 13px;--text-meta: 11px;--text-micro: 9px;--space-1: 4px;--space-2: 8px;--space-3: 16px;--space-4: 24px;--space-5: 32px;--space-6: 48px;--space-7: 64px;--border-hairline: 1px solid var(--color-mid-grey);--border-strong: 1px solid var(--color-white);--duration-snap: 80ms;--duration-slide: .18s;--duration-fade: .42s}*,*:before,*:after{box-sizing:border-box;border-radius:0!important;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{background:var(--color-void);color:var(--color-white);font-family:var(--font-mono);font-size:var(--text-body);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:repeating-linear-gradient(0deg,transparent,transparent 1px,rgba(0,0,0,.04) 1px,rgba(0,0,0,.04) 2px);pointer-events:none;z-index:9998;opacity:.5}canvas{display:block}button{cursor:pointer;font-family:var(--font-mono)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--color-dark-surface)}::-webkit-scrollbar-thumb{background:var(--color-cool-grey)}.dot-dense{background-image:radial-gradient(circle,rgba(255,255,255,.15) 1px,transparent 1px);background-size:6px 6px}.dot-medium{background-image:radial-gradient(circle,rgba(255,255,255,.12) 1.5px,transparent 1.5px);background-size:10px 10px}.dot-sparse{background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);background-size:16px 16px}.stripe-pattern{background:repeating-linear-gradient(45deg,rgba(34,34,34,.6) 0,rgba(34,34,34,.6) 2px,transparent 0,transparent 50%);background-size:8px 8px}.btn{font-family:var(--font-mono);font-size:var(--text-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:8px 16px;border:1px solid;cursor:pointer;transition:background var(--duration-snap) linear,color var(--duration-snap) linear;display:inline-flex;align-items:center;gap:6px}.btn-primary{background:var(--color-white);color:var(--color-void);border-color:var(--color-white)}.btn-primary:hover{background:var(--color-void);color:var(--color-white)}.btn-ghost{background:transparent;color:var(--color-white);border-color:var(--color-white)}.btn-ghost:hover{background:var(--color-white);color:var(--color-void)}.btn-danger{background:transparent;color:var(--color-alert);border-color:var(--color-alert)}.btn-danger:hover{background:var(--color-alert);color:var(--color-white)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.3;cursor:not-allowed}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;background:var(--color-void)}.project-card{background:var(--color-near-black);border:1px solid var(--color-mid-grey);cursor:pointer;transition:border-color var(--duration-snap) linear,background var(--duration-snap) linear;position:relative;overflow:hidden}.project-card:hover{border-color:var(--color-white);background:#1a1a1a}.project-card-media{aspect-ratio:16/9;position:relative;overflow:hidden}.project-card-body{padding:var(--space-3)}.project-card-title{font-size:var(--text-heading);font-weight:700;letter-spacing:.02em;margin-bottom:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-card-divider{height:1px;background:#333;margin:var(--space-2) 0}.project-card-meta{font-size:var(--text-meta);color:var(--color-cool-grey);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.tag{display:inline-block;font-size:var(--text-meta);font-weight:400;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border:1px solid var(--color-mid-grey);color:var(--color-white)}.badge-portal{position:absolute;top:var(--space-2);right:var(--space-2);font-size:var(--text-micro);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-caution);background:#000c;padding:2px 6px;border:1px solid var(--color-caution)}.badge-embed{position:absolute;top:var(--space-2);right:var(--space-2);font-size:var(--text-micro);font-weight:700;color:var(--color-cool-grey);background:#000c;padding:2px 6px;border:1px solid var(--color-cool-grey)}.hud-panel{display:inline-flex;gap:var(--space-3);background:#000000b3;border:1px solid var(--color-mid-grey);padding:var(--space-2) 12px;font-size:var(--text-meta);position:relative}.hud-label{color:var(--color-cool-grey);text-transform:uppercase;letter-spacing:.1em}.hud-value{color:var(--color-white);font-variant-numeric:tabular-nums}.commons-hud{background:#000000b3;border:1px solid var(--color-mid-grey);display:inline-flex;align-items:center;gap:var(--space-5);padding:var(--space-2) var(--space-4);position:relative;font-size:var(--text-meta)}.status-dot.offline{background:var(--color-cool-grey);animation:none}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;font-size:var(--text-meta);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-cool-grey);margin-bottom:var(--space-1)}.form-input,.form-select{width:100%;background:var(--color-void);color:var(--color-white);border:1px solid var(--color-mid-grey);padding:8px 12px;font-family:var(--font-mono);font-size:var(--text-body);outline:none;transition:border-color var(--duration-snap) linear;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input::placeholder{color:var(--color-mid-grey)}.form-input:focus,.form-select:focus{border-color:var(--color-white)}.form-input.error{border-color:var(--color-alert)}.form-error{font-size:var(--text-meta);color:var(--color-alert);margin-top:4px;display:none}.form-error.visible{display:block}.form-select-wrap{position:relative}.form-select-wrap:after{content:"▾";position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--color-cool-grey);pointer-events:none;font-size:var(--text-meta)}.form-select option{background:var(--color-near-black)}.modal-backdrop{background:#000000d9;padding:var(--space-6);display:flex;align-items:center;justify-content:center;min-height:300px}.modal{background:var(--color-near-black);border:1px solid var(--color-mid-grey);max-width:540px;width:100%;padding:var(--space-6);position:relative;animation:fadeIn var(--duration-slide) ease-out forwards}.modal-header{font-size:var(--text-heading);font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding-bottom:var(--space-3);border-bottom:1px solid #333;margin-bottom:var(--space-4)}.modal-close{position:absolute;top:var(--space-4);right:var(--space-4);font-family:var(--font-mono);font-size:18px;background:transparent;color:var(--color-cool-grey);border:1px solid var(--color-mid-grey);width:32px;height:32px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color var(--duration-snap) linear,border-color var(--duration-snap) linear}.modal-close:hover{color:var(--color-white);border-color:var(--color-white)}.app-nav{height:48px;background:var(--color-void);border-bottom:1px solid var(--color-dark-surface);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4)}.app-nav-title{font-size:var(--text-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:var(--space-2)}.app-nav-back{color:var(--color-cool-grey);cursor:pointer;transition:color var(--duration-snap) linear}.app-nav-back:hover{color:var(--color-white)}.portal-demo{border:var(--border-hairline);padding:var(--space-4);background:var(--color-near-black);position:relative;overflow:hidden}.portal-fade-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--color-void);opacity:0;pointer-events:none;transition:opacity var(--duration-fade) ease-in-out;z-index:10}.portal-fade-overlay.active{opacity:1}.text-muted{color:var(--color-cool-grey)}.text-caution{color:var(--color-caution)}.text-success{color:var(--color-success)}.text-alert{color:var(--color-alert)}.code{background:var(--color-dark-surface);padding:2px 6px;font-size:var(--text-meta);color:var(--color-light-cool)}@keyframes proximityFadeIn{0%{opacity:0;transform:translate(-50%) translateY(var(--anim-offsetY, 8px))}to{opacity:1;transform:translate(-50%) translateY(0)}}.emergence-card{background:#0a0a0a;border:1px solid #222;position:absolute;overflow:hidden;pointer-events:all;animation:proximityFadeIn var(--anim-duration, .42s) var(--anim-easing, ease) forwards;z-index:20}.emergence-card.texture-only{cursor:pointer;transition:border-color 80ms linear}.emergence-card.texture-only:hover{border-color:#444}.emergence-card.poster{cursor:default}.ec-bg-layer{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0a0a;z-index:0}.ec-visual{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;overflow:hidden}.ec-poster-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:var(--poster-top-padding, 70px) calc(var(--poster-left-padding, .06) * 100%) 10px calc(var(--poster-left-padding, .06) * 100%);z-index:4;text-align:left}.ec-poster-title{font-family:var(--font-display);font-size:var(--title-fontSize, 18px);color:var(--title-color, #FFFFFF);letter-spacing:var(--title-letterSpacing, .04em);font-weight:var(--title-fontWeight, 700);line-height:var(--title-lineHeight, 1.15);text-shadow:var(--title-textShadow, 0 0 10px rgba(0,0,0,.9));margin-top:var(--title-marginTop, 6px)}.ec-poster-desc{font-size:var(--desc-fontSize, 11px);color:var(--desc-color, #888888);letter-spacing:var(--desc-letterSpacing, .02em);line-height:var(--desc-lineHeight, 1.6);text-shadow:var(--desc-textShadow, 0 0 8px rgba(0,0,0,.9));margin-top:var(--desc-marginTop, 10px)}.ec-poster-divider{height:var(--divider-height, 1px);background:var(--divider-color, rgba(255,255,255,.1));margin-top:auto;margin-bottom:var(--divider-marginBottom, 10px)}.ec-poster-footer{display:flex;align-items:center;justify-content:space-between;width:100%}.ec-poster-live{display:flex;align-items:center;gap:4px;font-size:var(--live-fontSize, 9px);font-weight:var(--live-fontWeight, 700);letter-spacing:var(--live-letterSpacing, .12em);color:var(--live-color, #44FF88);text-shadow:var(--live-textShadow, 0 0 8px rgba(0,0,0,.9))}.ec-poster-live-dot{width:var(--live-dotSize, 5px);height:var(--live-dotSize, 5px);background:var(--live-color, #44FF88);display:inline-block}.ec-poster-footer-right{font-size:var(--enter-fontSize, 9px);letter-spacing:var(--enter-letterSpacing, .08em);color:var(--enter-color, #444444);text-shadow:var(--enter-textShadow, 0 0 6px rgba(0,0,0,.9));transition:color 80ms linear}.ec-poster-footer-right:hover{color:var(--enter-hoverColor, #FFFFFF)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.status-dot{width:6px;height:6px;background:var(--color-success);display:inline-block;animation:pulse 2s ease-in-out infinite;margin-right:4px}.hud-corner{position:absolute;font-size:8px;color:var(--color-mid-grey);line-height:1;pointer-events:none}.hud-corner.tl{top:3px;left:3px}.hud-corner.tr{top:3px;right:3px}.hud-corner.bl{bottom:3px;left:3px}.hud-corner.br{bottom:3px;right:3px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}#splash-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0a0a;display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .3s ease-out}#splash-screen.fade-out{opacity:0}.splash-loader{width:8px;height:8px;background:#fff;border-radius:50%;animation:splash-pulse 2s ease-in-out infinite}@keyframes splash-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.8)}}
