@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Fira+Code:wght@400;500&family=Outfit:wght@300;400;500;600;700;800;900&display=swap";:root{--color-bg: #070714;--color-surface: rgba(15, 15, 35, .85);--color-surface-hover: rgba(25, 25, 55, .9);--color-primary: #6366f1;--color-primary-light: #818cf8;--color-accent: #8b5cf6;--color-cyan: #06b6d4;--color-amber: #f59e0b;--color-emerald: #10b981;--color-rose: #f43f5e;--color-text: #e2e8f0;--color-text-muted: #94a3b8;--color-text-dim: #64748b;--color-border: rgba(99, 102, 241, .2);--font-body: "Inter", -apple-system, system-ui, sans-serif;--font-display: "Outfit", "Inter", sans-serif;--font-mono: "Fira Code", monospace;--glass-blur: 20px;--glass-bg: rgba(10, 10, 30, .78);--glass-border: rgba(99, 102, 241, .15)}*{margin:0;padding:0;box-sizing:border-box}html,body{overflow:hidden;width:100%;height:100%;background:var(--color-bg);font-family:var(--font-body);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#experience-canvas{position:fixed;top:0;left:0;width:100%;height:100%;outline:none}.hidden{opacity:0!important;pointer-events:none!important}::selection{background:var(--color-primary);color:#fff}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#050510;display:flex;align-items:center;justify-content:center;z-index:1000;transition:opacity .8s ease,visibility .8s ease}.loading-screen.fade-out{opacity:0;visibility:hidden}.loading-content{text-align:center;max-width:420px;padding:2rem}.loading-name{font-family:var(--font-display, "Outfit", sans-serif);font-size:2.8rem;font-weight:800;background:linear-gradient(135deg,#6366f1,#8b5cf6,#06b6d4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;letter-spacing:-.02em;animation:shimmer 3s ease-in-out infinite;background-size:200% 100%}@keyframes shimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.loading-subtitle{font-family:var(--font-mono, "Fira Code", monospace);font-size:.9rem;color:#94a3b8;margin-bottom:2.5rem;letter-spacing:.05em}.loading-bar-container{width:100%;height:3px;background:#6366f11a;border-radius:4px;overflow:hidden;margin-bottom:1rem}.loading-bar{height:100%;width:0%;background:linear-gradient(90deg,#6366f1,#8b5cf6,#06b6d4);border-radius:4px;transition:width .4s ease;box-shadow:0 0 15px #6366f1}.loading-text{font-family:var(--font-mono, "Fira Code", monospace);font-size:.75rem;color:#64748b;letter-spacing:.02em}.loading-content:after{content:"";display:block;margin-top:2rem;width:60px;height:4px;margin-left:auto;margin-right:auto;background:linear-gradient(90deg,transparent,#6366f1,transparent);animation:pulse-bar 1.5s ease-in-out infinite;border-radius:4px}@keyframes pulse-bar{0%,to{opacity:.3;transform:scaleX(.5)}50%{opacity:1;transform:scaleX(1)}}.info-panel{position:fixed;top:50%;right:30px;transform:translateY(-50%) translate(120%);width:380px;max-height:80vh;background:var(--glass-bg, rgba(10,10,30,.78));backdrop-filter:blur(var(--glass-blur, 20px));-webkit-backdrop-filter:blur(var(--glass-blur, 20px));border:1px solid var(--glass-border, rgba(99,102,241,.15));border-radius:16px;padding:0;z-index:100;overflow:hidden;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .4s ease;box-shadow:0 0 40px #6366f11a,0 25px 50px #00000080,inset 0 1px #ffffff0d}.info-panel.visible{transform:translateY(-50%) translate(0);opacity:1;pointer-events:all}.info-panel.hidden{transform:translateY(-50%) translate(120%);opacity:0;pointer-events:none}.info-panel-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border:1px solid rgba(99,102,241,.2);background:#0f0f23d9;color:#94a3b8;border-radius:8px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.info-panel-close:hover{background:#6366f1;color:#fff;border-color:#6366f1}.info-panel-content{padding:28px;overflow-y:auto;max-height:80vh}.panel-title{font-family:var(--font-display, "Outfit", sans-serif);font-size:1.6rem;font-weight:700;color:#e2e8f0;margin-bottom:.5rem;letter-spacing:-.01em}.panel-name{font-family:var(--font-display, "Outfit", sans-serif);font-size:1.1rem;font-weight:600;color:#818cf8;margin-bottom:.3rem}.panel-subtitle{font-size:.85rem;color:#94a3b8;margin-bottom:.25rem;line-height:1.5}.panel-subtitle.accent{color:#818cf8;font-weight:500}.panel-description{font-size:.9rem;color:#94a3b8;line-height:1.6;margin-bottom:1rem}.panel-hint{font-size:.85rem;color:#64748b;font-style:italic;margin-top:1rem}.panel-divider{width:40px;height:3px;background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:3px;margin:1rem 0}.glow-text{text-shadow:0 0 20px rgba(99,102,241,.5)}.direction-hints{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:1rem}.direction-hint{font-size:.8rem;color:#94a3b8;background:#6366f114;padding:6px 12px;border-radius:8px;border:1px solid rgba(99,102,241,.15);text-align:center}.about-list{display:flex;flex-direction:column;gap:10px}.about-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;background:#6366f10d;border-radius:10px;border:1px solid rgba(99,102,241,.08);transition:all .2s ease}.about-item:hover{background:#6366f11a;border-color:#6366f133}.about-emoji{font-size:1.2rem;flex-shrink:0;margin-top:1px}.about-text{font-size:.85rem;color:#94a3b8;line-height:1.5}.skill-category{margin-bottom:1.2rem}.skill-category-title{font-family:var(--font-display, "Outfit", sans-serif);font-size:.85rem;font-weight:600;color:#e2e8f0;margin-bottom:.6rem}.skill-badges{display:flex;flex-wrap:wrap;gap:8px}.skill-badge{font-family:var(--font-mono, "Fira Code", monospace);font-size:.75rem;font-weight:500;padding:4px 12px;border:1px solid;border-radius:20px;background:transparent;transition:all .2s ease;cursor:default}.skill-badge:hover{background:#ffffff0d;transform:translateY(-1px)}.projects-list{display:flex;flex-direction:column;gap:14px}.project-card{padding:16px;background:#6366f10d;border:1px solid rgba(99,102,241,.1);border-radius:12px;transition:all .2s ease}.project-card:hover{border-color:#6366f140;background:#6366f114;transform:translateY(-1px)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px;gap:10px}.project-name{font-family:var(--font-display, "Outfit", sans-serif);font-size:.95rem;font-weight:600;color:#e2e8f0;margin:0}.project-status{font-family:var(--font-mono, "Fira Code", monospace);font-size:.65rem;color:#f59e0b;background:#f59e0b1a;padding:2px 8px;border-radius:4px;border:1px solid rgba(245,158,11,.2);white-space:nowrap;flex-shrink:0}.project-description{font-size:.8rem;color:#64748b;line-height:1.5;margin-bottom:10px}.project-techs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.tech-badge{font-family:var(--font-mono, "Fira Code", monospace);font-size:.65rem;color:#818cf8;background:#6366f11a;padding:2px 8px;border-radius:4px;border:1px solid rgba(99,102,241,.2)}.project-link{font-size:.8rem;color:#818cf8;text-decoration:none;display:inline-flex;align-items:center;gap:4px;transition:color .2s ease}.project-link:hover{color:#06b6d4}.project-status-badge{font-size:.75rem;color:#64748b}.contact-links{display:flex;flex-direction:column;gap:12px;margin-top:.5rem}.contact-link{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#6366f10d;border:1px solid rgba(99,102,241,.1);border-radius:12px;text-decoration:none;transition:all .25s ease;color:#e2e8f0}.contact-link:hover{border-color:#6366f1;background:#6366f11a;transform:translate(4px)}.contact-link.github:hover{border-color:#fff}.contact-link.linkedin:hover{border-color:#0077b5}.contact-link.email:hover{border-color:#f43f5e}.contact-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#6366f11a;border-radius:10px;flex-shrink:0}.contact-icon svg{width:20px;height:20px;color:#818cf8}.contact-info{display:flex;flex-direction:column}.contact-label{font-size:.75rem;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.contact-value{font-size:.9rem;color:#e2e8f0;font-weight:500}.instruction-toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%) translateY(100px);background:#0a0a1ec7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(99,102,241,.15);border-radius:12px;padding:16px 28px;z-index:200;text-align:center;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .4s ease;box-shadow:0 15px 30px #0006}.instruction-toast.visible{transform:translate(-50%) translateY(0)}.instruction-toast.fade-out{opacity:0;transform:translate(-50%) translateY(20px)}.instruction-toast p{font-size:.85rem;color:#94a3b8;margin:4px 0}.instruction-toast strong{color:#818cf8}@media(max-width:768px){.info-panel{right:10px;left:10px;width:auto;top:auto;bottom:100px;transform:translateY(120%);max-height:55vh}.info-panel.visible{transform:translateY(0)}.info-panel.hidden{transform:translateY(120%)}.info-panel-content{padding:20px}.panel-title{font-size:1.3rem}.instruction-toast{bottom:110px;left:20px;right:20px;transform:translate(0) translateY(100px)}.instruction-toast.visible{transform:translate(0) translateY(0)}}.hud{position:fixed;bottom:20px;left:20px;z-index:50;transition:opacity .5s ease}.hud-controls{display:flex;flex-direction:column;gap:8px}.key-hint{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.key{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:#0a0a1ec7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(99,102,241,.15);border-radius:6px;font-family:var(--font-mono, "Fira Code", monospace);font-size:.7rem;font-weight:500;color:#94a3b8;-webkit-user-select:none;user-select:none}.key-label{font-size:.7rem;color:#64748b;margin-left:6px}.hud-zone{position:fixed;top:20px;left:50%;transform:translate(-50%);font-family:var(--font-display, "Outfit", sans-serif);font-size:1.2rem;font-weight:600;color:#818cf8;text-shadow:0 0 20px rgba(99,102,241,.5);transition:all .3s ease;pointer-events:none}.joystick{position:fixed;bottom:30px;left:30px;z-index:80;transition:opacity .3s ease}.joystick-base{width:120px;height:120px;background:#6366f114;border:2px solid rgba(99,102,241,.2);border-radius:50%;position:relative;touch-action:none}.joystick-thumb{width:44px;height:44px;background:radial-gradient(circle,#6366f1,#8b5cf6);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px #6366f166;transition:transform .05s linear;pointer-events:none}@media(max-width:768px){.hud-zone{font-size:1rem;top:15px}}
