body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:#0b0f19;color:#f3f4f6;-webkit-user-select:none;user-select:none}.game-container{display:flex;flex-direction:column;min-height:100vh;background:radial-gradient(circle at center,#111827,#030712)}.game-header{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background-color:#111827cc;border-bottom:2px solid #1f2937;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}.logo{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:800;letter-spacing:1px;color:#f59e0b}.logo-icon{color:#f59e0b;animation:pulse 2s infinite}.header-actions{display:flex;align-items:center;gap:16px}.stash-display{display:flex;align-items:center;gap:8px;background-color:#1f2937;padding:6px 14px;border-radius:20px;border:1px solid #374151;font-size:14px}.sound-toggle{background:none;border:1px solid #374151;color:#9ca3af;padding:6px;border-radius:50%;cursor:pointer;transition:all .2s}.sound-toggle:hover{color:#fff;background-color:#374151}.game-main{flex:1;display:flex;justify-content:center;align-items:center;padding:24px}.lobby-panel{max-width:800px;width:100%;background-color:#111827e6;border:2px solid #374151;border-radius:16px;padding:32px;box-shadow:0 10px 25px -5px #00000080;text-align:center}.lobby-hero{margin-bottom:32px}.lobby-title{font-size:36px;font-weight:900;margin-bottom:12px;background:linear-gradient(to right,#f59e0b,#ef4444);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.lobby-subtitle{color:#9ca3af;font-size:16px;margin-bottom:24px}.btn-start-game{display:inline-flex;align-items:center;gap:12px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#000;font-size:18px;font-weight:800;padding:14px 36px;border-radius:12px;border:none;cursor:pointer;box-shadow:0 4px 15px #f59e0b66;transition:all .2s ease}.btn-start-game:hover{transform:translateY(-2px);box-shadow:0 6px 20px #f59e0b99}.btn-start-game:active{transform:translateY(0)}.lobby-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:32px}.stat-card{display:flex;align-items:center;gap:16px;background-color:#1f2937;padding:16px;border-radius:12px;border:1px solid #374151;text-align:left}.stat-card h4{margin:0 0 4px;color:#9ca3af;font-size:14px}.stat-card p{margin:0;font-size:20px;font-weight:800}.loot-guide{background-color:#1f293780;border-radius:12px;padding:20px;border:1px solid #374151}.loot-guide h3{margin-top:0;margin-bottom:16px;font-size:16px;color:#d1d5db}.loot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.loot-item{background-color:#111827;border-radius:8px;padding:16px;border:1px solid #374151;position:relative}.loot-badge{position:absolute;top:-8px;left:50%;transform:translate(-50%);font-size:10px;padding:2px 8px;border-radius:10px;font-weight:700}.gold-large{border-color:#f59e0b}.gold-large .loot-badge{background-color:#f59e0b;color:#000}.gold-medium{border-color:#a855f7}.gold-medium .loot-badge{background-color:#a855f7;color:#fff}.gold-small{border-color:#3b82f6}.gold-small .loot-badge{background-color:#3b82f6;color:#fff}.loot-item h4{margin:8px 0 4px;font-size:14px}.loot-item .price{margin:0;font-weight:800;color:#10b981}.gameplay-layout{display:grid;grid-template-columns:1fr 300px;gap:24px;max-width:1100px;width:100%}.map-section{display:flex;flex-direction:column;gap:12px}.hud-bar{display:flex;justify-content:space-between;align-items:center;background-color:#111827;padding:12px 16px;border-radius:12px;border:1px solid #374151}.hud-item{display:flex;align-items:center;gap:8px;font-size:14px}.btn-map-toggle{display:flex;align-items:center;gap:6px;background-color:#374151;border:none;color:#fff;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:13px;transition:background-color .2s}.btn-map-toggle:hover{background-color:#4b5563}.grid-viewport{position:relative;background-color:#030712;border:3px solid #374151;border-radius:12px;overflow:hidden;aspect-ratio:1}.grid-container{display:grid;width:100%;height:100%}.tile{display:flex;align-items:center;justify-content:center;font-size:20px;border:1px solid rgba(255,255,255,.03);position:relative;transition:background-color .1s}.tile-empty{background-color:#111827}.tile-wall{background-color:#374151;background-image:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(0,0,0,.1) 5px,rgba(0,0,0,.1) 10px)}.tile-safe{background-color:#1e1b4b;cursor:pointer}.tile-safe-opened{background-color:#111827}.tile-door-locked{background-color:#7f1d1d;border:1px solid #ef4444}.tile-door-opened{background-color:#064e3b}.tile-clue{background-color:#1e293b}.tile-extract{background-color:#10b98133;border:1px dashed #10b981;animation:pulse-green 2s infinite}.player-avatar{font-size:22px;z-index:2;animation:bounce .5s infinite alternate}.has-player{background-color:#f59e0b33!important}.sidebar-section{display:flex;flex-direction:column;gap:16px}.backpack-panel,.mission-panel{background-color:#111827;border:1px solid #374151;border-radius:12px;padding:16px}.panel-title{margin-top:0;margin-bottom:12px;font-size:15px;color:#9ca3af;border-bottom:1px solid #374151;padding-bottom:8px}.loot-total-value{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.loot-total-value strong{font-size:20px;color:#10b981}.loot-list{max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.empty-loot{font-size:12px;color:#6b7280;text-align:center;padding:20px 0}.loot-list-item{background-color:#1f2937;padding:8px 12px;border-radius:6px;font-size:13px;border-left:3px solid #10b981}.clue-box{display:flex;align-items:center;gap:12px;padding:12px;border-radius:8px}.clue-box.pending{background-color:#f59e0b1a;border:1px solid rgba(245,158,11,.3)}.clue-box.success{background-color:#10b9811a;border:1px solid rgba(16,185,129,.3)}.btn-giveup{display:flex;align-items:center;justify-content:center;gap:8px;background-color:#7f1d1d;color:#fca5a5;border:1px solid #b91c1c;padding:12px;border-radius:8px;cursor:pointer;font-weight:700;transition:all .2s;margin-top:auto}.btn-giveup:hover{background-color:#991b1b}.extraction-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:10}.extract-box{background-color:#111827;border:2px solid #10b981;padding:24px;border-radius:16px;text-align:center;max-width:300px;width:100%}.progress-bar-container{background-color:#1f2937;height:8px;border-radius:4px;overflow:hidden;margin-top:16px}.progress-bar-fill{background-color:#10b981;height:100%;transition:width 1s linear}.tactical-map-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#000000d9;display:flex;align-items:center;justify-content:center;z-index:20}.tactical-map-modal{background-color:#111827;border:2px solid #3b82f6;border-radius:16px;padding:20px;width:90%;max-width:360px}.radar-grid{display:grid;gap:2px;background-color:#1f2937;padding:4px;border-radius:8px;margin-bottom:16px}.radar-dot{aspect-ratio:1;border-radius:2px}.dot-empty{background-color:#111827}.dot-wall{background-color:#374151}.dot-player{background-color:#f59e0b;box-shadow:0 0 6px #f59e0b}.dot-safe{background-color:#a855f7;box-shadow:0 0 6px #a855f7}.dot-extract{background-color:#10b981;box-shadow:0 0 6px #10b981}.dot-door{background-color:#ef4444}.radar-legend{display:flex;justify-content:space-between;font-size:11px;color:#9ca3af;margin-bottom:16px}.legend-color{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.legend-color.player{background-color:#f59e0b}.legend-color.safe{background-color:#a855f7}.legend-color.extract{background-color:#10b981}.legend-color.door{background-color:#ef4444}.btn-close-map{width:100%;background-color:#3b82f6;border:none;color:#fff;padding:8px;border-radius:6px;font-weight:700;cursor:pointer}.keypad-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:50}.keypad-modal{background-color:#111827;border:2px solid #ef4444;border-radius:16px;padding:24px;width:280px;text-align:center}.keypad-display{background-color:#030712;border:1px solid #374151;font-size:32px;font-family:monospace;letter-spacing:8px;padding:12px;border-radius:8px;margin-bottom:16px;color:#ef4444}.keypad-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.keypad-buttons button{background-color:#1f2937;border:1px solid #374151;color:#fff;font-size:18px;padding:12px;border-radius:8px;cursor:pointer}.keypad-buttons button:active{background-color:#374151}.btn-clear{background-color:#4b5563!important}.btn-confirm{background-color:#047857!important}.btn-close-keypad{background:none;border:none;color:#9ca3af;cursor:pointer;text-decoration:underline}.result-panel{max-width:500px;width:100%;background-color:#111827;border-radius:16px;padding:32px;text-align:center;box-shadow:0 10px 30px #00000080}.result-panel.success{border:2px solid #10b981}.result-panel.fail{border:2px solid #ef4444}.result-icon{font-size:64px;margin-bottom:16px}.result-desc{color:#9ca3af;margin-bottom:24px}.result-stats{background-color:#1f2937;border-radius:8px;padding:16px;margin-bottom:24px}.res-row{display:flex;justify-content:space-between;margin-bottom:8px}.loot-summary{text-align:left;background-color:#030712;padding:12px;border-radius:8px;margin-bottom:24px;max-height:120px;overflow-y:auto}.loot-summary h4{margin-top:0;font-size:13px;color:#9ca3af}.loot-summary ul{margin:0;padding-left:20px;font-size:13px}.btn-action{width:100%;background-color:#3b82f6;border:none;color:#fff;padding:12px;border-radius:8px;font-weight:700;cursor:pointer}.controls-hint{display:flex;justify-content:space-between;background-color:#11182799;padding:10px;border-radius:8px;font-size:12px;color:#9ca3af}.global-notification{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background-color:#1f2937;border:1px solid #f59e0b;color:#fff;padding:12px 24px;border-radius:30px;box-shadow:0 10px 25px #00000080;font-weight:700;z-index:100;pointer-events:none;animation:slideUp .2s ease-out}@keyframes pulse-green{0%,to{background-color:#10b98126}50%{background-color:#10b98159}}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-4px)}}@keyframes slideUp{0%{transform:translate(-50%,20px);opacity:0}to{transform:translate(-50%);opacity:1}}.spinner{border:4px solid rgba(255,255,255,.1);width:36px;height:36px;border-radius:50%;border-left-color:#10b981;animation:spin 1s linear infinite;margin:0 auto 12px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
