:root{color:#edf4f0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#101b1a;font-family:system-ui,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}#root{text-align:center;width:1200px;max-width:100%;min-height:100svh;margin:0 auto}h1{font-size:clamp(1.3rem,3vw,2rem)}h2{font-size:1.25rem}p{line-height:1.6}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:#8dd5ff}.recovery-panel{color:#fff;background:#172c3b;border:2px solid #e2bd63;border-radius:12px;max-width:800px;margin:16px auto;padding:20px}.recovery-panel button{color:#111;cursor:pointer;background:#e2bd63;border:0;border-radius:8px;padding:12px 20px;font-weight:700}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #70d9ff}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.recovery-panel th,.recovery-panel td{text-align:right;white-space:nowrap;padding:10px}.game-container .recovery-panel{padding:14px}.game-container .recovery-panel h2{margin:8px 0;font-size:1.15rem}.game-container .recovery-panel p{margin:10px 0;font-size:.95rem}.modal-overlay{z-index:1000;background-color:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{color:#fff;background-color:#2c3e50;border-radius:8px;width:400px;padding:2rem}.modal-form{flex-direction:column;gap:1rem;display:flex}.modal-input{box-sizing:border-box;width:100%;padding:.5rem}.modal-actions{gap:10px;margin-top:1rem;display:flex}.btn-submit{color:#fff;cursor:pointer;background-color:#27ae60;border:none;border-radius:4px;flex:1;padding:.5rem}.btn-cancel{color:#fff;cursor:pointer;background-color:#e74c3c;border:none;border-radius:4px;flex:1;padding:.5rem}.modal-content{width:min(440px,94vw);max-height:90vh;overflow-y:auto}.chat-panel{color:#eaf4ef;text-align:left;background:#152a26;border:1px solid #52756a;border-radius:16px;max-width:840px;margin:24px auto;padding:16px}.chat-heading{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.chat-heading h2{flex:1;margin:0;font-size:1.05rem}.chat-panel button{color:#fff;cursor:pointer;background:#294b41;border:1px solid #6a9183;border-radius:8px;padding:8px 12px}.chat-panel button:disabled{opacity:.5;cursor:not-allowed}.chat-panel button:focus-visible,.chat-panel input:focus-visible{outline-offset:2px;outline:3px solid #f8ce73}.chat-online{color:#8de5b6;font-size:.8rem}.chat-offline,.chat-error{color:#ffc1aa}.chat-hint,.chat-empty{color:#b6cbc3;font-size:.8rem}.chat-messages{overscroll-behavior:contain;background:#0d1c19;border-radius:10px;height:220px;padding:8px;overflow-y:auto}.chat-message{border-left:3px solid #4d7162;margin-bottom:12px;padding:5px 10px}.chat-mine{border-color:#f8ce73}.chat-meta{align-items:baseline;gap:12px;display:flex}.chat-meta strong{overflow-wrap:anywhere;font-size:.85rem}.chat-meta time{color:#aac1b6;flex-shrink:0;font-size:.7rem}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0;line-height:1.5}.chat-message .chat-emoji{font-size:1.8rem}.chat-reactions{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.chat-reactions button{min-width:42px;font-size:1.2rem}.chat-form{gap:8px;display:flex}.chat-form input{color:#f4faf6;min-width:0;font:inherit;background:#0d1c19;border:1px solid #6a9183;border-radius:8px;flex:1;padding:12px}.chat-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.chat-error{margin:10px 0 0;font-size:.85rem}@media (width<=600px){.chat-panel{padding:12px}.chat-messages{height:180px}.chat-heading{gap:8px}}.lobby-container{text-align:center;padding:2rem}.lobby-form{margin-top:2rem}.lobby-input{border:1px solid #ccc;border-radius:4px;margin-right:.5rem;padding:.5rem}.lobby-button{color:#fff;cursor:pointer;background-color:#2c3e50;border:none;border-radius:4px;padding:.5rem 1rem}.lobby-button:hover{background-color:#1a252f}.lobby-user-section{background-color:#ffffff1a;border-radius:8px;margin-bottom:2rem;padding:1rem}.lobby-actions{gap:10px;margin-bottom:1rem;display:flex}.btn-create-room{background-color:#8e44ad}.room-list-container{flex-direction:column;gap:10px;width:100%;max-width:600px;display:flex}.room-empty-text{color:#fff;text-align:center}.room-item{color:#fff;background-color:#34495e;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.room-title{margin:0 0 .5rem}.room-info{color:#bdc3c7;font-size:.9rem}.btn-join{cursor:pointer;color:#fff;border:none;border-radius:4px;padding:.5rem 1rem}.btn-join.active{background-color:#2ecc71}.btn-join.disabled{cursor:not-allowed;background-color:#7f8c8d}.lobby-header-top{justify-content:space-between;align-items:center;display:flex}.user-info-badge{background-color:#0000004d;border-radius:20px;align-items:center;gap:15px;padding:10px 20px;display:flex}.user-nickname{font-size:1.1rem;font-weight:700}.user-money{color:#f1c40f;font-weight:700}.btn-logout{color:#fff;cursor:pointer;background-color:#e74c3c;border:none;border-radius:5px;padding:5px 10px;transition:background-color .2s}.btn-logout:hover{background-color:#c0392b}.btn-login{color:#fff;cursor:pointer;background-color:#3498db;border:none;border-radius:5px;padding:8px 16px;font-weight:700;transition:background-color .2s}.btn-login:hover{background-color:#2980b9}.btn-signup{color:#fff;cursor:pointer;background-color:#2ecc71;border:none;border-radius:5px;padding:8px 16px;font-weight:700;transition:background-color .2s}.btn-signup:hover{background-color:#27ae60}.lobby-header-top{flex-wrap:wrap;gap:16px}.user-info-badge{flex-wrap:wrap;justify-content:center}.lobby-controls{gap:10px;margin:24px 0;display:flex}.btn-create,.btn-refresh,.btn-join{color:#fff;background:#24674f;border:1px solid #6e9f86;border-radius:8px;padding:10px 18px}.room-list{text-align:left;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.room-card{background:#1c302b;border:1px solid #3a5448;border-radius:12px;padding:20px}.room-info h3{color:#fff}@media (width<=600px){.lobby-container{padding:18px}}.playing-card{box-sizing:border-box;z-index:1;background-color:#fff;border:1px solid #999;border-radius:5px;flex-direction:column;justify-content:space-between;width:55px;height:80px;padding:4px;font-family:Arial,sans-serif;font-weight:700;display:flex;position:relative;box-shadow:-3px 2px 6px #00000080}.playing-card.red{color:#e74c3c}.playing-card.black{color:#2c3e50}.playing-card.hidden{background:repeating-linear-gradient(45deg,#2c3e50,#2c3e50 10px,#34495e 10px 20px);border:2px solid #fff}.card-top-left{flex-direction:column;align-self:flex-start;align-items:center;font-size:.9rem;line-height:1;display:flex}.card-center{opacity:.5;font-size:1.5rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-bottom-right{flex-direction:column;align-self:flex-end;align-items:center;font-size:.9rem;line-height:1;display:flex;transform:rotate(180deg)}.flip-animation{perspective:1000px;transform-style:preserve-3d;animation:.6s ease-in-out forwards flip-card}@keyframes flip-card{0%{transform:rotateY(180deg)}50%{transform:rotateY(90deg)scale(1.1)}to{transform:rotateY(0)scale(1)}}.flip-temp-back{backface-visibility:hidden;z-index:10;width:100%;height:100%;animation:.6s forwards hide-back;position:absolute;top:0;left:0}@keyframes hide-back{0%,49%{opacity:1}50%,to{opacity:0}}.action-buttons-container{flex-direction:row;justify-content:center;align-items:center;gap:15px;display:flex}.btn-action{color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 25px;font-size:1.1rem;font-weight:700;transition:transform .1s,filter .2s;box-shadow:0 4px 6px #0006}.btn-action:active{transform:translateY(2px)}.btn-action:disabled{cursor:not-allowed;box-shadow:none;color:#777!important;background-color:#444!important}.btn-hit{background-color:#27ae60}.btn-hit:hover:not(:disabled){filter:brightness(1.2)}.btn-stand{background-color:#c0392b}.btn-stand:hover:not(:disabled){filter:brightness(1.2)}.btn-special{background-color:#2980b9}.btn-special:hover:not(:disabled){filter:brightness(1.2)}.game-container{flex-direction:column;align-items:center;padding:1rem 2rem;display:flex}.game-header{border-bottom:1px solid #fff3;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:1000px;padding-bottom:1rem;display:flex}.game-header-top{justify-content:space-between;align-items:center;width:100%;display:flex}.game-header-top h1{color:#fff;margin:0;font-size:1.5rem}.btn-leave{color:#fff;cursor:pointer;background-color:#e74c3c;border:none;border-radius:4px;padding:8px 16px}.game-actions-wrapper{text-align:center;margin:15px 0}.btn-next{color:#fff;cursor:pointer;background-color:#8e44ad;border:none;border-radius:5px;padding:10px 20px;font-weight:700}.btn-next:disabled{cursor:not-allowed;background-color:#555}.table-center-overlay{z-index:50;text-align:center;background:#000000bf;border:1px solid #f1c40f66;border-radius:15px;min-width:380px;padding:25px 40px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 40px #000c}.betting-title{color:#f1c40f;margin-bottom:15px;font-size:1.3rem;font-weight:700}.current-bet-display{color:#fff;margin-bottom:25px;font-size:1.1rem}.current-bet-display span{color:#f1c40f;font-size:1.8rem;font-weight:700}.my-money-info{color:#aaa;margin-top:8px;font-size:.9rem}.chip-buttons{justify-content:center;gap:12px;margin-bottom:25px;display:flex}.chip-btn{color:#fff;cursor:pointer;border:3px dashed #ffffff80;border-radius:50%;justify-content:center;align-items:center;width:55px;height:55px;font-size:.9rem;font-weight:700;transition:transform .1s,filter .1s;display:flex;box-shadow:inset 0 0 10px #00000080,0 5px 10px #0009}.chip-btn:active{transform:translateY(3px)scale(.95)}.chip-btn:hover{filter:brightness(1.2)}.chip-1k{background:#2ecc71;border-color:#27ae60}.chip-10k{background:#3498db;border-color:#2980b9}.chip-50k{background:#e74c3c;border-color:#c0392b}.chip-100k{background:#9b59b6;border-color:#8e44ad}.chip-max{color:#000;background:#f1c40f;border-color:#f39c12}.bet-action-buttons{justify-content:center;gap:15px;display:flex}.btn-reset{color:#fff;cursor:pointer;background-color:#7f8c8d;border:none;border-radius:5px;padding:10px 20px;font-weight:700}.btn-reset:disabled{opacity:.5;cursor:not-allowed}.btn-confirm-bet{background-color:#2ecc71}.btn-confirm-bet:hover{background-color:#27ae60}.betting-completed-text{color:#2ecc71;font-size:1.2rem;font-weight:700}.seat-occupied-badge{color:#ccc;background:#0009;border:1px solid #fff3;border-radius:12px;padding:6px 16px;font-size:.9rem}.is-me .seat-occupied-badge{color:#f1c40f;border-color:#f1c40f;box-shadow:0 0 10px #f1c40f4d}.game-container{padding-bottom:100px}.bottom-action-bar{z-index:1000;background-color:#111;border-top:2px solid #333;justify-content:center;align-items:center;width:100%;height:80px;display:flex;position:fixed;bottom:0;left:0;box-shadow:0 -5px 20px #000c}.action-bar-content{justify-content:center;align-items:center;gap:20px;width:100%;display:flex}.wait-message{color:#aaa;letter-spacing:1px;font-size:1.1rem}.btn-bar-primary{color:#fff;cursor:pointer;background-color:#8e44ad;border:none;border-radius:8px;padding:12px 30px;font-size:1.1rem;font-weight:700;transition:background .2s;box-shadow:0 4px 6px #0000004d}.btn-bar-primary:hover{background-color:#9b59b6}.insurance-bar{background:#e74c3c26;border-radius:30px;padding:10px 30px}.insurance-text{color:#e74c3c;margin-right:15px;font-size:1.1rem;font-weight:700}.btn-bar-accept{color:#fff;cursor:pointer;background-color:#2ecc71;border:none;border-radius:5px;padding:10px 20px;font-weight:700}.btn-bar-decline{color:#fff;cursor:pointer;background-color:#7f8c8d;border:none;border-radius:5px;padding:10px 20px;font-weight:700}.game-container{color:#edf4f0;padding:20px 24px 120px}.game-header-top h1{overflow-wrap:anywhere;text-align:left;font-size:clamp(1rem,2vw,1.5rem)}.game-header-top{gap:16px}.btn-leave{flex-shrink:0}.bottom-action-bar{height:auto;min-height:80px;padding:10px}.insurance-bar{flex-wrap:wrap;gap:8px}@media (width<=760px){.game-container{padding:14px 12px 120px}.game-header{font-size:.8rem}.action-bar-content{gap:6px}.action-buttons-container{flex-wrap:wrap;justify-content:center;gap:6px;margin:0;padding:0}.action-buttons-container .btn-action{padding:10px 12px;font-size:.85rem}}.casino-table-wrapper{aspect-ratio:16/10;background-color:#1a1a1a;border-radius:20px;justify-content:center;align-items:center;width:100%;min-height:600px;margin-top:20px;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px #000000b3}.casino-table{background-color:#0b6623;border:12px solid #5c4033;border-radius:300px 300px 30px 30px;width:95%;height:95%;padding:20px;position:relative;box-shadow:inset 0 0 80px #0009}.dealer-area{z-index:10;width:250px;position:absolute;top:8%;left:50%;transform:translate(-50%)}.players-arc-area{pointer-events:none;position:absolute;inset:0}.seat-slot{pointer-events:auto;z-index:20;justify-content:center;width:150px;display:flex;position:absolute}.pos-0{z-index:100;bottom:12%;left:50%;transform:translate(-50%)}.pos-1{bottom:20%;right:8%}.pos-2{top:45%;right:4%}.pos-3{top:15%;right:18%;transform:scale(.85)}.pos-4{top:15%;left:18%;transform:scale(.85)}.pos-5{top:45%;left:4%}.player-board-clean,.dealer-board-clean{flex-direction:column;align-items:center;width:100%;display:flex;box-shadow:none!important;background:0 0!important;border:none!important}.hands-wrapper{flex-direction:row;justify-content:center;align-items:flex-end;gap:15px;display:flex}.hand-container{flex-direction:column;align-items:center;display:flex}.cards-overlap{flex-direction:row;justify-content:center;margin-bottom:5px;display:flex}.card-slot{z-index:1;will-change:transform, opacity;margin-left:-40px;transition:transform .2s;animation:.4s cubic-bezier(.25,.8,.25,1) forwards fly-from-shoe}.card-slot:first-child{margin-left:0}.blackjack-highlight{color:#f1c40f;text-shadow:0 0 8px #f1c40fcc;margin-left:5px;font-weight:700}.card-shoe{z-index:15;background-color:#1a1a1a;border:3px solid #333;border-radius:8px;flex-direction:column;justify-content:flex-end;width:55px;height:110px;display:flex;position:absolute;top:5%;right:5%;overflow:hidden;transform:rotate(-45deg);box-shadow:10px 10px 20px #0009}.cut-card-line{z-index:5;background-color:#e74c3c;width:100%;height:3px;position:absolute;bottom:25%;left:0}.card-shoe-deck{z-index:2;background:repeating-linear-gradient(0deg,#fff,#fff 2px,#ccc 2px 4px);width:100%;transition:height .3s ease-out}@keyframes fly-from-shoe{0%{opacity:0;transform:translate(50vw,-50vh)scale(.2)rotate(45deg)}to{opacity:1;transform:translate(0)scale(1)rotate(0)}}.cards-overlap .card-slot{will-change:transform, opacity;animation:.4s cubic-bezier(.2,.8,.2,1) forwards fly-from-shoe}.playing-hand-highlight{position:relative}.playing-hand-highlight:after{content:"";pointer-events:none;z-index:0;border:3px solid #2ecc71;border-radius:12px;animation:1.5s infinite pulse-border;position:absolute;inset:-15px -25px -10px}@keyframes pulse-border{0%{opacity:.8;box-shadow:0 0 10px #2ecc7166}50%{opacity:1;box-shadow:0 0 25px #2ecc71}to{opacity:.8;box-shadow:0 0 10px #2ecc7166}}.dimmed-cards{filter:brightness(.6)grayscale(.4)}.result-stamp{text-transform:uppercase;opacity:0;z-index:50;pointer-events:none;border:4px solid;border-radius:8px;padding:5px 15px;font-size:2.2rem;font-weight:900;animation:.5s ease-out forwards stamp-bang;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)rotate(-15deg)scale(3)}@keyframes stamp-bang{0%{opacity:0;transform:translate(-50%,-50%)rotate(-15deg)scale(3)}50%{opacity:1;transform:translate(-50%,-50%)rotate(-15deg)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)rotate(-15deg)scale(1)}}.stamp-win{color:#f1c40f;text-shadow:0 0 10px #f1c40fcc;background:#f1c40f1a;border-color:#f1c40f;box-shadow:0 0 15px #f1c40f66}.stamp-lose{color:#e74c3c;background:#e74c3c1a;border-color:#e74c3c}.stamp-push{color:#3498db;background:#3498db1a;border-color:#3498db}.stamp-gray{color:#95a5a6;background:#95a5a61a;border-color:#95a5a6}.status-badge{color:#fff;background:#092d22e8;border:1px solid #7ca68c55;border-radius:8px;padding:5px 9px;font-size:.8rem;line-height:1.5}.bottom-badge{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px;display:flex}.hands-wrapper{flex-wrap:wrap;max-width:360px}.casino-table-wrapper{min-height:560px}@media (width<=760px){.casino-table-wrapper{aspect-ratio:auto;min-height:440px;overflow:visible}.casino-table{border-width:6px;border-radius:90px 90px 20px 20px;width:100%;height:auto;min-height:440px;padding:20px 12px}.dealer-area{margin:0 auto 35px;position:relative;top:auto;left:auto;transform:none}.players-arc-area{flex-wrap:wrap;justify-content:center;gap:24px 12px;padding-top:30px;display:flex;position:relative}.seat-slot{width:calc(50% - 12px);min-width:130px;position:relative;inset:auto;transform:none}.pos-0{order:10;width:100%}.table-center-overlay{width:100%;min-width:0;margin:12px auto;padding:18px 10px;position:relative;top:auto;left:auto;transform:none}.chip-buttons{flex-wrap:wrap;gap:8px}.card-shoe{transform-origin:100% 0;transform:rotate(-25deg)scale(.65)}}.auth-container{color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:40px 20px;display:flex}.auth-container h1{color:#f1c40f;margin-bottom:1rem;font-size:2rem}.auth-container p{color:#bdc3c7;font-size:1.1rem}.auth-form{flex-direction:column;gap:15px;width:100%;max-width:350px;margin-top:20px;display:flex}.auth-input{color:#fff;background-color:#34495e;border:1px solid #7f8c8d;border-radius:5px;outline:none;padding:12px;font-size:1rem}.auth-input:focus{border-color:#f1c40f}.auth-button{color:#fff;cursor:pointer;background-color:#27ae60;border:none;border-radius:5px;padding:12px;font-size:1.1rem;font-weight:700;transition:background-color .2s}.auth-button:hover{background-color:#2ecc71}.auth-link{color:#3498db;cursor:pointer;margin-top:20px;font-size:.9rem;text-decoration:underline}.auth-link:hover{color:#2980b9}
