*{margin:0;padding:0;box-sizing:border-box;}
body{background:#000;font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;overflow:hidden;width:100vw;height:100vh;color:#fff;}
#game-container{width:100vw;height:100vh;position:relative;overflow:hidden;}
.hidden{display:none!important;}

/* MAIN MENU */
#main-menu{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;}
#menu-bg{position:absolute;top:0;left:0;width:100%;height:100%;}
#menu-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,0,0,0.55);z-index:1000;}
#menu-overlay .menu-btn, #menu-overlay button{cursor:pointer;pointer-events:auto;}
#game-title{font-size:72px;font-weight:900;letter-spacing:8px;color:#ffd700;text-shadow:0 0 40px rgba(255,215,0,0.8),0 0 80px rgba(255,215,0,0.4),0 4px 8px rgba(0,0,0,0.9);margin-bottom:0;}
#game-subtitle{font-size:28px;font-weight:300;letter-spacing:12px;color:#ff4444;text-shadow:0 0 20px rgba(255,68,68,0.6);margin-bottom:50px;text-transform:uppercase;}
#menu-buttons{display:flex;flex-direction:column;gap:15px;align-items:center;}
.menu-btn{padding:16px 60px;font-size:20px;font-weight:700;letter-spacing:3px;border:2px solid #ffd700;background:linear-gradient(180deg,rgba(255,215,0,0.2),rgba(255,215,0,0.05));color:#ffd700;cursor:pointer;transition:all 0.3s;text-transform:uppercase;min-width:300px;}
.menu-btn:hover{background:linear-gradient(180deg,rgba(255,215,0,0.4),rgba(255,215,0,0.15));box-shadow:0 0 30px rgba(255,215,0,0.3);transform:scale(1.05);}

/* OVERLAY PANELS */
.overlay-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #ffd700;padding:40px 60px;max-width:760px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 0 60px rgba(255,215,0,0.2);z-index:1001;pointer-events:auto;}
.overlay-panel h2{color:#ffd700;font-size:36px;text-align:center;margin-bottom:20px;letter-spacing:4px;}
.overlay-panel h3{color:#ffd700;margin:15px 0 10px;}
.overlay-panel p{color:#ccc;line-height:1.8;margin-bottom:8px;}
.overlay-panel ul{color:#ccc;line-height:2;padding-left:20px;margin-bottom:15px;}
.overlay-panel .menu-btn{margin:20px auto 0;display:block;}
.studio-name{font-size:32px;color:#ffd700;text-align:center;font-weight:700;margin-bottom:10px;}
.credits-content{text-align:center;}
.copy{margin-top:20px;color:#666;font-size:12px;}
.htp-content{margin-bottom:10px;}

/* HUD */
#hud-top{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;background:linear-gradient(180deg,#0d0d1a,#1a1a2e);border-bottom:1px solid #333;height:48px;z-index:10;position:relative;}
#hud-left{flex:1;}
#casino-name{color:#ffd700;font-size:16px;font-weight:700;letter-spacing:2px;}
#hud-center{display:flex;gap:25px;flex:2;justify-content:center;}
.hud-stat{font-size:14px;color:#aaa;}
.stat-label{color:#ffd700;font-weight:700;}
#hud-right{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:10px;}
#game-time{color:#0f0;font-family:'Courier New',monospace;font-size:16px;font-weight:700;}
.hud-btn{padding:4px 14px;font-size:12px;background:rgba(255,255,255,0.1);color:#ccc;border:1px solid #555;cursor:pointer;letter-spacing:1px;}
.hud-btn:hover{background:rgba(255,255,255,0.2);color:#fff;}

/* CAMERA TABS */
#camera-tabs{display:flex;overflow-x:auto;background:#111;border-bottom:1px solid #333;padding:0 10px;white-space:nowrap;scrollbar-width:thin;}
.cam-tab{padding:10px 12px;font-size:11px;font-weight:700;letter-spacing:0.8px;background:transparent;color:#666;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all 0.2s;text-transform:uppercase;flex:0 0 auto;}
.cam-tab:hover{color:#aaa;}
.cam-tab.active{color:#0f0;border-bottom-color:#0f0;text-shadow:0 0 10px rgba(0,255,0,0.3);}
.cam-tab.locked{color:#8b7c55;}
.cam-tab.locked.active{color:#ffd700;border-bottom-color:#ffd700;text-shadow:0 0 10px rgba(255,215,0,0.25);}

/* CAMERA VIEW */
#camera-view{position:relative;background:#000;flex:1;}
#game-canvas{display:block;width:100%;height:calc(100vh - 48px - 42px - 80px);}
#cam-overlay{position:absolute;top:0;left:0;width:100%;padding:10px 15px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;}
#cam-label{color:#0f0;font-family:'Courier New',monospace;font-size:13px;text-shadow:0 0 8px rgba(0,255,0,0.5);}
#cam-time-stamp{color:#0f0;font-family:'Courier New',monospace;font-size:13px;text-shadow:0 0 8px rgba(0,255,0,0.5);}
#rec-indicator{position:absolute;top:10px;right:15px;display:flex;align-items:center;gap:6px;color:#f00;font-family:'Courier New',monospace;font-size:13px;font-weight:700;}
.rec-dot{width:10px;height:10px;background:#f00;border-radius:50%;animation:blink 1s infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:0;}}
#scanlines{position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,0.08) 2px,rgba(0,0,0,0.08) 4px);pointer-events:none;z-index:2;}

/* ACTION BAR */
#action-bar{display:flex;align-items:center;gap:15px;padding:8px 20px;background:linear-gradient(0deg,#0d0d1a,#1a1a2e);border-top:1px solid #333;height:80px;}
.action-btn{padding:10px 20px;font-size:13px;font-weight:700;letter-spacing:1px;border:1px solid #ffd700;background:linear-gradient(180deg,rgba(255,215,0,0.15),rgba(255,215,0,0.05));color:#ffd700;cursor:pointer;text-transform:uppercase;transition:all 0.2s;}
.action-btn:hover:not(:disabled){background:linear-gradient(180deg,rgba(255,215,0,0.3),rgba(255,215,0,0.1));box-shadow:0 0 15px rgba(255,215,0,0.2);}
.action-btn:disabled{opacity:0.4;cursor:not-allowed;}
#selected-info{color:#aaa;font-size:13px;flex:1;line-height:1.4;}
#selected-info strong{color:#fff;}
#event-log{flex:2;height:60px;overflow-y:auto;background:rgba(0,0,0,0.3);border:1px solid #222;padding:5px 10px;font-size:11px;font-family:'Courier New',monospace;color:#0f0;}
#log-entries{display:flex;flex-direction:column-reverse;}
.log-entry{padding:2px 0;border-bottom:1px solid rgba(0,255,0,0.1);}
.log-entry.alert{color:#f00;}
.log-entry.money{color:#ffd700;}
.log-entry.funny{color:#ff69b4;}

/* REPORT */
#weekly-report-screen,#game-over-screen{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.85);z-index:200;display:flex;align-items:center;justify-content:center;}
.weekly-panel{max-width:860px;}
#weekly-report-subtitle{text-align:center;color:#9cc4ff;margin-top:-8px;margin-bottom:18px;letter-spacing:2px;text-transform:uppercase;}
.report-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 20px;}
.report-card{padding:14px 16px;border:1px solid rgba(255,215,0,0.25);background:rgba(0,0,0,0.22);}
.report-label{display:block;color:#9aa8c0;font-size:12px;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;}
.report-value{display:block;color:#fff;font-size:24px;font-weight:700;}
.report-notes{color:#ccc;line-height:1.7;background:rgba(0,0,0,0.18);border:1px solid rgba(255,255,255,0.08);padding:15px 18px;min-height:88px;white-space:pre-line;}
#game-over-screen .overlay-panel{text-align:center;}
#game-over-screen h2{color:#f00;font-size:48px;}
#game-over-screen p{font-size:18px;color:#ccc;}

/* SCROLLBAR */
::-webkit-scrollbar{width:6px;height:6px;}
::-webkit-scrollbar-track{background:#111;}
::-webkit-scrollbar-thumb{background:#333;border-radius:3px;}
