:root{--accent-primary: #1e90ff;--accent-secondary: #2ecc71;--accent-warning: #f39c12;--accent-danger: #e74c3c;--bg-dark: #0f1318;--bg-darker: #0b0f14;--bg-panel: rgba(20, 24, 30, .9);--text-primary: #f2f4f8;--text-secondary: #b7c0cc;--font-main: "Nunito", system-ui, -apple-system, Segoe UI, sans-serif;--font-heading: "Nunito", system-ui, -apple-system, Segoe UI, sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);background:var(--bg-dark);color:var(--text-primary);overflow:hidden;position:relative}#webgl-canvas{position:fixed;top:0;left:0;width:100%;height:100%;outline:none;touch-action:none;pointer-events:auto;z-index:0}.title-container{position:fixed;top:20px;left:50%;transform:translate(-50%);text-align:center;z-index:10;pointer-events:none}.neon-title{font-family:var(--font-heading);font-size:2rem;font-weight:800;color:var(--text-primary);-webkit-text-stroke:.5px rgba(0,0,0,.4)}.subtitle{font-family:var(--font-main);font-size:1.1rem;font-weight:400;color:#000;margin-top:5px;-webkit-text-stroke:.5px rgba(0,0,0,.4)}.time-slider-container{position:fixed;bottom:20px;left:20px;width:280px;max-width:80%;z-index:10;text-align:left}.neon-label{display:block;font-size:.9rem;color:var(--text-secondary);margin-bottom:10px}.time-slider{width:100%;height:8px;background:linear-gradient(to right,#1f2a36,#3a506b,#1f2a36);border-radius:5px;outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;box-shadow:none}.time-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent-primary);cursor:pointer;box-shadow:none}.time-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent-primary);cursor:pointer;border:none;box-shadow:none}.time-labels{display:flex;justify-content:space-between;margin-top:5px;font-size:.7rem;color:#fff;-webkit-text-stroke:1px #000000;paint-order:stroke fill;font-weight:700}.ui-panels{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000}.ui-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:600px;max-height:80vh;background:var(--bg-panel);backdrop-filter:blur(8px);border:1px solid #2a313a;border-radius:15px;padding:30px;box-shadow:0 6px 24px #0006;pointer-events:auto;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s .3s;z-index:1001}.ui-panel.active{opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s 0s;z-index:1002}.close-btn{position:absolute;top:10px;right:10px;width:40px;height:40px;background:transparent;border:1px solid #2a313a;border-radius:50%;color:var(--text-secondary);font-size:24px;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}.close-btn:hover{transform:rotate(90deg);box-shadow:0 0 20px currentColor}.neon-heading{font-family:var(--font-heading);font-size:2rem;font-weight:700;margin-bottom:20px;color:var(--text-primary)}.neon-subheading{-webkit-text-stroke:0;font-size:1.3rem;font-weight:700;margin:20px 0 10px;color:var(--text-primary)}.panel-content{overflow-y:auto;max-height:calc(80vh - 120px)}.panel-content.scrollable::-webkit-scrollbar{width:8px}.panel-content.scrollable::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px}.panel-content.scrollable::-webkit-scrollbar-thumb{background:currentColor;border-radius:10px;box-shadow:0 0 10px currentColor}.experience-item,.education-item{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.2)}.experience-item:last-child,.education-item:last-child{border-bottom:none}.experience-item h4,.education-item h4{font-size:1.2rem;color:var(--accent-primary);margin-bottom:5px}.company,.school{color:var(--text-secondary);font-size:.9rem}.duration{color:var(--text-secondary);font-size:.8rem;margin-bottom:10px}.experience-item ul{list-style:none;padding-left:0}.experience-item li{position:relative;padding-left:20px;margin-bottom:5px;color:var(--text-secondary)}.experience-item li:before{content:"▹";position:absolute;left:0;color:var(--accent-primary)}.skills-container{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.skill-tag{padding:8px 15px;background:#1e90ff1f;border:1px solid rgba(30,144,255,.4);border-radius:20px;font-size:.85rem;color:var(--text-primary);box-shadow:none}.social-links{display:flex;flex-direction:column;gap:15px;overflow-x:hidden}.social-link{display:flex;align-items:center;gap:15px;padding:15px 20px;background:#1f293799;border:1px solid #2a313a;border-radius:10px;text-decoration:none;color:var(--text-primary);transition:all .3s;font-size:1.1rem}.social-link:hover{background:#1f2937cc;transform:translate(3px)}.social-icon{font-size:2rem}.social-label{flex:1}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.portfolio-card{background:#1f293799;border:1px solid #2a313a;border-radius:10px;padding:15px;transition:all .3s}.portfolio-card:hover{box-shadow:0 8px 24px #0006;transform:translateY(-3px)}.card-image{width:100%;height:150px;border-radius:8px;margin-bottom:15px;display:block}.portfolio-card h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:10px}.portfolio-card p{font-size:.85rem;color:var(--text-secondary);margin-bottom:15px;line-height:1.5}.card-links{display:flex;gap:10px}.neon-link{padding:8px 15px;background:transparent;border:1px solid #2a313a;border-radius:5px;color:var(--accent-primary);text-decoration:none;font-size:.8rem;transition:all .3s}.neon-link:hover{background:#1e90ff1f}.contact-form{display:flex;flex-direction:column;gap:12px;overflow-x:hidden}.form-group{position:relative;display:flex;flex-direction:column;gap:5px;margin-bottom:0}.neon-input{padding:10px 12px;background:#1f293799;border:1px solid #2a313a;border-radius:8px;color:var(--text-primary);font-family:var(--font-main);font-size:.95rem;transition:all .3s}.neon-input:focus{outline:none;border-color:var(--accent-primary);background:#1f2937cc}.char-counter{position:absolute;bottom:-18px;right:0;font-size:.7rem;color:var(--text-secondary)}.neon-btn{padding:12px 30px;background:#1f293799;border:1px solid #2a313a;border-radius:8px;color:var(--text-primary);font-family:var(--font-main);font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s}.neon-btn:hover{background:#1f2937cc;transform:scale(1.02)}.neon-btn:active{transform:scale(.98)}.submit-btn{margin-top:5px}.form-message{padding:10px;border-radius:8px;font-size:.85rem;text-align:center;display:none;margin-top:5px}.form-message.success{display:block;background:#2ecc711f;border:1px solid rgba(46,204,113,.6);color:#e9fff3}.form-message.error{display:block;background:#e74c3c1f;border:1px solid rgba(231,76,60,.6);color:#fff5f4}@media (max-width: 768px){.neon-title{font-size:1.5rem}.time-slider-container{width:90%}.ui-panel{width:95%;max-height:90vh;padding:20px}.neon-heading{font-size:1.5rem}.portfolio-grid{grid-template-columns:1fr}}.mobile-controls{position:fixed;pointer-events:none;z-index:50}@media (min-width: 769px){.mobile-controls{display:none}}.zoom-slider-container{position:fixed;right:15px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:auto}.rotation-slider-container{position:fixed;bottom:80px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:auto;width:80%;max-width:300px}.control-label{font-size:.8rem;color:var(--text-secondary);font-weight:600}.vertical-slider{writing-mode:bt-lr;appearance:slider-vertical;-webkit-appearance:slider-vertical;width:8px;height:150px;background:linear-gradient(to top,#1f2a36,#3a506b,#1f2a36);border-radius:5px;outline:none;cursor:pointer}.horizontal-slider{width:100%;height:8px;background:linear-gradient(to right,#1f2a36,#3a506b,#1f2a36);border-radius:5px;outline:none;cursor:pointer;appearance:none;-webkit-appearance:none}.vertical-slider::-webkit-slider-thumb,.horizontal-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent-primary);cursor:pointer}.vertical-slider::-moz-range-thumb,.horizontal-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent-primary);cursor:pointer;border:none}@media (max-width: 480px){.neon-title{font-size:1.2rem;top:10px}.time-slider-container{top:auto;bottom:20px;left:50%;transform:translate(-50%);width:calc(100% - 40px);max-width:480px}.time-labels{font-size:.6rem}}
