* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: monospace; background: #1a1a1a; color: #e0e0e0; height: 100vh; display: flex; flex-direction: column; overflow: hidden; }
#top-bar { position: fixed; top: 0; left: 0; right: 0; height: 60px; background: #2a2a2a; border-bottom: 1px solid #444; display: flex; align-items: center; justify-content: space-around; padding: 0 10px; z-index: 100; font-size: 14px; }
#top-bar .stat { text-align: center; }
#top-bar .stat .label { font-size: 10px; color: #aaa; }
#top-bar .stat .value { font-size: 16px; font-weight: bold; color: #fff; }
#pages { flex: 1; margin-top: 60px; margin-bottom: 50px; overflow-y: auto; padding: 15px; }
.page { display: none; }
.page.active { display: block; }
#bottom-bar { position: fixed; bottom: 0; left: 0; right: 0; height: 50px; background: #2a2a2a; border-top: 1px solid #444; display: flex; z-index: 100; }
#bottom-bar button { flex: 1; background: none; border: none; color: #aaa; font-size: 14px; cursor: pointer; touch-action: manipulation; user-select: none; -webkit-user-select: none; }
#bottom-bar button.active { color: #4fc3f7; background: #333; }
.card { background: #252525; border: 1px solid #333; border-radius: 8px; padding: 12px; margin-bottom: 10px; }
.card-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; }
.card-title { font-size: 15px; font-weight: bold; }
.card-desc { font-size: 12px; color: #aaa; }
.btn { background: #4fc3f7; color: #000; border: none; border-radius: 4px; padding: 8px 14px; font-size: 13px; font-weight: bold; cursor: pointer; touch-action: manipulation; user-select: none; -webkit-user-select: none; }
.btn:disabled { background: #555; color: #888; }
.btn-buy { background: #66bb6a; }
.btn-buy:disabled { background: #444; color: #777; }
.sand-btn { display: block; width: 200px; height: 200px; margin: 40px auto; border-radius: 50%; background: #d4a373; color: #3e2723; font-size: 18px; font-weight: bold; border: 4px solid #b08d6a; cursor: pointer; touch-action: manipulation; user-select: none; -webkit-user-select: none; box-shadow: 0 0 20px rgba(212,163,115,0.3); }
.sand-btn:active { transform: scale(0.95); }
.center-text { text-align: center; margin: 20px 0; }
.stage-text { font-size: 20px; color: #ffcc80; margin-top: 10px; }
.combo-text { font-size: 14px; color: #ffab40; }
.file-input { display: none; }
