:root{--bg: #0b0d10;--bg-elev: #17191d;--border: #2a2d33;--text: #e7e7ee;--text-dim: #8b8d9a;--accent: #e0b45a;--accent-dim: #4a3d21;--danger: #ff4f6d;--success: #2f7d5c;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}#app{max-width:720px;margin:0 auto;padding:16px}#top-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}#top-bar h1{font-size:1.4rem;margin:0}#top-bar-left{display:flex;flex-direction:column;gap:2px}#shame-counter{font-size:.75rem}#player-info{display:flex;gap:14px;font-family:monospace;color:var(--accent)}.screen.hidden,.hidden{display:none}#level-progress-container{width:100%;height:10px;background:var(--bg-elev);border:1px solid var(--border);border-radius:5px;overflow:hidden;margin-bottom:4px}#level-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--accent-dim),var(--accent));transition:width .4s ease}#level-progress-bar.negative{background:repeating-linear-gradient(45deg,var(--danger),var(--danger) 8px,#7a1f2b 8px,#7a1f2b 16px)}#level-progress-label{margin:0 0 18px;font-size:.8rem}#level-progress-label.negative{color:var(--danger);font-weight:600}.danger-btn{background:var(--danger);color:#fff}#btn-sos{margin-bottom:20px}.card{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:24px;margin-top:20px}h2{margin-top:0}.row{display:flex;gap:10px;align-items:center;margin-top:10px}.row.space-between{justify-content:space-between}.hint{color:var(--text-dim);font-size:.9rem}.error{color:var(--danger);min-height:1.2em}input[type=text],input[type=number]{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:10px 12px;font-size:1rem;flex:1}button{background:var(--accent);color:#1a1406;border:none;border-radius:8px;padding:10px 16px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s;white-space:nowrap}button:hover{opacity:.85}button:disabled{background:var(--border);color:var(--text-dim);cursor:not-allowed;opacity:1}button.secondary{background:var(--bg);border:1px solid var(--border);color:var(--text)}.game-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.game-tile{background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;padding:18px 10px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.game-tile:not(.locked):hover{border-color:var(--accent)}.game-tile.locked{opacity:.55;cursor:not-allowed}.game-label{color:var(--text);font-size:1rem;font-weight:600}.lock-info{font-size:.75rem;color:var(--text-dim)}canvas{background:#111;border-radius:10px;border:1px solid var(--border);width:100%;height:auto;display:block}.game-result{min-height:1.4em;margin:12px 0 0;padding:10px 12px;border-radius:8px;font-weight:600;text-align:center;background:var(--bg);border:1px solid var(--border)}.game-result:empty{display:none}.game-result.win{color:var(--success);border-color:var(--success);background:#2f7d5c1f}.game-result.lose{color:var(--danger);border-color:var(--danger);background:#ff4f6d1a}.game-result.push{color:var(--text-dim)}.game-result.jackpot{color:var(--accent);border-color:var(--accent);background:#e0b45a26;animation:jackpot-pulse .6s ease-in-out 2}@keyframes jackpot-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}#roulette-wheel-wrap{position:relative;width:200px;height:200px;margin:8px auto 16px}#roulette-wheel{width:100%;height:100%;border-radius:50%;border:4px solid var(--border);box-shadow:inset 0 0 0 4px #00000059,0 4px 16px #0006;background:conic-gradient(#c0392b 0deg 175.135deg,#1a1a1a 175.135deg 350.27deg,var(--success) 350.27deg 360deg);transition:transform 3s cubic-bezier(.12,.65,.1,1)}#roulette-wheel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:24px;height:24px;border-radius:50%;background:var(--bg-elev);border:3px solid var(--border)}#roulette-pointer{position:absolute;top:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:11px solid transparent;border-right:11px solid transparent;border-top:18px solid var(--accent);z-index:2;filter:drop-shadow(0 2px 2px rgba(0,0,0,.5))}#roulette-color-choice{flex-wrap:wrap}.color-choice{flex:1;min-width:100px;border:2px solid transparent;opacity:.7}.color-choice.red{background:#c0392b;color:#fff}.color-choice.black{background:#1a1a1a;color:#fff}.color-choice.green{background:var(--success);color:#fff}.color-choice.selected{opacity:1;border-color:var(--text)}.blackjack-hand-label{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;font-weight:600}.blackjack-hand-label:first-child{margin-top:0}.card-row{display:flex;gap:8px;flex-wrap:wrap;min-height:84px;margin-top:6px}.playing-card{width:56px;height:78px;background:#f5f3ec;border-radius:6px;border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;line-height:1.1;color:#1a1a1a;box-shadow:0 2px 4px #0000004d;flex-shrink:0}.playing-card.red{color:#c0392b}.playing-card.hidden-card{background:repeating-linear-gradient(45deg,var(--accent-dim),var(--accent-dim) 6px,#3a2f15 6px,#3a2f15 12px);border-color:var(--accent-dim)}#blackjack-deck-size{color:var(--accent);font-weight:600}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-overlay.hidden{display:none}.modal-panel{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:28px;max-width:480px;width:100%;text-align:center}.modal-panel h2{margin-top:0;font-size:1.15rem}.modal-panel .row{justify-content:center}#sos-reasons{display:flex;flex-direction:column;gap:10px;text-align:left;margin:18px 0}#sos-reasons label{display:flex;gap:10px;align-items:center;cursor:pointer;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px}#sos-reasons label:has(input:checked){border-color:var(--accent)}@media (max-width: 600px){#app{padding:10px}#top-bar{flex-direction:column;align-items:flex-start;gap:6px}.row{flex-direction:column;align-items:stretch}button{width:100%}}
