:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}#root{width:100%;min-height:100vh;overflow:hidden}@media(max-width:640px){body{position:fixed;width:100%;height:100vh}#root{height:100vh}}.game-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#00000080;border-bottom:2px solid rgba(251,191,36,.3)}.game-title{font-size:28px;font-weight:700;color:#fbbf24;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.5)}.header-right{display:flex;align-items:center;gap:24px}.credits-display{display:flex;align-items:center;gap:8px;font-size:18px}.credits-label{color:#d1d5db}.credits-amount{font-weight:700;color:#10b981;font-size:22px}.leave-btn{padding:8px 16px;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.leave-btn:hover{background:#dc2626}@media(max-width:640px){.game-header{padding:8px 12px;flex-direction:row;gap:8px}.game-title{font-size:16px}.header-right{gap:12px}.credits-display{font-size:14px;gap:4px}.credits-label{display:none}.credits-amount{font-size:16px}.leave-btn{padding:6px 12px;font-size:12px}}.game-footer{flex-shrink:0;padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));display:flex;justify-content:center;align-items:center;background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10}.game-footer .github-watermark{display:flex;align-items:center;gap:8px;color:#fff9;text-decoration:none;font-size:14px;transition:all .2s;padding:6px 12px;border-radius:6px}.game-footer .github-watermark:hover{color:#ffffffe6;background:#ffffff1a}.game-footer .github-watermark svg{flex-shrink:0}.game-footer .version{font-size:12px;color:#ffffff80;margin-left:8px}.game-footer .version:before{content:"•";margin-right:8px;color:#ffffff4d}@media(max-width:640px){.game-footer{padding:10px;padding-bottom:max(10px,env(safe-area-inset-bottom))}.game-footer .github-watermark{font-size:13px;padding:6px 10px;gap:6px}.game-footer .github-watermark svg{width:18px;height:18px}.game-footer .version{font-size:11px}}.card-wrapper{width:80px;height:112px;perspective:1000px;position:relative;animation:dealCard .4s ease-out forwards;opacity:0;transform:translate(-100px) translateY(-50px) rotate(-5deg)}@keyframes dealCard{0%{opacity:0;transform:translate(-100px) translateY(-50px) rotate(-5deg)}60%{opacity:1}to{opacity:1;transform:translate(0) translateY(0) rotate(0)}}.card-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}.card-wrapper.face-up .card-inner{transform:rotateY(180deg)}.card{width:100%;height:100%;background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000004d;display:flex;flex-direction:column;justify-content:space-between;padding:8px;position:absolute;backface-visibility:hidden;-webkit-backface-visibility:hidden}.card-front{transform:rotateY(180deg)}.card-back{transform:rotateY(0)}.card-corner{display:flex;flex-direction:column;align-items:center;gap:2px}.card-corner-top{align-self:flex-start}.card-corner-bottom{align-self:flex-end;transform:rotate(180deg)}.card-rank{font-size:18px;font-weight:700;line-height:1}.card-suit-small{width:14px;height:14px}.card-suit-large{width:40px;height:40px}.card-center{display:flex;align-items:center;justify-content:center;flex:1}.card-red{color:#dc2626}.card-black{color:#1f2937}.card-back{background:linear-gradient(135deg,#1e3a8a,#3b82f6);border:2px solid #1e40af;display:flex;align-items:center;justify-content:center;transform:rotateY(0)}.card-back-pattern{width:90%;height:90%;background:repeating-linear-gradient(45deg,rgba(255,255,255,.1),rgba(255,255,255,.1) 10px,transparent 10px,transparent 20px);border-radius:4px}@media(max-width:640px){.card-wrapper{width:70px;height:98px}.card{padding:6px}.card-rank{font-size:16px}.card-suit-small{width:12px;height:12px}.card-suit-large{width:34px;height:34px}}@media(min-width:641px)and (max-width:767px){.card-wrapper{width:80px;height:112px}}@media(min-width:768px){.card-wrapper{width:100px;height:140px}.card{padding:10px}.card-rank{font-size:22px}.card-suit-small{width:16px;height:16px}.card-suit-large{width:50px;height:50px}}.hand{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px}.dealer-hand{margin-bottom:40px}.player-hand{margin-top:20px;border:2px solid transparent;border-radius:12px;transition:all .3s}.player-hand.active{border-color:#fbbf24;background:#fbbf241a}.hand-label{font-size:18px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.cards{display:flex;gap:-30px;flex-wrap:wrap;justify-content:center}.cards>*{margin:0 4px}.hand-info{display:grid;grid-template-rows:auto auto minmax(32px,auto);align-items:center;justify-items:center;gap:4px}.hand-value{font-size:20px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5)}.hand-value .busted{color:#ef4444}.hand-value .blackjack{color:#fbbf24}.bet-amount{font-size:14px;color:#d1d5db}.result{padding:4px 12px;border-radius:16px;font-weight:700;font-size:14px;height:28px;display:flex;align-items:center;justify-content:center}.result.win,.result.blackjack{background:#10b981;color:#fff}.result.loss{background:#ef4444;color:#fff}.result.push{background:#6b7280;color:#fff}@media(max-width:640px){.hand{padding:8px;gap:6px}.dealer-hand{margin-bottom:8px}.player-hand{margin-top:8px}.hand-label{font-size:14px}.hand-value{font-size:16px}.bet-amount{font-size:12px}.result{font-size:12px;padding:3px 8px;height:24px}.cards>*{margin:0 2px}}@media(min-width:768px){.hand-label{font-size:22px}.hand-value{font-size:24px}}.action-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:24px 0}.action-btn{padding:12px 24px;font-size:16px;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px #0000001a;min-width:100px}.action-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.action-btn:active:not(:disabled){transform:translateY(0)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.hit-btn{background:#3b82f6;color:#fff}.hit-btn:hover:not(:disabled){background:#2563eb}.stand-btn{background:#ef4444;color:#fff}.stand-btn:hover:not(:disabled){background:#dc2626}.double-btn{background:#f59e0b;color:#fff}.double-btn:hover:not(:disabled){background:#d97706}.split-btn{background:#8b5cf6;color:#fff}.split-btn:hover:not(:disabled){background:#7c3aed}@media(max-width:640px){.action-buttons{gap:6px;margin:8px 0}.action-btn{padding:8px 16px;font-size:13px;min-width:70px}}.betting-controls{display:flex;flex-direction:column;align-items:center;gap:24px;padding:32px;background:#0000004d;border-radius:16px;max-width:500px;margin:40px auto}.betting-title{font-size:28px;font-weight:700;color:#fff;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.5)}.current-bet{display:flex;align-items:center;gap:12px;font-size:24px;color:#fff}.bet-label{color:#d1d5db}.bet-amount{font-weight:700;color:#fbbf24}.chip-buttons{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.chip-btn{width:70px;height:70px;border-radius:50%;border:4px solid #fbbf24;background:radial-gradient(circle,#fbbf24,#f59e0b);color:#78350f;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px #0000004d}.chip-btn:hover:not(:disabled){transform:scale(1.1);box-shadow:0 6px 12px #0006}.chip-btn:disabled{opacity:.5;cursor:not-allowed}.betting-actions{display:flex;gap:16px}.clear-btn,.deal-btn{padding:12px 32px;font-size:18px;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px #0000001a}.clear-btn{background:#6b7280;color:#fff}.clear-btn:hover{background:#4b5563}.deal-btn{background:#10b981;color:#fff}.deal-btn:hover:not(:disabled){background:#059669}.deal-btn:disabled{opacity:.5;cursor:not-allowed}.error-message{color:#ef4444;font-size:14px;font-weight:700}@media(max-width:640px){.betting-controls{gap:16px;padding:16px;margin:20px auto}.betting-title{font-size:20px}.current-bet{font-size:18px;gap:8px}.chip-btn{width:55px;height:55px;font-size:13px;border-width:3px}.chip-buttons{gap:8px}.betting-actions{gap:12px}.clear-btn,.deal-btn{padding:10px 24px;font-size:16px}.error-message{font-size:12px}}.feedback-panel{padding:12px 20px;border-radius:8px;max-width:600px;width:100%;animation:fadeIn .3s ease-out}.feedback-panel.correct{background:#10b981;border:2px solid #059669}.feedback-panel.incorrect{background:#ef4444;border:2px solid #dc2626}.feedback-content{display:flex;align-items:center;justify-content:center;gap:12px;color:#fff}.feedback-icon{font-size:24px;font-weight:700}.feedback-text{font-size:14px;line-height:1.4}.feedback-text strong{font-weight:700;text-decoration:underline}@media(max-width:640px){.feedback-panel{padding:8px 12px}.feedback-content{gap:8px}.feedback-icon{font-size:18px}.feedback-text{font-size:12px}}.hint-container{position:relative;margin-top:12px}.hint-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#fbbf2433;color:#fbbf24;border:2px solid #fbbf24;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s}.hint-btn:hover{background:#fbbf244d;transform:translateY(-1px);box-shadow:0 4px 8px #0000004d}.hint-btn svg{flex-shrink:0}.hint-panel{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);width:320px;max-width:calc(100vw - 40px);background:#000000f2;border:2px solid #fbbf24;border-radius:12px;padding:16px;z-index:100;box-shadow:0 8px 24px #00000080;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.hint-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid rgba(251,191,36,.3)}.hint-title{font-weight:700;color:#fbbf24;font-size:14px}.hint-close{background:none;border:none;color:#9ca3af;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:color .2s}.hint-close:hover{color:#fff}.hint-content{display:flex;flex-direction:column;gap:12px}.hint-action{color:#fff;font-size:14px}.hint-action strong{color:#10b981}.hint-reason{color:#d1d5db;font-size:13px;line-height:1.5}.hint-reason strong{color:#fff}.hint-note{color:#9ca3af;font-size:12px;font-style:italic;padding-top:8px;border-top:1px solid rgba(156,163,175,.2)}@media(max-width:640px){.hint-panel{width:280px}.hint-btn{font-size:12px;padding:6px 12px}.hint-btn svg{width:16px;height:16px}}.summary-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.summary-modal{background:linear-gradient(135deg,#1e3a8a,#1e40af);padding:40px;border-radius:16px;box-shadow:0 20px 60px #00000080;max-width:500px;width:90%;animation:slideUp .3s}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.summary-title{font-size:32px;font-weight:700;color:#fbbf24;text-align:center;margin:0 0 32px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.summary-stats{display:flex;flex-direction:column;gap:20px;margin-bottom:32px}.stat-item{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#ffffff1a;border-radius:8px}.stat-label{font-size:18px;color:#d1d5db}.stat-value{font-size:24px;font-weight:700;color:#fff}.stat-value.positive{color:#10b981}.stat-value.negative{color:#ef4444}.play-again-btn{width:100%;padding:16px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:20px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px #0000004d}.play-again-btn:hover{background:#059669;transform:translateY(-2px);box-shadow:0 6px 12px #0006}.summary-note{text-align:center;color:#9ca3af;font-size:14px;margin-top:16px}@media(max-width:640px){.summary-modal{padding:24px}.summary-title{font-size:24px}.stat-label{font-size:16px}.stat-value{font-size:20px}}.game-table{flex:1;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:20px;min-height:0}.game-content{width:100%;max-width:1200px;display:grid;grid-template-rows:auto auto 160px 70px;gap:8px;max-height:100%;overflow-y:auto;padding:12px 20px;align-items:start;justify-items:center}.player-hands{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}.action-area{height:160px;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.feedback-area{height:70px;width:100%;display:flex;align-items:center;justify-content:center}.settled-actions{text-align:center}.new-hand-btn{padding:16px 48px;background:#10b981;color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 6px #0000004d}.new-hand-btn:hover{background:#059669;transform:translateY(-2px);box-shadow:0 6px 12px #0006}@media(max-width:640px){.game-table{padding:4px}.game-content{padding:4px 8px 8px;gap:4px;grid-template-rows:auto auto 120px 50px;max-height:100%}.player-hands{gap:8px}.action-area{height:120px;gap:4px}.feedback-area{height:50px}.new-hand-btn{padding:10px 24px;font-size:14px}}*{box-sizing:border-box}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;background:radial-gradient(ellipse at center,#0e5f3f,#0a4d32);background-attachment:fixed;display:flex;flex-direction:column;overflow:hidden}.app:before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px),repeating-linear-gradient(90deg,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px);pointer-events:none;z-index:0}.app>*{position:relative;z-index:1}
