.portfolio-body{margin:0;overflow:hidden;background-color:#050510;color:#fff;font-family:Inter,sans-serif}#canvas-container{position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:1;cursor:grab}#canvas-container:active{cursor:grabbing}#space-canvas{display:block}#player-ship{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:0;height:0;border-left:15px solid transparent;border-right:15px solid transparent;border-bottom:25px solid var(--neon-cyan);filter:drop-shadow(0 0 10px var(--neon-cyan));animation:float 3s ease-in-out infinite;z-index:10;pointer-events:none}@keyframes float{0%,to{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-60%)}}#hud{position:absolute;top:20px;left:20px;z-index:100;pointer-events:none}.hud-header{margin-bottom:20px}.hud-name{font-family:"Press Start 2P",cursive;font-size:1.2rem;color:var(--neon-cyan);margin:0 0 10px;text-shadow:2px 2px 0 #000}.hud-title{font-family:"Press Start 2P",cursive;font-size:.8rem;color:var(--neon-magenta);margin:0}.hud-skills{background:#000014b3;border:2px solid var(--neon-cyan);padding:15px;width:250px;pointer-events:auto}.skill-bar{margin-bottom:10px}.skill-name{font-family:"Press Start 2P",cursive;font-size:.6rem;display:block;margin-bottom:5px}.bar{width:100%;height:10px;background:#222;border:1px solid #555}.fill{height:100%;background:var(--neon-cyan);box-shadow:0 0 5px var(--neon-cyan)}.hud-controls{margin-top:20px;pointer-events:auto}.hud-btn{font-family:"Press Start 2P",cursive;font-size:.7rem;background:#00000080;color:var(--neon-yellow);border:2px solid var(--neon-yellow);padding:10px 15px;cursor:pointer;transition:all .2s}.hud-btn:hover{background:var(--neon-yellow);color:#000}#planet-tooltip{position:absolute;background:#000014e6;border:1px solid var(--neon-cyan);padding:15px;pointer-events:none;z-index:150;font-family:Inter,sans-serif;transform:translate(-50%,-120%);transition:opacity .2s;min-width:200px}#planet-tooltip.hidden{opacity:0}#tt-title{font-family:"Press Start 2P",cursive;font-size:.7rem;color:var(--neon-cyan);margin:0 0 10px;line-height:1.4}#tt-tech,#tt-metric{font-size:.8rem;margin:0 0 5px;color:#ccc}#side-panel{position:absolute;top:0;right:0;width:400px;height:100vh;background:#050510f2;border-left:2px solid var(--neon-magenta);z-index:200;padding:30px;box-sizing:border-box;transform:translate(100%);transition:transform .3s ease;overflow-y:auto}#side-panel:not(.hidden){transform:translate(0)}.close-btn{position:absolute;top:20px;right:20px;background:transparent;color:#fff;border:none;font-family:"Press Start 2P",cursive;font-size:1.2rem;cursor:pointer}#sp-title{font-family:"Press Start 2P",cursive;font-size:1.2rem;color:var(--neon-magenta);margin-top:20px;margin-bottom:15px;line-height:1.4}#sp-desc{font-size:.9rem;line-height:1.6;color:#ddd;margin-bottom:20px}.sp-section{margin-bottom:20px}.sp-section h3{font-family:"Press Start 2P",cursive;font-size:.8rem;color:var(--neon-cyan);margin-bottom:10px}.sp-section p{font-size:.9rem;color:#bbb;margin:0}.action-btn{font-family:"Press Start 2P",cursive;font-size:.8rem;background:var(--neon-magenta);color:#fff;border:none;padding:15px 20px;width:100%;cursor:pointer;box-shadow:0 0 10px var(--neon-magenta);transition:all .2s;margin-top:20px}.action-btn:hover{background:#fff;color:var(--neon-magenta)}#list-view{position:absolute;top:0;left:0;width:100vw;height:100vh;background:#050510;z-index:300;overflow-y:auto;padding:40px;box-sizing:border-box}#list-view.hidden{display:none}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;border-bottom:2px solid #333;padding-bottom:20px}.list-header h2{font-family:"Press Start 2P",cursive;color:var(--neon-cyan);margin:0;font-size:1.5rem}#list-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:30px;padding-bottom:100px}.list-card{background:#111;border:1px solid #333;padding:20px;border-top:3px solid var(--neon-cyan);transition:transform .2s;display:flex;flex-direction:column}.list-card:hover{transform:translateY(-5px);border-color:var(--neon-cyan)}.list-card h3{font-family:"Press Start 2P",cursive;font-size:.9rem;color:#fff;margin-top:0;line-height:1.4}.list-card .category{font-size:.7rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:15px;font-weight:700}.list-card p{font-size:.9rem;color:#aaa;line-height:1.5;flex-grow:1}.list-card button{margin-top:20px;background:transparent;color:var(--neon-cyan);border:1px solid var(--neon-cyan);padding:10px 12px;cursor:pointer;font-family:"Press Start 2P",cursive;font-size:.6rem}.list-card button:hover{background:var(--neon-cyan);color:#000}#case-study-view{position:absolute;top:0;left:0;width:100vw;height:100vh;background:#f5f5f5;color:#111;z-index:400;overflow-y:auto;padding:40px;box-sizing:border-box}#case-study-view.hidden{display:none}#close-case-study{position:fixed;top:20px;left:20px;background:#000;color:#fff;border:none}.case-study-content{max-width:800px;margin:40px auto 100px;font-family:Inter,sans-serif}.case-study-content h1{font-size:2.5rem;margin-bottom:10px;font-weight:700}.case-study-content .meta{color:#666;margin-bottom:40px;font-size:.9rem;text-transform:uppercase;letter-spacing:1px;font-weight:600}.case-study-content h2{font-size:1.5rem;margin-top:40px;margin-bottom:15px;border-bottom:2px solid #ddd;padding-bottom:10px;font-weight:700}.case-study-content p{font-size:1.1rem;line-height:1.8;color:#333;margin-bottom:20px}.cs-links{margin-top:40px;display:flex;gap:20px}.cs-links a{display:inline-block;padding:12px 24px;background:#111;color:#fff;text-decoration:none;border-radius:4px;font-weight:600;transition:background .2s}.cs-links a:hover{background:var(--neon-cyan);color:#000}@media(max-width:768px){#hud,#canvas-container{display:none}#list-view{display:block!important;padding:20px}#back-to-space-btn{display:none}.list-header{flex-direction:column;align-items:flex-start;gap:15px}.list-header h2{font-size:1.2rem}.case-study-content{margin-top:60px}.case-study-content h1{font-size:2rem}}
