@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap');*{box-sizing:border-box}body{margin:0;background:#f4f3ee;color:#1d2924;font:14px 'DM Sans','Noto Sans SC',sans-serif}button,input{font:inherit}button{cursor:pointer}header{height:74px;background:#fff;display:flex;align-items:center;padding:0 6%;border-bottom:1px solid #e8ebe6;gap:80px}.brand{display:flex;align-items:center;gap:10px;letter-spacing:1.7px;font-weight:700;font-size:13px}.brand i{display:grid;place-items:center;background:#153e31;color:#d3bd7e;width:37px;height:37px;font-size:21px;font-style:normal}.brand small{display:block;font-size:8px;letter-spacing:2.5px;color:#8b9991}nav{height:100%;display:flex;gap:38px;align-items:center}nav b{height:100%;display:grid;place-items:center;border-bottom:2px solid #244c3a;color:#244c3a}nav button{border:0;background:none;color:#849087}.header-right{margin-left:auto;color:#67776d;font-size:12px}.header-right span{color:#72a17a;font-size:9px}#reset{margin-left:20px;background:#fff;border:1px solid #dce2dc;padding:9px 15px;color:#55665b;border-radius:4px}main{max-width:1440px;margin:auto;padding:37px 6% 0}.intro{display:flex;align-items:end;justify-content:space-between;margin-bottom:27px}label{font-size:10px;letter-spacing:2px;font-weight:700;color:#9b8553}h1{font-family:Georgia,'Noto Sans SC',serif;font-size:29px;letter-spacing:1px;margin:10px 0 8px}h1 span{color:#bb9d5e}.intro p{margin:0;color:#8b968e;font-size:12px}.meta{display:flex;gap:45px;color:#a5afa7;font-size:10px}.meta strong{display:block;margin-top:8px;color:#1d2924;font-size:12px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:18px}.table-wrap{background:#102a22;border-radius:5px;overflow:hidden;box-shadow:0 8px 20px #1b302217}.table-header,.table-footer{height:43px;color:#9eb0a4;display:flex;justify-content:space-between;align-items:center;padding:0 24px;font-size:9px;letter-spacing:1px}.table{height:452px;padding:0 24px}.felt{height:100%;position:relative;border:11px solid #3c3026;border-radius:200px;background:radial-gradient(ellipse at center,#28634b,#174c39 65%,#103c2e);box-shadow:inset 0 0 0 2px #877050,inset 0 0 55px #081e15,0 0 0 2px #7f684d}.felt:after{content:'';position:absolute;inset:14px;border:1px solid #ffffff18;border-radius:190px;pointer-events:none}.player{position:absolute;display:flex;align-items:center;gap:9px;z-index:1}.opponent{top:24px;left:50%;transform:translateX(-50%)}.human{bottom:18px;left:14%}.avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:2px solid #b49c65;background:#d5c49c;color:#284638;font-size:19px;font-weight:700}.avatar.opp{background:#b6bfc0;color:#374c47}.playerbox{background:#112c23e8;border:1px solid #ffffff20;border-radius:4px;padding:8px 12px;min-width:110px;color:#f5f5ed}.playerbox b{font-size:11px}.playerbox small{display:block;font-size:10px;color:#90a89a;margin-top:5px}.playerbox small strong{color:#e2c886;margin-left:5px}.playerbox em{font-style:normal;font-size:8px;color:#ddc68e;background:#ffffff15;padding:2px 4px;margin-left:8px}.dealer{border-radius:50%;background:#f7efdb;color:#26382e;font-weight:bold;font-size:10px;display:grid;place-items:center;width:21px;height:21px}.opp-cards,.my-cards{position:absolute;display:flex;gap:5px;z-index:2}.opp-cards{top:83px;left:50%;transform:translateX(-50%)}.my-cards{bottom:25px;left:45%}.card{width:49px;height:68px;background:#fbfaf5;border-radius:4px;box-shadow:0 3px 6px #071e1780;display:flex;flex-direction:column;padding:5px 6px;font-family:Georgia,serif;font-size:19px;font-weight:bold;color:#1e3028;line-height:1}.card.red{color:#bd554b}.card .suit{font-size:19px;align-self:center;margin-top:4px}.card.back{background:repeating-linear-gradient(45deg,#d5bf8a 0 1px,#193c30 1px 4px);border:4px solid #f5f0df}.card.empty{background:#ffffff0a;border:1px solid #ffffff38;box-shadow:none}.center{position:absolute;top:144px;left:50%;transform:translateX(-50%);text-align:center;width:80%;color:#fff}.pot-label{font-size:10px;color:#afc2b5;letter-spacing:2px}.pot{margin:7px 0 14px;font-size:20px;color:#dec47f}.pot b{color:white}.board{display:flex;justify-content:center;gap:7px}.stage{font-size:9px;color:#c2ad78;letter-spacing:2px;margin-top:12px}.message{font-size:11px;color:#c7d4ca;margin-top:7px}.bet{position:absolute;color:#e5d19b;font-size:10px;background:#102e25bb;border-radius:20px;padding:5px 9px}.oppbet{top:120px;right:23%}.mybet{bottom:100px;left:29%}.table-footer{height:37px;color:#7f9a89;font-size:8px}aside{background:#fff;border:1px solid #e8ece6;border-radius:5px;padding:22px;min-height:532px}.side-title{display:flex;justify-content:space-between}.side-title h2{font-size:16px;margin:7px 0 22px}.side-title>span{color:#b9a06a;font-size:21px}.balance{background:#f4f6f1;padding:15px;border-radius:4px}.balance small,.balance strong{display:block}.balance small{font-size:10px;color:#a6b0a7}.balance strong{font-size:26px;margin:7px 0 2px;color:#284a39}.row{display:flex;justify-content:space-between;margin-top:18px;font-size:11px;color:#93a098}.row b{color:#354b3d}.line{height:1px;background:#edf0eb;margin:23px 0}.loghead{font-size:12px;font-weight:bold}.loghead span{float:right;color:#7da482;font-size:9px}#log{height:105px;overflow:auto;color:#8b9a90;font-size:10px;line-height:2}.hint{background:#faf8f1;padding:13px;display:flex;gap:10px;color:#b19a63}.hint p{margin:0;color:#94a096;font-size:10px;line-height:1.7}.hint b{color:#526b59}.actionbar{background:#fff;border:1px solid #e8ece6;border-radius:5px;margin-top:16px;padding:19px 24px;display:flex;justify-content:space-between;align-items:center}.action-title label,.action-title b,.action-title small{display:block}.action-title b{font-size:14px;margin:4px 0}.action-title small{font-size:10px;color:#9aa69e}.actions{display:flex;gap:8px}.actions button{border-radius:4px;padding:13px 21px;font-weight:700;font-size:12px;border:1px solid #dce3dd;background:white;color:#718078}#call{background:#e9eee9;color:#284d39}.raise{display:flex;border:1px solid #244b38;border-radius:4px;overflow:hidden}.raise input{width:70px;border:0;padding:0 8px;outline:0;color:#284d39}.raise button,#next{border:0;background:#244b38;color:white}#allin{background:#b39a63;border-color:#b39a63;color:white}button:disabled{opacity:.4;cursor:not-allowed}footer{display:flex;justify-content:space-between;padding:28px 0;color:#a4afa7;font-size:9px;letter-spacing:1px}dialog{max-width:470px;border:0;border-radius:8px;padding:32px;box-shadow:0 20px 100px #0005;color:#35483d;line-height:1.9}dialog::backdrop{background:#0a2118aa}dialog button{float:right;border:0;background:none;font-size:18px}dialog p{font-size:13px}@media(max-width:850px){header{gap:25px;padding:0 4%}.header-right{font-size:0}.header-right button{font-size:11px}.intro{align-items:start}.meta{gap:15px}.layout{grid-template-columns:1fr}.table{height:410px}aside{min-height:0}#log{height:70px}.actionbar{align-items:start;gap:15px;flex-direction:column}.actions{flex-wrap:wrap}.human{left:8%}.my-cards{left:53%}footer span:last-child{display:none}}@media(max-width:500px){nav{gap:15px}.brand small{display:none}.brand{font-size:10px}.intro{display:block}.meta{margin-top:22px}.table{height:365px;padding:0 8px}.felt{border-width:7px}.opponent{top:15px}.opp-cards{top:68px}.center{top:125px}.card{width:39px;height:56px;font-size:15px}.card .suit{font-size:15px}.human{bottom:13px;left:5%}.playerbox{min-width:85px;padding:6px}.avatar{width:34px;height:34px}.my-cards{bottom:20px;left:57%}.actions button{padding:12px}.raise input{width:55px}.table-header,.table-footer{padding:0 12px}}
.meta select{border:0;background:transparent;color:#1d2924;font-weight:bold;font-size:12px;cursor:pointer}.botseat{position:absolute;z-index:3;display:flex;flex-direction:column;align-items:center;transform:translate(-50%,-50%);gap:3px}.botseat .player{position:static;transform:none;gap:4px}.botseat .avatar{width:31px;height:31px;font-size:15px}.botseat .playerbox{min-width:83px;padding:5px 7px}.botseat .playerbox small{margin-top:2px}.botseat .card{width:30px;height:40px;font-size:12px;padding:3px}.botseat .card .suit{font-size:12px;margin-top:1px}.botseat .cards{display:flex;gap:2px}.botseat .botbet{font-size:9px;color:#e5d19b;background:#102e25cc;padding:3px 6px;border-radius:10px}.botseat.folded{opacity:.55}.botseat .dealer{width:17px;height:17px}.center{top:145px}.human{z-index:4}.my-cards{z-index:4}@media(max-width:500px){.botseat .avatar{display:none}.botseat .playerbox{min-width:62px;padding:4px}.botseat .playerbox b,.botseat .playerbox small{font-size:9px}.botseat .card{width:23px;height:32px}.center{top:124px}}
[hidden]{display:none!important}.lobby{max-width:1160px;margin:auto;padding:55px 35px}.lobby-intro{margin-bottom:35px}.lobby-intro h1{font-size:36px}.lobby-intro p,.lobby-note{color:#8b968e}.lobby-grid{display:grid;grid-template-columns:340px 1fr;gap:24px}.create-panel,.rooms-panel{background:#fff;border:1px solid #e2e8df;border-radius:8px;padding:28px}.lobby h2{font-size:22px;margin:10px 0 25px}.field-label{display:block;color:#536959;letter-spacing:0;font-size:12px;margin:16px 0 8px}.lobby input,.lobby select{width:100%;padding:12px;border:1px solid #dce4da;border-radius:4px;background:#fff;color:#263d2c;font:inherit}.primary{border:0;border-radius:4px;background:#254e39;color:#fff;font:inherit;padding:13px 22px;cursor:pointer}.create-panel .primary{width:100%;margin-top:24px}.muted{color:#8d9c91;font-size:12px}.room-list-title{display:flex;justify-content:space-between;align-items:center}.room-list-title button,.room-banner button{background:white;border:1px solid #d9e1d6;border-radius:4px;padding:8px 13px;color:#426047}.join-code{display:flex;gap:8px;margin-bottom:25px}.join-code input{flex:1;min-width:0}.join-code button,.room-card button{border:0;border-radius:4px;background:#e7eee5;color:#2d5137;padding:10px 20px;white-space:nowrap}.room-card{border:1px solid #e6ebe2;border-radius:5px;display:flex;justify-content:space-between;align-items:center;padding:18px;margin:12px 0}.room-card h3{margin:0 0 7px;font-size:16px}.room-card small{color:#91a08e}.empty-rooms{padding:40px 15px;text-align:center;background:#f6f7f1;color:#8e9c8c;line-height:2;border-radius:5px}.lobby-note{text-align:center;font-size:12px;margin-top:35px}.room-banner{max-width:1268px;margin:20px auto 0;display:flex;justify-content:space-between;align-items:center;padding:0 25px;color:#536b56;font-size:12px}.room-banner button{margin-left:6px}.waiting{max-width:900px;margin:50px auto;text-align:center;padding:30px}.waiting>p{color:#81927f}.waiting .primary{margin-top:25px}#seatList{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:35px 0}.waiting-seat{border:1px solid #dde4d6;background:white;border-radius:8px;padding:22px 25px;min-width:130px}.waiting-seat b{display:block;margin:12px 0}.waiting-seat span{font-size:25px}.waiting-seat small{color:#82957e}.waiting-seat.empty{opacity:.55;border-style:dashed}.room-banner #roomTitle{font-weight:700}.botseat.current .playerbox{outline:2px solid #d1b46a}.playerbox em{font-size:7px}#toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:100;background:#193d2b;color:white;padding:12px 24px;border-radius:5px;box-shadow:0 5px 25px #0003;display:none}#connection{margin-left:14px;color:#899c83;font-size:11px}#gameMain .intro{gap:15px}.message{max-height:45px;overflow:auto}.botseat .botbet{max-width:130px}.header-right{white-space:nowrap}@media(max-width:650px){.lobby{padding:30px 20px}.lobby-grid{grid-template-columns:1fr}.lobby-intro h1{font-size:27px}.room-banner{gap:10px;align-items:flex-start}.room-banner>div{display:flex;gap:5px}.room-banner button{font-size:10px;padding:7px}.waiting{padding:20px;margin-top:25px}.waiting h1{font-size:24px}header{gap:15px}.header-right{font-size:0}.room-card{padding:13px}.room-card button{padding:10px}.lobby h2{font-size:20px}}
.round-guide{display:flex;flex-direction:column;gap:7px;background:#e9eee5;border:1px solid #d7e1ce;border-left:4px solid #b39a63;border-radius:5px;padding:14px 18px;margin:0 0 16px;color:#294d34}.round-guide strong{font-size:14px}.round-guide>span{font-size:12px;color:#5a715c;line-height:1.7}.card.empty{justify-content:center;align-items:center;color:#b4c7b4;font-family:inherit;font-weight:500;gap:8px}.card.empty .slot-title{font-size:11px;letter-spacing:1px}.card.empty small{font-size:9px;color:#8fae96}.stage{letter-spacing:1px}.message{line-height:1.7}@media(max-width:500px){.round-guide{padding:12px}.round-guide strong{font-size:12px}.round-guide>span{font-size:11px}.card.empty .slot-title{font-size:10px}.card.empty small{font-size:8px}}
