*{box-sizing:border-box;user-select:none;-webkit-user-select:none}body{margin:0;padding:0;background-color:#2d3436;color:#fff;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow:hidden;display:flex;justify-content:center;align-items:center;height:100vh;touch-action:none}#root{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.app-container{position:relative;width:600px;height:800px;background:#2d3436;overflow:hidden;box-shadow:0 0 50px #0009;border-radius:4px;image-rendering:pixelated}canvas{display:block;background-color:#2d3436;image-rendering:pixelated}.menu-screen{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:10;backdrop-filter:blur(8px)}.menu-screen.start-theme{background:linear-gradient(135deg,#bdc3c7,#2c3e50)}.menu-screen.fail-theme{background:#000000d9}.office-bg-pattern{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.1;background-image:linear-gradient(45deg,#000 25%,transparent 25%,transparent 75%,#000 75%,#000),linear-gradient(45deg,#000 25%,transparent 25%,transparent 75%,#000 75%,#000);background-size:20px 20px;background-position:0 0,10px 10px;z-index:-1}.wallet-display{position:absolute;top:20px;right:20px;background:#0009;padding:8px 16px;border-radius:20px;display:flex;align-items:center;gap:8px;color:#2ecc71;font-weight:700;border:1px solid #27ae60;backdrop-filter:blur(4px)}.start-card{background:#fdfbf7;padding:40px;border-radius:8px;box-shadow:0 10px 30px #0000004d;text-align:center;max-width:90%;width:380px;border:1px solid #dcdde1;position:relative}.start-card:before{content:"";position:absolute;top:-5px;left:20px;right:20px;height:10px;background:#ffffff80;border-radius:5px;z-index:-1}.company-logo{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:20px}.company-name{font-size:1.4rem;color:#2c3e50;margin:0;font-weight:800;letter-spacing:-.5px;text-align:left}.company-slogan{display:block;font-size:.7rem;color:#7f8c8d;font-style:italic;text-align:left}.divider{border:0;border-top:2px dashed #bdc3c7;margin:20px 0}.game-title{font-size:2.5rem;line-height:1;color:#2c3e50;margin:20px 0;font-weight:900}.login-prompt{background:#ecf0f1;padding:15px;border-radius:6px;margin-bottom:25px;color:#34495e;font-size:.95rem}.hint{margin-top:8px;font-weight:700;color:#2980b9;font-size:.85rem}.start-btn{width:100%;padding:16px;font-size:1.3rem;font-weight:700;background:#6c5ce7;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;box-shadow:0 6px #a29bfe}.start-btn:hover{background:#5d4ebd;transform:translateY(-2px);box-shadow:0 8px #a29bfe}.start-btn:active{transform:translateY(4px);box-shadow:0 0 #a29bfe}.termination-slip{background:#fff;width:90%;max-width:400px;padding:30px;box-shadow:0 0 50px #00000080;position:relative;transform:rotate(-1deg);font-family:Courier New,Courier,monospace}.slip-header{display:flex;align-items:center;gap:15px;border-bottom:3px solid #000;padding-bottom:15px;margin-bottom:20px}.slip-header h2{font-size:1.4rem;margin:0;color:#000;font-weight:900;line-height:1.2}.warning-icon{color:#e74c3c}.stamp-box{position:absolute;top:60px;right:20px;border:4px solid #c0392b;color:#c0392b;font-size:1.5rem;font-weight:900;padding:5px 10px;transform:rotate(-15deg);opacity:.8;text-transform:uppercase}.slip-row{display:flex;justify-content:space-between;margin-bottom:10px;font-size:.9rem}.slip-row .label{color:#7f8c8d;font-weight:700}.slip-row .value{color:#000;font-weight:700}.slip-reason-box{background:#ffebee;border:1px solid #ffcdd2;padding:10px;margin:15px 0}.reason-text{font-style:italic;color:#c0392b;margin:5px 0 0;font-weight:700}.slip-earnings{margin-top:20px;border-top:1px dashed #bdc3c7;padding-top:10px}.earnings-row{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:5px;color:#34495e}.earnings-row.highlight{color:#27ae60;font-weight:700}.earnings-row.total{font-size:1.1rem;font-weight:900;color:#000;margin-top:5px}.unlock-alert{background:#f1c40f;color:#000;text-align:center;padding:8px;font-weight:700;margin:15px 0;animation:pulse 1s infinite}.slip-actions{display:flex;gap:10px;margin-top:25px}.action-btn{flex:1;padding:12px;border:none;border-radius:4px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;font-family:Segoe UI,sans-serif;transition:all .2s}.action-btn.primary{background:#2c3e50;color:#fff}.action-btn.secondary{background:#ecf0f1;color:#2c3e50;border:1px solid #bdc3c7}.action-btn:hover{opacity:.9;transform:translateY(-1px)}.character-select-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;z-index:20;padding:20px;overflow:hidden;transition:opacity .5s ease}.lobby-background{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#e0f7fa,#3498db);z-index:-1}.city-skyline{position:absolute;bottom:20%;left:0;width:100%;height:40%;background:#ffffff4d;clip-path:polygon(0% 100%,10% 40%,20% 80%,30% 30%,40% 70%,50% 20%,60% 80%,70% 40%,80% 90%,90% 30%,100% 100%)}.glass-walls{position:absolute;top:0;left:0;width:100%;height:100%;background-image:linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:100px 100%}.cs-header{margin-top:40px;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.1)}.cs-header h2{margin:0;font-size:2rem;color:#2c3e50;font-weight:900}.cs-header p{margin:5px 0 0;color:#34495e;font-weight:600;letter-spacing:1px}.stage-container{flex:1;display:flex;align-items:center;justify-content:center;width:100%;perspective:800px;position:relative}.spotlight-stage{position:relative;width:200px;height:200px;display:flex;justify-content:center;align-items:flex-end}.spotlight-beam{position:absolute;top:-150%;left:50%;transform:translate(-50%);width:100%;height:300%;background:radial-gradient(circle,rgba(255,255,255,.4) 0%,transparent 60%);pointer-events:none}.floor-disc{position:absolute;bottom:-20px;width:160px;height:60px;background:#00000026;border-radius:50%;border:2px solid rgba(255,255,255,.5);box-shadow:0 0 20px #ffffff80}.character-preview-wrapper{z-index:5;transform-origin:bottom center}.pixel-art-large{width:128px;height:128px;image-rendering:pixelated}.nav-btn{background:#ffffff4d;border:2px solid white;color:#2c3e50;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;backdrop-filter:blur(4px)}.nav-btn:hover{background:#fff;transform:scale(1.1)}.id-card-panel{background:#fff;border-radius:8px;width:90%;max-width:350px;box-shadow:0 10px 30px #0003;overflow:hidden;margin-bottom:20px;transform:rotate(-1deg);transition:transform .3s}.id-card-panel:hover{transform:rotate(0) scale(1.02)}.id-card-header{padding:10px 15px;display:flex;align-items:center;gap:10px;color:#fff}.id-title{font-weight:700;font-size:.9rem;letter-spacing:1px}.id-card-body{padding:15px;color:#2c3e50}.char-name{margin:0;font-size:1.8rem;font-weight:900;text-transform:uppercase;line-height:1}.char-blurb{margin-top:10px;font-style:italic;color:#7f8c8d;font-size:.95rem}.clock-in-btn{position:relative;background:#27ae60;color:#fff;border:none;padding:18px 60px;font-size:1.5rem;font-weight:800;border-radius:8px;box-shadow:0 6px #219150;cursor:pointer;transition:all .2s;display:flex;align-items:center;margin-bottom:40px;text-transform:uppercase}.clock-in-btn:hover{background:#2ecc71;transform:translateY(-2px);box-shadow:0 8px #219150}.clock-in-btn:active{transform:translateY(4px);box-shadow:0 0 #219150}.clipboard-clip{position:absolute;top:-10px;left:50%;transform:translate(-50%);width:40px;height:12px;background:#95a5a6;border-radius:4px;border:2px solid #7f8c8d}.game-ui{position:absolute;top:20px;left:20px;pointer-events:none;z-index:5}.score-badge{font-size:2.5rem;font-weight:900;color:#fff;text-shadow:2px 2px 0 rgba(0,0,0,.3);display:flex;align-items:center;gap:10px;background:#00000080;padding:8px 16px;border-radius:20px;backdrop-filter:blur(4px)}.mobile-controls{position:absolute;bottom:20px;right:20px;z-index:20;display:none}@media (hover: none) and (pointer: coarse){.mobile-controls{display:block}}.d-pad{display:flex;flex-direction:column;align-items:center;gap:8px}.d-row{display:flex;gap:8px}.d-key{width:64px;height:64px;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:12px;display:flex;justify-content:center;align-items:center;font-size:28px;backdrop-filter:blur(4px);touch-action:manipulation;color:#fff;box-shadow:0 4px 10px #0003}.d-key:active{background:#fff6;transform:scale(.95)}
