/* === DESIGN SYSTEM — NEXUS === */ :root { --color-bg: #000008; --color-primary: #4488ff; --color-secondary: #334488; --color-text: #ccd6f6; --color-text-muted: #4a5568; --font-body: 'Courier New', monospace; } * { margin: 0; padding: 0; box-sizing: border-box; } body { background: var(--color-bg); color: var(--color-text); font-family: var(--font-body); overflow: hidden; width: 100vw; height: 100vh; } canvas { display: block; position: fixed; top: 0; left: 0; } /* === HUD === */ .hud-controls { z-index: 10; } /* === AUDIO TOGGLE === */ #audio-toggle { font-size: 14px; background-color: var(--color-primary); color: var(--color-bg); padding: 4px 8px; border: none; border-radius: 4px; font-family: var(--font-body); transition: background-color 0.3s ease; cursor: pointer; } #audio-toggle:hover { background-color: var(--color-secondary); } #audio-toggle.muted { background-color: var(--color-text-muted); } /* === PORTAL PREVIEW === */ .portal-preview { position: fixed; z-index: 100; background: rgba(0, 0, 20, 0.93); border: 1px solid var(--color-primary); border-radius: 6px; padding: 10px; width: 224px; pointer-events: none; transition: opacity 0.18s ease; box-shadow: 0 0 20px rgba(68, 136, 255, 0.3); } .portal-preview.hidden { opacity: 0; } .portal-preview-screenshot { width: 204px; height: 120px; border-radius: 4px; overflow: hidden; margin-bottom: 8px; background: var(--color-secondary); } .portal-preview-screenshot img { width: 100%; height: 100%; object-fit: cover; display: block; } .portal-preview-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; border: 1px solid transparent; border-radius: 4px; } .portal-preview-name { font-size: 13px; font-weight: bold; color: var(--color-text); margin-bottom: 4px; } .portal-preview-desc { font-size: 11px; color: var(--color-text-muted); margin-bottom: 6px; line-height: 1.4; } .portal-preview-url { font-size: 10px; color: var(--color-primary); opacity: 0.7; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* === DEBUG MODE === */ #debug-toggle { margin-left: 8px; } .collision-box { outline: 2px solid red; outline-offset: 2px; } .light-source { outline: 2px dashed yellow; outline-offset: 2px; }