:root{--rock-950:#100c09;--rock-900:#181209;--rock-800:#241b12;--rock-700:#392a1a;--amber:#f2a93b;--amber-soft:#f2a93b99;--green:#4caf6d;--red:#e2483d;--paper:#ede6d9;--paper-dim:#ede6d9a6;--steel:#8a94a6;--steel-dim:#8a94a666;--panel-bg:#1c150ef2}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--rock-950);overflow:hidden;font-family:IBM Plex Sans,sans-serif;color:var(--paper)}#root{height:100%}#app-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;background:var(--rock-950);cursor:grab;touch-action:none}#app-canvas:active{cursor:grabbing}#ui-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none}.mono{font-family:IBM Plex Mono,monospace}.hud-brand{position:absolute;top:22px;left:24px;display:flex;align-items:center;gap:12px;pointer-events:auto}.brand-mark{width:38px;height:38px;border:1.5px solid var(--amber);display:flex;align-items:center;justify-content:center;color:var(--amber);font-size:18px;flex-shrink:0;background:#00000040}.brand-title{font-family:Big Shoulders Display,sans-serif;font-weight:800;font-size:22px;letter-spacing:.08em;line-height:1;color:var(--paper)}.brand-sub{font-family:IBM Plex Mono,monospace;font-size:10.5px;letter-spacing:.04em;color:var(--steel);margin-top:4px}.hud-status{position:absolute;top:26px;right:24px;display:flex;align-items:center;gap:8px;pointer-events:auto;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.06em;color:var(--paper-dim)}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse-dot 2.2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}.tech-list{position:absolute;top:92px;right:24px;width:238px;display:flex;flex-direction:column;gap:8px;pointer-events:auto}.tech-item{border:1px solid #ffffff1f;background:#00000047;padding:10px 12px;cursor:pointer;transition:border-color .18s,background .18s,transform .18s;position:relative}.tech-item:hover{border-color:var(--amber-soft);background:#0000006b;transform:translate(-3px)}.tech-item.active{border-color:var(--amber);background:#2a1c0c}.tech-item .row1{display:flex;align-items:center;justify-content:space-between}.tech-item .code{font-family:IBM Plex Mono,monospace;font-size:10px;color:var(--steel);letter-spacing:.05em}.tech-item .dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}.tech-item .name{font-family:IBM Plex Sans,sans-serif;font-weight:600;font-size:13px;margin-top:4px;color:var(--paper);line-height:1.3}.hud-hint{position:absolute;bottom:22px;left:50%;transform:translate(-50%);pointer-events:none;font-family:IBM Plex Mono,monospace;font-size:10.5px;letter-spacing:.08em;color:var(--paper-dim);background:#00000047;border:1px solid #ffffff1a;padding:8px 16px;white-space:nowrap;transition:opacity .6s ease}.hud-hint.hidden{opacity:0}.btn-overview{position:absolute;bottom:22px;left:24px;pointer-events:auto;font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.06em;color:var(--rock-950);background:var(--amber);border:none;padding:11px 16px;cursor:pointer;font-weight:600;transition:transform .15s,background .15s}.btn-overview:hover{background:#ffbf5c;transform:translateY(-2px)}#hotspot-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hotspot-marker{position:absolute;pointer-events:auto;cursor:pointer;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;transition:opacity .2s}.hotspot-marker .bracket{width:52px;height:38px;position:relative}.hotspot-marker .bracket span{position:absolute;width:12px;height:12px;border:2px solid var(--amber);opacity:.9}.hotspot-marker .bracket span.tl{top:0;left:0;border-right:none;border-bottom:none}.hotspot-marker .bracket span.tr{top:0;right:0;border-left:none;border-bottom:none}.hotspot-marker .bracket span.bl{bottom:0;left:0;border-right:none;border-top:none}.hotspot-marker .bracket span.br{bottom:0;right:0;border-left:none;border-top:none}.hotspot-marker .dot-center{position:absolute;top:50%;left:50%;width:6px;height:6px;margin:-3px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--amber)}.hotspot-marker .label{margin-top:2px;font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.05em;color:var(--paper);background:#000000a8;padding:3px 8px;white-space:nowrap;border:1px solid #ffffff26}.hotspot-marker:hover .bracket span{border-color:#fff}.hotspot-marker:hover .label{color:var(--amber)}.info-panel{position:absolute;top:0;right:0;height:100%;width:400px;max-width:92vw;background:var(--panel-bg);border-left:1px solid #ffffff26;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:34px 30px;pointer-events:auto;transform:translate(100%);transition:transform .45s cubic-bezier(.22,.9,.32,1);overflow-y:auto}.info-panel.open{transform:translate(0)}.info-panel .corner{position:absolute;width:20px;height:20px;border:2px solid var(--amber)}.info-panel .corner.tl{top:14px;left:14px;border-right:none;border-bottom:none}.info-panel .corner.tr{top:14px;right:14px;border-left:none;border-bottom:none}.info-panel .corner.bl{bottom:14px;left:14px;border-right:none;border-top:none}.info-panel .corner.br{bottom:14px;right:14px;border-left:none;border-top:none}.panel-close{position:absolute;top:28px;right:30px;background:none;border:1px solid #ffffff33;color:var(--paper);width:30px;height:30px;cursor:pointer;font-size:14px;transition:border-color .15s,color .15s}.panel-close:hover{border-color:var(--amber);color:var(--amber)}.panel-eyebrow{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.1em;color:var(--amber);margin-top:8px}.panel-title{font-family:Big Shoulders Display,sans-serif;font-weight:800;font-size:30px;letter-spacing:.02em;line-height:1.05;margin:10px 0 16px;color:var(--paper);text-transform:uppercase}.panel-desc{font-size:13.5px;line-height:1.65;color:var(--paper-dim);margin-bottom:22px}.panel-specs{border-top:1px solid #ffffff26;border-bottom:1px solid #ffffff26;padding:14px 0;margin-bottom:22px;display:flex;flex-direction:column;gap:9px}.spec-row{display:flex;justify-content:space-between;gap:14px;font-family:IBM Plex Mono,monospace;font-size:10.5px}.spec-row .k{color:var(--steel);letter-spacing:.05em}.spec-row .v{color:var(--paper);text-align:right}.panel-features{display:flex;flex-direction:column;gap:10px}.feature-row{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:var(--paper-dim)}.feature-row .mark{color:var(--green);flex-shrink:0;margin-top:1px}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--rock-950);z-index:50;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease,visibility .6s;pointer-events:auto}.loading-overlay.hidden{opacity:0;visibility:hidden}.loading-inner{text-align:center}.loading-mark{font-size:34px;color:var(--amber);margin-bottom:14px;animation:pulse-dot 1.6s ease-in-out infinite}.loading-title{font-family:Big Shoulders Display,sans-serif;font-weight:800;font-size:20px;letter-spacing:.1em;color:var(--paper);margin-bottom:18px}.loading-bar{width:220px;height:3px;background:#ffffff1a;margin:0 auto;overflow:hidden}.loading-bar-fill{height:100%;width:0%;background:var(--amber);transition:width .3s ease}.loading-sub{font-family:IBM Plex Mono,monospace;font-size:10.5px;color:var(--steel);margin-top:14px;letter-spacing:.04em}@media (max-width:760px){.tech-list{top:auto;bottom:70px;left:16px;right:16px;width:auto;flex-direction:row;overflow-x:auto;gap:8px}.tech-item{flex:0 0 auto;min-width:150px}.hud-brand{top:16px;left:16px}.brand-title{font-size:18px}.hud-status{top:20px;right:16px;font-size:9.5px}.hud-hint{display:none}.btn-overview{bottom:20px;left:16px;font-size:10px;padding:9px 13px}.info-panel{width:100%;max-width:100%;top:auto;bottom:0;height:78vh;border-left:none;border-top:1px solid #ffffff26;transform:translateY(100%)}.info-panel.open{transform:translateY(0)}.panel-title{font-size:24px}}
