@charset "UTF-8";
:root{--page:#f4f3eb;--paper:#fffdf7;--ink:#304b3e;--muted:#647064;--accent:#46694d;--accent-soft:#e4ead9;--line:#d9ded0;--field:#dbe3cf;--field-deep:#bacbab;--tile:#fffdf2;--tile-side:#babfac;--tile-edge:#d4d5bd;--gold:#a48649;--shadow:0 18px 58px #3d52370d;--sans:Arial,"Microsoft YaHei",sans-serif;--serif:Georgia,"Songti SC",SimSun,serif}
*{box-sizing:border-box}body{margin:0;background:var(--page);color:var(--ink);font:15px/1.6 var(--sans)}body[data-theme=tea]{--page:#edf1eb;--paper:#f9fbf5;--ink:#294f4e;--muted:#597270;--accent:#3e7770;--accent-soft:#dceae1;--line:#ceded5;--field:#bfd5cc;--field-deep:#91b3aa;--tile:#f0f7ed;--tile-side:#8cafa0;--tile-edge:#b2c8b8;--gold:#947b53}button,input{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button{transition:background .18s,transform .18s,box-shadow .18s}svg{width:22px;height:22px;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;text-wrap:balance}p{text-wrap:pretty}button svg{vertical-align:middle}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:20px;padding:12px;background:var(--paper);z-index:100}.skip:focus{top:12px}
.header{max-width:1360px;margin:auto;padding:24px 40px;display:flex;align-items:center;gap:44px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:38px/.9 var(--serif);letter-spacing:-1.5px;flex-shrink:0}.brand small{display:block;font:10px/1 var(--sans);letter-spacing:2px;margin-top:9px}.brand-mark{width:44px;height:46px;border-radius:15px 15px 15px 4px;background:var(--accent);color:var(--paper);display:grid;place-items:center}.brand-mark svg{width:29px;height:29px}.header nav{display:flex;gap:20px}.nav-link{border:0;background:none;padding:12px 0;min-height:44px;font-size:14px;color:var(--muted);white-space:nowrap}.nav-link.active{color:var(--ink);box-shadow:0 2px var(--gold)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:20px}.theme-switch{display:flex;border:1px solid var(--line);padding:4px;border-radius:30px;background:var(--paper)}.theme-switch button{border:0;border-radius:24px;background:none;min-height:36px;padding:7px 13px;font-size:12px;white-space:nowrap}.theme-switch button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:11px 22px;border:1px solid var(--accent);border-radius:9px;background:var(--accent);color:var(--paper);text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap}.button:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 12px #304b3e18}.button.secondary{background:var(--paper);color:var(--accent);border-color:var(--line)}.button.ghost{background:none;color:var(--accent);border-color:transparent}.button.small{min-height:42px;padding:9px 16px;font-size:13px}.button.gold{background:#8c7139;border-color:#8c7139}.icon-button{border:0;background:transparent;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;flex-shrink:0}.icon-button:hover{background:var(--accent-soft)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:600;color:var(--accent)}.muted{color:var(--muted)}.small-text{font-size:12px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:1px solid var(--line);border-radius:30px;font-size:11px;white-space:nowrap;color:var(--muted)}.chip.dot:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--gold)}
main{max-width:1256px;padding:0 36px;margin:auto;min-height:70vh}main:focus{outline:none}.loading{padding:100px 0;text-align:center}.hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:52px 0 43px}.hero h1{font-size:43px;line-height:1.45;letter-spacing:1px;margin:18px 0}.hero-copy>p{color:var(--muted);font-size:15px;line-height:1.9;max-width:405px}.hero-actions{display:flex;gap:12px;margin-top:27px}.hero-note{display:flex;gap:19px;align-items:center;margin-top:25px;font-size:12px;color:var(--muted)}.hero-note span{display:flex;align-items:center;gap:7px}.hero-note svg{width:17px;height:17px}.hero-art{min-height:305px;position:relative;border-radius:120px 16px 100px 16px;background:var(--field);isolation:isolate;border:8px solid var(--paper);box-shadow:var(--shadow);overflow:hidden}.hero-art>img{position:absolute;width:100%;height:100%;object-fit:cover;z-index:-1;opacity:.85}.art-tiles{position:absolute;inset:70px 0 0;display:flex;align-items:center;justify-content:center;gap:6px;transform:rotate(-9deg)}.art-tiles .tile{width:71px;height:94px;box-shadow:1px 7px 0 var(--tile-side),5px 16px 22px #304b3e25}.art-tiles .tile:nth-child(2){transform:translateY(-12px)}.art-caption{position:absolute;bottom:20px;right:28px;font:italic 17px var(--serif);color:#365a47}.lobby-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:27px 0}.lobby-bar h2{font-size:25px;margin:0 0 3px}.lobby-bar p{font-size:12px;color:var(--muted);margin:0}.join-form{display:flex;gap:9px;align-items:end}.join-form label{font-size:12px;color:var(--muted)}.join-form input{width:170px;margin-top:5px;font-size:16px;letter-spacing:3px}.join-form .button{margin-bottom:1px}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:35px}.game-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow);min-width:0;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.game-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #304b3e12}.game-card-top{display:flex;justify-content:space-between;align-items:center}.game-card-top .number{font:italic 18px var(--serif);color:var(--gold)}.game-art{display:flex;justify-content:center;align-items:center;height:116px;gap:5px;margin:10px 0 16px;background:radial-gradient(ellipse at center,var(--accent-soft),transparent 70%)}.game-art .tile{width:43px;height:57px;transform:rotate(-12deg)}.game-art .tile:nth-child(2){transform:translateY(-5px);z-index:1}.game-art .tile:nth-child(3){transform:rotate(12deg)}.game-art .poker{width:50px;height:71px;transform:rotate(-12deg)}.game-art .poker:nth-child(2){transform:translateY(-4px);margin-left:-18px}.game-art .poker:nth-child(3){transform:rotate(12deg);margin-left:-18px}.game-card h3{font-size:24px;line-height:1.4;margin:0 0 9px}.game-card>p{font-size:13px;color:var(--muted);line-height:1.8;min-height:46px;margin-bottom:17px}.game-card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:17px;margin-top:auto}.text-link{border:0;background:none;color:var(--muted);font-size:12px;min-height:44px;text-decoration:underline;text-underline-offset:4px}.lobby-note{display:flex;gap:15px;align-items:center;background:var(--accent-soft);padding:20px 24px;border-radius:12px;font-size:13px;margin:25px 0 45px}.lobby-note p{margin:0}.resume{margin-top:24px;padding:16px 22px;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--paper)}footer{max-width:1256px;margin:30px auto 0;padding:25px 36px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted)}footer a{text-decoration:none}.connection{background:#f4e5be;padding:10px;text-align:center;font-size:13px;color:#664c21}
/* Shared porcelain tiles and playing cards. */
.tile{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;vertical-align:middle;width:49px;height:65px;padding:2px;border:1px solid var(--tile-edge);border-radius:6px;background:linear-gradient(135deg,#fffef9,var(--tile));box-shadow:0 4px 0 var(--tile-side),0 5px 6px #304b3e12;position:relative}.tile>svg{width:100%;height:100%}.tile.mini{width:24px;height:32px;border-radius:3px;padding:0;box-shadow:0 2px 0 var(--tile-side)}.tile.back{background:var(--tile)}.tile.selected{transform:translateY(-13px);outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 4px 0 var(--accent),0 8px 12px #304b3e25}.tile.drawn{margin-left:10px}.poker{display:inline-block;vertical-align:middle;flex-shrink:0;position:relative;width:68px;height:96px;border:1px solid var(--tile-edge);border-radius:7px;background:linear-gradient(135deg,#fffef9,var(--tile));box-shadow:0 3px 0 var(--tile-side),0 4px 7px #304b3e15;color:#304b3e;text-align:left;padding:7px}.poker.red{color:#ac5147}.card-corner{font:600 20px/1 Georgia,serif;display:block;position:relative;z-index:1}.card-corner b{font:19px/1.2 Georgia,serif;display:block}.card-corner.joker{font:9px/1.2 Arial,sans-serif;writing-mode:vertical-rl;letter-spacing:1px}.card-center{position:absolute;inset:30px 4px 4px;display:grid;place-items:center;font:36px Georgia,serif;opacity:.8}.poker.selected{transform:translateY(-17px);outline:2px solid var(--accent);outline-offset:1px}.poker.mini{width:39px;height:55px;padding:4px;border-radius:4px}.poker.mini .card-corner{font-size:13px}.poker.mini .card-corner b{font-size:13px}.poker.mini .joker{font-size:7px}.poker.mini .card-center{inset:19px 0 0;font-size:22px}.mini-cards{display:inline-flex;gap:3px;align-items:center;flex-wrap:wrap}.mini-cards .poker+.poker{margin-left:-9px}.meld{display:inline-flex;gap:1px;margin:4px}.melds{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;min-height:4px}.meld .tile.mini{width:20px;height:27px}
/* Rooms use the same field, surface and typography tokens as the lobby. */
.room-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:27px 0 22px}.room-title{display:flex;gap:16px;align-items:center}.room-title h1{font-size:26px;margin:0}.room-title p{margin:4px 0 0;color:var(--muted);font-size:12px}.room-tools{display:flex;gap:9px}.room-layout{display:grid;grid-template-columns:minmax(0,1fr) 246px;gap:22px;align-items:start}.table-panel{min-width:0;border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:12px;box-shadow:var(--shadow)}.table-meta{display:flex;justify-content:space-between;align-items:center;padding:8px 9px 15px;font-size:12px;gap:8px}.table-meta>span{display:flex;align-items:center;gap:6px}.table-meta svg{width:16px;height:16px}.table-field{background:radial-gradient(ellipse at 50% 50%,var(--field),var(--field-deep));border:1px solid #fff8;border-radius:13px;position:relative;min-height:440px;padding:18px;display:grid;grid-template-columns:110px minmax(0,1fr) 110px;grid-template-rows:auto 1fr auto;gap:8px;isolation:isolate}.table-field:before{content:"";position:absolute;inset:8px;border:1px solid #fff6;border-radius:9px;pointer-events:none;z-index:-1}.seat{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;position:relative;z-index:1}.seat.top{grid-area:1/2;align-self:start}.seat.left{grid-area:2/1;flex-direction:column;text-align:center}.seat.right{grid-area:2/3;flex-direction:column;text-align:center}.seat.bottom{grid-area:3/2;margin-top:15px}.avatar{width:38px;height:38px;border-radius:50%;background:var(--paper);border:1px solid #fff9;box-shadow:0 3px 10px #304b3e0e;display:grid;place-items:center;font:19px var(--serif);flex-shrink:0}.seat.turn .avatar{outline:2px solid var(--accent);outline-offset:3px}.seat.empty .avatar{background:#ffffff4d;color:var(--muted);border:1px dashed var(--accent)}.seat-name{font-size:13px;font-weight:600;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat-status{font-size:10px;color:var(--ink);opacity:.8;margin-top:2px}.seat .points{font:15px Georgia,serif;color:var(--accent);margin-left:5px}.seat.won:after{content:"已胡";color:var(--paper);background:var(--accent);padding:2px 6px;font-size:10px;border-radius:4px}.seat-backs{display:flex;justify-content:center;margin:8px 0}.seat-backs i{display:block;width:10px;height:21px;background:var(--accent);border:1px solid #fff9;border-radius:2px;opacity:.55;margin-left:-1px}.table-center{grid-area:2/2;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.table-center>h2{font-size:25px;margin:0;text-align:center}.table-center>p{font-size:12px;text-align:center;margin:0;line-height:1.8;color:var(--muted)}.table-seal{width:60px;height:60px;border:1px solid #64845a55;border-radius:50%;display:grid;place-items:center;color:var(--accent);opacity:.6}.table-seal svg{width:30px;height:30px}.invite-code{font:32px Georgia,serif;letter-spacing:6px;color:var(--ink);padding-left:6px}.wait-note{font-size:11px;color:var(--muted);text-align:center;margin:8px 0 0}.river-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;width:100%;max-width:380px}.river{background:#ffffff20;border:1px solid #ffffff30;padding:6px;border-radius:6px;min-height:52px}.river small{display:block;font-size:9px;color:var(--muted);margin-bottom:4px}.river-tiles{display:flex;flex-wrap:wrap;gap:3px}.river-tiles .tile.mini{width:20px;height:27px}.river .claimed{opacity:.32}.center-message{font-size:12px;display:flex;gap:6px;align-items:center;justify-content:center;text-align:center;background:#ffffff50;border-radius:8px;padding:6px 12px}.center-message .tile{width:31px;height:41px}.ddz-last{display:flex;justify-content:center;gap:3px;flex-wrap:wrap}.ddz-last .poker{width:42px;height:59px;padding:4px}.ddz-last .poker .card-corner{font-size:14px}.ddz-last .poker .card-corner b{font-size:14px}.ddz-last .poker .card-center{font-size:23px;inset:22px 0 0}.ddz-last .poker+.poker{margin-left:-14px}.last-label{font-size:12px;color:var(--muted);text-align:center;margin:0}.hand-area{padding:21px 9px 9px}.hand-label{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px;font-size:12px;color:var(--muted);gap:10px}.hand-label strong{color:var(--ink);font-weight:500}.hand{display:flex;align-items:center;justify-content:center;gap:5px;min-height:71px;padding:3px 0 7px}.hand .tile{width:clamp(32px,3.8vw,49px);height:clamp(45px,5.1vw,65px)}.poker-hand{display:grid;grid-template-columns:repeat(var(--cards),minmax(0,1fr));padding-right:42px;margin:0 7px;min-height:102px}.poker-hand .poker{width:61px;height:87px;padding:5px}.poker-hand .card-corner{font-size:18px}.poker-hand .card-corner b{font-size:17px}.action-bar{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;min-height:67px;padding-top:16px;align-items:flex-start}.action-bar .button{padding:9px 19px;min-height:42px}.action-note{font-size:13px;color:var(--muted);padding:10px 0;text-align:center;display:flex;align-items:center;gap:8px}.timer{font-variant-numeric:tabular-nums}.side-panel{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px}.side-panel h2{font-size:19px;margin:0 0 13px}.side-panel p,.side-panel li{font-size:12px;line-height:1.9;color:var(--muted)}.side-panel ul{padding-left:17px;margin:0}.side-panel .button{width:100%;margin-top:14px}.side-panel .chip{margin:3px 3px 3px 0}.log-list{list-style:none;padding:0!important;max-height:210px;overflow-y:auto;display:flex;flex-direction:column;gap:9px}.log-list li{border-bottom:1px solid var(--line);padding-bottom:7px;font-size:11px}.side-note{font-size:11px;color:var(--muted);padding:0 10px}.result-title{font-size:26px;margin:0;text-align:center}.scores{width:100%;border-collapse:collapse;font-size:13px}.scores td,.scores th{padding:11px 7px;text-align:left;border-bottom:1px solid var(--line)}.scores th{font-size:11px;color:var(--muted);font-weight:400}.scores td:last-child,.scores th:last-child{text-align:right}.positive{color:var(--accent);font-weight:600}.negative{color:#a35444}.result-inline{margin-top:18px;padding:18px;border:1px solid var(--line);border-radius:10px}.result-inline details{font-size:12px;margin-top:14px}.result-inline summary{cursor:pointer;min-height:35px}.reveal-row{margin:12px 0}.reveal-row>span{display:block;font-size:12px;margin-bottom:7px}.reveal-row .mini-cards{gap:2px}
dialog{border:1px solid var(--line);border-radius:20px;padding:0;background:var(--paper);color:var(--ink);width:min(540px,calc(100% - 28px));max-height:90dvh;box-shadow:0 25px 90px #243b3833}dialog::backdrop{background:#243b3855;backdrop-filter:blur(5px)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;padding:27px 28px 8px;gap:15px}.modal-head h2{font-size:28px;margin:8px 0 0}.modal-body{padding:15px 30px 30px}.modal-body p{font-size:13px;color:var(--muted);line-height:1.8}.tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:22px;gap:28px}.tabs button{padding:9px 0 13px;border:0;background:none;color:var(--muted);min-height:44px}.tabs button.active{box-shadow:0 2px var(--accent);color:var(--ink)}label{display:block;font-size:13px}input{display:block;width:100%;border:1px solid var(--line);background:#ffffff66;border-radius:8px;padding:11px 13px;min-height:46px;outline-offset:3px}input:focus{border-color:var(--accent)}input[type=checkbox]{width:19px;height:19px;min-height:19px;accent-color:var(--accent);flex-shrink:0}.field{margin-bottom:17px}.field input{margin-top:7px}.field small{display:block;color:var(--muted);font-size:11px;margin-top:6px}.check-label{display:flex;align-items:center;gap:10px;line-height:1.6;margin:17px 0;font-size:13px}.form-error{font-size:13px!important;color:#a44438!important;min-height:20px;margin:10px 0}.full{width:100%}.form-note{font-size:11px!important;margin:15px 0 0}.rule-list{padding-left:22px;font-size:13px;color:var(--muted);line-height:1.9}.rule-list li{padding:0 0 11px 5px}.rule-intro{padding:13px 16px;background:var(--accent-soft);border-radius:10px}.rule-links{font-size:11px}.rule-links a{margin-right:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:15px 0 23px}.stat{padding:17px 7px;background:var(--accent-soft);border-radius:10px;text-align:center}.stat strong{display:block;font:27px Georgia,serif}.stat small{font-size:11px;color:var(--muted)}.profile-actions{display:flex;justify-content:space-between;gap:12px;margin-top:23px}.history-empty{padding:20px;text-align:center;background:var(--accent-soft);border-radius:10px}#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);max-width:calc(100% - 32px);padding:12px 22px;background:var(--ink);color:var(--paper);border-radius:10px;font-size:13px;z-index:100;box-shadow:0 8px 25px #304b3e30;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1450px){.table-field{min-height:470px}}@media(max-width:1100px){.header{gap:28px;padding:22px 28px}.header nav{gap:14px}.header-actions{gap:12px}.theme-switch button{padding:7px 9px;font-size:11px}.room-layout{grid-template-columns:minmax(0,1fr) 210px;gap:16px}.table-field{grid-template-columns:86px minmax(0,1fr) 86px;padding:16px 12px}.side-panel{padding:16px}.hero{gap:30px}.hero h1{font-size:38px}.hand{gap:3px}.hand .tile{width:clamp(28px,3.55vw,45px);height:clamp(41px,4.8vw,61px)}.tile.drawn{margin-left:5px}.room-tools .button{padding:9px 12px}.header nav .nav-link{font-size:12px}}
@media(max-width:850px){.header{flex-wrap:wrap;gap:18px;padding:20px 24px 13px}.header-actions{flex:1;justify-content:flex-end}.header nav{order:3;width:100%;justify-content:center;gap:35px}.header nav .nav-link{font-size:13px}main{padding:0 24px}.hero{padding:35px 0;gap:25px}.hero h1{font-size:31px}.hero-copy>p{font-size:13px}.hero-art{min-height:270px}.art-tiles .tile{width:55px;height:73px}.art-caption{font-size:14px}.hero-note{gap:12px;font-size:10px}.game-grid{gap:14px}.game-card{padding:17px}.game-card h3{font-size:21px}.game-card>p{font-size:12px}.game-card-bottom .button{padding:8px 12px}.room-layout{grid-template-columns:1fr}.room-aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.side-note{display:none}.table-field{min-height:415px;grid-template-columns:110px minmax(0,1fr) 110px}.hand .tile{width:45px;height:60px}.hand{gap:5px}.table-meta{padding:8px 8px 15px}.room-top{padding-top:23px}.room-title h1{font-size:24px}.room-tools{gap:4px}.room-tools .button{font-size:12px;padding:8px 10px}.room-tools svg{width:17px;height:17px}}
@media(max-width:600px){body{font-size:14px}.header{padding:18px 18px 10px;gap:16px}.brand{font-size:32px;gap:9px}.brand-mark{width:38px;height:41px}.brand small{font-size:8px;letter-spacing:1.5px}.header-actions{gap:9px}.theme-switch{padding:3px}.theme-switch button{padding:6px 8px;min-height:32px;font-size:10px}.header-actions .button{padding:8px 10px;min-height:39px;font-size:11px;max-width:100px;overflow:hidden;text-overflow:ellipsis;display:block}.header nav{gap:30px}.header nav .nav-link{font-size:12px;padding:6px 0;min-height:35px}main{padding:0 18px}.hero{grid-template-columns:1fr;padding:30px 0 25px;gap:27px}.hero h1{font-size:34px;line-height:1.45;margin:15px 0}.hero-copy>p{font-size:13px;max-width:340px}.hero-actions{margin-top:21px}.hero-note{margin-top:20px;font-size:11px}.hero-art{min-height:215px;border-width:6px;border-radius:75px 12px 65px 12px}.art-tiles{inset:38px 0 0}.art-tiles .tile{width:56px;height:74px}.art-caption{bottom:15px;right:25px;font-size:13px}.lobby-bar{align-items:stretch;flex-direction:column;gap:17px;padding:22px 0}.lobby-bar h2{font-size:25px}.join-form{align-items:end}.join-form label{flex:1}.join-form input{width:100%;margin-top:6px}.game-grid{grid-template-columns:1fr 1fr;gap:12px}.game-card{padding:14px 12px;border-radius:12px}.game-card .chip{font-size:9px;padding:3px 7px}.game-art{height:95px;margin:7px 0 11px}.game-art .tile{width:34px;height:47px}.game-art .poker{width:41px;height:59px;padding:4px}.game-art .card-corner{font-size:15px}.game-art .card-corner b{font-size:15px}.game-art .card-center{font-size:25px;inset:22px 0 0}.game-card h3{font-size:20px;margin-bottom:7px}.game-card>p{font-size:11px;min-height:60px;line-height:1.85;margin-bottom:13px}.game-card-bottom{padding-top:11px;flex-direction:column;gap:4px}.game-card-bottom .button{width:100%;min-height:40px;font-size:12px}.game-card-bottom .text-link{min-height:32px;font-size:10px}.game-card-top .number{font-size:15px}.lobby-note{padding:17px;font-size:12px;margin:20px 0 30px}.lobby-note svg{width:25px;height:25px}footer{padding:20px 18px;font-size:10px;flex-wrap:wrap;gap:10px}footer span:nth-child(2){display:none}.room-top{padding:19px 0 16px;align-items:flex-start;gap:10px;flex-wrap:wrap}.room-title{gap:9px}.room-title .icon-button{width:32px;min-width:32px}.room-title h1{font-size:23px}.room-tools{margin-left:auto}.room-tools .button{min-height:38px;font-size:11px;padding:6px 8px}.room-tools .button svg{display:none}.room-title p{font-size:10px}.table-panel{padding:7px;border-radius:14px}.table-meta{font-size:10px;padding:7px 4px 12px;flex-wrap:wrap}.table-meta svg{width:13px;height:13px}.table-field{padding:16px 8px 12px;grid-template-columns:62px minmax(0,1fr) 62px;gap:7px;min-height:390px}.seat{gap:6px}.avatar{width:31px;height:31px;font-size:15px}.seat-name{font-size:11px;max-width:72px}.seat-status{font-size:9px;line-height:1.5;max-width:72px}.seat .points{font-size:12px;margin-left:0;display:block}.seat.left,.seat.right{gap:5px}.seat.top,.seat.bottom{gap:8px}.seat-backs{max-width:50px;overflow:hidden;margin:6px auto}.seat-backs i{min-width:5px;height:16px}.table-center{gap:10px}.table-center>h2{font-size:20px}.table-center>p{font-size:10px}.table-seal{width:45px;height:45px}.table-seal svg{width:23px;height:23px}.invite-code{font-size:25px;letter-spacing:3px;padding-left:3px}.table-center .button{padding:8px 13px;font-size:11px;min-height:39px}.wait-note{font-size:9px}.seat.won:after{position:absolute;bottom:-17px;font-size:8px}.river-grid{gap:4px;grid-template-columns:1fr}.river{padding:3px 5px;min-height:28px;display:flex;align-items:center;gap:4px}.river small{font-size:8px;flex-shrink:0;margin:0;width:18px;overflow:hidden;line-height:1.3;max-height:25px}.river-tiles{gap:2px}.river-tiles .tile.mini{width:15px;height:21px}.center-message{font-size:9px;padding:5px 6px}.center-message .tile{width:24px;height:32px}.hand-area{padding:17px 5px 6px}.hand-label{font-size:10px;margin-bottom:23px;align-items:flex-start}.hand{display:grid;grid-template-columns:repeat(7,1fr);gap:15px 5px;max-width:370px;margin:auto}.hand .tile{width:100%;height:auto;aspect-ratio:49/65;max-height:65px}.tile.drawn{margin-left:0;border-color:var(--gold)}.tile.selected{transform:translateY(-7px)}.poker-hand{padding-right:35px;gap:0;margin:0 3px;min-height:85px}.poker-hand .poker{width:49px;height:73px;padding:4px}.poker-hand .card-corner{font-size:14px;letter-spacing:-1px}.poker-hand .card-corner b{font-size:13px}.poker-hand .card-corner.joker{font-size:7px;letter-spacing:0}.poker-hand .card-center{font-size:25px;inset:26px 0 0}.poker.selected{transform:translateY(-13px)}.action-bar{padding-top:20px;gap:7px;min-height:65px}.action-bar .button{font-size:12px;min-height:42px;padding:9px 15px}.action-note{font-size:11px}.room-aside{grid-template-columns:1fr;gap:0}.side-panel{padding:17px}.side-panel h2{font-size:18px}.side-panel .button{margin-top:10px}.log-list{max-height:130px}.melds{gap:0}.meld{margin:3px 1px}.meld .tile.mini{width:13px;height:18px}.ddz-last .poker{width:29px;height:44px;padding:3px}.ddz-last .poker .card-corner{font-size:11px}.ddz-last .poker .card-corner b{font-size:11px}.ddz-last .poker .card-corner.joker{font-size:6px}.ddz-last .poker .card-center{font-size:18px;inset:20px 0 0}.ddz-last .poker+.poker{margin-left:-12px}.last-label{font-size:10px}.result-title{font-size:20px}.table-center .scores{font-size:10px}.table-center .scores td,.table-center .scores th{padding:6px 3px}.modal-head{padding:22px 22px 8px}.modal-head h2{font-size:25px}.modal-body{padding:12px 24px 25px}.resume{padding:13px;font-size:12px}.resume .button{font-size:11px;padding:8px 10px}.result-inline{padding:13px}.reveal-row .tile.mini{width:20px;height:27px}.stat strong{font-size:24px}.profile-actions .button{font-size:12px;padding:9px 13px}}
@media(max-width:370px){.header{padding:16px 12px 9px}.brand{font-size:28px}.brand-mark{width:32px;height:36px}.theme-switch button{padding:6px;font-size:9px}.header-actions{gap:6px}.header-actions .button{font-size:10px;padding:8px}.header nav{gap:27px}main{padding:0 12px}.hero h1{font-size:31px}.table-field{grid-template-columns:54px minmax(0,1fr) 54px}.game-card h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
