.playing-card{display:inline-block;position:relative;width:120px;aspect-ratio:5/7;flex-shrink:0;border-radius:8px;vertical-align:middle;box-shadow:0 3px 8px #10271f26;overflow:hidden;isolation:isolate}.playing-card svg{display:block;width:100%;height:100%}.playing-card .card-rank{font-family:Georgia,Times New Roman,serif;font-weight:700;letter-spacing:-1px}.playing-card--back{background:#214d3c;border:1px solid #a6bba4}.card-back-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}.card-back-fallback{position:absolute;inset:7px;border:2px solid #ddc58b;border-radius:4px;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#315b48 0 3px,#254b3a 3px 6px)}.card-back-fallback>span{display:grid;place-items:center;width:46px;height:62px;border:2px solid #ddc58b;border-radius:50%;font-size:35px;color:#eedbb0;background:#234e3a}.card-gallery-controls{display:flex;flex-wrap:wrap;gap:18px;margin:18px 0 24px}.card-gallery-controls label{min-width:180px;flex:1;max-width:320px}.card-gallery-controls select{margin-top:8px}.card-gallery-suit{margin:24px 0}.card-gallery-suit h3{margin-bottom:14px}.card-gallery-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:16px 10px}.card-gallery-row figure{margin:0;min-width:0}.card-gallery-row .playing-card{width:100%;max-width:120px}.card-gallery-row figcaption{font-size:11px;line-height:1.4;margin-top:7px;color:#3d5144}.card-gallery-back{display:flex;align-items:center;gap:20px;margin-top:28px}.card-gallery-back .playing-card{width:86px}.fanned-hand-scroll{overflow-x:auto;overflow-y:hidden;max-width:100%;padding:22px 18px 5px;overscroll-behavior-x:contain}.fanned-hand{position:relative;height:212px;min-width:100px;margin:0 auto}.hand-card{position:absolute;top:24px;width:100px;height:140px;min-height:0;padding:0;border:0;background:transparent!important;border-radius:8px;transform:translateY(var(--card-rise)) rotate(var(--card-angle));transform-origin:50% 100%;transition:transform .15s ease;touch-action:pan-x;cursor:pointer}.hand-card .playing-card{width:100%;height:100%}.hand-card:hover:not(:disabled),.hand-card:focus-visible,.hand-card--selected{transform:translateY(calc(var(--card-rise) - 18px)) rotate(var(--card-angle));z-index:100!important}.hand-card:focus-visible{outline:3px solid #c0993f;outline-offset:3px}.hand-card--selected .playing-card{box-shadow:0 0 0 3px #c0993f,0 5px 14px #142b2b40}.hand-card:disabled{opacity:1;cursor:default}.hand-card:disabled .playing-card{filter:saturate(.8)}@media(prefers-reduced-motion:reduce){.hand-card{transition:none}}@media(max-width:480px){.card-gallery-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 8px}.card-gallery-row figcaption{font-size:10px}.fanned-hand-scroll{padding-inline:12px}.card-gallery-controls{gap:8px}}.fanned-hand[data-multi-select=true] .hand-card--selected{z-index:var(--card-order)!important}.hand-card--sortable{touch-action:none;cursor:grab}.hand-card--dragging{cursor:grabbing;z-index:120!important}.hand-card[aria-disabled=true] .playing-card{filter:saturate(.68)}.presentation-table{position:relative;isolation:isolate;width:100%;height:clamp(290px,calc(100dvh - 130px),760px);min-width:0;overflow:hidden;border-radius:24px;background:#153b32;color:#f8f2df;box-shadow:inset 0 0 0 7px #51382c,0 12px 32px #071a2422}.presentation-felt{position:absolute;inset:0;z-index:-1;background:linear-gradient(#102c2630,#081d2260),url(/api/assets/table.webp) center/cover;border-radius:inherit}.presentation-felt:after{content:"";position:absolute;inset:7%;border:1px solid #e5ca8933;border-radius:45%;box-shadow:inset 0 0 50px #001d2833}.presentation-seat{position:absolute;z-index:4;width:116px;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.presentation-player{display:flex;align-items:center;justify-content:center;gap:7px;padding:6px 8px;background:#092822dd;border:1px solid #e9dcb336;border-radius:14px;box-shadow:0 4px 12px #00191044;min-width:0}.presentation-player img,.presentation-initial{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:none;background:#576f61;display:grid;place-items:center;font-weight:700}.presentation-player>div{min-width:0}.presentation-player strong{display:block;max-width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.25}.presentation-player small{display:block;font-size:10px;color:#d1dacd;white-space:nowrap}.presentation-seat-own{width:auto;min-width:116px;z-index:7}.presentation-seat-own .presentation-player{padding:4px 9px}.presentation-seat-own .presentation-player img,.presentation-seat-own .presentation-initial{width:25px;height:25px}.presentation-hidden-hand{position:relative;height:46px;margin:0 auto -4px;width:90px}.presentation-hidden-hand>span{position:absolute;left:calc(50% - 15px);top:0;width:30px;transform-origin:center 90%}.presentation-hidden-hand svg{display:block;width:100%;height:auto}.presentation-hidden-hand b{position:absolute;bottom:0;right:0;background:#f0e4bd;color:#243e31;border-radius:12px;min-width:21px;padding:1px 4px;font-size:11px;z-index:2}.presentation-own-hand{position:absolute;bottom:12%;left:50%;transform:translate(-50%);width:min(78%,680px);z-index:6}.presentation-own-hand .fanned-hand{width:100%}.trick-stage{position:absolute;inset:0;pointer-events:none;z-index:3}.trick-played-card{position:absolute;width:clamp(47px,7.5vw,84px);will-change:transform,left,top,opacity}.trick-played-card svg{width:100%;height:auto;display:block;filter:drop-shadow(0 3px 3px #0005)}.trick-preview{position:absolute;right:3%;top:3%;width:155px;padding:7px 9px;background:#08261deb;border:1px solid #dfcfa559;border-radius:12px;z-index:5;box-shadow:0 4px 14px #0003;pointer-events:none}.trick-preview-heading{display:flex;justify-content:space-between;gap:5px;font-size:10px;margin-bottom:5px}.trick-preview-heading strong{max-width:75px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#f4d786}.trick-preview-cards{display:flex;justify-content:center;gap:3px}.trick-preview-cards>div{width:29px;min-width:0}.trick-preview-cards svg{width:100%;height:auto;display:block}.presentation-table-content{position:absolute;inset:24% 22% 26%;z-index:4;display:grid;place-items:center;pointer-events:none}.presentation-table-content>*{pointer-events:auto}.dice-area{display:flex;align-items:center;justify-content:center;gap:18px;max-width:100%}.dice-cup{width:90px;max-height:120px;object-fit:contain;filter:drop-shadow(0 7px 7px #0004)}.dice-slots{display:flex;gap:9px;flex-wrap:nowrap}.dice-slot{padding:3px;width:58px;aspect-ratio:1;border-radius:13px;border:1px solid #f3e6c866;background:#123c3299;box-shadow:inset 0 1px 5px #0004;color:#e8ddbf;touch-action:manipulation}.dice-slot img{width:100%;height:100%;object-fit:contain;display:block}.dice-slot.dice-held{border:2px solid #efd27b;background:#ccb57638;transform:translateY(-5px)}.dice-slot:disabled{opacity:1;cursor:default}.dice-slot:focus-visible{outline:3px solid #fff5c5;outline-offset:3px}@media(max-width:900px)and (orientation:landscape){.presentation-table{height:calc(100dvh - 92px);min-height:255px;border-radius:17px}.presentation-seat{width:96px}.presentation-player{gap:4px;padding:4px 5px}.presentation-player strong{font-size:10px;max-width:70px}.presentation-player small{font-size:9px}.presentation-player img,.presentation-initial{width:24px;height:24px}.presentation-hidden-hand{height:32px;width:72px}.presentation-hidden-hand>span{width:22px;left:calc(50% - 11px)}.presentation-hidden-hand b{font-size:9px;min-width:17px}.presentation-seat-own .presentation-player{padding:2px 8px}.presentation-seat-own .presentation-player img,.presentation-seat-own .presentation-initial{width:20px;height:20px}.presentation-own-hand{bottom:13%;width:68%;max-height:93px}.trick-played-card{width:46px}.trick-preview{width:128px;right:2%;top:3%;padding:5px 7px}.trick-preview-heading{font-size:9px}.trick-preview-cards>div{width:23px}.dice-area{gap:10px}.dice-cup{width:60px;max-height:80px}.dice-slots{gap:5px}.dice-slot{width:40px;border-radius:9px}.presentation-table-content{left:18%;right:18%}}@media(max-width:700px)and (orientation:landscape){.presentation-seat{width:83px}.presentation-player strong{max-width:56px}.presentation-player img,.presentation-initial{width:20px;height:20px}.presentation-own-hand{width:65%}.trick-preview{width:110px}.trick-preview-cards>div{width:20px}.trick-preview-heading{font-size:8px}.dice-cup{width:48px}.dice-slot{width:34px}}@media(prefers-reduced-motion:reduce){.trick-played-card{will-change:auto}.dice-slot.dice-held{transform:none}}.presentation-hidden-hand .playing-card,.trick-played-card .playing-card,.trick-preview-cards .playing-card{width:100%;height:auto}.presentation-own-hand .fanned-hand{height:178px}.presentation-own-hand .fanned-hand-scroll{padding:16px 16px 0}.presentation-own-hand .hand-card{width:88px;height:123.2px;top:8px}@media(max-width:900px)and (orientation:landscape){.presentation-own-hand .fanned-hand{height:105px}.presentation-own-hand .fanned-hand-scroll{padding:12px 12px 0}.presentation-own-hand .hand-card{width:62px;height:87px;top:0}.presentation-own-hand .hand-card:hover:not(:disabled),.presentation-own-hand .hand-card:focus-visible,.presentation-own-hand .hand-card--selected{transform:translateY(calc(var(--card-rise) - 10px)) rotate(var(--card-angle))}}@media(max-height:500px)and (orientation:landscape){.presentation-table{height:calc(100dvh - 150px);min-height:200px;--trick-center-shift:24px}.presentation-own-hand{bottom:7%;max-height:none}.presentation-own-hand .fanned-hand{height:95px}.presentation-player small{font-size:8px}.trick-played-card{width:43px}}body.game-table-active{overflow:hidden}body.game-table-active #root{height:100dvh;overflow:hidden}body:not(.game-table-active){padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}body.game-table-active header,body.game-table-active .room-heading,body.game-table-active .room-bottom,body.game-table-active .demo-caption,body.game-table-active footer{visibility:hidden}.presentation-table{position:fixed;inset:0;z-index:30;width:100%;height:100dvh;min-height:0;max-width:none;border-radius:0;box-shadow:none;--trick-center-shift:0px;--table-safe-top:env(safe-area-inset-top,0px);--table-safe-right:env(safe-area-inset-right,0px);--table-safe-bottom:env(safe-area-inset-bottom,0px);--table-safe-left:env(safe-area-inset-left,0px)}.presentation-safe-area{position:absolute;top:calc(var(--table-safe-top) + 8px);right:calc(var(--table-safe-right) + 8px);bottom:calc(var(--table-safe-bottom) + 8px);left:calc(var(--table-safe-left) + 8px)}.presentation-own-hand{left:62%;bottom:15%;width:min(60%,680px);max-height:none}.presentation-seat[data-team=A] .presentation-player,.presentation-seat[data-team=B] .presentation-player{border:3px solid var(--team);box-shadow:0 0 0 1px #fff7,0 4px 12px #00191044}.presentation-seat[data-team=A] .presentation-player small{color:#c5dffc;font-weight:700}.presentation-seat[data-team=B] .presentation-player small{color:#ffe2a2;font-weight:700}.trick-preview{inset:auto auto 0 0}.table-menu{position:absolute;left:0;top:0;z-index:20;max-width:100%}.table-menu-toggle{min-height:44px;padding:8px 12px;background:#102d25ed;border:1px solid #eee6c8;color:#fff;font-size:13px}.table-controls{margin-top:6px;padding:14px;background:#f7f5ec;color:#173e31;border-radius:12px;box-shadow:0 6px 25px #0006;width:min(440px,calc(100vw - var(--table-safe-left) - var(--table-safe-right) - 16px));max-height:calc(100dvh - var(--table-safe-top) - var(--table-safe-bottom) - 76px);overflow:auto}.table-controls .demo-toolbar,.table-controls .demo-tabs,.table-navigation{display:flex;flex-wrap:wrap;gap:8px}.table-controls button{min-height:44px;font-size:13px}.table-navigation{margin-top:12px;padding-top:12px;border-top:1px solid #ccd7cb}@media(max-height:550px)and (orientation:landscape){.presentation-own-hand{bottom:9.5%;width:60%}.presentation-own-hand .fanned-hand{height:100px}.trick-played-card{width:clamp(46px,7vw,62px)}.presentation-player small{font-size:9px}.table-controls{padding:10px}}.table-aside{position:absolute;top:calc(var(--table-safe-top) + 8px);bottom:calc(var(--table-safe-bottom) + 8px);right:calc(var(--table-safe-right) + 8px);width:292px;overflow:auto;z-index:15;background:#f8f5e9;color:#203a2d;border-radius:12px;border:1px solid #c9d3bd;padding:16px;box-shadow:0 5px 20px #0003}.table-aside-toggle,.table-aside-close{display:none}.table-status{position:absolute;top:0;right:0;max-width:48%;padding:7px 12px;background:#0a2924e8;border:1px solid #e4d8b748;border-radius:8px;font-size:12px;z-index:9;line-height:1.5;text-align:right}.presentation-table-with-aside .presentation-safe-area{right:calc(var(--table-safe-right) + 316px)}.presentation-open-hand{display:flex;justify-content:center;width:170px;margin-left:50%;transform:translate(-50%);padding:8px 3px 5px}.presentation-open-hand .playing-card{width:34px;margin-left:-19px;flex:none}.presentation-open-hand .playing-card:first-child{margin-left:0}.presentation-open-hand .playing-card svg{height:auto}.presentation-seat:has(.presentation-open-hand){z-index:8}.table-aside-close{margin-bottom:12px}.hand-card:disabled[aria-pressed=false]{cursor:default}.hand-card:disabled .playing-card{filter:saturate(.68)}@media(max-width:1100px){.presentation-table-with-aside .presentation-safe-area{right:calc(var(--table-safe-right) + 8px)}.table-aside{display:none;z-index:45;width:min(430px,calc(100vw - var(--table-safe-left) - var(--table-safe-right) - 24px));top:calc(var(--table-safe-top) + 58px);box-shadow:0 0 0 100vmax #08201888}.table-aside-open{display:block}.table-aside-toggle{display:block;position:absolute;right:calc(var(--table-safe-right) + 8px);top:calc(var(--table-safe-top) + 8px);z-index:46;min-height:44px;background:#102d25ed;border:1px solid #eee6c8;color:#fff}.table-aside-close{display:block}.presentation-table-with-aside .table-status{right:96px;max-width:calc(100% - 210px);font-size:11px}.presentation-open-hand .playing-card{width:28px;margin-left:-17px}.presentation-open-hand{width:145px}}button.presentation-open-hand{pointer-events:auto;cursor:zoom-in;position:relative;border:0;background:transparent!important;min-height:0;border-radius:5px;padding:4px 3px 18px;overflow:visible;touch-action:manipulation}.open-hand-hint{position:absolute;bottom:0;left:0;right:0;color:#f7edcf;background:#173b30;font-size:9px;line-height:16px;border-radius:3px}.open-hand-dialog{width:min(680px,calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 32px));max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 24px);padding:14px;background:#eef0e3;color:#203a2d}.open-hand-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.open-hand-dialog-heading h2{font-size:18px;margin:0}.open-hand-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;justify-items:center}.open-hand-grid .playing-card{width:100%;max-width:96px}@media(max-height:550px){.open-hand-dialog{width:min(550px,calc(100vw - 40px));padding:10px}.open-hand-grid{gap:8px}.open-hand-grid .playing-card{max-width:80px}.open-hand-dialog-heading{margin-bottom:8px}.open-hand-dialog-heading h2{font-size:14px}.open-hand-dialog-heading button{min-height:40px;padding:7px 12px}.presentation-open-hand .playing-card{width:32px;margin-left:-19px}}.presentation-seat-north .presentation-open-hand{position:absolute;top:calc(100% + 6px);left:50%;margin-left:0}.table-status{pointer-events:none}@media(max-height:550px){.open-hand-dialog-heading button{min-height:44px}}.ready-panel{pointer-events:auto;background:#fff8e7;color:#173e31;border:1px solid #dbc88f;border-radius:14px;padding:12px 18px;width:min(430px,100%);max-height:100%;overflow:auto;text-align:center;box-shadow:0 6px 25px #0005}.ready-panel h2{font-size:20px;margin:0 0 5px}.ready-panel p{font-size:12px;margin:5px 0}.ready-panel ul{list-style:none;margin:8px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:5px 14px}.ready-panel li{display:flex;gap:8px;justify-content:space-between;font-size:12px;min-width:0}.ready-panel li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ready-panel li strong{white-space:nowrap;color:#805829}.ready-panel li[data-ready=true] strong{color:#286943}.ready-panel>button{min-height:44px;min-width:120px}.presentation-table:has(.ready-panel) .presentation-table-content{top:24%;bottom:36%}@media(max-height:550px)and (orientation:landscape){.ready-panel{padding:7px 12px}.ready-panel h2{font-size:15px}.ready-panel p{font-size:10px;margin:3px 0}.ready-panel li{font-size:11px}.ready-panel ul{margin:5px 0}.presentation-table:has(.ready-panel) .presentation-table-content{top:23%;bottom:35%}}.presentation-seat{width:clamp(112px,17vw,190px);max-width:36%}.presentation-player{min-height:44px;height:auto;padding:6px 8px;gap:6px}.presentation-player>div{flex:1;min-width:0}.presentation-player strong{font-size:16px;line-height:1.2;max-width:none;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.presentation-player small{font-size:12px;line-height:1.25;white-space:normal;overflow-wrap:anywhere}.presentation-player small:empty{display:none}.presentation-seat-own{min-width:0;width:clamp(150px,24vw,270px);top:auto!important;bottom:0;transform:translate(-50%)}.presentation-seat-own .presentation-player{padding:5px 8px}.presentation-seat[data-side=west]{left:0!important;transform:translateY(-50%);max-width:18%}.presentation-seat[data-side=east]{left:auto!important;right:0;transform:translateY(-50%);max-width:18%}.presentation-dealer{display:inline-grid;place-items:center;font-size:18px;line-height:1;margin-left:5px;color:#ffe2a2;vertical-align:middle}.presentation-own-hand{bottom:max(15%,calc(var(--own-seat-height,60px) + 12px))}@media(max-height:550px)and (orientation:landscape){.presentation-player img,.presentation-initial{width:24px;height:24px}.presentation-player{padding:4px 5px;gap:4px}.presentation-player strong{font-size:16px}.presentation-player small{font-size:12px}.presentation-own-hand{bottom:max(9.5%,calc(var(--own-seat-height,60px) + 12px))}.presentation-seat-own{width:max-content;max-width:58%}.presentation-seat[data-side=west] .presentation-player,.presentation-seat[data-side=east] .presentation-player{flex-direction:column;gap:2px}.presentation-seat[data-side=west] .presentation-player img,.presentation-seat[data-side=east] .presentation-player img,.presentation-seat[data-side=west] .presentation-initial,.presentation-seat[data-side=east] .presentation-initial{display:none}}@media(max-height:550px)and (orientation:landscape){.presentation-table[data-seat-count="4"] .presentation-own-hand{left:50%;width:56%}}@media(max-height:550px)and (orientation:landscape){.presentation-table:has(.ready-panel) .presentation-table-content{top:76px;bottom:auto;min-height:96px;z-index:8}.ready-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:6px 10px}.ready-panel h2,.ready-panel>p{grid-column:1;margin:0}.ready-panel ul{grid-column:1;grid-template-columns:1fr 1fr;gap:2px 10px;margin:0}.ready-panel>button{grid-column:2;grid-row:1/4;align-self:center;min-width:90px}.ready-panel li{font-size:11px;line-height:1.2}.ready-panel>p[role=status]{grid-column:2;max-width:125px;align-self:center}}@media(max-height:320px)and (orientation:landscape){.presentation-table:has(.ready-panel) .presentation-seat:not(.presentation-seat-own){width:20%;max-width:20%}.presentation-table:has(.ready-panel) .presentation-seat:not(.presentation-seat-own) strong{white-space:normal;overflow:visible;text-overflow:clip}.presentation-table[data-seat-count="3"]:has(.ready-panel) .presentation-seat-north[data-north-position=left]{left:36%!important;width:28%;max-width:28%}.presentation-table[data-seat-count="3"]:has(.ready-panel) .presentation-seat-north[data-north-position=right]{left:66%!important;width:28%;max-width:28%}.presentation-table[data-seat-count="4"]:has(.ready-panel) .presentation-seat[data-side=west]{left:31%!important}.presentation-table[data-seat-count="4"]:has(.ready-panel) .presentation-seat-north{left:52%!important}.presentation-table[data-seat-count="4"]:has(.ready-panel) .presentation-seat[data-side=east]{left:73%!important;right:auto;transform:translate(-50%,-50%)}.presentation-table:has(.ready-panel) .table-menu-toggle{padding-inline:8px;font-size:12px}}@media(max-height:550px)and (orientation:landscape){.presentation-seat-own .presentation-player{min-height:28px;padding:2px 7px;border-width:1px}.presentation-seat-own .presentation-player>div{display:flex;align-items:baseline;justify-content:center;gap:7px}.presentation-seat-own .presentation-player strong{font-size:16px;line-height:20px}.presentation-seat-own .presentation-player small{font-size:12px;line-height:16px;max-width:none}.presentation-seat-own .presentation-player img,.presentation-seat-own .presentation-initial{width:20px;height:20px}.presentation-own-hand .hand-card{width:79.2px;height:111.1px;top:0}.presentation-own-hand .fanned-hand{height:132px}.presentation-own-hand .fanned-hand-scroll{padding:10px 16px 0}.presentation-table:has(.ready-panel) .ready-panel{max-height:none;overflow:visible;min-height:88px}}@media(max-height:320px)and (orientation:landscape){.presentation-table:has(.ready-panel) .presentation-table-content{inset:62px 51% auto 0;min-height:0}.presentation-table:has(.ready-panel) .ready-panel{display:flex;flex-wrap:wrap;gap:5px;padding:8px;width:100%}.presentation-table:has(.ready-panel) .ready-panel h2{font-size:15px;line-height:18px;width:100%}.presentation-table:has(.ready-panel) .ready-panel>p:not([role=status]){display:none}.presentation-table:has(.ready-panel) .ready-panel ul{flex:1;grid-template-columns:1fr;min-width:100px}.presentation-table:has(.ready-panel) .ready-panel>button{min-width:76px;align-self:center;padding:8px}.presentation-table:has(.ready-panel) .ready-panel>p[role=status]{font-size:12px;max-width:100%}.presentation-table:has(.ready-panel) .presentation-own-hand{left:75%;width:47%;bottom:calc(var(--own-seat-height,28px) + 8px)}.presentation-table:has(.ready-panel) .presentation-seat-own{left:76%!important;max-width:48%}.presentation-table:has(.ready-panel) .presentation-hidden-hand{display:none}.presentation-table:has(.ready-panel) .presentation-seat:not(.presentation-seat-own){top:30px!important;max-width:29%}.presentation-table:has(.ready-panel) .presentation-seat[data-side=west]{left:20%!important;transform:translate(-50%,-50%)}.presentation-table:has(.ready-panel) .presentation-seat[data-side=east]{right:0;transform:translateY(-50%)}.presentation-table[data-seat-count="4"]:has(.ready-panel) .presentation-seat-north{left:54%!important;transform:translate(-50%,-50%)}.presentation-table:has(.ready-panel) .presentation-seat:not(.presentation-seat-own) .presentation-player{min-height:28px}.presentation-table:has(.ready-panel) .presentation-seat:not(.presentation-seat-own) .presentation-player img,.presentation-table:has(.ready-panel) .presentation-seat:not(.presentation-seat-own) .presentation-initial,.presentation-table:has(.ready-panel) .presentation-seat:not(.presentation-seat-own) small{display:none}.presentation-table:has(.ready-panel) .table-status{display:none}}@media(max-height:550px)and (orientation:landscape){.presentation-seat-north{width:min(32vw,190px);max-width:36%}}@media(max-height:550px)and (orientation:landscape){.presentation-table[data-seat-count="4"] .presentation-seat-north .presentation-player img,.presentation-table[data-seat-count="4"] .presentation-seat-north .presentation-initial{display:none}}@media(max-height:550px)and (orientation:landscape){.presentation-table[data-seat-count="4"] .presentation-seat-north{transform:translate(-50%,calc(-50% - 6px))}}@media(max-height:320px)and (orientation:landscape){.presentation-table[data-seat-count="4"]:has(.ready-panel) .presentation-seat[data-side=west]{left:31%!important}.presentation-table[data-seat-count="4"]:has(.ready-panel) .presentation-seat-north{left:52%!important;transform:translate(-50%,-50%)}.presentation-table[data-seat-count="4"]:has(.ready-panel) .presentation-seat[data-side=east]{left:73%!important;right:auto;transform:translate(-50%,-50%)}}@media(max-height:320px)and (orientation:landscape){.presentation-table:has(.ready-panel) .presentation-seat:not(.presentation-seat-own){top:0!important;transform:translate(-50%)!important}.presentation-table:has(.ready-panel) .presentation-table-content{top:max(62px,calc(var(--opponent-row-height,44px) + 8px))}}@media(max-height:320px)and (orientation:landscape){.presentation-seat button.presentation-open-hand{width:118px;min-height:44px;padding:0 2px 14px}.presentation-seat .presentation-open-hand .playing-card{width:22px;margin-left:-12px}.presentation-seat .presentation-open-hand .playing-card:first-child{margin-left:0}.presentation-seat .open-hand-hint{font-size:9px;line-height:14px}}.speech-controls{border:1px solid #ffffff40;border-radius:10px;padding:10px;min-width:0;margin:12px 0;display:flex;flex-direction:column;gap:6px}.speech-controls label{display:flex;align-items:center;gap:10px;min-height:44px;margin:0}.speech-controls input[type=checkbox]{width:24px;height:24px;flex:none}.speech-controls input[type=range]{width:100%;min-height:44px;padding:0;accent-color:#f3c875}.speech-controls button{min-height:44px}.speech-controls p{font-size:.85rem;margin:0}.speech-status{position:absolute;left:50%;top:8px;transform:translate(-50%);z-index:15;max-width:50%;pointer-events:none;text-align:center;font-size:.8rem;color:#fff;text-shadow:0 1px 4px #000}.speech-status button{pointer-events:auto;min-height:44px}.speech-status span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.demo-toolbar,.demo-tabs,.demo-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.demo-toolbar{justify-content:space-between;margin-bottom:8px}.demo-toolbar button{padding:8px 12px;min-height:36px;font-size:13px}.demo-tabs button[aria-pressed=true]{background:#204d3d;color:#fff}.demo-caption{font-size:12px;color:#52604f;margin:8px 0 0;line-height:1.35}.dice-demo-surface{padding:28px 12px;border-radius:18px;background:#173f32 url(/api/assets/table.webp) center/cover;color:#faf4e2;text-align:center}.dice-face-reference{display:flex;justify-content:center;gap:12px}.dice-face-reference img{width:38px;height:38px;object-fit:contain}.playing-demo .intro{display:none}.playing-demo header{max-width:none;padding:8px 20px}.playing-demo main{max-width:1500px;padding:12px 20px;margin:0 auto}.playing-demo .panel.room{max-width:none;padding:12px;margin:0}.playing-demo .room-heading{margin-bottom:8px;align-items:center}.playing-demo .room-heading h2{font-size:19px;margin:0}.playing-demo .room-heading .eyebrow{margin:0;font-size:10px}.playing-demo .room-bottom{margin-top:6px;padding-top:0}.playing-demo .room-bottom button{min-height:32px;padding:6px 10px;font-size:12px}.playing-demo footer{display:none}@media(max-height:550px)and (orientation:landscape){.playing-demo header{padding:4px 12px;gap:10px;flex-wrap:nowrap;height:42px}.playing-demo .brand{font-size:17px}.playing-demo .brand small{display:none}.playing-demo .main-nav{width:auto;order:0;gap:5px}.playing-demo .main-nav button{padding:3px 7px;min-height:30px;font-size:11px;flex:none}.playing-demo .connection{font-size:10px}.playing-demo main{padding:4px 8px}.playing-demo .panel.room{padding:5px 8px}.playing-demo .room-heading{margin-bottom:4px}.playing-demo .room-heading h2{font-size:14px}.playing-demo .room-heading .eyebrow{display:none}.playing-demo .badge{padding:3px 7px;font-size:10px}.playing-demo .demo-toolbar{margin-bottom:4px;gap:4px}.demo-toolbar button{font-size:11px;min-height:30px;padding:4px 7px}.playing-demo .demo-tabs,.playing-demo .demo-actions{gap:4px}.playing-demo .demo-caption{font-size:10px;margin:4px 0 0}.playing-demo .room-bottom{margin-top:3px}.playing-demo .room-bottom button{min-height:26px;padding:2px 8px;font-size:11px}}.skat-menu{display:flex;gap:10px;flex-wrap:wrap}.skat-menu p{width:100%;margin:0 0 5px}.skat-panel .table-status>span{display:block}.skat-status-contract{color:#f0d58c;font-weight:700}.skat-status-declarer{font-weight:600}.skat-panel:has(.skat-declaration-overlay) .presentation-table-content{z-index:60}.skat-phase-card.skat-bid-confirmation{border:2px solid #c9a955;background:#fff8de}.skat-bid-confirmation .skat-bid-player{font-size:18px;font-weight:650;overflow-wrap:anywhere}.skat-phase-card.skat-bid-confirmation h2{font-size:clamp(25px,4vw,38px);margin:3px 0;line-height:1.15}.skat-declaration-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:calc(var(--table-safe-top, env(safe-area-inset-top,0px)) + 12px) calc(var(--table-safe-right, env(safe-area-inset-right,0px)) + 12px) calc(var(--table-safe-bottom, env(safe-area-inset-bottom,0px)) + 12px) calc(var(--table-safe-left, env(safe-area-inset-left,0px)) + 12px);background:#08281bc7;pointer-events:auto}.skat-declaration-card{width:min(560px,100%);max-height:100%;overflow:auto;text-align:center;background:#fff7df;color:#183e2a;border:2px solid #d7b769;border-radius:22px;padding:clamp(18px,4vh,38px);box-shadow:0 16px 70px #0008}.skat-declaration-card h2{font-size:clamp(32px,5vw,58px);line-height:1.1;margin:14px 0;overflow-wrap:anywhere}.skat-declaration-card>p:last-child{font-size:clamp(17px,2.5vw,24px);line-height:1.4;margin:8px 0;overflow-wrap:anywhere}@media(max-height:550px)and (orientation:landscape){.skat-phase-card.skat-bid-confirmation{padding:8px 12px}.skat-bid-confirmation .skat-bid-player{font-size:16px}.skat-declaration-card{padding:16px 24px;border-radius:16px}.skat-declaration-card h2{font-size:clamp(30px,5vw,44px);margin:10px 0}.skat-declaration-card>p:last-child{font-size:18px}}.skat-server-error{color:#ffddc9;background:#742c20;padding:6px;border-radius:5px;max-width:380px}.skat-phase-card{pointer-events:auto;color:#233c2e;background:#fffdf2f5;border:1px solid #d8dfc8;border-radius:16px;padding:20px;box-shadow:0 8px 30px #001e2866;width:min(100%,430px);max-height:100%;overflow:auto;text-align:center}.skat-phase-card h2{font-size:22px;line-height:1.25;margin:4px 0 10px}.skat-phase-card p{font-size:13px;line-height:1.4;margin:8px 0}.skat-phase-card .skat-small{font-size:11px;color:#52614b}.skat-kicker{font-size:10px!important;letter-spacing:1px;text-transform:uppercase}.skat-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}.skat-actions button{min-width:110px;min-height:48px}.skat-phase-card button{min-height:46px}.skat-wait{color:#426447}.skat-panel .presentation-table-content{inset:26% 15% 34% 19%}.skat-panel .presentation-own-hand{width:66%;left:60%;bottom:max(15%,calc(var(--own-seat-height, 60px) + 12px))}.skat-panel .presentation-own-hand .fanned-hand-scroll{padding-top:22px}.skat-declare{text-align:left}.skat-declare h2{text-align:center}.skat-declare-fields{display:flex;gap:12px;margin-top:10px}.skat-declare-fields label{flex:1;min-width:0}.skat-declare select{margin-top:6px;min-height:44px}.skat-ouvert{display:flex;align-items:center;gap:10px;font-size:12px;margin:12px 0}.skat-ouvert input{width:21px;min-height:21px;height:21px;flex:none}.skat-result dl{font-size:12px;gap:6px;text-align:left}.skat-result dd{max-width:170px}.skat-result h2{font-size:18px}.skat-result{max-width:450px}.skat-score-sheet h2{font-size:20px;margin-bottom:8px}.skat-score-sheet .skat-small{font-size:11px;line-height:1.5;color:#52614b}.skat-score-scroll{overflow:auto}.skat-score-sheet table{border-collapse:collapse;width:100%;font-size:11px}.skat-score-sheet caption{text-align:left;font-size:11px;padding:8px 0;color:#52614b}.skat-score-sheet th,.skat-score-sheet td{padding:8px 4px;border-bottom:1px solid #d9dfd1;text-align:right;vertical-align:top}.skat-score-sheet th:first-child,.skat-score-sheet td:nth-child(2){text-align:left}.skat-score-sheet thead th{max-width:58px;overflow:hidden;text-overflow:ellipsis}.skat-score-sheet td span,.skat-score-sheet td strong{display:block;line-height:1.45}.skat-score-sheet td strong{font-size:10px;max-width:95px;overflow-wrap:anywhere}.skat-score-sheet tfoot{font-weight:700;background:#e8eddf}.skat-notice{position:fixed;left:calc(env(safe-area-inset-left,0px) + 10px);bottom:calc(env(safe-area-inset-bottom,0px) + 10px);z-index:39;max-width:35vw;background:#f7f1dce8;border-radius:8px;color:#263e2d;padding:8px 12px;font-size:11px;pointer-events:none}@media(max-width:1100px){.skat-panel .table-status{font-size:10px}.skat-panel .presentation-table-content{inset:24% 17% 32% 18%}.skat-phase-card{padding:12px}.skat-phase-card h2{font-size:20px}.skat-declare-fields{gap:8px}.skat-phase-card p{margin:5px 0;font-size:12px}.skat-panel .presentation-own-hand{bottom:max(11%,calc(var(--own-seat-height, 60px) + 12px));width:66%}.skat-result dl{font-size:11px}.skat-result h2{font-size:17px}}@media(max-height:550px)and (orientation:landscape){.skat-panel .presentation-table-content{inset:23% 16% 35% 18%}.skat-phase-card{padding:9px 12px;border-radius:10px}.skat-phase-card h2{font-size:18px;margin:2px 0 5px}.skat-phase-card p{font-size:11px;margin:4px 0}.skat-phase-card .skat-small{font-size:10px}.skat-actions{margin-top:8px;gap:8px}.skat-actions button{min-height:44px;padding:8px 13px}.skat-declare h2{font-size:16px}.skat-declare-fields{margin-top:3px}.skat-declare label{font-size:11px}.skat-declare select{margin-top:3px}.skat-ouvert{margin:5px 0}.skat-phase-card button{min-height:44px;padding:8px 12px}.skat-notice{font-size:10px;max-width:30vw;padding:5px 8px}.skat-panel .presentation-own-hand{bottom:max(9.5%,calc(var(--own-seat-height, 60px) + 12px));width:67%;left:60%}.skat-result dl{margin:7px 0;gap:4px}.skat-result h2{font-size:15px}.skat-panel .presentation-player small{white-space:normal;max-width:110px;font-size:12px}.skat-panel .presentation-seat-own .presentation-player small{max-width:180px}}@media(max-height:550px)and (orientation:landscape){.skat-panel:has(.skat-declare) .presentation-table-content{top:21%;bottom:39%}.skat-declare{display:grid;grid-template-columns:1fr auto;column-gap:8px;row-gap:4px;padding:6px 10px;overflow:auto}.skat-declare h2{grid-column:1/-1;font-size:15px;line-height:18px;margin:0}.skat-declare>.skat-small{display:none}.skat-declare .skat-declare-fields{grid-column:1/-1;margin:0}.skat-declare .skat-declare-fields label{font-size:10px;margin:0}.skat-declare select{min-height:38px;height:38px;padding:6px 9px;font-size:12px;margin:2px 0 0}.skat-declare .skat-ouvert{font-size:10px;line-height:1.3;margin:0;gap:6px}.skat-declare>button{min-height:40px;height:40px;padding:7px 10px;font-size:12px;align-self:center}.skat-panel .presentation-player small{line-height:1.3}}@media(max-height:550px)and (orientation:landscape){.skat-declare{padding:4px 10px;row-gap:2px}.skat-declare h2{font-size:13px;line-height:14px}.skat-declare .skat-declare-fields label{font-size:9px;line-height:10px}.skat-declare select{min-height:44px;height:44px;margin-top:2px}.skat-declare .skat-ouvert{min-height:44px}.skat-declare>button{min-height:44px;height:44px}}.skat-panel:has(.skat-result) .presentation-table-content{top:17%;bottom:12%}.skat-phase-card.skat-result{display:flex;flex-direction:column;overflow:hidden;width:min(100%,520px);padding:12px 16px}.skat-result-summary{flex:none}.skat-result-summary h2{font-size:clamp(18px,2.5vw,24px);overflow-wrap:anywhere;margin:4px 0 8px}.skat-result-summary>button{min-height:48px;min-width:160px;font-size:18px;margin-bottom:8px}.skat-result-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain}.skat-result-scroll>p,.skat-continuation p{font-size:14px}.skat-continuation ul{list-style:none;margin:8px 0;padding:0;display:grid;gap:5px}.skat-continuation li{display:flex;justify-content:space-between;gap:14px;font-size:14px;text-align:left}.skat-continuation li span{overflow-wrap:anywhere;min-width:0}.skat-continuation li strong{flex:none}.skat-result details{text-align:left;margin:8px 0}.skat-result summary{cursor:pointer;min-height:44px;padding:10px 0;font-size:15px}@media(max-height:400px)and (orientation:landscape){.skat-panel:has(.skat-result) .presentation-table-content{top:17%;bottom:8%}.skat-phase-card.skat-result{padding:8px 12px}.skat-result-summary h2{font-size:18px;margin:2px 0 6px}}.skat-panel:has(.skat-result) .presentation-table-content{z-index:8}.skat-phase-card.skat-result{background:#fffdf2}@media(max-height:550px)and (orientation:landscape){.skat-panel:has(.skat-bidding) .presentation-table-content,.skat-panel:has(.skat-bid-confirmation) .presentation-table-content{top:76px;bottom:auto;min-height:76px;z-index:8}.skat-phase-card.skat-bidding,.skat-phase-card.skat-bid-confirmation{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:6px 10px}.skat-bidding>p,.skat-bidding>h2,.skat-bid-confirmation>p,.skat-bid-confirmation>h2{grid-column:1;margin:0!important}.skat-bidding>.skat-small{display:none}.skat-bidding .skat-actions,.skat-bid-confirmation .skat-actions{grid-column:2;grid-row:1/5;display:flex;flex-wrap:nowrap;gap:6px;margin:0;align-self:center}.skat-bidding .skat-actions button,.skat-bid-confirmation .skat-actions button{min-width:90px;min-height:44px;padding:7px 8px;font-size:14px}.skat-phase-card.skat-bid-confirmation h2{font-size:24px;line-height:1.1}.skat-bid-confirmation .skat-bid-player{font-size:16px;line-height:1.15}}@media(max-height:550px)and (orientation:landscape){.skat-panel:has(.skat-bidding) .presentation-table-content,.skat-panel:has(.skat-bid-confirmation) .presentation-table-content{top:76px}.skat-phase-card.skat-bidding,.skat-phase-card.skat-bid-confirmation{min-height:58px}}.skat-panel .presentation-table-content{z-index:8}@media(max-height:550px)and (orientation:landscape){.skat-phase-card.skat-bidding,.skat-phase-card.skat-bid-confirmation{max-height:none;overflow:visible;width:100%}.skat-panel .presentation-seat-own .presentation-player small{max-width:none;white-space:nowrap}.skat-panel .presentation-own-hand{bottom:calc(var(--own-seat-height,28px) + 8px)}.skat-panel .presentation-own-hand .fanned-hand-scroll{padding-top:10px}}@media(max-height:320px)and (orientation:landscape){.skat-panel:has(.skat-bidding) .presentation-table-content,.skat-panel:has(.skat-bid-confirmation) .presentation-table-content{inset:62px 51% auto 0;min-height:0}.skat-phase-card.skat-bidding,.skat-phase-card.skat-bid-confirmation{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;padding:8px}.skat-bidding>p,.skat-bidding>h2,.skat-bid-confirmation>p,.skat-bid-confirmation>h2{width:100%}.skat-bidding .skat-actions,.skat-bid-confirmation .skat-actions{width:100%;justify-content:center}.skat-panel:has(.skat-bidding) .presentation-own-hand,.skat-panel:has(.skat-bid-confirmation) .presentation-own-hand{left:75%;width:47%;bottom:calc(var(--own-seat-height,28px) + 8px)}.skat-panel:has(.skat-bidding) .presentation-seat-own,.skat-panel:has(.skat-bid-confirmation) .presentation-seat-own{left:76%!important;max-width:48%}.skat-panel:has(.skat-bidding) .presentation-hidden-hand,.skat-panel:has(.skat-bid-confirmation) .presentation-hidden-hand{display:none}.skat-panel:has(.skat-bidding) .presentation-seat:not(.presentation-seat-own),.skat-panel:has(.skat-bid-confirmation) .presentation-seat:not(.presentation-seat-own){top:30px!important;max-width:29%}.skat-panel:has(.skat-bidding) .presentation-seat[data-side=west],.skat-panel:has(.skat-bid-confirmation) .presentation-seat[data-side=west]{left:20%!important;transform:translate(-50%,-50%)}.skat-panel:has(.skat-bidding) .presentation-seat[data-side=east],.skat-panel:has(.skat-bid-confirmation) .presentation-seat[data-side=east]{right:0;transform:translateY(-50%)}.skat-panel:has(.skat-bidding) .presentation-table[data-seat-count="4"] .presentation-seat-north,.skat-panel:has(.skat-bid-confirmation) .presentation-table[data-seat-count="4"] .presentation-seat-north{left:54%!important;transform:translate(-50%,-50%)}.skat-panel:has(.skat-bidding) .presentation-seat:not(.presentation-seat-own) .presentation-player,.skat-panel:has(.skat-bid-confirmation) .presentation-seat:not(.presentation-seat-own) .presentation-player{min-height:28px}.skat-panel:has(.skat-bidding) .presentation-seat:not(.presentation-seat-own) img,.skat-panel:has(.skat-bid-confirmation) .presentation-seat:not(.presentation-seat-own) img,.skat-panel:has(.skat-bidding) .presentation-seat:not(.presentation-seat-own) .presentation-initial,.skat-panel:has(.skat-bid-confirmation) .presentation-seat:not(.presentation-seat-own) .presentation-initial,.skat-panel:has(.skat-bidding) .presentation-seat:not(.presentation-seat-own) small,.skat-panel:has(.skat-bid-confirmation) .presentation-seat:not(.presentation-seat-own) small{display:none}.skat-panel:has(.skat-bidding) .table-status,.skat-panel:has(.skat-bid-confirmation) .table-status{display:none}}@media(max-height:320px)and (orientation:landscape){.skat-panel:is(:has(.skat-bidding),:has(.skat-bid-confirmation)) .presentation-seat:not(.presentation-seat-own){width:20%;max-width:20%}.skat-panel:is(:has(.skat-bidding),:has(.skat-bid-confirmation)) .presentation-seat:not(.presentation-seat-own) strong{white-space:normal;overflow:visible;text-overflow:clip}.skat-panel:is(:has(.skat-bidding),:has(.skat-bid-confirmation)) .presentation-table[data-seat-count="3"] .presentation-seat-north[data-north-position=left]{left:36%!important;width:28%;max-width:28%}.skat-panel:is(:has(.skat-bidding),:has(.skat-bid-confirmation)) .presentation-table[data-seat-count="3"] .presentation-seat-north[data-north-position=right]{left:66%!important;width:28%;max-width:28%}.skat-panel:is(:has(.skat-bidding),:has(.skat-bid-confirmation)) .presentation-table[data-seat-count="4"] .presentation-seat[data-side=west]{left:31%!important}.skat-panel:is(:has(.skat-bidding),:has(.skat-bid-confirmation)) .presentation-table[data-seat-count="4"] .presentation-seat-north{left:52%!important}.skat-panel:is(:has(.skat-bidding),:has(.skat-bid-confirmation)) .presentation-table[data-seat-count="4"] .presentation-seat[data-side=east]{left:73%!important;right:auto;transform:translate(-50%,-50%)}.skat-panel:is(:has(.skat-bidding),:has(.skat-bid-confirmation)) .table-menu-toggle{padding-inline:8px;font-size:12px}}@media(max-height:320px)and (orientation:landscape){.skat-panel:is(:has(.skat-bidding),:has(.skat-bid-confirmation)) .presentation-seat:not(.presentation-seat-own){top:0!important;transform:translate(-50%)!important}.skat-panel:is(:has(.skat-bidding),:has(.skat-bid-confirmation)) .presentation-table-content{top:max(62px,calc(var(--opponent-row-height,44px) + 8px))}}@media(max-height:320px)and (orientation:landscape){.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-own-hand{left:75%;width:47%}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-seat-own{left:75%!important;max-width:48%}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .trick-stage{inset:60px 42% 0 22%}}@media(max-height:320px)and (orientation:landscape){.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-hidden-hand{display:none}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-seat:not(.presentation-seat-own){top:0!important;width:20%;max-width:20%;transform:translate(-50%)!important}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-seat:not(.presentation-seat-own) .presentation-player{min-height:28px}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-seat:not(.presentation-seat-own) img,.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-seat:not(.presentation-seat-own) .presentation-initial{display:none}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-table[data-seat-count="3"] .presentation-seat-north[data-north-position=left]{left:36%!important;width:28%;max-width:28%}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-table[data-seat-count="3"] .presentation-seat-north[data-north-position=right]{left:66%!important;width:28%;max-width:28%}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-table[data-seat-count="4"] .presentation-seat[data-side=west]{left:31%!important}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-table[data-seat-count="4"] .presentation-seat-north{left:52%!important}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-table[data-seat-count="4"] .presentation-seat[data-side=east]{left:73%!important;right:auto}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .table-status{inset:auto auto 0 0;max-width:47%;padding:3px 6px}}@media(max-height:550px)and (orientation:landscape){.skat-panel:has(.skat-bidding-overview) .presentation-own-hand{left:75%;width:47%}.skat-panel:has(.skat-bidding-overview) .presentation-seat-own{left:76%!important;max-width:48%}}@media(max-height:320px)and (orientation:landscape){.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-table[data-seat-count="4"] .presentation-seat[data-side=west]{top:50%!important;left:0!important;width:18%;max-width:18%;transform:translateY(-50%)!important}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-table[data-seat-count="4"] .presentation-seat[data-side=east]{top:50%!important;left:auto!important;right:0;width:18%;max-width:18%;transform:translateY(-50%)!important}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-table[data-seat-count="4"] .presentation-seat-north{left:34%!important;width:30%;max-width:30%}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-table[data-seat-count="4"] .presentation-own-hand{left:61%;width:36%}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-table[data-seat-count="4"] .presentation-seat-own{left:61%!important;max-width:70%}}@media(max-height:320px)and (orientation:landscape){.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-table[data-seat-count="4"] .presentation-own-hand{left:60%;width:42%}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-table[data-seat-count="4"] .presentation-seat-own{left:60%!important}.skat-panel:not(:has(.skat-phase-card)):not(:has(.ready-panel)) .presentation-table[data-seat-count="4"] .trick-stage{left:10%;right:54%}}.skat-debug-toggle{position:fixed;left:calc(env(safe-area-inset-left,0px) + 12px);bottom:calc(env(safe-area-inset-bottom,0px) + 12px);z-index:38;min-height:44px;font-size:14px}.skat-debug-panel{position:fixed;z-index:75;top:calc(env(safe-area-inset-top,0px) + 8px);right:calc(env(safe-area-inset-right,0px) + 8px);bottom:calc(env(safe-area-inset-bottom,0px) + 8px);width:min(440px,calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px) - 16px));background:#fffdf2;color:#19372c;border:2px solid #cbaa5c;border-radius:14px;padding:12px;overflow-y:auto;box-shadow:0 10px 40px #0008}.skat-debug-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:-12px;padding:8px 0;background:#fffdf2}.skat-debug-panel h2{font-size:18px;margin:0}.skat-debug-panel button{min-height:44px}.skat-debug-panel p{font-size:14px;line-height:1.4;margin:6px 0}.skat-debug-panel ol{list-style:none;padding:0;margin:12px 0}.skat-debug-panel li{border-top:1px solid #d4ddce;padding:9px 0;overflow-wrap:anywhere}.skat-debug-panel dl{display:block;font-size:13px;margin:6px 0}.skat-debug-panel dl>div{display:flex;justify-content:space-between;gap:12px}.skat-debug-panel dt,.skat-debug-panel dd{margin:0}.skat-rest{border-block:1px solid #d4ddce;padding:8px 0;margin:0 0 8px}.skat-rest p{font-size:15px!important;line-height:1.5}.skat-rest-card{display:inline-block;padding:0 4px;font-size:19px;font-weight:750;white-space:nowrap}.skat-rest-card.suit-hearts,.skat-rest-card.suit-diamonds{color:#ad2532}.skat-rest-card.suit-clubs,.skat-rest-card.suit-spades{color:#17352b}.skat-phase-card.skat-bidding-overview{display:flex;flex-direction:column;gap:6px;text-align:left;width:min(100%,470px);overflow:visible;max-height:none;padding:12px 16px}.bidding-overview-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;font-size:15px;line-height:1.25}.bidding-overview-heading b{font-size:25px}.bidding-overview-heading>span{font-size:14px}.bidding-overview-players{list-style:none;padding:0;margin:0;display:grid;gap:3px;width:100%}.bidding-overview-players li{display:flex;justify-content:space-between;align-items:center;gap:8px;border-radius:5px;padding:3px 6px;line-height:1.2}.bidding-overview-players li[data-actor=true]{background:#e2ebd5;box-shadow:inset 3px 0 #527331}.bidding-overview-players li[data-recent=true]{background:#f4e7b5}.bidding-overview-players li>div{min-width:0}.bidding-overview-players strong{display:block;font-size:16px;overflow-wrap:anywhere}.bidding-overview-players small{display:block;font-size:13px}.bidding-player-status{font-size:14px;white-space:nowrap}.bidding-player-status .bidding-last-action{display:block}.skat-bidding-overview .bidding-last-action{width:100%;font-size:14px;line-height:1.2;margin:0;padding:3px 6px;background:#f4e7b5;border-radius:4px}.skat-bidding-overview .skat-actions{display:flex;justify-content:center;flex-wrap:nowrap;margin:0;width:100%}.skat-bidding-overview .skat-actions button{min-height:44px}.skat-bidding-overview .bidding-wait{font-size:14px;margin:0}.skat-panel:has(.skat-bidding-overview) .presentation-table-content{top:19%;bottom:auto}@media(max-height:550px)and (orientation:landscape){.skat-panel:has(.skat-bidding-overview) .presentation-hidden-hand{display:none}.skat-panel:has(.skat-bidding-overview) .table-status{display:none}.skat-panel:has(.skat-bidding-overview) .presentation-seat:not(.presentation-seat-own){top:0!important;width:20%;max-width:20%;transform:translate(-50%)!important}.skat-panel:has(.skat-bidding-overview) .presentation-seat:not(.presentation-seat-own) .presentation-player{min-height:28px}.skat-panel:has(.skat-bidding-overview) .presentation-seat:not(.presentation-seat-own) img,.skat-panel:has(.skat-bidding-overview) .presentation-seat:not(.presentation-seat-own) .presentation-initial,.skat-panel:has(.skat-bidding-overview) .presentation-seat:not(.presentation-seat-own) small{display:none}.skat-panel:has(.skat-bidding-overview) .presentation-table[data-seat-count="3"] .presentation-seat-north[data-north-position=left]{left:36%!important;width:28%;max-width:28%}.skat-panel:has(.skat-bidding-overview) .presentation-table[data-seat-count="3"] .presentation-seat-north[data-north-position=right]{left:66%!important;width:28%;max-width:28%}.skat-panel:has(.skat-bidding-overview) .presentation-table[data-seat-count="4"] .presentation-seat[data-side=west]{left:31%!important}.skat-panel:has(.skat-bidding-overview) .presentation-table[data-seat-count="4"] .presentation-seat-north{left:52%!important}.skat-panel:has(.skat-bidding-overview) .presentation-table[data-seat-count="4"] .presentation-seat[data-side=east]{left:73%!important;right:auto}.skat-panel:has(.skat-bidding-overview) .presentation-table-content{top:62px;left:2%;right:51%}.skat-phase-card.skat-bidding-overview{gap:3px;padding:7px 9px}.bidding-overview-heading{gap:2px 8px;font-size:14px}.bidding-overview-heading b{font-size:22px}.bidding-overview-heading>span{font-size:13px}.bidding-overview-players{gap:1px}.bidding-overview-players li{padding:2px 4px;gap:4px}.bidding-overview-players strong{font-size:15px;line-height:17px}.bidding-overview-players small{font-size:12px;line-height:14px}.bidding-player-status{font-size:13px}.skat-bidding-overview .bidding-last-action{font-size:13px;padding:1px 4px}.skat-bidding-overview .skat-actions button{font-size:14px;min-width:90px;padding:6px 8px}.skat-bidding-overview .bidding-wait{font-size:13px}}@media(max-height:550px)and (orientation:landscape){.skat-panel:has(.skat-bidding-overview):has(.presentation-open-hand) .presentation-table[data-seat-count="3"] .presentation-seat-north[data-north-position=left]{left:62%!important;width:20%;max-width:20%}.skat-panel:has(.skat-bidding-overview):has(.presentation-open-hand) .presentation-table[data-seat-count="3"] .presentation-seat-north[data-north-position=right]{left:84%!important;width:20%;max-width:20%}.skat-panel:has(.skat-bidding-overview):has(.presentation-open-hand) .table-aside-toggle{left:calc(var(--table-safe-left) + 100px);right:auto}.skat-panel:has(.skat-bidding-overview):has(.presentation-open-hand) .presentation-table-content{top:47px}.skat-panel:has(.skat-bidding-overview):has(.presentation-open-hand) .presentation-seat-north .presentation-open-hand{top:calc(100% + 2px)}}@media(max-height:320px)and (orientation:landscape){.skat-panel:has(.skat-bidding-overview) .skat-debug-toggle{display:none}.skat-panel:has(.skat-bidding-overview) .presentation-seat:not(.presentation-seat-own) .presentation-player strong{font-size:14px;line-height:16px}.skat-panel:has(.skat-bidding-overview) .presentation-seat:not(.presentation-seat-own) .presentation-player{padding-block:2px}.skat-panel:has(.skat-bidding-overview) .presentation-table-content{top:max(47px,calc(var(--opponent-row-height,28px) + 2px));left:0;right:51%}.skat-phase-card.skat-bidding-overview{gap:0;padding:0 7px}.bidding-overview-heading{display:block;font-size:14px;line-height:17px}.bidding-overview-heading b{font-size:20px}.bidding-overview-heading>span{display:block;font-size:13px;line-height:16px}.bidding-overview-players li{padding:0 4px}.bidding-overview-players strong{font-size:14px;line-height:16px}.bidding-overview-players small{font-size:11px;line-height:13px}.bidding-player-status{font-size:12px}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#20342e;background:#f4f3ed;font-synthesis:none;font-size:16px}*{box-sizing:border-box}body{margin:0}header{max-width:1200px;margin:auto;padding:28px 36px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d9dfd6}.brand{font-size:24px;font-weight:800;color:#183d32;text-decoration:none;letter-spacing:-1px}.brand span{color:#857140}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:4px}.connection{font-size:12px;display:flex;align-items:center;gap:8px;color:#52604f}.connection i{width:8px;height:8px;background:#b59757;border-radius:50%}.connection.on i{background:#418660}main{max-width:1200px;margin:auto;padding:38px 36px 0}.intro{max-width:710px;margin-bottom:30px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;color:#52644f;margin:0 0 14px}h1{font-size:clamp(34px,4vw,49px);line-height:1.12;letter-spacing:-1.8px;margin:0 0 16px;font-weight:650}h2{font-size:24px;letter-spacing:-.7px;margin:0 0 24px}h3{font-size:17px;margin:8px 0}.lead{font-size:20px;margin:0 0 12px}.muted{color:#52604f;line-height:1.65;font-size:14px}.panel{border:1px solid #dfe3d9;border-radius:16px;padding:30px;background:#fffef9;box-shadow:0 8px 28px #21392804}.identity{max-width:700px}.inline,.actions{display:flex;gap:12px;flex-wrap:wrap}.inline input{flex:1;min-width:140px}label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}input,select,button{font:inherit;border-radius:8px;min-height:44px}input,select{border:1px solid #c5cebe;background:#fafbf6;color:#273e31;padding:10px 12px;width:100%;font-size:14px}form>input,form>select{margin-bottom:20px}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #987637;outline-offset:3px}button{border:1px solid #214d3c;background:#214d3c;color:#fff;padding:11px 20px;font-weight:600;font-size:13px;cursor:pointer}button:hover{background:#173c2e}button:disabled{opacity:.48;cursor:not-allowed}button.secondary{background:transparent;color:#30523b;border-color:#becbb5}button.secondary:hover{background:#eff2e9}.hint{color:#52614e;font-size:12px;line-height:1.5;margin:12px 0 0}.error{background:#f6e8df;color:#78351f;border-radius:8px;padding:16px;margin-bottom:20px;font-size:14px}.error button{display:block;margin-top:10px}.room-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}.badge{display:inline-block;background:#e9eee1;border-radius:6px;padding:7px 10px;font-size:12px;color:#415338}.room-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px}footer{display:flex;justify-content:space-between;gap:24px;padding:30px 0;color:#52614e;font-size:11px;line-height:1.6}.game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}.game-card{max-width:450px;text-align:left;padding:30px;background:#fffef9;color:#20342e;border:1px solid #ccd6c3}.game-card:hover{background:#eaf0e3}.game-card h2{margin:16px 0 10px}.game-card p{font-weight:400;line-height:1.7}.game-symbol{font-size:40px;color:#6e825d}.navigation{margin-bottom:26px}.text-button{border:0;background:transparent;color:#30523b;padding:0;margin-bottom:20px}.text-button:hover{background:transparent;text-decoration:underline}.room-list{display:grid;gap:16px}.room-row{border-top:1px solid #dbe2d5;padding:20px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.room-row p{margin:8px 0}.team-legend{display:flex;gap:12px;flex-wrap:wrap}.team-label{padding:7px 14px;border-radius:6px;font-size:12px;border-left:4px solid}.team-A{--team: #476d96;--tint: #f1f5fa}.team-B{--team: #987633;--tint: #fbf6e9}.team-label.team-A{background:#e6edf6;border-color:#476d96}.team-label.team-B{background:#f5edd8;border-color:#987633}.virtual-table{height:730px;position:relative;margin:8px 0 0}.table-surface{position:absolute;left:20%;top:25%;width:60%;height:50%;border:10px solid #d9dfcd;border-radius:48%;background:#e5ecdd;display:grid;place-items:center;color:#58714c;font-size:13px}.seat{border:1px solid #d8e0cf;border-top:4px solid var(--team, #9aaa8e);border-radius:12px;padding:14px;text-align:center;background:var(--tint, #fafbf6)}.virtual-table .seat{position:absolute;width:190px;transform:translate(-50%,-50%);box-shadow:0 5px 20px #20342e0b}.seat[draggable=true]{cursor:grab}.seat[draggable=true]:active{cursor:grabbing}.seat.selected{outline:3px solid #395e38;outline-offset:3px}.seat-top{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#43533c}.avatar{height:36px;width:36px;border-radius:50%;background:#e0e8d6;color:#405e37;display:grid;place-items:center;margin:12px auto 0;font-size:17px}.seat .hint{margin:4px 0 10px;font-size:11px}.seat h3{overflow-wrap:anywhere}.seat-role{font-size:11px;margin:4px 0;color:#445b3b;min-height:14px}.seat-controls{display:grid;gap:6px}.seat select,.compact{font-size:11px;min-height:36px;padding:7px}.confirmation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.confirmation h3{font-size:23px}.confirmation .seat h3{font-size:18px}dialog{border:1px solid #cad5c0;border-radius:16px;padding:28px;width:min(580px,calc(100% - 32px));max-height:90vh;color:#20342e;background:#fffef9;overflow:auto}dialog::backdrop{background:#17271bc2}.avatar-dialog{width:min(760px,calc(100% - 32px))}.avatar-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.avatar-option{display:flex;flex-direction:column;align-items:center;gap:7px;background:#f4f6ed;color:#20342e;border-color:#c9d5c0;padding:14px}.avatar-option:hover{background:#e6eedc}.avatar-option span:not(.avatar){font-size:12px;font-weight:400}.avatar-option .avatar{margin:0}.avatar-option small{font-size:10px}dialog .error{margin-top:12px}@media(max-width:760px){header{padding:20px}.brand{font-size:20px}.connection{font-size:10px}main{padding:28px 16px 0}.panel{padding:20px}.room-heading{flex-direction:column;gap:0}.room-heading .badge{margin-bottom:16px}.room-bottom,footer{align-items:flex-start;flex-direction:column}.room-row{align-items:start}.virtual-table{height:850px}.virtual-table .seat{width:150px;padding:10px}.table-surface{left:15%;width:70%}.seat-top{font-size:10px}.seat h3{font-size:15px}.seat-role{font-size:10px}.seat-controls button{padding:6px}.room-bottom>.secondary{width:100%}}@media(max-width:430px){.virtual-table{height:1010px}.virtual-table .seat{width:132px}.table-surface{left:8%;width:84%}.seat-top{font-size:9px;gap:2px}.room-row{flex-direction:column}.room-row button{width:100%}.avatar-grid{grid-template-columns:1fr 1fr}.avatar-option{padding:10px 6px}.avatar-option span:not(.avatar){font-size:11px}.inline{flex-direction:column}.connection{max-width:100px}.actions{width:100%}.actions button{flex:1}.panel{padding:16px}.seat select{padding:5px}.virtual-table .seat .hint{font-size:10px}}.main-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:center}.main-nav button{padding:8px 12px}.profile-nav{display:flex;align-items:center;gap:8px}.user-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex-shrink:0;border-radius:50%;overflow:hidden;background:#dfe8d4;color:#335331;font-size:15px;font-weight:700}.user-icon img,.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.avatar{overflow:hidden}.main-nav .user-icon{width:26px;height:26px;font-size:11px}.auth-switch{margin-top:22px;margin-bottom:0}.account-form{max-width:480px;margin:28px 0;padding-top:20px;border-top:1px solid #dbe2d4}.account-form h3{margin-bottom:20px}.image-upload{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:12px 0}.image-upload label{flex:1;min-width:220px}.image-upload input{margin-top:8px;font-size:12px}.image-upload .user-icon{width:70px;height:70px}.image-upload .error,.image-upload .hint{width:100%}.logout{margin-top:28px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.stats-card{border:1px solid #d2ddc8;border-radius:12px;padding:20px}dl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;font-size:14px}dt{color:#52614e;overflow-wrap:anywhere}dd{margin:0;overflow-wrap:anywhere;max-width:220px;text-align:right}.checkbox{display:flex;align-items:center;gap:12px}.checkbox input{width:22px;height:22px;min-height:22px}.admin-users{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.admin-user{border:1px solid #d2ddc8;border-radius:12px;padding:20px;min-width:0}.admin-user input{margin:8px 0 12px}.admin-user .image-upload label{min-width:0;width:100%}.delete-user{margin-top:20px}.danger{background:#863f2d;border-color:#863f2d}.resume-game{padding:18px;border:1px solid #b5c8a5;border-radius:12px;margin-bottom:24px;background:#eaf0e3}.drag-handle{touch-action:none;width:100%;margin-bottom:6px;cursor:grab;-webkit-user-select:none;user-select:none}.drop-target{outline:4px solid #9c7839!important}.rotate-overlay{position:fixed;inset:0;z-index:1000;background:#f4f3edf7;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px;gap:18px}.rotate-overlay p{max-width:340px;line-height:1.6}.rotate-overlay button{min-width:220px}.rotate-overlay h2{margin:0}header{gap:20px;flex-wrap:wrap}.active-game{position:relative}@media(max-width:760px){.main-nav{order:3;width:100%;justify-content:flex-start}.main-nav button{font-size:12px;flex:1}.admin-users{grid-template-columns:1fr}.admin-user{padding:14px}.virtual-table{height:940px}}@media(max-width:430px){.virtual-table{height:1100px}.image-upload label{min-width:0;width:100%}.stats-card{padding:14px}.main-nav button{padding:6px 8px}.main-nav .profile-nav{flex:2}}
