@font-face{font-family:Noto;src:url('/fonts/noto-sans-thai-thai-400-normal.woff2') format('woff2');font-display:swap}@font-face{font-family:Noto;src:url('/fonts/noto-sans-thai-latin-400-normal.woff2') format('woff2');font-display:swap}
:root{font-family:Noto,system-ui,sans-serif;color:#fff8e5;background:#075272;font-size:14px;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;min-height:44px;border:1px solid #86d4d1;border-radius:12px;padding:9px 16px;background:linear-gradient(#238c9f,#146579);color:white;box-shadow:0 3px 0 #043f5799;touch-action:manipulation}button:hover{filter:brightness(1.1)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible{outline:3px solid #ffeb85;outline-offset:3px}input{width:100%;min-height:46px;border:1px solid #6aafc1;border-radius:8px;padding:10px 12px;color:#122b42;background:#fff9e9}label{display:block;margin:10px 0}input[type=checkbox]{width:20px;min-height:20px;accent-color:#eda935}h1,h2,h3,p{margin-top:0}p{line-height:1.65}small{display:block}.primary{background:linear-gradient(#ffdb63,#ffae20 60%,#ef8620);border-color:#ffe898;color:#52300a;font-weight:bold;box-shadow:0 4px 0 #ab581a,0 5px 16px #031b2944}.full{width:100%}.text-button{box-shadow:none;border:0;background:transparent;color:#ffde8b;text-decoration:underline;padding:6px;min-height:40px}.kicker{font-size:11px;letter-spacing:1.5px;color:#ffde8b;margin-bottom:8px}header{position:absolute;top:0;left:0;right:0;height:88px;z-index:4;display:flex;align-items:center;justify-content:space-between;padding:10px 3%;pointer-events:none;background:linear-gradient(#052a5377,transparent)}header>*{pointer-events:auto}.logo{position:relative;display:flex;align-items:center;gap:2px;text-shadow:0 3px 0 #125567,2px 0 #125567,-2px 0 #125567;font-weight:bold;line-height:1;font-size:29px;transform:rotate(-5deg)}.logo b{font-size:63px;color:#ffe687}.logo small{position:absolute;bottom:-9px;left:4px;font-size:9px;letter-spacing:2px;color:#aefaf0;white-space:nowrap}.header-tools{display:flex;gap:10px;align-items:center}.wallet{display:flex;gap:12px;align-items:center;border-color:#ccbf87;background:#173d55e6;border-radius:28px;min-width:140px;font-size:20px}.wallet small{font-size:10px}.coin{color:#ffd858;text-shadow:0 1px #805607}.icon-button{border-radius:50%;width:44px;padding:4px;font-size:24px;background:#126b79e6;border-color:#8cdfc8}.connection{font-size:11px;text-shadow:0 1px 3px #000}.offline{color:#ffe059}.sim-tag{background:#05324fc9;border:1px solid #9cd6d977;border-radius:24px;padding:9px 18px;font-size:12px}.scene{min-height:100svh;position:relative;overflow:hidden}.lobby{background:#419fcb url('/assets/street-lobby.webp') center/cover no-repeat;display:flex;justify-content:flex-end;align-items:center;padding:110px 8% 90px}.lobby-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,#041f47aa,transparent 30%)}.welcome-caption{position:absolute;left:6%;bottom:85px;text-shadow:0 3px 8px #071727;max-width:420px}.welcome-caption>span{font-size:16px;color:#fff1b0}.welcome-caption h1{font-size:clamp(32px,4vw,60px);margin:2px 0;font-weight:bold}.welcome-caption p{font-size:15px}.lobby-actions{position:relative;width:min(420px,43%);z-index:1}.glass{background:linear-gradient(145deg,#0a456bee,#052a4fee);border:1px solid #7dccd999;border-radius:22px;box-shadow:0 12px 45px #001b4666;padding:28px;backdrop-filter:blur(10px)}.auth-panel h2{font-size:23px;margin:0 0 10px}.auth-note{font-size:11px;color:#c2e2e6;margin:10px 0}.consent{font-size:11px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.consent .text-button{font-size:11px}.play-tile{width:100%;height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(120deg,#fff8ac,#ffd35a 25%,#ffc244 75%,#ffae20);border:3px solid #ffeb9d;border-radius:25px;color:#683617;box-shadow:0 8px 0 #b6661a,0 15px 35px #09244670;text-shadow:0 1px white}.play-tile strong{font-size:47px;line-height:1.2}.play-tile>span:last-child{font-size:12px;margin-top:6px}.tile-cards{display:flex;height:120px;align-items:center;justify-content:center;margin:0 0 9px}.tile-cards .card{pointer-events:none;width:69px;height:103px;margin-left:-23px;transform:rotate(calc((var(--i) - 1)*12deg));font-size:24px}.tile-cards .card:first-child{margin-left:0}.friend-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.secondary{display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(#36b7c8,#177d9b);font-size:20px;min-height:73px;border:2px solid #a2f0e7}.secondary span{font-size:16px}.secondary small{font-size:10px;color:#c8ffff}.scope-note{font-size:11px;text-align:center;line-height:1.7;margin:20px 0 0;padding:10px;background:#072e56c9;border-radius:12px}.scope-note .text-button{font-size:11px;min-height:30px}.lobby-footer{position:absolute;bottom:0;left:0;right:0;min-height:54px;padding:12px 4%;display:flex;align-items:center;justify-content:space-between;font-size:12px;background:#042b4dcc;border-top:1px solid #83c3d15c}.party-panel h2{font-size:25px}.invite-code{display:block;font-size:23px;letter-spacing:2px;color:#ffdf7d;overflow-wrap:anywhere;padding:10px 0}.party-panel ul{list-style:none;padding:0}.party-panel li{padding:6px;border-bottom:1px solid #fff2}.party-panel p{font-size:12px}
.table-scene{background:#e7cb9b url('/assets/blue-beach.webp') center/cover no-repeat;min-height:100svh;padding-top:90px}.table-meta{position:absolute;top:91px;left:3%;display:flex;align-items:center;gap:10px;color:#fff;text-shadow:0 1px 3px #002c48;z-index:2}.table-meta small{font-size:10px}.hand-number{font-size:10px;padding:8px;background:#07537399;border-radius:20px}.table-mark{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%) rotate(-9deg);font-size:110px;color:#a8edff2e;text-align:center;line-height:.7;font-weight:bold}.table-mark small{font-size:50px;margin-top:20px}.seat{position:absolute;z-index:1;display:flex;align-items:center;flex-direction:column;text-align:center;min-width:100px}.seat-top{top:13%;left:50%;transform:translateX(-50%)}.seat-left{left:6%;top:44%}.seat-right{right:6%;top:44%}.seat-bottom{bottom:7%;left:50%;transform:translateX(-50%)}.seat-avatar{display:grid;place-items:center;width:62px;height:62px;border:3px solid #ffe298;border-radius:50%;background:linear-gradient(145deg,#d6f5d9,#178b87);box-shadow:0 0 0 4px #077b9377,0 5px 15px #07364966;color:#083e64;font-size:27px}.bot-avatar{background:linear-gradient(145deg,#fff3c0,#fdac65);color:#875019}.seat-info{background:#063d60dc;border-radius:12px;padding:5px 12px;margin-top:6px;max-width:130px;overflow-wrap:anywhere}.seat-info b{font-size:12px}.seat-info small{font-size:10px;color:#ffe07c}.seat-hand{margin-top:10px;min-width:100px}.seat-hand>div{height:25px;display:flex;justify-content:center}.card-back{position:relative;display:block;background:repeating-linear-gradient(45deg,#d34452 0 3px,#e75b63 3px 6px);border:2px solid #ffead3;border-radius:4px;width:34px;height:48px;margin-left:-14px;color:#ffe0d888;line-height:42px;transform:rotate(calc((var(--i) - 2)*9deg));box-shadow:0 2px 3px #09385366;font-size:22px}.ready-badge{margin-top:19px;font-size:11px;background:#056275df;padding:3px 10px;border-radius:20px}.table-bottom{position:absolute;bottom:12px;left:3%;right:3%;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:white;text-shadow:0 1px 3px #092e52}.small-tool{font-size:12px}.table-message{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:2;width:340px}.table-message h2{font-size:23px;margin-bottom:10px}.table-message p{font-size:12px;margin-bottom:6px}.countdown{font-size:32px;color:#ffda69}.own-ready{display:flex;justify-content:center;gap:8px;margin-top:10px}.own-ready>div{display:flex}.own-ready .card{margin-left:-16px}.arrange-overlay{position:relative;z-index:3;margin:24px auto 100px;width:min(690px,75%);padding:18px 28px;background:linear-gradient(#062235ed,#041e38ed);border:1px solid #5796b177;border-radius:24px;box-shadow:0 0 0 100vmax #001c395e;--card-w:66px;--card-h:94px}.arrange-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:8px}.arrange-heading b{font-size:18px}.arrange-heading small{font-size:10px;color:#bce4ed;margin-top:4px}.timer{display:grid;place-items:center;min-width:54px;height:54px;border:5px solid #ffd270;border-radius:50%;background:#fff0b8;box-shadow:0 2px 0 #996923;color:#dc5245;font-size:24px}.urgent{color:#fe614a}.arrange-grid{display:flex;flex-direction:column;gap:10px}.arrange-row{display:flex;align-items:center;gap:14px}.row-label{width:76px;flex-shrink:0;font-size:13px}.row-label small{font-size:10px;color:#aac8d6}.row-cards{display:flex;gap:7px;min-height:var(--card-h)}.card,.slot{position:relative;display:block;flex-shrink:0;width:var(--card-w,66px);height:var(--card-h,94px);min-height:0;border:2px solid #afac93;border-radius:7px;text-align:left;padding:4px 7px;color:#192c38;background:linear-gradient(140deg,#fffcf0,#f8efcf);box-shadow:0 3px 0 #061723b3;line-height:1;transition:transform .15s,box-shadow .15s;touch-action:manipulation}.card b{font-family:Georgia,serif;font-size:24px;font-weight:bold}.card>span{display:block;font-family:Georgia,serif;font-size:43px;text-align:center;margin-top:0}.card i{position:absolute;bottom:4px;right:4px;font-family:Georgia,serif;font-size:10px;font-style:normal;transform:rotate(180deg)}.suit-H{color:#c43235}.suit-D{color:#2155a1}.suit-C{color:#107653}.suit-S{color:#253037}.card.selected{transform:translateY(-9px);outline:3px solid #ffe16a;box-shadow:0 0 18px #ffe26477;z-index:2}.slot{background:#082b47;color:#7298b0;border:1px dashed #7596ac88;display:grid;place-items:center;box-shadow:none;font-size:24px}.row-status{color:#60edb2;font-size:17px;flex-shrink:0;min-width:28px}.pool{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;padding:15px 0 7px;min-height:40px;--card-w:43px;--card-h:62px}.pool .card{padding:3px 4px}.pool .card b{font-size:17px}.pool .card>span{font-size:27px}.pool .card i{font-size:8px}.pool-empty{font-size:11px;color:#c8e0e7}.arrange-tools{display:flex;justify-content:center;gap:8px;align-items:center;flex-wrap:wrap;margin-top:8px}.arrange-tools button{font-size:12px;padding:8px 13px}.arrange-tools .primary{font-size:18px;min-width:100px}.save-status{font-size:10px;text-align:center;color:#bad6e5;margin:12px 0 0}.small-card{width:29px;height:42px;min-height:0;padding:2px 3px;border-radius:4px;pointer-events:none}.small-card b{font-size:11px}.small-card>span{font-size:18px}.small-card i{display:none}.revealed>div{height:38px}.revealed .card{margin-left:-5px}.results-panel{position:relative;margin:130px auto 180px;max-width:430px;text-align:center;z-index:3}.results-panel h2{font-size:26px;margin-bottom:8px}.result-delta{font-size:48px;color:#ffe179}.result-delta small{display:inline;font-size:15px}.negative{color:#ffb7a7}.result-actions{display:flex;justify-content:center;gap:10px;margin-top:15px}.result-details p{margin:4px 0;font-size:12px}.result-details b{margin-left:12px}.detail-player{border-top:1px solid #fff3;padding:12px 0}.detail-player h3{font-size:16px}.detail-row{display:flex;align-items:center;gap:5px;margin-bottom:5px}.detail-row>span{font-size:11px;width:60px}dialog{position:fixed;max-width:570px;width:calc(100% - 30px);max-height:88svh;overflow:auto;border:1px solid #72c5cf;border-radius:22px;padding:32px;background:linear-gradient(#104766,#082e4f);color:#f9f0dd;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#001a35cc;backdrop-filter:blur(5px)}dialog h2{font-size:26px;padding-right:25px}dialog p,dialog li{font-size:13px;line-height:1.8}dialog li{margin-bottom:10px}dialog ol{padding-left:24px}.dialog-close{position:absolute;top:9px;right:9px;box-shadow:none;background:transparent;border:0;font-size:26px}.notice{padding:12px;border-radius:10px;background:#ffde8d14;color:#ffe2a0}.setting{display:flex;gap:12px;align-items:center}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);z-index:10;opacity:0;pointer-events:none;background:#102d48;color:#fff2c6;border:1px solid #ffd285;border-radius:14px;box-shadow:0 6px 25px #00152c66;padding:12px 20px;max-width:92vw;text-align:center;transition:.2s}#toast.shown{opacity:1;transform:translate(-50%,0)}.loading{display:grid;place-items:center;min-height:100svh;font-size:23px}
@media(min-width:1200px){.arrange-overlay{margin-top:50px}.table-scene{background-size:100% 100%}.lobby-actions{margin-right:3%}.arrange-grid{gap:12px}.arrange-overlay{--card-w:73px;--card-h:100px;width:720px}.row-cards .card>span{font-size:47px}.row-cards .card b{font-size:27px}}
@media(max-width:760px){header{height:75px;padding:8px 4%}.logo{font-size:22px}.logo b{font-size:46px}.logo small{font-size:7px}.header-tools{gap:7px}.connection{display:none}.wallet{font-size:16px;min-width:100px;gap:7px;padding:6px 12px}.sim-tag{font-size:10px;padding:7px 11px}.lobby{padding:95px 5% 85px;background-position:35% center;align-items:flex-end;min-height:100svh}.lobby-actions{width:56%}.welcome-caption{left:5%;max-width:38%;bottom:90px}.welcome-caption h1{font-size:30px}.welcome-caption p{font-size:11px}.welcome-caption>span{font-size:12px}.glass{padding:20px}.auth-panel h2{font-size:20px}.play-tile{height:245px}.play-tile strong{font-size:36px}.tile-cards{height:98px}.tile-cards .card{width:56px;height:82px}.friend-actions{gap:8px}.secondary{padding:8px;gap:3px}.secondary span{font-size:12px}.secondary small{font-size:9px}.scope-note{font-size:10px;padding:8px}.lobby-footer{font-size:10px}.arrange-overlay{width:calc(100% - 24px);margin:80px auto 100px;--card-w:57px;--card-h:82px;padding:14px 16px}.row-cards{gap:6px}.row-label{width:60px;font-size:12px}.arrange-row{gap:9px}.seat-top{top:10%}.seat-left{left:2%}.seat-right{right:2%}.seat-avatar{width:48px;height:48px;font-size:23px}.seat-info{max-width:100px}.table-meta{top:78px}.table-meta small{font-size:9px}.hand-number{display:none}.table-bottom span{font-size:8px}.results-panel{margin:170px auto 250px;width:90%;max-width:380px}}
@media(max-width:480px) and (orientation:portrait){.lobby{background-position:28% center;align-items:flex-end;padding:240px 18px 80px}.lobby-actions{width:100%}.welcome-caption{top:100px;bottom:auto;left:auto;right:18px;width:55%;max-width:55%;text-align:right}.welcome-caption h1{font-size:29px}.welcome-caption p{font-size:11px}.auth-panel{background:#063858eb;padding:20px}.play-tile{height:195px;max-width:220px;margin-left:auto}.tile-cards{height:65px;margin-bottom:7px}.tile-cards .card{width:45px;height:64px;padding:3px 4px}.tile-cards .card b{font-size:16px}.tile-cards .card>span{font-size:25px}.play-tile strong{font-size:34px}.play-tile small{font-size:10px}.play-tile>span:last-child{font-size:9px}.friend-actions{margin-top:19px}.scope-note{margin-top:14px}.lobby-footer{gap:10px;padding:9px 14px;font-size:9px}.lobby-footer span:last-child{max-width:45%;text-align:right}.icon-button{width:40px;min-height:40px;font-size:21px}.header-tools{gap:5px}.wallet{min-width:95px}.sim-tag{max-width:115px}.arrange-overlay{--card-w:43px;--card-h:67px;padding:13px 10px;margin-top:85px;border-radius:16px}.arrange-heading b{font-size:16px}.arrange-heading small{font-size:9px;max-width:250px}.timer{min-width:45px;height:45px;font-size:20px;border-width:4px}.row-label{width:47px;font-size:11px}.row-label small{font-size:9px}.arrange-row{gap:5px}.row-cards{gap:4px}.row-cards .card{padding:4px}.row-cards .card b{font-size:19px}.row-cards .card>span{font-size:30px}.row-cards .card i{font-size:8px}.row-status{min-width:18px;font-size:12px}.pool{--card-w:38px;--card-h:54px;gap:4px;min-height:40px}.pool .card>span{font-size:22px}.pool .card b{font-size:15px}.arrange-tools{gap:6px}.arrange-tools button{font-size:10px;padding:6px 9px;min-height:42px}.arrange-tools .primary{font-size:16px;min-width:76px}.save-status{font-size:9px}.seat-top{top:16%;left:50%}.seat-left,.seat-right{top:42%}.seat-hand{transform:scale(.8);margin-top:2px}.seat-info b{font-size:10px}.seat-info small{font-size:9px}.seat-bottom{bottom:11%}.table-message{width:260px;top:48%;padding:18px}.table-message h2{font-size:20px}.table-bottom{align-items:flex-end}.table-bottom>span{max-width:180px;text-align:right}.results-panel{margin-top:170px;margin-bottom:240px;padding:20px}.results-panel h2{font-size:23px}.result-actions button{font-size:11px;padding:8px}.table-meta{top:83px}.table-meta b{font-size:12px}dialog{padding:25px 20px}dialog h2{font-size:22px}.party-panel{background:#063858ed}}
@media(max-height:560px) and (orientation:landscape){header{height:60px;padding:6px 2%}.logo{font-size:21px}.logo b{font-size:42px}.logo small{font-size:7px;bottom:-6px}.icon-button{width:38px;min-height:38px;font-size:20px}.connection{font-size:9px}.wallet{font-size:15px;min-width:110px;min-height:38px}.lobby{padding:72px 8% 60px;min-height:100svh}.lobby-actions{width:43%}.welcome-caption{bottom:65px}.welcome-caption h1{font-size:35px}.welcome-caption p{font-size:12px}.auth-panel{padding:16px}.auth-panel h2{font-size:18px}.auth-panel label{font-size:11px;margin:5px 0}.auth-panel input{min-height:36px;padding:5px 9px}.auth-panel .auth-note{font-size:9px;line-height:1.4;margin:5px 0}.auth-panel .consent{font-size:9px}.consent .text-button{min-height:24px}.auth-panel .full{min-height:35px;padding:5px;font-size:12px}.play-tile{height:200px}.play-tile strong{font-size:34px}.tile-cards{height:70px}.tile-cards .card{width:49px;height:72px}.tile-cards .card b{font-size:18px}.tile-cards .card>span{font-size:27px}.friend-actions{margin-top:15px}.secondary{min-height:57px;padding:7px}.scope-note{font-size:9px;margin-top:12px}.scope-note .text-button{min-height:25px}.lobby-footer{min-height:40px;padding:8px 4%;font-size:10px}.table-scene{padding-top:60px}.table-meta{top:65px;left:2%;gap:6px}.table-meta b{font-size:11px}.table-meta small{max-width:100px;font-size:8px}.table-meta .icon-button{width:35px;min-height:35px}.arrange-overlay{width:480px;margin:0 auto 70px;padding:8px 16px;--card-w:46px;--card-h:61px;border-radius:15px}.arrange-heading{margin-bottom:5px}.arrange-heading b{font-size:13px}.arrange-heading small{font-size:8px}.timer{height:36px;min-width:36px;border-width:3px;font-size:18px}.arrange-grid{gap:6px}.arrange-row{gap:10px}.row-label{width:58px;font-size:11px}.row-label small{font-size:8px}.row-cards{gap:6px}.row-cards .card{padding:3px 5px}.row-cards .card b{font-size:18px}.row-cards .card>span{font-size:27px}.row-cards .card i{font-size:8px}.row-status{font-size:13px}.pool{--card-w:31px;--card-h:43px;gap:3px;padding:7px 0 3px}.pool .card b{font-size:12px}.pool .card>span{font-size:17px}.pool .card i{display:none}.pool-empty{font-size:9px}.arrange-tools{gap:6px;margin-top:4px}.arrange-tools button{min-height:36px;padding:5px 10px;font-size:10px}.arrange-tools .primary{font-size:14px;min-width:80px}.save-status{margin:6px 0 0;font-size:8px}.seat-avatar{width:44px;height:44px;font-size:20px}.seat-top{top:14%;left:51%}.seat-left,.seat-right{top:39%}.seat-info{padding:3px 9px}.seat-info b{font-size:10px}.seat-info small{font-size:8px}.seat-hand{transform:scale(.75);margin-top:2px}.seat-bottom{bottom:9%}.seat-bottom .seat-hand{display:none}.table-bottom{bottom:8px}.table-bottom button{min-height:36px;padding:5px 10px;font-size:10px}.table-message{width:280px;padding:16px}.table-message h2{font-size:19px}.results-panel{width:350px;margin:45px auto 120px;padding:18px}.results-panel h2{font-size:20px}.result-delta{font-size:32px}.result-actions button{font-size:11px}.party-panel{padding:15px}.party-panel h2{font-size:19px}.party-panel p{font-size:10px;margin-bottom:7px}.invite-code{font-size:19px;padding:5px}.party-panel li{padding:3px;font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.reduce-motion *{animation:none!important;transition:none!important}
.row-status.invalid{color:#ff7956}.deal .pool .card{animation:deal-in .55s cubic-bezier(.2,.7,.3,1) both;animation-delay:calc(var(--i)*.07s)}@keyframes deal-in{from{opacity:0;transform:translate(45px,-80px) rotate(15deg)}to{opacity:1;transform:translate(0) rotate(0)}}.first-result .revealed>div{animation:reveal-row .45s ease both;animation-delay:calc(var(--row)*.55s)}@keyframes reveal-row{from{opacity:0;transform:rotateY(90deg)}to{opacity:1;transform:rotateY(0)}}.first-result .results-panel{animation:result-in .45s 1.5s both}@keyframes result-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.results-panel.collapsed{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);margin:0;width:265px;padding:12px;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.collapsed b{color:#ffdf82}.collapsed button{font-size:11px;padding:5px 8px}.score-table{width:100%;border-collapse:collapse;font-size:11px;margin-bottom:16px}.score-table th,.score-table td{padding:8px 5px;border-bottom:1px solid #fff3;text-align:center}.score-table th:first-child,.score-table td:first-child{text-align:left;max-width:140px;overflow-wrap:anywhere}
.practice-tile{grid-column:1/-1;background:linear-gradient(#116c99,#12527a);font-size:13px;border-color:#8eceef;min-height:46px}.friend-actions{row-gap:10px}@media(max-height:560px) and (orientation:landscape){.practice-tile{min-height:40px;font-size:11px}.friend-actions{row-gap:7px}.scope-note{margin-top:8px}}
@media(max-width:760px){.connection.offline{display:block;position:fixed;top:76px;left:12px;right:12px;background:#713d1cf2;border:1px solid #ffdf91;border-radius:10px;padding:8px;text-align:center;font-size:11px;z-index:9}}

.special-banner{border:1px solid #ffe28b;border-radius:12px;background:#74582066;padding:10px 13px;margin:8px 0 12px;color:#ffe8a0}.special-banner b,.special-banner span{display:block}.special-banner span{font-size:11px}.special-banner small{font-size:10px}.special-banner .text-button{font-size:10px;padding:0;min-height:28px}.special-policy td{font-size:12px}.special-policy td:last-child{font-size:16px;color:#ffe28b}.special-policy th:first-child{width:80%}@media(max-width:480px),(max-height:560px){.special-banner{padding:6px 9px;margin:5px 0 8px}.special-banner b{font-size:12px}.special-banner span,.special-banner small{font-size:9px}}
.result-details .result-unit{font-size:10px;color:#bce4ed;margin:10px 0 6px}
/* Pointer arranging: only cards claim the gesture; the page remains scrollable. */
.arrange-overlay .card{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab;border-width:1px;border-radius:4px}
.arrange-overlay .card:active{cursor:grabbing}.drag-source{opacity:.2!important;outline:2px dashed #ffdc79!important;transform:none!important}.drop-target{outline:3px solid #ffe884!important;outline-offset:2px;box-shadow:0 0 22px #ffd55488!important}.drag-ghost{position:fixed!important;z-index:100!important;pointer-events:none!important;transform:scale(1.1) rotate(-3deg)!important;box-shadow:0 12px 24px #00132999!important;transition:none!important;animation:none!important;opacity:1!important;user-select:none}
.showdown-scene{height:max(100svh,680px);min-height:680px;overflow:hidden}.show-seat{width:250px;min-width:0;display:grid;grid-template-columns:48px 1fr;align-items:center;gap:4px 10px;z-index:2;text-align:center}.show-seat .seat-avatar{width:46px;height:46px;grid-column:1;grid-row:1}.show-seat .seat-info{grid-column:1/-1;grid-row:2;max-width:none;margin:0;padding:3px 8px;display:flex;justify-content:space-between;align-items:center;gap:5px}.show-seat .seat-info b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.show-seat .seat-hand{grid-column:2;grid-row:1;transform:none;margin:0;min-width:0;display:flex;flex-direction:column;align-items:center;height:120px;justify-content:center;gap:2px;perspective:600px}.show-seat .seat-hand>div{height:18px;min-height:18px;display:flex;justify-content:center;align-items:flex-start;transition:height .35s,opacity .35s}.show-seat .seat-hand .active-row{height:76px;min-height:76px;order:3;z-index:2}.show-seat .small-card,.show-seat .card-back{width:36px;height:53px;margin-left:-8px;padding:3px;border-radius:3px;border-width:1px;flex-shrink:0;transform:rotate(calc((var(--i) - 2)*3deg));pointer-events:none}.show-seat .small-card b{font-size:17px}.show-seat .small-card>span{font-size:26px}.show-seat .card-back{line-height:45px;font-size:20px}.show-seat .active-row .small-card,.show-seat .active-row .card-back{width:41px;height:64px;margin-left:-5px;transform:none}.show-seat .active-row .small-card b{font-size:21px}.show-seat .active-row .small-card>span{font-size:32px}.show-seat .resting-row{opacity:.48}.show-seat .row-caption{grid-column:1/-1;min-height:18px;font-size:12px;color:#fff4c4;text-shadow:0 1px 3px #00182f}.show-seat .row-score{grid-column:1/-1;min-height:25px;font-size:21px;color:#ffe592;text-shadow:0 2px 4px #063456}.row-winner .active-row{filter:drop-shadow(0 0 9px #ffe487)}.row-winner .row-caption{background:linear-gradient(90deg,transparent,#ac791c,transparent);border-radius:12px}.row-loser .row-score{color:#ffb6a2}.showdown-scene .seat-top{top:100px}.showdown-scene .seat-left,.showdown-scene .seat-right{top:38%}.showdown-scene .seat-left{left:4%}.showdown-scene .seat-right{right:4%}.showdown-scene .seat-bottom{bottom:42px}.showdown-banner{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);z-index:3;width:230px;text-align:center;color:#ffe7a1;text-shadow:0 2px 4px #053451}.showdown-banner>b{display:block;font-size:23px;background:linear-gradient(90deg,transparent,#174765dd,transparent);padding:8px 0}.showdown-banner>small{font-size:12px}.showdown-banner button{font-size:11px;background:#063957bb;border-radius:20px;margin-top:7px;min-height:36px}.final-beats{max-height:170px;overflow:auto;background:#073c59ed;border:1px solid #d9b765;border-radius:12px;padding:8px;font-size:10px;text-shadow:none}.final-beats span{display:block;margin:4px 0}.chip-flight{position:fixed;inset:0;pointer-events:none;z-index:5}.chip-flight i{position:absolute;left:0;top:0;font-style:normal;font-size:22px;color:#ffde57;text-shadow:0 0 5px #fff6af,0 2px 2px #9d6412}.showdown-scene .results-panel.collapsed{top:47%;width:245px;background:#083d58ef;box-shadow:0 5px 22px #00305299}.showdown-scene .results-panel.collapsed b{font-size:23px;width:100%}
@media(max-height:560px) and (orientation:landscape){
 .arrange-overlay{width:520px;padding:6px 14px;margin:0 auto 35px;--card-w:49px;--card-h:65px}.arrange-heading{margin-bottom:3px}.arrange-grid{gap:5px}.row-cards{gap:5px}.pool{--card-w:32px;--card-h:43px;padding:5px 0 2px}.arrange-tools{margin-top:2px;gap:5px}.arrange-tools button{min-height:32px;padding:4px 8px}.save-status{margin:4px 0 0;font-size:8px;line-height:1.3}.table-scene:has(.arrange-overlay){padding-top:46px}.arrange-heading .timer{height:30px;min-width:30px}.arrange-heading small{font-size:9px}.arrange-heading b{font-size:12px}.arrange-heading{padding-right:0}.table-bottom{z-index:2}.table-scene:has(.arrange-overlay) .table-bottom>span{max-width:115px;font-size:7px}.showdown-scene{height:max(100svh,390px);min-height:390px}.show-seat{width:218px;grid-template-columns:36px 1fr;gap:1px 4px}.show-seat .seat-avatar{width:35px;height:35px;font-size:18px}.show-seat .seat-hand{height:91px}.show-seat .seat-hand>div{height:12px;min-height:12px}.show-seat .seat-hand .active-row{height:62px;min-height:62px}.show-seat .active-row .small-card,.show-seat .active-row .card-back{width:35px;height:54px}.show-seat .active-row .small-card b{font-size:18px}.show-seat .active-row .small-card>span{font-size:26px}.show-seat .small-card,.show-seat .card-back{width:27px;height:40px}.show-seat .small-card b{font-size:13px}.show-seat .small-card>span{font-size:19px}.show-seat .seat-info{padding:2px 6px}.show-seat .seat-info b{font-size:10px}.show-seat .seat-info small{font-size:9px}.show-seat .row-caption{font-size:10px;min-height:14px;line-height:1.3}.show-seat .row-score{font-size:16px;min-height:20px;line-height:1.2}.showdown-scene .seat-top{top:48px}.showdown-scene .seat-left,.showdown-scene .seat-right{top:145px}.showdown-scene .seat-left{left:2%}.showdown-scene .seat-right{right:2%}.showdown-scene .seat-bottom{bottom:19px}.showdown-scene .seat-bottom .seat-hand{display:flex}.showdown-banner{top:51%;width:230px}.showdown-banner>b{font-size:18px;padding:3px 0}.showdown-banner>small{font-size:10px}.showdown-banner button{min-height:29px;font-size:10px;padding:4px}.showdown-scene .results-panel.collapsed{top:52%;padding:7px;width:230px}.showdown-scene .results-panel.collapsed b{font-size:18px}.showdown-scene .results-panel.collapsed button{min-height:30px;font-size:10px}.showdown-scene .table-bottom>span{max-width:200px;font-size:7px}.final-beats{max-height:100px;font-size:9px;padding:4px}
}
@media(max-width:480px) and (orientation:portrait){
 .arrange-overlay{margin-top:58px;margin-bottom:65px}.showdown-scene{height:max(100svh,690px);min-height:690px}.show-seat{width:46%;grid-template-columns:28px 1fr;gap:2px}.show-seat .seat-avatar{width:28px;height:28px;font-size:14px;border-width:2px}.show-seat .seat-hand{height:123px}.show-seat .small-card,.show-seat .card-back{width:26px;height:42px;margin-left:-10px}.show-seat .active-row .small-card,.show-seat .active-row .card-back{width:28px;height:48px;margin-left:-6px}.show-seat .active-row .small-card b{font-size:16px}.show-seat .active-row .small-card>span{font-size:23px}.show-seat .seat-info{display:block}.show-seat .seat-info b{font-size:10px}.show-seat .seat-info small{font-size:9px}.show-seat .row-score{font-size:17px}.show-seat .row-caption{font-size:10px}.showdown-scene .seat-top{top:140px;left:2%;transform:none}.showdown-scene .seat-right{top:140px;right:2%}.showdown-scene .seat-left{top:440px;left:2%}.showdown-scene .seat-bottom{top:440px;bottom:auto;left:auto;right:2%;transform:none}.showdown-banner{top:390px;width:95%}.showdown-banner>b{font-size:20px;padding:3px}.showdown-banner button{min-height:28px;margin:0}.showdown-scene .results-panel.collapsed{top:380px;width:90%;padding:8px}.showdown-scene .results-panel.collapsed b{width:auto;font-size:20px}.final-beats{max-height:90px}.showdown-scene .table-bottom{bottom:8px}
}
@media(max-height:560px) and (orientation:landscape){
 .showdown-scene .seat-top .row-caption,.showdown-scene .seat-bottom .row-caption{position:absolute;left:100%;top:35px;width:76px;line-height:1.35;padding:2px;color:#fff5c1;background:#063d60cf;border-radius:8px}
 .showdown-scene .seat-top .row-score,.showdown-scene .seat-bottom .row-score{position:absolute;left:100%;top:57px;width:76px;font-size:16px}
 .showdown-banner{width:218px;top:52%}.showdown-banner>b{font-size:17px}.showdown-banner:has(.final-beats)>b{font-size:14px}.showdown-banner:has(.final-beats)>small{font-size:9px}.final-beats{max-height:65px;font-size:8px}
}
@media(max-height:560px) and (orientation:landscape){
 .showdown-scene .seat-top{top:40px}.showdown-scene .seat-bottom{bottom:11px}
 .showdown-banner:has(.final-beats){width:240px}.showdown-banner:has(.final-beats)>b{line-height:1.25;padding:2px 0}.showdown-banner:has(.final-beats)>small{line-height:1.2}.showdown-banner:has(.final-beats) button{min-height:24px;margin-top:2px;padding:2px 4px}.final-beats{max-height:45px}
}
/* Reference: user e69e at 9s, cream thin faces, upper-left rank/suit, large lower-right pip. */
.card{background:#fffdf4;border:1px solid #859596;border-radius:4px;box-shadow:0 1px 2px #001e3540;overflow:hidden}
.card b{position:relative;z-index:1;display:block;line-height:.95;letter-spacing:-1px;transform:scaleX(.83);transform-origin:left top}
.card>span{position:absolute;right:6%;bottom:2%;line-height:1; margin:0}
.card i{position:absolute;left:8%;top:32%;right:auto;bottom:auto;font-size:12px;line-height:1;transform:none}
.card.made-hand{background:#eee0b2}.card.court>span{display:none}.court-art{position:absolute;right:0;bottom:0;width:77%;height:72%;pointer-events:none}
.card.suit-H{color:#c51630}.card.suit-D{color:#253fab}.card.suit-C{color:#087541}.card.suit-S{color:#202727}
.card-back{background:repeating-linear-gradient(45deg,transparent 0 3px,#ffb2a22e 3px 4px),repeating-linear-gradient(-45deg,#ad263d 0 3px,#d74b57 3px 4px);border:1px solid #e9d6ad;box-shadow:0 1px 2px #001e3540}
.entry-notice{font-size:11px;line-height:1.45;background:#073449dc;padding:8px;border-radius:8px;margin:8px 0;color:#fff3cf}.entry-notice .text-button{font-size:inherit;min-height:30px;padding:2px}
.arrange-feedback{display:flex;align-items:center;gap:8px;margin-top:5px}.arrange-feedback button{flex-shrink:0;min-height:44px;font-size:12px;padding:6px 10px;background:#195e77;border:1px solid #80c4d1;color:#fff5cb}.order-warning{font-size:11px;line-height:1.35;margin:0;color:#9fe1ae}.order-warning.invalid{color:#ffb5a6}.row-status.invalid{color:#ff775a;text-shadow:0 1px 2px #391411;font-weight:900}.ready-policy{font-size:10px;margin:5px 0 0;color:#ffe3aa;line-height:1.3}
@media(max-height:560px) and (orientation:landscape){.arrange-overlay{width:510px;margin-bottom:60px}.arrange-feedback{margin-top:2px;gap:6px}.arrange-feedback button{min-height:36px;font-size:10px;padding:4px 7px}.order-warning{font-size:9px}.ready-policy{font-size:8px;margin-top:3px}.entry-notice{font-size:9px;padding:5px}.row-cards .card i{font-size:10px}.arrange-tools{flex-wrap:wrap}}
@media(max-width:600px){.arrange-feedback{align-items:flex-start}.arrange-feedback button{max-width:135px}.order-warning{font-size:10px}.card i{font-size:10px}}
.card{container-type:size}.card.card b{position:absolute;top:4%;left:7%;font-size:40cqw}.card.card>span{font-size:80cqw}.card.card i{font-size:22cqw;display:block}.card.court>span{display:none}
@media(max-height:560px) and (orientation:landscape){.arrange-overlay{--card-w:46px;--card-h:61px;padding:5px 12px}.arrange-heading{height:32px;margin-bottom:3px}.arrange-grid{gap:4px}.pool:has(.pool-empty){min-height:12px;padding:2px 0;line-height:10px}.arrange-feedback button{min-height:32px}.arrange-feedback{min-height:32px}.ready-policy{line-height:1.1}.save-status{margin-top:3px}.arrange-tools{margin-top:3px}.arrange-tools button{min-height:32px}}
.card.card b{font-size:60cqw}.card.card>span{font-size:115cqw}.card.card i{font-size:30cqw}
/* Running point totals and collection/distribution are projections of the settled ledger. */
.personal-points{position:absolute;right:4%;bottom:65px;width:148px;z-index:4;padding:9px 11px;border:1px solid #68c7ab99;border-radius:12px;background:linear-gradient(135deg,#248f7de8,#095855e8);color:#d8f4de;box-shadow:0 2px 8px #002b3b55;font-size:12px;font-variant-numeric:tabular-nums}.personal-points>b{display:block;font-size:11px;margin-bottom:4px;color:#fff4a5}.personal-points>div{display:flex;justify-content:space-between;gap:8px;line-height:1.5}.personal-points strong{color:#f5ffc4;white-space:nowrap}.personal-points small{display:block;font-size:8px;margin-top:3px;line-height:1.25}.point-total{border-top:1px solid #a8edbd77;margin-top:3px;padding-top:3px;font-weight:bold}.point-adjustment{font-size:9px}.settlement-pool{margin:6px auto;color:#fff1a2;text-shadow:0 1px 2px #034a4c}.settlement-pool>small{display:block;font-size:11px;margin-bottom:4px}.settlement-pool>div{display:flex;align-items:center;justify-content:center;gap:7px;background:#064c4dde;border:1px solid #55c7b5;border-radius:30px;min-height:38px;box-shadow:0 0 9px #72cfa833;padding:4px 12px}.settlement-pool i{font-style:normal;font-size:30px;color:#ffdc4a;text-shadow:0 0 5px #fff3a2,0 2px 1px #a77211}.settlement-pool strong{font-size:23px;font-variant-numeric:tabular-nums}.settlement-pool span{font-size:10px}.motion-actions{display:flex;justify-content:center;gap:5px}.motion-actions .text-button{font-size:10px}.auto-next-note{font-size:10px;line-height:1.4;display:block;width:100%;color:#d2ecd8}.results-panel.collapsed{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}.chip-flight .flight-coin{font-size:22px;text-shadow:0 0 5px #fff9c4,0 2px 1px #af751b;color:#ffe46a}.showdown-banner:has(.settlement-pool)>b{font-size:15px}.showdown-banner:has(.settlement-pool)>small{display:none}
@media(max-height:560px) and (orientation:landscape){.personal-points{right:3%;bottom:12px;width:128px;padding:6px 9px;font-size:10px}.personal-points>b{font-size:9px;margin-bottom:2px}.personal-points small{font-size:7px}.showdown-scene .seat-right{top:110px}.showdown-scene .seat-left{top:125px}.settlement-pool>div{min-height:32px}.settlement-pool strong{font-size:21px}.settlement-pool>small{font-size:9px}.motion-actions .text-button{min-height:27px;padding:3px;font-size:9px}.showdown-banner:has(.settlement-pool){top:52%;width:205px}.showdown-banner:has(.settlement-pool)>b{font-size:13px;line-height:1}.settlement-pool{margin:3px auto}.showdown-scene .results-panel.collapsed{width:230px;top:51%;padding:5px}.showdown-scene .results-panel.collapsed b{font-size:16px}.showdown-scene .results-panel.collapsed button{min-height:27px;font-size:9px}.point-adjustment{font-size:8px}}
@media(max-width:480px) and (orientation:portrait){.showdown-scene{height:max(100svh,810px);min-height:810px}.personal-points{right:12px;bottom:62px;width:148px}.showdown-scene .seat-left,.showdown-scene .seat-bottom{top:420px}.showdown-scene .results-panel.collapsed{top:355px}.showdown-banner{top:355px}.showdown-banner:has(.settlement-pool){width:215px}.showdown-banner:has(.settlement-pool)>b{font-size:14px}.showdown-scene .table-bottom>span{max-width:170px}.motion-actions .text-button{min-height:32px}}
.showdown-banner:has(.settlement-pool)>b{display:none}.settlement-pool>div{height:34px;min-height:34px;padding:3px 12px}.settlement-pool i{font-size:26px;line-height:1}.settlement-pool strong{line-height:1}
.chip-flight .flight-coin{width:18px;height:18px;margin-left:-9px;margin-top:-9px;border:1px solid #c68d23;border-radius:50%;background:radial-gradient(circle at 32% 25%,#fffbd0 0,#fbe479 30%,#edb837 67%,#b77612 100%);box-shadow:inset 0 0 0 2px #ffe99a,0 0 5px #ffe69466;color:transparent;text-shadow:none;line-height:1}.settlement-pool i{display:inline-block;flex-shrink:0;width:26px;height:26px;border:1px solid #dca933;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fffed2,#ffdb55 55%,#ba791a);box-shadow:inset 0 0 0 2px #fff0a0,0 0 8px #fff6a688;color:transparent;text-shadow:none}.net-loser .row-score{color:#edf2f6}.net-winner .row-score{color:#f1ffa2}.showdown-scene .net-winner .row-caption{color:#fff2a5;background:linear-gradient(#a76516,#65411c);border:1px solid #ffde73;border-radius:7px;font-weight:bold}.showdown-scene .net-loser .row-caption{color:#edf6ff;background:linear-gradient(#226a96,#12395e);border:1px solid #81bdd3;border-radius:7px;font-weight:bold}
.settlement-complete{padding:8px 0;color:#f4f9b2;font-weight:bold;font-size:14px}
.showdown-scene .net-winner .row-caption,.showdown-scene .net-loser .row-caption{justify-self:center;min-width:64px;padding:1px 8px}
@media(max-width:480px) and (orientation:portrait){.showdown-scene{height:max(100svh,850px);min-height:850px}}

.sound-toggle{font-size:11px;white-space:normal;line-height:1.1;padding:3px;overflow:hidden}.sound-volume{display:flex;align-items:center;gap:10px}.sound-volume input{min-width:80px;flex:1}.sound-volume output{min-width:38px}

/* Full rows arrive in their random dealt order; the only footer action is Ready. */
.arrange-grid{position:relative}.row-swap-between{position:relative;height:0;z-index:2;align-self:flex-end;margin-right:4px}.row-swap-between button{position:absolute;right:0;top:-22px;width:44px;height:44px;padding:0;border-radius:50%;font-size:28px;line-height:1;background:#227a86;border:1px solid #a5e8d7;box-shadow:0 2px 6px #001b2e88}.arrange-tools{justify-content:center}.arrange-tools .primary{min-width:150px}.arrange-feedback{justify-content:center}.arrange-feedback p{text-align:center}.card.made-hand{background:#eee0b2}.card:not(.made-hand){background:#fffdf4}
.bonus-flight{position:fixed;inset:0;z-index:7;pointer-events:none;overflow:hidden}.bonus-cannon{position:absolute;width:88px;height:54px;margin:-27px 0 0 -44px;transform-origin:center}.bonus-cannon svg{width:100%;height:100%;filter:drop-shadow(0 3px 3px #3c2109aa)}.bonus-projectile{position:absolute;left:0;top:0;width:15px;height:15px;border-radius:50%;background:#fff2a5;box-shadow:0 0 6px 4px #ffb537,0 0 18px #ff7123}.bonus-impact{position:absolute;color:#fff0ac;font-size:65px;text-shadow:0 0 10px #ffbc32,0 0 24px #ff681c}.scoop-banner{position:absolute;white-space:nowrap;font-size:22px;color:#fff7bf;background:linear-gradient(#f4b436,#a9510f);padding:3px 18px;border:2px solid #ffeaa4;border-radius:5px;text-shadow:0 2px #8c4318;box-shadow:0 0 18px #ffca4c77}
@media(max-width:600px){.row-swap-between{margin-right:-5px}.row-swap-between button{width:40px;height:40px;top:-20px;min-height:40px}.bonus-cannon{width:62px;height:42px;margin:-21px 0 0 -31px}.scoop-banner{font-size:16px;padding:2px 8px}}
