:root{color-scheme:dark;--bg:#101015;--panel:#1b1b22;--line:#343039;--text:#f4eedf;--muted:#b0a99c;--gold:#d6b56c;--deep:#4b3920;--green:#a6c2af;--red:#eb9993;font:15px/1.6 system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 0,#30251b 0,transparent 50%),var(--bg);color:var(--text);min-height:100dvh}button,input,select{font:inherit}button{min-height:44px;cursor:pointer;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);padding:10px 17px;touch-action:manipulation;transition:transform .15s,background .15s}button:hover{border-color:var(--gold)}button:active{transform:scale(.97)}button:disabled{opacity:.45;cursor:not-allowed}input,select{background:#111116;border:1px solid #55505a;border-radius:12px;color:var(--text);width:100%;padding:13px 15px;min-height:48px;font-size:16px}label{display:block;color:var(--muted);font-size:13px}label input{margin:8px 0 16px}a{color:inherit;text-decoration:none}.topbar{height:85px;max-width:1140px;margin:auto;padding:15px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff0c}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700}.brand small{display:block;font-size:9px;letter-spacing:2px;color:var(--gold)}.emblem{display:grid;place-items:center;width:42px;height:48px;border:1px solid #ad8b4c;border-radius:12px;background:#b08c3220;font-size:27px;color:var(--gold)}.header-meta{display:flex;align-items:flex-end;flex-direction:column;font-size:11px;gap:3px}.connection{color:#b6aaa0}.connection.online{color:var(--green)}.connection.online:before{content:'●';font-size:8px;margin-right:5px}.identity{color:#9b948b;font-variant-numeric:tabular-nums}h1,h2,p{margin-top:0}h1{line-height:1.25;font-size:38px;letter-spacing:-1px;margin-bottom:15px}h2{font-size:18px}.eyebrow{font-size:10px;color:var(--gold);letter-spacing:3px;margin-bottom:14px}.muted,.small-muted{color:var(--muted)}.small-muted{font-size:12px}.panel{background:linear-gradient(140deg,#242229,#1a191e);border:1px solid #42382a;border-radius:20px;padding:24px}.primary{background:linear-gradient(110deg,#e2c382,#c59b4e);color:#241a0c;border-color:#d6b56c;font-weight:750}.secondary{background:#26242a}.welcome{max-width:430px;padding:42px 24px;margin:auto}em{font-style:normal;color:var(--gold)}.hero-cards{padding:14px 0 34px}.hero-cards .cards{transform:rotate(-4deg)}.welcome button{width:100%;display:flex;justify-content:space-between}.welcome footer,.lobby footer{font-size:11px;color:#8f887c;text-align:center;padding:30px 0}.lobby{max-width:860px;margin:auto;padding:45px 25px}.lobby-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0 15px}.lobby-grid button.primary,.lobby-grid button.secondary{width:100%;margin-top:12px}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:18px}.section-title h2{margin:0}.number{font:11px monospace;color:var(--gold);border:1px solid var(--line);border-radius:8px;padding:4px 7px}.badge{font-size:11px;background:#d3ad5d17;color:var(--gold);padding:3px 8px;border:1px solid #b08b3444;border-radius:6px;white-space:nowrap}.section-title .badge{margin-left:auto}.segments{display:flex;gap:8px}.segments button{flex:1;padding:10px 5px}.segments .selected{background:#6c52223b;border-color:var(--gold);color:#f8dfad}.segments strong{font-size:22px}.rule-strip{padding-top:18px;font-size:12px;color:var(--muted)}.lobby-links{display:flex;gap:8px;margin:10px 0 24px}.lobby-links button{background:transparent;font-size:12px}.rules{font-size:12px;color:var(--muted);padding:15px 20px;margin:15px 0}.rules summary{cursor:pointer;color:var(--text)}.rules p{margin:14px 0 0}.room-page{max-width:1100px;padding:20px 25px 120px;margin:auto}.room-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-heading h1{font-size:23px;margin:0}.room-heading .eyebrow{font-size:9px}.room-links{display:flex;gap:8px}.room-links button{font-size:12px;padding:6px 12px}.table-meta{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);margin:16px 0}.table{position:relative;min-height:490px;border:1px solid #7b623750;border-radius:32px;background:radial-gradient(ellipse at 50% 60%,#322e27,#1a1a20 70%);box-shadow:inset 0 0 0 7px #141419,0 20px 70px #0003;padding:20px;overflow:hidden}.opponents{display:flex;justify-content:space-around;gap:12px;flex-wrap:wrap;position:relative;z-index:1}.seat{flex:1;min-width:110px;max-width:165px;display:flex;align-items:center;flex-direction:column;padding:10px 5px;border-radius:17px;border:1px solid transparent;font-size:13px}.seat strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat small{font-size:10px;color:var(--muted)}.seat.acting{border-color:#dab36d;background:#d4b1720e;box-shadow:0 0 20px #d6b56c0f}.seat.folded{opacity:.55}.avatar{width:38px;height:38px;display:grid;place-items:center;background:#40372a;border-radius:13px;color:#e4c583;font-weight:700;margin-bottom:5px}.seat-score{color:var(--gold);font-weight:700}.seat.empty{justify-content:center;color:#77705f;border:1px dashed #554934}.seat.empty>span{font-size:30px}.table-center{display:flex;align-items:center;flex-direction:column;min-height:160px;justify-content:center;margin:14px 0}.table-brand{color:#b59e6c65;letter-spacing:3px;font-size:9px;margin-bottom:10px}.pot-label{font-size:11px;color:var(--muted)}.pot{font-size:44px;font-weight:600;color:#e5c682;line-height:1.2}.table-center .muted{font-size:12px}.clock{border:1px solid #756445;border-radius:99px;padding:2px 14px;font-size:13px;color:var(--gold);margin-top:9px}.urgent{color:#f8aaa1}.waiting-symbol{color:#716144;font-size:38px}.table-center h2{font-size:19px;margin:4px 0}.round-change{color:#e9cc94;font-size:31px}.self-seat{position:relative;z-index:1;max-width:330px;margin:auto}.self-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:13px}.self-info b span{font-size:10px;background:#514328;padding:2px 5px;border-radius:4px}.self-info strong{color:var(--gold);font-size:18px}.self-info small{font-size:10px;font-weight:400;color:var(--muted)}.cards{display:flex;gap:8px;justify-content:center;perspective:800px}.card{width:76px;height:108px;border-radius:9px;background:linear-gradient(150deg,#fffef9,#e2dbcf);box-shadow:0 5px 9px #0005;border:1px solid #c6bfae;position:relative;display:inline-flex;padding:7px;color:#24232a;overflow:hidden}.card:nth-child(2){animation-delay:.07s}.card:nth-child(3){animation-delay:.14s}.card b{font-size:21px;line-height:1.05}.card b small{display:block;font-size:18px}.card i{font-style:normal;position:absolute;bottom:9px;right:12px;font-size:37px}.card.red{color:#b53938}.card.back{background:repeating-linear-gradient(45deg,#34303a,#34303a 3px,#292631 3px,#292631 7px);border:2px solid #a88b51;box-shadow:inset 0 0 0 5px #211d25,0 5px 9px #0005;display:grid;place-items:center}.card.back span{color:#c5a669;font-size:43px;text-shadow:0 1px 2px #000}.card.small{width:30px;height:43px;border-radius:4px;padding:3px;animation:none}.card.small b{font-size:11px}.card.small b small{font-size:9px;color:inherit}.card.small i{font-size:14px;right:3px;bottom:2px}.card.back.small span{font-size:17px}.mini{gap:3px;margin:7px 0 3px}.self-caption{text-align:center;color:var(--muted);font-size:11px;margin:12px 0 0}.action-feed{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;color:#c5bcaa;font-size:11px;margin:10px 0}.bottom-actions{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1100px);z-index:5;background:#141419f5;backdrop-filter:blur(10px);border:1px solid #665336;border-radius:20px 20px 0 0;padding:13px 20px calc(13px + env(safe-area-inset-bottom));display:flex;justify-content:center;align-items:center;gap:9px;box-shadow:0 -6px 40px #0004}.bottom-actions button{min-width:85px}.look{background:#40372a;color:#f8da9d}.rank-row{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #ffffff0b}.rank-row small{display:block;color:var(--muted);font-size:10px}.rank-row>strong{margin-left:auto;font-size:20px}.rank-no{color:var(--gold);font-size:18px}.win{color:#dcca92}.loss{color:#daaaa5}.results{margin-top:18px}.notice{background:#4f391d;border:1px solid #ad873d70;color:#f7dfb6;padding:12px 16px;border-radius:12px;margin-bottom:16px;font-size:13px}.notice strong{display:block}.notice span{font-size:12px}.loading{padding:80px 20px;text-align:center;color:var(--gold)}#toast{position:fixed;top:15px;left:50%;transform:translateX(-50%) translateY(-150px);transition:.2s;z-index:100;background:#f0d9a8;color:#30240f;border-radius:10px;padding:12px 22px;max-width:90vw;box-shadow:0 4px 30px #0006;font-size:14px}#toast.visible{transform:translateX(-50%) translateY(0)}dialog{color:var(--text);border:1px solid var(--gold);background:var(--panel);border-radius:20px;width:min(90vw,490px);max-height:85dvh;padding:25px}dialog::backdrop{background:#000b}dialog button{margin:5px;width:calc(100% - 10px)}dialog p{font-size:13px}.text-button{border:0;background:transparent;color:var(--muted)}:focus-visible{outline:2px solid #efd38d;outline-offset:3px}@keyframes deal-in{from{opacity:0;transform:translateY(-15px) rotateY(45deg)}to{opacity:1;transform:none}}@media(max-width:650px){.topbar{height:72px;padding:12px 18px}.brand{font-size:17px;gap:9px}.emblem{width:34px;height:40px}.lobby{padding:30px 18px}h1{font-size:32px}.lobby-grid{grid-template-columns:1fr;gap:14px}.panel{padding:20px}.room-page{padding:16px 12px 125px}.room-heading h1{font-size:18px}.room-links button{min-height:36px;padding:5px 8px;font-size:11px}.table-meta{font-size:10px;gap:4px}.table{padding:14px 10px;border-radius:24px;min-height:480px}.opponents{gap:5px}.seat{min-width:85px;max-width:130px;font-size:11px;padding:7px 2px}.avatar{width:30px;height:30px;border-radius:10px}.seat small{font-size:9px}.table-center{min-height:115px;margin:9px 0}.pot{font-size:36px}.self-seat{max-width:270px}.card{width:65px;height:92px}.card.small{width:25px;height:36px}.mini{gap:2px}.bottom-actions{padding:10px 10px calc(10px + env(safe-area-inset-bottom));gap:5px;flex-wrap:wrap}.bottom-actions button{padding:9px 10px;min-width:56px;font-size:12px;flex:1}.bottom-actions .muted{font-size:12px}.rules{padding:12px 15px}.opponents:has(.seat:nth-child(4)) .seat{flex:0 0 30%;min-width:0}.opponents:has(.seat:nth-child(4)){justify-content:space-evenly}.action-feed{font-size:10px;gap:8px}.welcome{padding-top:32px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.card.animate:not(.small){animation:deal-in .3s ease-out both}
@media(max-width:650px){.opponents:has(.seat:nth-child(4)) .mini{display:none}.opponents:has(.seat:nth-child(4)) .seat{padding:5px 2px}.opponents:has(.seat:nth-child(4)) .avatar{width:27px;height:27px;margin-bottom:2px}.table{min-height:0}.table-center{min-height:100px}.self-caption{margin-bottom:5px}}
@media(max-width:650px) and (max-height:740px){.topbar{height:64px}.room-page{padding-top:10px}.table-center{min-height:75px;margin:5px 0}.table-brand{margin-bottom:4px}.self-seat .card{height:80px;width:58px}.self-seat .card i{font-size:27px}.table-center .pot{font-size:30px}.table-meta{margin:10px 0}}
