html,body,#root{width:100%;height:100%;overflow:hidden}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;font-family:Segoe UI,Roboto,sans-serif;overflow:hidden}.app{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);width:100%;height:100vh}.start-screen{background:linear-gradient(#f0f4f8 0%,#d4e4ed 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.start-screen:before{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 50px,#00000005 50px 51px),repeating-linear-gradient(90deg,#0000,#0000 50px,#00000005 50px 51px);position:absolute;inset:0}.start-panel{text-align:center;z-index:1;background:#fffffff2;border-radius:24px;width:700px;padding:50px;animation:.6s ease-out slideUp;position:relative;box-shadow:0 8px 32px #0000002e}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.start-panel h1{color:#1f4e79;letter-spacing:1px;margin-bottom:10px;font-size:32px;font-weight:700}.start-panel h2{color:#555;margin-bottom:30px;font-size:22px;font-weight:400}.employee-info{background:#d6e4f0;border-radius:16px;align-items:center;gap:20px;margin-bottom:30px;padding:20px;display:flex}.avatar{background:#2e75b6;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:40px;display:flex}.employee-details{text-align:left}.employee-details .name{color:#222;font-size:20px;font-weight:700}.employee-details .position{color:#555;margin-top:4px;font-size:16px}.start-btn{color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:1px;background:linear-gradient(135deg,#c00000 0%,#9b0000 100%);border:none;border-radius:12px;width:100%;padding:18px 40px;font-size:20px;font-weight:700;transition:all .15s}.start-btn:hover{transform:scale(1.02);box-shadow:0 6px 20px #c0000066}.start-btn:active{transform:scale(.98)}.rules-link{color:#2e75b6;cursor:pointer;margin-top:20px;font-size:16px;text-decoration:underline;transition:color .2s;display:inline-block}.rules-link:hover{color:#1f4e79}.ui-overlay{pointer-events:none;z-index:100;position:fixed;inset:0}.equipment-panel{pointer-events:auto;background:#fffffff2;border-radius:16px;padding:20px;position:absolute;top:20px;left:20px;box-shadow:0 4px 20px #00000026}.equipment-panel h3{color:#1f4e79;text-transform:uppercase;letter-spacing:1px;margin-bottom:15px;font-size:16px}.equipment-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.equipment-item{background:#f5f5f5;border:2px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:12px;transition:all .3s;display:flex}.equipment-item.equipped{background:#d4edda;border-color:#28a745}.equipment-item .icon{font-size:24px}.phase-indicator{color:#fff;letter-spacing:1px;background:#1f4e79e6;border-radius:30px;padding:12px 30px;font-size:16px;font-weight:600;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.alarm-indicator{color:#fff;background:#c00000f2;border-radius:16px;align-items:center;gap:15px;padding:20px 40px;font-size:24px;font-weight:700;animation:.5s infinite alarmPulse;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.alarm-indicator .pulse{background:#fff;border-radius:50%;width:20px;height:20px;animation:.5s infinite blink}@keyframes alarmPulse{0%,to{box-shadow:0 0 #c00000b3}50%{box-shadow:0 0 0 20px #c0000000}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.waypoint-panel{background:#fffffff2;border-radius:16px;padding:20px;position:absolute;top:20px;right:20px;box-shadow:0 4px 20px #00000026}.waypoint-panel h4{color:#1f4e79;text-transform:uppercase;margin-bottom:15px;font-size:14px}.waypoints{align-items:center;gap:10px;display:flex}.waypoint{color:#666;background:#ddd;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;transition:all .3s;display:flex}.waypoint.passed{color:#fff;background:#28a745}.waypoint-line{background:#ddd;width:30px;height:3px}.actions-panel{background:#fffffff2;border-radius:16px;min-width:200px;padding:20px;position:absolute;top:20px;left:20px;box-shadow:0 4px 20px #00000026}.actions-panel h4{color:#1f4e79;text-transform:uppercase;letter-spacing:1px;margin-bottom:15px;font-size:14px}.actions-panel .action-list{flex-direction:column;gap:8px;display:flex}.action-step{color:#666;background:#f5f5f5;border:2px solid #0000;border-radius:10px;align-items:center;gap:12px;padding:10px 14px;font-size:14px;transition:all .3s;display:flex}.action-step .step-number{color:#666;background:#ddd;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.action-step.done{color:#155724;background:#d4edda;border-color:#28a745}.action-step.done .step-number{color:#fff;background:#28a745}.hint-container{z-index:200;pointer-events:none;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}.hint-banner{color:#333;background:#ffa500f2;border-radius:12px;align-items:center;gap:15px;padding:16px 30px;font-size:18px;font-weight:600;animation:.4s ease-out hintSlide;display:flex;box-shadow:0 4px 20px #ffa50066}.hint-banner.error{color:#fff;background:#c00000f2}.hint-banner .icon{font-size:24px}@keyframes hintSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.results-screen{color:#fff;-webkit-overflow-scrolling:touch;background:linear-gradient(#0d1b2a 0%,#1f4e79 100%);justify-content:center;align-items:flex-start;width:100%;height:100%;padding:40px;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.results-panel{text-align:center;width:100%;max-width:800px;padding-bottom:60px}.results-panel h1{margin-bottom:40px;font-size:48px;font-weight:700;animation:.6s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.score-display{width:220px;height:220px;margin:0 auto 30px;position:relative}.score-circle{width:100%;height:100%;transform:rotate(-90deg)}.score-bg{fill:none;stroke:#fff3;stroke-width:12px}.score-fill{fill:none;stroke-width:12px;stroke-linecap:round;transition:stroke-dashoffset 1.5s ease-out}.score-value{font-size:64px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.score-label{text-transform:uppercase;font-size:40px;font-weight:700;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.status-pass{color:#0c4}.status-fail{color:#c00}.details-section{text-align:left;background:#ffffff1a;border-radius:16px;margin:30px 0;padding:30px}.details-section h3{color:#aaa;margin-bottom:20px;font-size:20px}.error-list,.action-list{flex-direction:column;gap:12px;display:flex}.error-item,.action-item{border-radius:10px;align-items:center;gap:15px;padding:15px;display:flex}.error-item{background:#f003}.action-item{background:#0c43}.error-item .icon,.action-item .icon{font-size:20px}.error-item .text,.action-item .text{flex:1;font-size:16px}.error-item .penalty{color:#ff6b6b;font-weight:700}.recommendation{background:#ffa50033;border-radius:12px;margin-top:20px;padding:20px;font-size:16px;line-height:1.6}.results-buttons{justify-content:center;gap:20px;margin-top:40px;display:flex}.results-btn{cursor:pointer;border:none;border-radius:12px;padding:16px 40px;font-size:18px;font-weight:700;transition:all .2s}.results-btn.primary{color:#fff;background:#2e75b6}.results-btn.secondary{color:#fff;background:#fff3}.results-btn:hover{transform:scale(1.05)}.scene-background{z-index:-1;width:100%;height:100%;position:absolute;top:0;left:0}.interactive{cursor:pointer;transition:filter .2s}.interactive:hover{filter:brightness(1.2)}.interactive.highlighted{animation:1s infinite pulse-glow}@keyframes pulse-glow{0%,to{filter:brightness()drop-shadow(0 0 5px #ff0)}50%{filter:brightness(1.3)drop-shadow(0 0 15px #ff0)}}.fire-warning{color:#fff;text-align:center;z-index:150;background:linear-gradient(90deg,#0000 0%,#f00c 10% 90%,#0000 100%);padding:20px;font-size:24px;font-weight:700;animation:.5s infinite fire-flash;position:fixed;top:0;left:0;right:0}@keyframes fire-flash{0%,to{opacity:1}50%{opacity:.7}}.loading-screen{color:#fff;z-index:1000;background:#1a1a2e;justify-content:center;align-items:center;width:100%;height:100%;font-size:24px;display:flex;position:fixed;top:0;left:0}.rules-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.rules-modal{color:#333;background:#fff;border-radius:20px;width:90%;max-width:700px;max-height:85vh;padding:40px;animation:.3s ease-out slideUp;position:relative;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.rules-modal h2{color:#1f4e79;text-align:center;margin-bottom:30px;font-size:28px;font-weight:700}.rules-close{color:#999;cursor:pointer;background:0 0;border:none;padding:5px;font-size:24px;line-height:1;transition:color .2s;position:absolute;top:15px;right:20px}.rules-close:hover{color:#333}.rules-content h3{color:#c00000;margin-top:25px;margin-bottom:12px;font-size:18px;font-weight:700}.rules-content h3:first-of-type{margin-top:0}.rules-content ul{margin:0 0 20px;padding:0;list-style:none}.rules-content ul li{color:#444;border-bottom:1px solid #f0f0f0;padding:8px 0 8px 24px;font-size:15px;line-height:1.5;position:relative}.rules-content ul li:last-child{border-bottom:none}.rules-content ul li:before{content:"•";color:#2e75b6;font-weight:700;position:absolute;left:8px}.minigame-scene{z-index:9999;pointer-events:all;cursor:crosshair;background:#1a1a2e;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.minigame-workshop{width:100%;height:100%;position:absolute;top:0;left:0}.mg-wall-back{background:linear-gradient(#b0a89e 0%,#9e958b 100%);border-bottom:4px solid #666;width:70%;height:55%;position:absolute;top:0;left:15%}.mg-wall-left{background:#8b8682;border-right:2px solid #666;width:15%;height:55%;position:absolute;top:0;left:0}.mg-floor{background:linear-gradient(#4a4a4a 0%,#3a3a3a 100%);width:100%;height:45%;position:absolute;top:55%;left:0}.mg-lathe{width:45%;height:40%;position:absolute;top:35%;left:30%}.mg-lathe-body{background:linear-gradient(#6a7b5a 0%,#4a5a3a 100%);border:2px solid #3a4a2a;border-radius:8px 8px 0 0;width:55%;height:65%;position:absolute;bottom:10%;left:20%;box-shadow:0 4px 15px #0006}.mg-lathe-bed{background:#333;border-radius:2px;width:65%;height:12%;position:absolute;bottom:0;left:15%}.fire-sprite{z-index:10;pointer-events:none;animation:.2s infinite fireWobble;position:absolute}.fire-emoji{filter:drop-shadow(0 0 30px #ff6400e6)drop-shadow(0 0 60px #ff320099);font-size:80px;display:block}@keyframes fireWobble{0%,to{transform:translate(0)scale(1)}25%{transform:translate(2px,-2px)scale(1.05)}50%{transform:translate(-1px,1px)scale(1.08)}75%{transform:translate(-2px,-1px)scale(1.03)}}.mg-exit-sign{color:#0f0;text-shadow:0 0 10px #0f0;font-size:18px;font-weight:700;position:absolute;top:20%;left:80%}.mg-extinguisher{z-index:20;position:absolute;bottom:15%;left:5%}.mg-ext-body{background:linear-gradient(#d00 0%,#a00 100%);border:2px solid #800;border-radius:8px;width:30px;height:100px;position:relative}.mg-ext-nozzle{transform-origin:0;background:#333;border-radius:3px;width:8px;height:40px;position:absolute;top:10px;left:30px}.mg-spray{transform-origin:0;opacity:.7;background:linear-gradient(90deg,#c8dcffe6 0%,#c8dcff4d 100%);border-radius:6px;width:200px;height:12px;position:absolute;top:10px;left:30px}.mg-instructions{text-align:center;z-index:30;position:absolute;top:20px;left:50%;transform:translate(-50%)}.mg-instructions h2{color:#f44;text-shadow:0 0 20px #ff444480;margin-bottom:8px;font-size:32px;font-weight:700}.mg-instructions p{color:#ddd;margin-bottom:4px;font-size:16px}.mg-hint{color:#fa0!important;font-size:14px!important}.mg-won{color:#0f4;text-shadow:0 0 30px #00ff44b3;font-size:40px;font-weight:700;animation:.5s infinite wonPulse}@keyframes wonPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.mg-progress-bar{z-index:30;background:#ffffff26;border:1px solid #ffffff40;border-radius:10px;width:360px;height:20px;position:absolute;bottom:30px;left:50%;overflow:hidden;transform:translate(-50%)}.mg-progress-fill{background:linear-gradient(90deg,#0c4,#4f8);border-radius:10px;height:100%;transition:width 50ms linear}.mg-progress-text{color:#fff;text-shadow:0 0 4px #000;font-size:12px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mg-cancel-btn{color:#fff;cursor:pointer;z-index:30;background:#ffffff1a;border:1px solid #ffffff4d;border-radius:8px;padding:10px 20px;font-size:14px;transition:background .2s;position:absolute;bottom:25px;right:25px}.mg-cancel-btn:hover{background:#ff00004d}.mg-smoke-timer{z-index:40;pointer-events:none;background:#1e1e1ee6;border:1px solid #ff640066;border-radius:8px;align-items:center;gap:8px;min-width:140px;padding:8px 14px;display:flex;position:absolute;top:15px;right:20px}.mg-smoke-icon{font-size:18px}.mg-smoke-text{color:#fa0;min-width:32px;font-size:18px;font-weight:700}.mg-smoke-bar{background:#fff3;border-radius:3px;flex:1;height:6px;overflow:hidden}.mg-smoke-fill{background:linear-gradient(90deg,#f44 0%,#fa0 50%,#4f4 100%);border-radius:3px;height:100%;transition:width .3s linear}.canvas-wrapper{width:100%;height:100%;position:fixed;top:0;left:0}.smoke-timer{background:#1e1e1ee6;border:1px solid #ff640066;border-radius:10px;align-items:center;gap:10px;min-width:160px;padding:10px 16px;display:flex;position:absolute;top:20px;right:20px}.smoke-timer-icon{font-size:20px}.smoke-timer-text{color:#fa0;min-width:36px;font-size:20px;font-weight:700}.smoke-timer-bar{background:#fff3;border-radius:4px;flex:1;height:8px;overflow:hidden}.smoke-timer-fill{background:linear-gradient(90deg,#f44 0%,#fa0 50%,#4f4 100%);border-radius:4px;height:100%;transition:width .3s linear}.death-screen{z-index:10000;background:linear-gradient(#0a0000 0%,#1a0000 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.death-panel{text-align:center;color:#fff;padding:40px}.death-panel h1{color:red;text-shadow:0 0 30px #f009;margin-bottom:20px;font-size:64px;font-weight:700;animation:1s infinite deathPulse}.death-panel p{color:#ddd;margin-bottom:10px;font-size:20px}.death-timer-text{color:#f44!important;font-size:16px!important}.death-btn{color:#fff;cursor:pointer;background:#8b0000;border:2px solid red;border-radius:10px;margin-top:30px;padding:16px 40px;font-size:18px;font-weight:700;transition:all .2s}.death-btn:hover{background:red;box-shadow:0 0 20px #ff000080}@keyframes deathPulse{0%,to{opacity:1}50%{opacity:.7}}.minigame-body .canvas-wrapper,.minigame-body .ui-overlay{display:none!important}@media (width<=768px){.start-panel{width:95%;padding:30px 20px}.start-panel h1{font-size:24px}.start-panel h2{font-size:18px}.employee-info{text-align:center;flex-direction:column}.employee-details{text-align:center}.equipment-panel{padding:15px;top:10px;left:10px}.results-screen{-webkit-overflow-scrolling:touch;padding:20px;overflow-y:auto}.results-panel h1{font-size:32px}.score-circle{width:180px;height:180px}.score-value{font-size:48px}.results-buttons{flex-direction:column}}
