:root{--bg-day: #dfd1bc;--bg-night: #0b0f19;--surface-glass: rgba(249, 243, 233, .82);--surface-border: rgba(42, 36, 30, .12);--text-main: #1d1916;--text-muted: #5c5349;--accent-primary: #ff6b4a;--accent-secondary: #2563eb;--badge-bg: rgba(29, 25, 22, .08);--shadow-soft: 0 18px 45px rgba(28, 21, 14, .12)}body.is-night{--surface-glass: rgba(15, 21, 35, .82);--surface-border: rgba(255, 255, 255, .11);--text-main: #f8fafc;--text-muted: #94a3b8;--accent-primary: #ff6b4a;--accent-secondary: #38bdf8;--badge-bg: rgba(255, 255, 255, .08);--shadow-soft: 0 20px 50px rgba(0, 0, 0, .48)}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;min-height:100%;font-family:Urbanist,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-day);color:var(--text-main);overflow-x:hidden;transition:background-color .6s ease,color .4s ease}body.is-night{background-color:var(--bg-night)}.webgl-stage{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:1}.preloader-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#dfd1bc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transition:opacity .75s cubic-bezier(.76,0,.24,1),visibility .75s}.preloader-overlay.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.preloader-svg{width:74px;height:80px;fill:#1d1916}.preloader-meta{display:flex;flex-direction:column;align-items:center;gap:6px;font-family:JetBrains Mono,monospace}.preloader-percent{font-size:1.2rem;font-weight:700;color:#1d1916}.preloader-sub{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#6b5e51}.top-navbar{position:fixed;top:20px;left:24px;right:24px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:16px;pointer-events:none}.brand-pill,.nav-waypoints,.quick-actions{pointer-events:auto;background:var(--surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--surface-border);box-shadow:var(--shadow-soft);border-radius:999px}.brand-pill{display:flex;align-items:center;gap:12px;padding:10px 18px;cursor:pointer;transition:transform .2s ease}.brand-pill:hover{transform:translateY(-2px)}.brand-logo-svg{width:26px;height:28px;fill:var(--text-main)}.brand-text{display:flex;flex-direction:column}.brand-name{font-weight:800;font-size:.95rem;letter-spacing:-.02em}.brand-role{font-family:JetBrains Mono,monospace;font-size:.68rem;color:var(--text-muted)}.nav-waypoints{display:flex;align-items:center;gap:4px;padding:6px}.waypoint-btn{border:none;background:transparent;color:var(--text-muted);font-family:JetBrains Mono,monospace;font-size:.74rem;font-weight:600;padding:8px 14px;border-radius:999px;cursor:pointer;transition:all .25s ease}.waypoint-btn:hover{color:var(--text-main)}.waypoint-btn.active{background:var(--accent-primary);color:#fff}.quick-actions{display:flex;align-items:center;gap:6px;padding:6px}.icon-pill-btn{border:none;background:var(--badge-bg);color:var(--text-main);font-family:JetBrains Mono,monospace;font-size:.75rem;font-weight:600;padding:8px 13px;border-radius:999px;cursor:pointer;display:flex;align-items:center;gap:7px;transition:all .22s ease}.icon-pill-btn:hover,.icon-pill-btn.is-active{background:var(--accent-primary);color:#fff}.hotspot-cursor-tooltip{position:fixed;z-index:45;pointer-events:none;background:#0f131deb;color:#f8fafc;padding:10px 14px;border-radius:12px;border:1px solid rgba(255,107,74,.5);box-shadow:0 12px 28px #00000059;transform:translate(16px,-50%);max-width:260px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tooltip-cat{font-family:JetBrains Mono,monospace;font-size:.65rem;color:#ff6b4a;letter-spacing:.08em;margin-bottom:2px}.tooltip-title{font-weight:800;font-size:.88rem;margin-bottom:4px}.tooltip-hint{font-family:JetBrains Mono,monospace;font-size:.7rem;color:#38bdf8}.bottom-hud{position:fixed;bottom:20px;right:24px;z-index:30;display:flex;align-items:center;gap:12px;pointer-events:none}.hud-card{pointer-events:auto;background:var(--surface-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--surface-border);box-shadow:var(--shadow-soft);padding:12px 18px;border-radius:18px;display:flex;align-items:center;gap:14px;max-width:420px}.hud-dot{width:10px;height:10px;border-radius:50%;background:#10b981;box-shadow:0 0 12px #10b981;flex-shrink:0}.hud-info-title{font-weight:800;font-size:.85rem}.hud-info-desc{font-size:.76rem;color:var(--text-muted);margin-top:2px}.scroll-content{position:relative;z-index:10;pointer-events:none}.story-section{min-height:100vh;width:100%;display:flex;align-items:center;padding:110px 5vw 80px}.story-section.align-right{justify-content:flex-end}.glass-panel{pointer-events:auto;width:100%;max-width:470px;background:var(--surface-glass);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--surface-border);box-shadow:var(--shadow-soft);border-radius:28px;padding:32px;transition:transform .3s ease,background .4s ease}.section-kicker{display:inline-flex;align-items:center;gap:8px;font-family:JetBrains Mono,monospace;font-size:.74rem;font-weight:700;color:var(--accent-primary);background:var(--badge-bg);padding:6px 12px;border-radius:999px;margin-bottom:16px}.panel-title{font-size:clamp(1.85rem,2.6vw,2.55rem);font-weight:900;line-height:1.08;letter-spacing:-.03em;margin-bottom:14px}.panel-lead{font-size:.98rem;line-height:1.6;color:var(--text-muted);margin-bottom:22px}.cta-row{display:flex;flex-wrap:wrap;gap:10px}.btn-primary{border:none;background:var(--accent-primary);color:#fff;font-family:Urbanist,sans-serif;font-weight:800;font-size:.9rem;padding:12px 20px;border-radius:14px;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.btn-primary:hover{transform:translateY(-2px);opacity:.95}.btn-secondary{border:1px solid var(--surface-border);background:var(--badge-bg);color:var(--text-main);font-family:Urbanist,sans-serif;font-weight:700;font-size:.88rem;padding:12px 18px;border-radius:14px;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{border-color:var(--accent-primary)}.project-selector-list{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.project-mini-card{padding:14px 16px;border-radius:16px;background:var(--badge-bg);border:1px solid transparent;cursor:pointer;transition:all .22s ease}.project-mini-card:hover{transform:translate(4px)}.project-mini-card.active{border-color:var(--accent-primary);background:#ff6b4a1f}.proj-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.proj-card-title{font-weight:800;font-size:.96rem}.proj-card-year{font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--accent-primary)}.proj-card-sub{font-size:.82rem;color:var(--text-muted)}.proj-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.mini-action-btn{border:1px solid var(--surface-border);background:var(--surface-glass);color:var(--text-main);font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:700;padding:6px 10px;border-radius:8px;cursor:pointer;text-decoration:none;transition:all .2s ease}.mini-action-btn.primary{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.mini-action-btn:hover{transform:translateY(-1px);opacity:.92}.monitor-focus-banner{position:fixed;bottom:22px;left:50%;transform:translate(-50%);z-index:50;pointer-events:auto}.focus-banner-inner{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:#0b0f19eb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(255,107,74,.5);box-shadow:0 20px 50px #0000008c;padding:10px 16px;border-radius:999px;color:#f8fafc}.live-pulse-dot{width:9px;height:9px;border-radius:50%;background:#10b981;box-shadow:0 0 10px #10b981}.focus-banner-text{font-size:.82rem;margin-right:6px}.focus-site-pill{border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#cbd5e1;font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600;padding:6px 11px;border-radius:999px;cursor:pointer;transition:all .2s ease}.focus-site-pill.active,.focus-site-pill:hover{background:#ff6b4a;color:#fff;border-color:#ff6b4a}.focus-exit-btn{border:none;background:#2563eb;color:#fff;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:700;padding:7px 14px;border-radius:999px;cursor:pointer;margin-left:4px}.scroll-content.is-hidden-ui{opacity:0;pointer-events:none;transition:opacity .35s ease}.tech-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tech-tag{font-family:JetBrains Mono,monospace;font-size:.68rem;padding:4px 9px;border-radius:6px;background:var(--surface-glass);color:var(--text-main)}.interactive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px}.interactive-chip{border:1px solid var(--surface-border);background:var(--badge-bg);color:var(--text-main);padding:11px 12px;border-radius:14px;text-align:left;cursor:pointer;transition:all .2s ease}.interactive-chip:hover{border-color:var(--accent-primary);transform:translateY(-2px)}.chip-label{display:block;font-weight:800;font-size:.83rem}.chip-sub{display:block;font-family:JetBrains Mono,monospace;font-size:.68rem;color:var(--text-muted);margin-top:2px}.mobile-only{display:none}@media(max-width:960px){.desktop-only{display:none!important}.mobile-only{display:flex}.top-navbar{top:14px;left:14px;right:14px}.brand-pill{padding:8px 14px}.brand-name{font-size:.84rem}.brand-role{font-size:.62rem}.mobile-hamburger-btn{pointer-events:auto;width:46px;height:46px;border-radius:50%;border:1px solid var(--surface-border);background:var(--surface-glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:var(--shadow-soft);flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;z-index:60}.ham-line{width:20px;height:2.2px;background:var(--text-main);border-radius:2px;transition:transform .25s ease,opacity .25s ease}.mobile-hamburger-btn.is-open .ham-line:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-hamburger-btn.is-open .ham-line:nth-child(2){opacity:0}.mobile-hamburger-btn.is-open .ham-line:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.scroll-content.mobile-bubbles-hidden .glass-panel{opacity:0;pointer-events:none;transform:translateY(20px) scale(.96)}.story-section{padding:84px 14px 96px;align-items:flex-end}.glass-panel{max-width:100%;padding:20px;border-radius:22px;max-height:70vh;overflow-y:auto}.panel-title{font-size:1.45rem}.panel-lead{font-size:.88rem;margin-bottom:14px}.mobile-bubble-close{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.bubble-dismiss-btn{border:1px solid var(--surface-border);background:var(--badge-bg);color:var(--text-main);font-family:JetBrains Mono,monospace;font-size:.68rem;font-weight:700;padding:5px 10px;border-radius:999px;cursor:pointer}.mobile-bottom-dock{position:fixed;bottom:14px;left:14px;right:14px;z-index:40;display:flex;align-items:center;gap:8px;pointer-events:none}.mobile-dock-btn{pointer-events:auto;flex:1;border:1px solid var(--surface-border);background:var(--surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:var(--text-main);font-family:Urbanist,sans-serif;font-weight:800;font-size:.84rem;padding:13px 12px;border-radius:16px;box-shadow:var(--shadow-soft);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.mobile-dock-btn.primary-monitor{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.mobile-dock-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.mobile-dock-btn.icon-only{flex:0 0 48px;font-size:1.05rem;padding:12px 0}.mobile-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#090c149e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center}.mobile-drawer-sheet{width:100%;max-height:85vh;overflow-y:auto;background:var(--surface-glass);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-top:1px solid var(--surface-border);border-radius:26px 26px 0 0;padding:20px 18px 28px;display:flex;flex-direction:column;gap:16px;box-shadow:0 -16px 40px #00000059}.drawer-header{display:flex;align-items:center;justify-content:space-between}.drawer-kicker{font-family:JetBrains Mono,monospace;font-size:.74rem;font-weight:700;color:var(--accent-primary)}.drawer-close-btn{border:none;background:var(--badge-bg);color:var(--text-main);width:34px;height:34px;border-radius:50%;font-size:.95rem;font-weight:800;cursor:pointer}.drawer-section{display:flex;flex-direction:column;gap:8px}.drawer-section-title{font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--text-muted)}.drawer-toggle-bubbles-btn{border:1px solid var(--surface-border);background:var(--badge-bg);color:var(--text-main);font-family:Urbanist,sans-serif;font-weight:800;font-size:.86rem;padding:12px 14px;border-radius:14px;cursor:pointer;text-align:center}.drawer-toggle-bubbles-btn.active{background:#ff6b4a29;border-color:var(--accent-primary)}.drawer-sites-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.drawer-site-btn{border:1px solid var(--surface-border);background:var(--badge-bg);color:var(--text-main);padding:10px 12px;border-radius:12px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px}.drawer-site-btn.contact-highlight{grid-column:span 2}.drawer-site-btn.active{border-color:var(--accent-primary);background:#ff6b4a26}.site-btn-name{font-weight:800;font-size:.8rem}.site-btn-domain{font-family:JetBrains Mono,monospace;font-size:.66rem;color:var(--accent-primary)}.drawer-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.drawer-chip{border:1px solid var(--surface-border);background:var(--badge-bg);color:var(--text-main);font-family:Urbanist,sans-serif;font-weight:800;font-size:.82rem;padding:10px 12px;border-radius:12px;cursor:pointer}.drawer-waypoints-list{display:flex;flex-wrap:wrap;gap:6px}.drawer-wp-btn{border:1px solid var(--surface-border);background:var(--badge-bg);color:var(--text-main);font-family:JetBrains Mono,monospace;font-size:.7rem;font-weight:600;padding:8px 12px;border-radius:999px;cursor:pointer}.drawer-wp-btn.active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.monitor-focus-banner{bottom:12px;left:10px;right:10px;transform:none}.focus-banner-inner{border-radius:18px;padding:10px 12px;justify-content:center}}
