/* General Styles */ body { font-family: 'Montserrat', Arial, sans-serif; background-color: #2c2c3e; color: #fff; margin: 0; padding: 0; display: flex; flex-direction: column; align-items: center; min-height: 100vh; overflow-x: hidden; -webkit-user-select: none; /* Safari */ -moz-user-select: none; /* Firefox */ -ms-user-select: none; /* IE10+ */ user-select: none; /* Standard */ touch-action: pan-y; /* Prevent horizontal scrolling on touch */ } .container { width: 100%; max-width: 400px; margin: 0 auto; background-color: #3a3a52; border-radius: 0; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); padding: 0; box-sizing: border-box; flex-grow: 1; display: flex; flex-direction: column; position: relative; } /* Header Styles */ .header { display: flex; justify-content: space-between; align-items: center; padding: 10px 15px; background-color: #33334c; border-bottom: 1px solid #444; z-index: 200; flex-shrink: 0; } .header .logo { font-size: 20px; font-weight: bold; color: #ffda00; } .header .balance { font-size: 16px; font-weight: bold; display: flex; align-items: center; background-color: #4a4a60; padding: 5px 10px; border-radius: 20px; margin-right: 10px; } .header .balance span { margin-right: 5px; } .header .balance img { height: 16px; vertical-align: middle; filter: invert(100%); } .header button { background: none; border: none; color: white; font-size: 1.2em; margin-left: 10px; cursor: pointer; } .header #login-logout-btn, .header #toggle-history-btn { font-size: 0.9em; padding: 5px 10px; background-color: #ffda00; color: #333; border-radius: 5px; font-weight: bold; cursor: pointer; transition: background-color 0.2s; } .header #login-logout-btn:hover, .header #toggle-history-btn:hover { background-color: #e0b000; } .header #toggle-history-btn { margin-left: auto; margin-right: 10px; } /* Main Game Content Wrapper */ #game-main-content { display: flex; flex-direction: column; flex-grow: 1; background-color: #3a3a52; } /* Info Bar Styles */ .info-bar { background-color: #3c3c54; padding: 8px 15px; font-size: 0.8em; display: flex; justify-content: space-around; color: #ccc; border-bottom: 1px solid #444; flex-shrink: 0; } .info-bar span { display: flex; align-items: center; gap: 5px; } .info-bar span::before { content: '•'; font-size: 1.5em; color: #4CAF50; } .info-bar span:first-child::before { content: ''; /* Removed dot for 'Live wins' to accommodate dynamic text */ } .info-bar span:last-child { color: #4CAF50; } .info-bar span:last-child::before { content: ''; } /* Game Area Styles */ .game-display-viewport { flex-grow: 1; width: 100%; position: relative; overflow: hidden; background-color: #313340; border-bottom: 1px solid #444; display: flex; justify-content: center; align-items: flex-end; min-height: 200px; } .game-area { display: flex; height: 100%; position: absolute; top: 0; left: 0; transition: left 0.5s ease-in-out; } .lane { flex-shrink: 0; width: 133.33px; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; box-sizing: border-box; background-color: #313340; border-right: 2px dashed #fff; background-position: center bottom; background-repeat: no-repeat; } .lane:last-child { border-right: none; } /* Styles for the "door/tunnel" in the first lane (2x) */ .lane[data-lane-index="0"]::before { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 100px; height: 120px; background-color: #1a1a2e; border-radius: 50px 50px 0 0; z-index: 1; box-shadow: inset 0 5px 10px rgba(0,0,0,0.5); border: 2px solid #555; } /* Styles for the "grate" in subsequent lanes */ .lane:not([data-lane-index="0"])::before { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 80px; height: 40px; background-color: transparent; z-index: 1; background-image: url('data:image/svg+xml;utf8,'); background-size: contain; background-repeat: no-repeat; background-position: center bottom; } /* Multiplier Display */ .multiplier-display { font-size: 25px; font-weight: bold; color: #fff; border-radius: 50%; width: 90px; height: 90px; display: flex; justify-content: center; align-items: center; transition: background-color 0.3s, box-shadow 0.3s; margin-bottom: 20px; position: relative; z-index: 5; background-image: url('png/coin.png'); background-size: cover; background-position: center; background-repeat: no-repeat; } .multiplier-display.active { font-size: 25px; font-weight: bold; font-border : 1x solid #000; color: #fff; border-radius: 50%; width: 90px; height: 90px; display: flex; justify-content: center; align-items: center; transition: background-color 0.3s, box-shadow 0.3s; margin-bottom: 20px; position: relative; z-index: 5; background-image: url('png/Acoin.png'); background-size: cover; background-position: center; background-repeat: no-repeat; } .multiplier-display.inactive { background-color: #6a6a8a; box-shadow: none; border-color: #8888AA; } /* Chicken Image - positioned within game-area and updated by JS */ .chicken-image { width: 100px; height: auto; position: absolute; bottom: 1px; z-index: 20; transition: left 0.5s ease-in-out; -webkit-user-drag: none; /* Prevent drag on Chrome/Safari */ user-drag: none; /* Standard */ } /* Fire Animation */ .fire-animation { width: 150px; height: 550px; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); z-index: 25; background-image: url('png/aag.gif'); background-size: contain; background-repeat: no-repeat; background-position: center bottom; display: none; } /* Win Image within 20x lane */ .lane .win-image { width: 100px; height: auto; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 10; opacity: 0.8; -webkit-user-drag: none; /* Prevent drag on Chrome/Safari */ user-drag: none; /* Standard */ } /* Game Status Message */ #game-status { text-align: center; font-size: 1.1em; margin: 15px 0; color: #fff; padding: 0 15px; flex-shrink: 0; } /* Betting Controls Styles */ .bet-controls { background-color: #3a3a52; padding: 15px; border-radius: 0; flex-shrink: 0; } .betting-grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: auto auto auto auto; gap: 10px; align-items: center; justify-items: center; margin-bottom: 15px; } #min-label, #bet-label, #max-label { font-size: 0.8em; color: #ccc; margin-bottom: 0; text-align: center; align-self: end; } #min-label { grid-column: 1 / 2; grid-row: 1 / 2; } #bet-label { grid-column: 2 / 3; grid-row: 1 / 2; } #max-label { grid-column: 3 / 4; grid-row: 1 / 2; } .betting-grid input[type="number"] { width: 100%; padding: 10px 5px; border-radius: 5px; border: 1px solid #555; background-color: #444; color: #fff; font-size: 1em; text-align: center; box-sizing: border-box; } .betting-grid input[type="number"]:disabled { background-color: #555; color: #bbb; cursor: not-allowed; } #min-bet { grid-column: 1 / 2; grid-row: 2 / 3; } #current-bet { grid-column: 2 / 3; grid-row: 2 / 3; } #max-bet { grid-column: 3 / 4; grid-row: 2 / 3; } .bet-amount-selection { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; grid-column: 1 / -1; grid-row: 3 / 4; width: 100%; margin-top: 10px; margin-bottom: 10px; } .bet-amount-selection button { background-color: #555577; color: #fff; border: none; padding: 8px 0; border-radius: 5px; font-size: 0.9em; cursor: pointer; transition: background-color 0.2s; display: flex; align-items: center; justify-content: center; width: 100%; height: 40px; box-sizing: border-box; } .bet-amount-selection button:hover { background-color: #666688; } .bet-amount-selection button.active { background-color: #ffda00; color: #333; font-weight: bold; } .bet-amount-selection button:disabled { background-color: #444455; color: #999; cursor: not-allowed; } .action-buttons { display: flex; gap: 15px; justify-content: center; margin-top: 0; grid-column: 1 / -1; grid-row: 4 / 5; width: 100%; padding-top: 5px; } .action-buttons button { flex: 1; padding: 15px 20px; font-size: 1.2em; border-radius: 8px; border: none; cursor: pointer; box-shadow: 0 4px 0 rgba(0,0,0,0.2); transition: background-color 0.2s, box-shadow 0.2s; font-weight: bold; } .play-button { background-color: #4CAF50; color: white; box-shadow: 0 4px 0 #3b8e40; } .play-button:hover { background-color: #5cb85c; box-shadow: 0 2px 0 #3b8e40; } .cash-out-button { background-color: #ffc107; color: #333; box-shadow: 0 4px 0 #d6a400; } .cash-out-button:hover { background-color: #e0b000; box-shadow: 0 2px 0 #d6a400; } .hidden { display: none !important; } .popup-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); display: flex; justify-content: center; align-items: center; z-index: 1000; visibility: hidden; opacity: 0; transition: visibility 0.3s, opacity 0.3s; } .popup-overlay.show { visibility: visible; opacity: 1; } .popup-content { background-color: #3a3a52; padding: 30px; border-radius: 10px; text-align: center; box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); max-width: 300px; width: 90%; position: relative; } .popup-content h2 { margin-top: 0; font-size: 2.2em; margin-bottom: 15px; } .popup-content p { font-size: 1.3em; margin-bottom: 25px; } .popup-content.win h2 { color: #4CAF50; } .popup-content.loss h2 { color: #f44336; } .popup-content.win p { color: #a7fca9; } .popup-content.loss p { color: #ffb8b8; } .popup-close-btn { background-color: #555577; color: white; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer; font-size: 1em; transition: background-color 0.2s; } .popup-close-btn:hover { background-color: #666688; } #login-modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.8); display: flex; justify-content: center; align-items: center; z-index: 1100; visibility: hidden; opacity: 0; transition: visibility 0.3s, opacity 0.3s; } #login-modal-overlay.show { visibility: visible; opacity: 1; } .login-modal-content { background-color: #3a3a52; padding: 30px; border-radius: 10px; text-align: center; box-shadow: 0 0 20px rgba(0, 0, 0, 0.7); max-width: 90%; width: 350px; max-height: 80vh; overflow-y: auto; } .login-modal-content h2 { color: #ffda00; margin-bottom: 20px; } .login-modal-content input { width: calc(100% - 20px); padding: 10px; margin-bottom: 15px; border-radius: 5px; border: 1px solid #555; background-color: #444; color: #fff; font-size: 1em; } .login-modal-content button { background-color: #4CAF50; color: white; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer; font-size: 1.1em; transition: background-color 0.2s; } .login-modal-content button:hover { background-color: #5cb85c; } .login-modal-content .message { color: #f44336; margin-top: 10px; font-size: 0.9em; } #history-section { background-color: #313340; flex-grow: 1; display: none; flex-direction: column; padding: 0; box-sizing: border-box; position: relative; } .history-content-inner { background-color: #3a3a52; padding: 20px; border-radius: 0; box-shadow: none; text-align: center; display: flex; flex-direction: column; flex-grow: 1; overflow-y: auto; box-sizing: border-box; } .history-content-inner h2 { color: #ffda00; margin-top: 0; margin-bottom: 15px; flex-shrink: 0; } .history-content-inner p { flex-shrink: 0; } #history-close-btn { position: absolute; top: 10px; right: 10px; background-color: rgba(255, 255, 255, 0.2); color: white; border: none; border-radius: 50%; width: 30px; height: 30px; font-size: 1.5em; cursor: pointer; display: flex; justify-content: center; align-items: center; transition: background-color 0.2s; z-index: 201; } #history-close-btn:hover { background-color: rgba(255, 255, 255, 0.4); } .history-content-inner button { background-color: #555577; color: white; border: none; padding: 10px 20px; border-radius: 5px; cursor: pointer; font-size: 1.1em; transition: background-color 0.2s; margin-top: 20px; flex-shrink: 0; display: none; } .history-content-inner button:hover { background-color: #666688; } #history-loading, #history-message { color: #ccc; margin-top: 10px; margin-bottom: 10px; flex-shrink: 0; } #bet-history-table { width: 100%; border-collapse: collapse; margin-top: 10px; color: #fff; font-size: 0.85em; flex-grow: 1; display: flex; flex-direction: column; overflow: hidden; } #bet-history-table thead { flex-shrink: 0; display: table; width: 100%; table-layout: fixed; } #bet-history-table tbody { display: block; overflow-y: auto; flex-grow: 1; width: 100%; } #bet-history-table tr { width: 100%; display: table; table-layout: fixed; } #bet-history-table th, #bet-history-table td { border: 1px solid #555; padding: 6px 4px; text-align: center; word-break: break-word; white-space: normal; } #bet-history-table .outcome-win { color: #4CAF50; font-weight: bold; } #bet-history-table .outcome-loss { color: #f44336; font-weight: bold; } #bet-history-table .outcome-auto_cashout { color: #00bcd4; font-weight: bold; }