*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;font-family:Ubuntu,Segoe UI,system-ui,sans-serif;background:#0a0a0f;color:#d8d8d8}canvas{display:block;touch-action:none}.ui-root{position:absolute;inset:0;pointer-events:none;z-index:10}.ui-root button{pointer-events:auto}.panel{position:absolute;background:#0c0e16f0;border:1px solid #3a4050;border-radius:10px;padding:18px;pointer-events:auto;max-height:80vh;overflow-y:auto;min-width:280px;box-shadow:0 4px 40px #0009}.panel h2{font-size:15px;color:#a0b8d0;margin-bottom:10px;letter-spacing:1px;text-transform:uppercase}.panel p{font-size:13px;color:#9aa0a8;margin-bottom:6px;line-height:1.45}.panel .row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.panel button{background:#1e2430;border:1px solid #3a4050;color:#c0c8d0;padding:7px 14px;border-radius:6px;cursor:pointer;font-size:13px;transition:background .15s,border-color .15s}.panel button:hover{background:#2a3242;border-color:#5a7090}.panel button:disabled{opacity:.4;cursor:default}.panel button.primary{background:#1a3a60;border-color:#3060a0}.panel button.primary:hover{background:#204878}.panel button.danger{background:#601a1a;border-color:#a03030}.panel button.danger:hover{background:#802020}.panel input,.panel select{background:#0e1018;border:1px solid #2a3040;color:#c0c8d0;padding:6px 10px;border-radius:6px;font-size:13px;width:100%}.panel .close{position:absolute;top:10px;right:12px;background:none;border:none;color:#666;font-size:18px;cursor:pointer;pointer-events:auto}.panel .close:hover{color:#a0a8b0}.need-bar{height:6px;border-radius:3px;background:#1a1e28;margin-top:2px;overflow:hidden}.need-bar-fill{height:100%;border-radius:3px;transition:width .3s}.hunger .need-bar-fill{background:#c08030}.thirst .need-bar-fill{background:#3080c0}.fatigue .need-bar-fill{background:#8060b0}.mood .need-bar-fill{background:#b0a030}.hydgiene .need-bar-fill{background:#30a080}.money{font-size:16px;font-weight:600;color:#c0c830}.time-display{font-size:13px;color:#8890a0;letter-spacing:.5px}.hud-top{position:absolute;top:16px;left:16px;display:flex;gap:16px;align-items:flex-start;pointer-events:auto}.hud-bottom{position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.interaction-prompt{position:absolute;bottom:110px;left:50%;transform:translate(-50%);background:#0a0e18e0;border:1px solid #304060;border-radius:8px;padding:8px 20px;font-size:14px;color:#a0c0e0;pointer-events:none;white-space:nowrap}.toast{position:absolute;top:80px;left:50%;transform:translate(-50%);background:#141a26f0;border:1px solid #405060;border-radius:8px;padding:8px 18px;font-size:13px;color:#c0d0e0;pointer-events:none;animation:fadeToast .25s ease-in}@keyframes fadeToast{0%{opacity:0;transform:translate(-50%) translateY(-6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.dialogue{bottom:140px;left:50%;transform:translate(-50%);max-width:520px;text-align:center}.dialogue p{font-size:14px;line-height:1.5;color:#d0d8e0}.dialogue .npc-name{font-size:12px;color:#8090a0;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.shop-panel{top:50%;left:50%;transform:translate(-50%,-50%);width:380px;max-width:90vw}.shop-panel .item-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #1a1e28}.shop-panel .item-name{font-size:13px;color:#b0b8c0}.shop-panel .item-price{font-size:13px;color:#c0c830}.inventory{top:50%;right:20px;transform:translateY(-50%);width:320px}.inventory .inv-item{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid #1a1e28}.car-panel{top:50%;left:50%;transform:translate(-50%,-50%);width:420px;max-width:90vw}.car-panel .part-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;border-bottom:1px solid #161a24}.car-panel .part-name{color:#a0a8b0}.car-panel .part-status{color:#606870;font-size:11px}.car-panel .part-installed{color:#40a060}.car-panel .engine-stats{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px;padding:10px;background:#0a0e18;border-radius:6px}.car-panel .stat{font-size:12px;color:#8090a0}.car-panel .stat strong{color:#b0b8c0}.map-panel{top:50%;left:50%;transform:translate(-50%,-50%);width:480px;height:400px;max-width:90vw}.map-panel canvas{border-radius:6px}.journal-panel{top:50%;left:50%;transform:translate(-50%,-50%);width:400px;max-width:90vw}.journal-panel .note{padding:8px;background:#e8dcc0;color:#2a2010;border-radius:4px;margin-bottom:10px;font-family:Georgia,serif;font-size:13px;line-height:1.5}.settings-panel{top:50%;left:50%;transform:translate(-50%,-50%);width:380px;max-width:90vw}.settings-panel .slider-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.settings-panel .slider-row label{flex:0 0 90px;font-size:12px;color:#8090a0}.settings-panel .slider-row input[type=range]{flex:1}.settings-panel .slider-row span{flex:0 0 30px;text-align:right;font-size:12px;color:#606870}.menu-overlay{position:absolute;inset:0;background:#06080ef5;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:auto;z-index:100}.menu-overlay h1{font-size:36px;color:#c0a030;margin-bottom:6px;letter-spacing:2px}.menu-overlay h2{font-size:13px;color:#506070;margin-bottom:30px;letter-spacing:3px;text-transform:uppercase}.menu-overlay .menu-btn{display:block;width:260px;padding:12px;margin-bottom:8px;background:#12161e;border:1px solid #2a3040;color:#a0a8b0;font-size:14px;border-radius:6px;cursor:pointer;transition:background .15s;text-align:center}.menu-overlay .menu-btn:hover{background:#1a2030;border-color:#405060}.menu-overlay .menu-btn.primary{border-color:#3060a0;color:#a0c0e0}.auth{top:50%;left:50%;transform:translate(-50%,-50%);width:320px}.auth h2{text-align:center}.fps-counter{position:absolute;top:8px;right:10px;font-size:11px;color:#4a5060;pointer-events:none}.toolbar{position:absolute;bottom:16px;right:16px;display:flex;gap:8px;pointer-events:auto}.toolbar button{width:38px;height:38px;border-radius:8px;background:#0e121acc;border:1px solid #2a3040;color:#8090a0;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.toolbar button:hover{background:#1a2230;color:#b0b8c0;border-color:#405060}.toolbar button.active{background:#1a2840;color:#a0c0e0;border-color:#3060a0}
