@import "https://fonts.googleapis.com/css2?family=Orbitron:wght@400;600;800;900&family=Outfit:wght@300;400;500;600;700&display=swap";:root{--font-display:"Orbitron", sans-serif;--font-body:"Outfit", sans-serif;--color-bg:#07080b;--color-panel:#10121bbf;--color-panel-border:#00f0ff26;--color-panel-glow:#00f0ff0d;--color-cyan:#00f0ff;--color-orange:#ff6c00;--color-green:#0f6;--color-red:#f30;--color-yellow:#fc0;--color-text:#e2e8f0;--color-text-muted:#94a3b8}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-body);width:100vw;height:100vh;overflow:hidden}#app{width:100%;height:100%;position:relative}#canvas-container{z-index:1;cursor:crosshair;width:100%;height:100%;position:absolute;top:0;left:0}.hidden{display:none!important}.hud-overlay{z-index:10;pointer-events:none;flex-direction:column;justify-content:space-between;width:100%;height:100%;padding:1.5rem;display:flex;position:absolute;top:0;left:0}.hud-overlay *{pointer-events:auto}.visor-effects{pointer-events:none;z-index:2;opacity:.85;background:linear-gradient(#12101000 50%,#00000040 50%) 0 0/100% 4px,linear-gradient(90deg,#ff00000a,#00ff0005,#0000ff0a) 0 0/6px 100%;width:100%;height:100%;position:absolute;top:0;left:0;box-shadow:inset 0 0 100px #00f0ff40,inset 0 0 300px #000c}.hud-panel{background:var(--color-panel);border:1px solid var(--color-panel-border);box-shadow:0 8px 32px 0 #00000080, inset 0 0 15px var(--color-panel-glow);-webkit-backdrop-filter:blur(12px);border-radius:12px;padding:1rem}.hud-columns{z-index:11;pointer-events:none;justify-content:space-between;width:100%;display:flex}.hud-columns>*{pointer-events:auto}.hud-left-column{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.hud-right-column{flex-direction:column;align-items:flex-end;gap:.75rem;display:flex}.level-info{flex-direction:column;min-width:260px;display:flex}.hud-label{font-family:var(--font-display);letter-spacing:.15em;color:var(--color-text-muted);margin-bottom:.25rem;font-size:.65rem;font-weight:800}.hud-value{font-family:var(--font-display);letter-spacing:.02em;color:var(--color-text);text-shadow:0 0 8px #fff3;font-size:1.15rem;font-weight:900}.hud-value-large{font-family:var(--font-display);color:var(--color-cyan);text-shadow:0 0 10px #00f0ff4d;font-size:1.6rem;font-weight:900}.difficulty-tag{font-family:var(--font-display);letter-spacing:.1em;border-radius:4px;width:fit-content;margin-top:0;padding:.15rem .4rem;font-size:.55rem;font-weight:900;display:inline-block}.difficulty-tag.easy{color:var(--color-green);background:#00ff661a;border:1px solid #00ff664d}.difficulty-tag.medium{color:var(--color-orange);background:#ff6c001a;border:1px solid #ff6c004d}.difficulty-tag.hard{color:var(--color-red);background:#ff33001a;border:1px solid #ff33004d}.integrity-panel{align-items:center;gap:1.25rem;min-width:380px;display:flex}.hud-progress-container{background:#00000080;border:1px solid #ffffff1a;border-radius:5px;flex-grow:1;height:10px;overflow:hidden}.hud-progress-bar{border-radius:5px;height:100%;transition:width .15s ease-out;box-shadow:0 0 10px}.hud-progress-bar.good{color:var(--color-green);background:var(--color-green)}.hud-progress-bar.warning{color:var(--color-yellow);background:var(--color-yellow)}.hud-progress-bar.bad{color:var(--color-red);background:var(--color-red)}.neon-green{color:var(--color-green);text-shadow:0 0 10px #0f66}.neon-yellow{color:var(--color-yellow);text-shadow:0 0 10px #fc06}.neon-red{color:var(--color-red);text-shadow:0 0 10px #f306}.neon-cyan{color:var(--color-cyan);text-shadow:0 0 10px #00f0ff66}.warning-banner{font-family:var(--font-display);letter-spacing:.15em;z-index:12;border-radius:8px;padding:.8rem 2.5rem;font-size:1.3rem;font-weight:900;animation:1s infinite alternate pulse;position:absolute;top:15%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 30px #00000080}.warning-banner.alert-burn{color:var(--color-red);border:2px solid var(--color-red);text-shadow:0 0 10px var(--color-red);background:#ff330026}.warning-banner.alert-cold{color:var(--color-orange);border:2px solid var(--color-orange);text-shadow:0 0 10px var(--color-orange);background:#ff6c0026}.warning-banner.alert-toast{color:var(--color-cyan);border:2px solid var(--color-cyan);text-shadow:0 0 10px var(--color-cyan);background:#00f0ff26}.demo-banner{z-index:10;border:1px solid var(--color-orange);pointer-events:auto;background:#101418f2;border-radius:8px;align-items:center;padding:.6rem 1.2rem;display:flex;position:absolute;top:1.5rem;left:50%;transform:translate(-50%);box-shadow:0 0 15px #ff6c0040,inset 0 0 8px #ff6c000d}.demo-banner-content{align-items:center;gap:1rem;display:flex}.demo-pulse-dot{background:var(--color-orange);width:8px;height:8px;box-shadow:0 0 8px var(--color-orange);border-radius:50%;animation:1.2s ease-in-out infinite alternate blink}.demo-banner-title{font-family:var(--font-display);color:var(--color-text);letter-spacing:1.5px;font-size:.75rem;font-weight:800}.skip-demo-btn{background:var(--color-orange);cursor:pointer;border:1px solid #ff6c0066;padding:.35rem .8rem;font-size:.65rem;box-shadow:0 0 8px #ff6c004d}.skip-demo-btn:hover{background:#ff8533;box-shadow:0 0 12px #ff853380}.angle-controls{z-index:11;flex-direction:column;gap:1.25rem;width:280px;display:flex}.angle-controls h3{font-family:var(--font-display);letter-spacing:.1em;color:var(--color-cyan);font-size:.75rem;font-weight:800}.control-tip{color:var(--color-text-muted);font-size:.7rem;line-height:1.3}.slider-group{flex-direction:column;display:flex}.slider-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.angle-warning{font-family:var(--font-display);border-radius:3px;padding:.1rem .3rem;font-size:.55rem;font-weight:900}.angle-warning.ok{color:var(--color-green);background:#00ff661a}.angle-warning.caution{color:var(--color-yellow);background:#ffcc001a}.angle-warning.bad{color:var(--color-red);background:#ff33001a;animation:.5s infinite alternate blink}.slider-footer{justify-content:space-between;align-items:center;margin-top:.25rem;display:flex}.hud-target-label{color:var(--color-text-muted);font-size:.65rem}input[type=range]{-webkit-appearance:none;background:#0006;border:1px solid #ffffff1a;border-radius:3px;outline:none;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-cyan);width:14px;height:14px;box-shadow:0 0 8px var(--color-cyan);cursor:pointer;border-radius:50%}.hud-instruction-card{border-left:3px solid var(--color-cyan);background:#00f0ff08;border-radius:0 8px 8px 0;padding:.5rem .75rem}.weld-tip-title{font-family:var(--font-display);color:var(--color-cyan);margin-bottom:.2rem;font-size:.6rem;font-weight:800}.weld-tip-text{color:var(--color-text-muted);font-size:.65rem;line-height:1.3}.hud-footer{z-index:11;justify-content:space-between;gap:1.5rem;width:100%;display:flex}.progress-panel{flex-grow:1;align-items:center;gap:1.5rem;display:flex}.hud-progress-container-large{background:#0009;border:1px solid #ffffff26;border-radius:8px;flex-grow:1;height:16px;padding:2px;overflow:hidden}.hud-progress-bar-large{background:linear-gradient(90deg, var(--color-orange), var(--color-cyan));border-radius:6px;width:0%;height:100%;transition:width .15s ease-out;box-shadow:0 0 10px #00f0ff4d}.speed-gauge-panel{align-items:center;gap:1.5rem;width:440px;display:flex}.speed-meter-wrapper{background:#00000080;border:1px solid #ffffff1a;border-radius:7px;flex-grow:1;height:14px;position:relative;overflow:visible}.speed-meter-gauge{border-radius:4px;width:8px;height:18px;transition:left .1s linear;position:absolute;top:-3px;box-shadow:0 0 8px}.speed-meter-gauge.ready{color:var(--color-cyan);background:var(--color-cyan)}.speed-meter-gauge.optimal{color:var(--color-green);background:var(--color-green)}.speed-meter-gauge.coldlap{color:var(--color-orange);background:var(--color-orange)}.speed-meter-gauge.burnthrough{color:var(--color-red);background:var(--color-red)}.speed-marker.target-speed{background:#ffffff80;width:2px;height:20px;position:absolute;top:-4px;left:50%}.speed-marker.target-speed:after{content:"TARGET";font-family:var(--font-display);color:var(--color-text-muted);font-size:.45rem;position:absolute;top:-15px;left:-15px}.speed-readouts{text-align:right;flex-direction:column;min-width:130px;display:flex}.speed-status-text{font-family:var(--font-display);letter-spacing:.05em;margin-bottom:.15rem;font-size:.65rem;font-weight:800}.speed-status-text.ready{color:var(--color-cyan)}.speed-status-text.optimal{color:var(--color-green)}.speed-status-text.coldlap{color:var(--color-orange)}.speed-status-text.burnthrough{color:var(--color-red)}.abort-btn{z-index:11;width:fit-content;padding:.4rem 1rem!important;font-size:.7rem!important}.hud-actions-row{gap:.5rem;width:100%;display:flex}.mute-btn{z-index:11;width:fit-content;padding:.4rem .8rem!important;font-size:.8rem!important}.menu-overlay{z-index:20;background:radial-gradient(circle,#101420d9 0%,#07080bf5 100%);justify-content:center;align-items:center;width:100%;height:100%;padding:2rem;display:flex;position:absolute;top:0;left:0;overflow-y:auto}.menu-container{border:1px solid var(--color-panel-border);-webkit-backdrop-filter:blur(20px);background:#0d0f17a6;border-radius:20px;width:100%;max-width:820px;padding:2.5rem;box-shadow:0 15px 50px #000000b3,inset 0 0 30px #00f0ff08}.text-center{text-align:center}.game-title{font-family:var(--font-display);letter-spacing:.08em;background:linear-gradient(135deg, #fff 30%, var(--color-cyan) 100%);-webkit-text-fill-color:transparent;text-shadow:0 0 30px #00f0ff26;-webkit-background-clip:text;margin-bottom:.15rem;font-size:2.7rem;font-weight:900}.game-subtitle{font-family:var(--font-display);letter-spacing:.3em;color:var(--color-orange);text-transform:uppercase;text-shadow:0 0 15px #ff6c004d;margin-bottom:1.5rem;font-size:1.1rem;font-weight:600}.game-description{color:var(--color-text-muted);max-width:600px;margin:0 auto 2.5rem;font-size:.85rem;line-height:1.6}.level-cards-container{grid-template-columns:repeat(3,1fr);gap:1.25rem;margin-bottom:2.5rem;display:grid}.level-card{text-align:left;cursor:pointer;background:#14162180;border:1px solid #ffffff0d;border-radius:12px;flex-direction:column;justify-content:space-between;padding:1.25rem;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex}.level-card:hover{background:#1e223380;border-color:#00f0ff4d;transform:translateY(-4px);box-shadow:0 8px 20px #00f0ff0d}.level-card.active{border-color:var(--color-cyan);background:#00f0ff0d;box-shadow:0 0 15px #00f0ff26,inset 0 0 10px #00f0ff08}.level-card-header{flex-direction:column;align-items:flex-start;gap:.4rem;margin-bottom:.8rem;display:flex}.level-card h3{font-family:var(--font-display);color:var(--color-text);font-size:.95rem;font-weight:800}.level-card p{color:var(--color-text-muted);flex-grow:1;margin-bottom:1rem;font-size:.72rem;line-height:1.4}.level-stats{border-top:1px solid #ffffff0f;padding-top:.6rem;font-size:.65rem}.level-stats div{justify-content:space-between;margin-bottom:.2rem;display:flex}.level-stats span{color:var(--color-text-muted)}.controls-guide-panel{text-align:left;background:#101418a6;border:1px solid #ffffff14;border-radius:8px;max-width:800px;margin:1.2rem auto;padding:1rem 1.2rem}.controls-guide-panel h3{font-family:var(--font-display);color:var(--color-orange);letter-spacing:2px;text-transform:uppercase;margin-top:0;margin-bottom:.8rem;font-size:.8rem;font-weight:800}.guide-steps{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.guide-step{border-left:2px solid var(--color-cyan);background:#ffffff05;border-radius:4px;flex-direction:column;padding:.6rem .8rem;display:flex}.guide-key{font-family:var(--font-display);color:var(--color-cyan);margin-bottom:.3rem;font-size:.72rem;font-weight:900}.guide-desc{color:var(--color-text-muted);font-size:.65rem;line-height:1.35}.btn{font-family:var(--font-display);text-transform:uppercase;cursor:pointer;letter-spacing:.1em;border:none;border-radius:8px;outline:none;font-weight:900;transition:all .25s}.btn-primary{background:linear-gradient(135deg, var(--color-cyan), #00a8ff);color:#000;box-shadow:0 0 15px #00f0ff4d}.btn-primary:hover:not(:disabled){transform:scale(1.03);box-shadow:0 0 25px #00f0ff80}.btn-primary:disabled{color:var(--color-text-muted);box-shadow:none;cursor:not-allowed;background:#27303f}.btn-secondary{color:var(--color-text);background:#ffffff0d;border:1px solid #ffffff1a}.btn-secondary:hover{background:#ffffff1a}.btn-large{padding:.9rem 2.5rem;font-size:.95rem;box-shadow:0 8px 20px #0000004d}.menu-footer{border-top:1px solid #ffffff14;margin-top:2.5rem;padding-top:2rem}.menu-footer h3{font-family:var(--font-display);color:var(--color-cyan);letter-spacing:.15em;margin-bottom:1rem;font-size:.85rem;font-weight:800}.mini-leaderboard{background:#00000040;border-radius:10px;max-height:220px;padding:.5rem;overflow-y:auto}.loading-text{color:var(--color-text-muted);padding:1.5rem 0;font-size:.75rem}.leaderboard-table{border-collapse:collapse;text-align:left;width:100%;font-size:.72rem}.leaderboard-table th{font-family:var(--font-display);color:var(--color-text-muted);border-bottom:1px solid #ffffff0d;padding:.5rem .75rem;font-weight:800}.leaderboard-table td{border-bottom:1px solid #ffffff05;padding:.45rem .75rem}.leaderboard-table tbody tr:hover{background:#ffffff05}.rank-gold{background:#ffcc0008}.rank-gold td:first-child{color:var(--color-yellow);font-weight:700}.report-container{max-width:680px}.report-badge-container{flex-direction:column;align-items:center;margin:1.5rem 0 2rem;display:flex}.report-grade{font-family:var(--font-display);color:#000;background:linear-gradient(135deg, var(--color-cyan), var(--color-green));border-radius:15px;padding:.5rem 1.8rem;font-size:3.5rem;font-weight:950;line-height:1;box-shadow:0 0 30px #00ff664d}.mini-grade{box-shadow:none;border-radius:4px;padding:.1rem .4rem;font-size:.7rem;display:inline-block}.report-desc{color:var(--color-text);margin-top:1rem;font-size:.85rem;font-weight:500}.report-details-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem;display:grid}.report-metric{background:#00000040;border:1px solid #ffffff0a;border-radius:10px;flex-direction:column;justify-content:center;padding:1rem;display:flex}.report-value{font-family:var(--font-display);margin:.3rem 0;font-size:1.4rem;font-weight:900}.metric-info{color:var(--color-text-muted);font-size:.6rem}.defect-counts{flex-direction:column;gap:.15rem;margin-top:.3rem;font-size:.65rem;display:flex}.defect-item{text-align:left;border-radius:3px;justify-content:space-between;padding:.05rem .4rem;display:flex}.defect-item.red{color:var(--color-red);background:#ff33001a}.defect-item.orange{color:var(--color-orange);background:#ff6c001a}.defect-item.yellow{color:var(--color-yellow);background:#ffcc001a}.defect-item.green{color:var(--color-text-muted);background:#00ff660d}.signup-panel{text-align:left;background:#10121be6;border-color:#ff6c0033;margin-bottom:2rem}.signup-panel h3{font-family:var(--font-display);letter-spacing:.1em;color:var(--color-orange);margin-bottom:.4rem;font-size:.8rem;font-weight:800}.signup-panel p{color:var(--color-text-muted);margin-bottom:1rem;font-size:.72rem;line-height:1.4}.signup-form{flex-direction:column;gap:.75rem;display:flex}.form-row{gap:.75rem;display:flex}.form-row input{color:#fff;font-family:var(--font-body);background:#00000080;border:1px solid #ffffff1f;border-radius:6px;outline:none;flex-grow:1;padding:.55rem .8rem;font-size:.75rem;transition:border .2s}.form-row input:focus{border-color:var(--color-orange)}.form-row button{padding:0 1.5rem;font-size:.75rem}.submit-success{font-family:var(--font-display);color:var(--color-green);opacity:0;text-align:center;margin-top:.25rem;font-size:.7rem;font-weight:700}.report-actions{justify-content:center;gap:1rem;display:flex}@keyframes pulse{0%{opacity:.75;transform:translate(-50%,-50%)scale(.98)}to{opacity:1;transform:translate(-50%,-50%)scale(1.02)}}@keyframes blink{0%{opacity:.4}to{opacity:1}}@media (width<=900px){.hud-columns{flex-direction:column;gap:.75rem}.hud-left-column,.hud-right-column{width:100%}.hud-right-column{align-items:stretch}.integrity-panel{min-width:100%}.hud-footer{flex-direction:column;gap:.5rem}.speed-gauge-panel{width:100%}.angle-controls{width:100%;font-size:.9rem}.level-cards-container,.report-details-grid{grid-template-columns:1fr}.guide-steps{grid-template-columns:1fr;gap:.6rem}}#portrait-warning{z-index:9999;width:100vw;height:100vh;color:var(--color-text);text-align:center;box-sizing:border-box;background:#090c0e;justify-content:center;align-items:center;padding:2rem;display:none;position:fixed;top:0;left:0}@media (orientation:portrait) and (width<=1024px){#portrait-warning{display:flex}}.warning-content{max-width:400px}.warning-icon{margin-bottom:1.5rem;font-size:3rem;animation:2.2s ease-in-out infinite rotate-phone}.warning-content h2{font-family:var(--font-display);color:var(--color-orange);letter-spacing:2px;margin-top:0;margin-bottom:1rem;font-size:1.8rem;font-weight:900}.warning-content p{color:var(--color-text-muted);margin:0;font-size:.85rem;line-height:1.5}@keyframes rotate-phone{0%{transform:rotate(0)}50%{transform:rotate(-90deg)}to{transform:rotate(0)}}.systemores-footer{font-family:var(--font-body);color:var(--color-text-muted);opacity:.6;letter-spacing:.05em;margin-top:1.8rem;font-size:.72rem;transition:opacity .3s}.systemores-footer:hover{opacity:.95}.systemores-footer a{color:var(--color-cyan);font-weight:500;text-decoration:none;transition:text-shadow .3s,color .3s}.systemores-footer a:hover{color:#fff;text-shadow:0 0 8px #00f0ff99}
