:root{font-family:Arial,Helvetica,sans-serif;color:#233f36;background:#f1eee5;font-synthesis:none;--gold:#d6b574;--ink:#203d33;--green:#b1ebc6}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 5% 0%,#fffcf5,transparent 65%),#f1eee5}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #d7b16c;outline-offset:4px}[hidden]{display:none!important}header{max-width:1580px;margin:auto;padding:24px 4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d9d5c8}.brand{display:block;font-size:19px;letter-spacing:3px;font-weight:800;text-decoration:none;color:var(--ink)}.brand>span{display:inline-grid;place-items:center;width:42px;height:42px;background:var(--ink);color:#ead6a6;border-radius:13px;font-size:30px;vertical-align:middle;margin-right:9px;box-shadow:0 4px 10px #173e3218}.brand small{display:block;font-size:7px;letter-spacing:2px;margin:-9px 0 0 55px}nav{display:flex;gap:10px}nav button{border:1px solid #cccdbf;border-radius:9px;padding:11px 16px;background:transparent;color:var(--ink);font-size:12px}nav button:last-child{background:var(--ink);border-color:var(--ink);color:#fff9e9;box-shadow:0 3px 8px #183c3418}nav button:hover{filter:brightness(.92)}main{max-width:1510px;margin:auto;padding:31px 4% 22px}.heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 26px}.eyebrow{font-size:9px;letter-spacing:2.3px;font-weight:700;color:#78836f}h1{font:clamp(29px,3.4vw,48px) Georgia,serif;letter-spacing:-1.7px;margin:11px 0;color:#203d33}h2{font:32px Georgia,serif;margin:9px 0}.heading p:not(.eyebrow){font-size:12px;color:#858777;line-height:1.6;margin-bottom:0}.tag{border:1px solid #d8ddcd;color:#62825a;background:#f8f9f0;border-radius:30px;padding:10px 14px;font-size:10px}.game{display:grid;grid-template-columns:215px minmax(0,1fr);border:1px solid #d4d4c5;border-radius:21px;overflow:hidden;background:#faf8f0;box-shadow:0 24px 55px #203d3315,0 2px 5px #203d3308}aside{padding:25px 21px;background:linear-gradient(130deg,#fffdf6,#f2f1e7)}.muted{font-size:11px;color:#858c7d;line-height:1.6}.score{position:relative;border:1px solid #dcdccf;border-radius:11px;padding:15px 17px;margin-top:12px;background:#ffffff65}.score span,.score small{display:block;font-size:8px;letter-spacing:1.7px;font-weight:700;color:#7a826f}.score strong{display:block;font:42px Georgia,serif;margin:5px 0;color:#2d4438}.score small{font-size:8px;font-weight:400;letter-spacing:1px}.ours{background:#e7ecdf;border-color:#cbd6bd}.ours:after{content:'♣';position:absolute;right:17px;top:36px;font-size:31px;color:#bac9aa}.round{display:flex;justify-content:space-between;font-size:9px;color:#78836e;margin:23px 0 18px}.mode{border-top:1px solid #dcded0;padding-top:17px}.mode small,.tempo label{display:block;font-size:8px;letter-spacing:1.8px;color:#7c8672;font-weight:700}.mode b{display:block;margin:9px 0 0;font:20px Georgia,serif}.tempo{margin-top:23px}.tempo select{width:100%;margin-top:8px;padding:10px 11px;border:1px solid #d1d6c3;border-radius:8px;background:#fcfcf4;color:#2c4b38;font-size:12px;cursor:pointer}.tempo small{display:block;font-size:9px;color:#8a907e;margin-top:6px}.textbutton{border:0;background:none;color:#47734e;font-size:11px;padding:0;margin-top:21px}.table-legend{display:flex;gap:12px;font-size:9px;color:#7e8776;margin-top:20px}.table-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.gold{background:#d7ae60}.green{background:#4cba77}.table{position:relative;min-height:690px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 50% 35%,#2a6451 0,#1a4e3e 48%,#10392f 100%);color:#f4f1dc;box-shadow:inset 0 0 80px #061f2480}.table:after{content:'';position:absolute;inset:0;z-index:-1;opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.5' d='M0 0h140v140H0z'/%3E%3C/svg%3E")}.table-edge{position:absolute;inset:20px;border:1px solid #d5c28b30;border-radius:180px;box-shadow:inset 0 0 0 6px #092f2520,0 0 0 7px #092f2520;pointer-events:none;z-index:-1}.table-caption{position:absolute;top:28px;left:28px;font-size:9px;letter-spacing:3px;color:#d4d4b393}.table-caption span{display:block;font-size:6px;letter-spacing:1.6px;margin-top:7px;color:#b6c6ad60}.feltmark{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);font:85px Georgia,serif;color:#e5ddbd0c;text-align:center;pointer-events:none}.feltmark span{display:block;font:8px Arial;letter-spacing:5px}.player{position:absolute;z-index:2;min-width:98px;padding:11px 12px;text-align:center;border:1px solid #b7cba530;border-radius:14px;background:linear-gradient(140deg,#ffffff0d,#ffffff02);box-shadow:0 6px 14px #07291f12;transition:background .3s,border-color .3s,box-shadow .3s}.player .avatar{width:40px;height:40px;display:grid;place-items:center;margin:0 auto 7px;border:1px solid #ccd7b94d;border-radius:50%;background:#ffffff0b;color:#e5ddbb;font:21px Georgia}.player-name{font-size:12px;letter-spacing:.2px;font-weight:500}.player small{display:block;font-size:8px;color:#9fb7a0;margin-top:5px}.north{top:23px;left:50%;transform:translateX(-50%)}.west{left:27px;top:35%}.east{right:27px;top:35%}.player.is-dealer{border-color:#d8b366a0}.player.is-dealer .avatar{border-color:#d6b574;color:#ffdf98}.player.is-active{background:linear-gradient(140deg,#387451,#28523d);border-color:#b0edba;box-shadow:0 0 0 3px #b0edba12,0 10px 24px #08271f40}.player.is-active .avatar{background:#c4e8b9;color:#204b32;border-color:#c4e8b9}.player-badges{display:flex;justify-content:center;gap:4px;flex-wrap:wrap;max-width:115px;margin-top:8px}.player-badges:empty{display:none}.player-badge,.you .player-badge{display:inline-block;border-radius:4px;padding:4px 6px;font-size:8px;font-weight:700;letter-spacing:.3px;line-height:1}.dealer-badge,.you .dealer-badge{background:#e6c47f;color:#433314}.turn-badge,.you .turn-badge{background:#b9e9b4;color:#244c2d}.backs{display:flex;justify-content:center;padding-left:8px;margin-top:10px}.back{width:18px;height:26px;margin-left:-8px;border:1px solid #d9d6bd;border-radius:3px;background:repeating-linear-gradient(45deg,#84987c 0 1px,#2b5140 1px 4px);box-shadow:1px 1px 2px #05221a50}.hand{position:absolute;bottom:68px;left:50%;transform:translateX(-50%);display:flex;justify-content:center;align-items:flex-end;width:94%;height:150px;z-index:3}.card{position:relative;width:88px;height:127px;border:0;border-radius:7px;background:#fff;box-shadow:0 4px 8px #021f1b50;flex-shrink:0;user-select:none;padding:0;overflow:hidden}.card img{display:block;width:100%;height:100%;pointer-events:none;object-fit:fill}.hand .card{margin-left:-15px;transform:translateY(var(--lift,0px)) rotate(var(--tilt,0deg));transition:transform .2s,filter .2s,box-shadow .2s;transform-origin:50% 160%}.hand .card:first-child{margin-left:0}.hand .card:disabled{cursor:default;filter:brightness(.67) saturate(.65)}.hand .card:not(:disabled):hover,.hand .card:not(:disabled):focus-visible{transform:translateY(-21px) rotate(0deg);z-index:9;box-shadow:0 16px 24px #05271c60}.hand .card.recommended{outline:3px solid #e6c47f;transform:translateY(-16px) rotate(0deg)}.you{position:absolute;bottom:23px;left:50%;transform:translateX(-50%);width:max-content;max-width:94%;display:flex;gap:8px;align-items:center;justify-content:center;font-size:10px;padding:9px 14px;border:1px solid #c9d6bc24;border-radius:30px;background:#092d2440}.you>b{font-size:10px;letter-spacing:1px}.you>span:not(.player-badge){font-size:9px;color:#acbda4}.you.is-active{border-color:#a6dfaa90;background:#2c5e41}.you.is-dealer{box-shadow:0 0 0 1px #d6b57450}.status{position:absolute;bottom:239px;left:50%;transform:translateX(-50%);width:max-content;max-width:83%;text-align:center;font-size:12px;line-height:1.5;letter-spacing:.1px;color:#e4e8d4;background:#0b302778;border:1px solid #e8e8be12;border-radius:30px;padding:10px 19px;z-index:2}.status:empty{display:none}#trick{position:absolute;left:50%;top:40%;width:0;height:0;z-index:1}#trick .card{position:absolute;transform:translate(-50%,-50%) rotate(var(--angle,0deg));box-shadow:0 8px 16px #08261e55;width:83px;height:120px}#trick .pos0{margin-top:50px;--angle:3deg}#trick .pos1{margin-left:64px;--angle:12deg}#trick .pos2{margin-top:-43px;--angle:-6deg}#trick .pos3{margin-left:-64px;--angle:-12deg}#trick .new-card{animation:place-card .35s ease-out}@keyframes place-card{from{opacity:0;scale:.9}to{opacity:1;scale:1}}.continue-trick{position:absolute;bottom:207px;left:50%;transform:translateX(-50%);font-size:10px;border:0;background:none;color:#d9c38f;padding:6px;z-index:4}.continue-trick:hover{color:#fff0c8}.reviewing .status{border-color:#d6b57460;color:#f3ddab}.choice{position:absolute;top:166px;left:50%;transform:translateX(-50%);width:76%;max-width:425px;padding:25px;background:linear-gradient(135deg,#fffdf4,#eeefdf);color:#254337;border:1px solid #e8e1c8;border-radius:16px;box-shadow:0 22px 65px #041f1bc0;text-align:center;z-index:6}.choice:empty{display:none}.choice:before{content:'♣';display:block;color:#8e9e70;font-size:22px;margin-bottom:7px}.choice h3{font:29px Georgia,serif;margin:0 0 8px;letter-spacing:-.7px}.choice p{font-size:11px;line-height:1.6;color:#7b8672}.options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:18px}.options button{border:1px solid #ced6bd;border-radius:8px;background:#fffef6;color:#284632;padding:13px 4px;font-size:11px;box-shadow:0 2px 3px #2b442808}.options button:nth-child(2),.options button:nth-child(3){color:#ad4140}.options button:nth-child(n+5){grid-column:span 2}.options button:hover{background:#e1e9d4;border-color:#91a477}.choice>button{background:#2b4e3a;color:#fff9e8;border:0;border-radius:8px;padding:12px 20px;font-size:12px;margin-top:12px}.choice .result-winner{font-size:16px;line-height:1.6;color:#2b4e3a;font-weight:700}.result{padding:3px 14px;background:#e1e8d6;border:1px solid #cbd8b7;border-radius:9px;margin-top:16px}.result p:not(.result-winner){color:#536a47}footer{display:flex;justify-content:space-between;gap:20px;color:#91927e;font-size:9px;padding-top:20px}.version{margin-left:7px;color:#6c8064}dialog{max-width:560px;border:1px solid #d5d9c6;border-radius:18px;padding:32px;background:#fbf8ed;color:#2c4a38;box-shadow:0 25px 100px #001e1780}dialog::backdrop{background:#052d23c9;backdrop-filter:blur(5px)}dialog p{font-size:13px;line-height:1.7}dialog a{color:#436b44}.close{float:right;background:none;border:0;color:#2b4938;font-size:20px}
@media(min-width:1000px){.hand .card:nth-child(1){--tilt:-7deg;--lift:11px}.hand .card:nth-child(2){--tilt:-5deg;--lift:5px}.hand .card:nth-child(3){--tilt:-3deg;--lift:1px}.hand .card:nth-child(7){--tilt:3deg;--lift:1px}.hand .card:nth-child(8){--tilt:5deg;--lift:5px}.hand .card:nth-child(9){--tilt:7deg;--lift:11px}}
@media(max-width:1050px){.game{grid-template-columns:185px 1fr}aside{padding:22px 16px}.card{width:75px;height:109px}.hand .card{margin-left:-18px}.west{left:18px}.east{right:18px}.player{min-width:86px;padding:9px}.choice{width:74%;padding:20px}.options{gap:5px}.options button{font-size:10px}}
@media(max-width:760px){header{padding:18px 4%;gap:8px}.brand{font-size:14px;letter-spacing:2px}.brand>span{width:33px;height:36px;font-size:25px;margin-right:6px;border-radius:9px}.brand small{display:none}nav{gap:6px}nav button{font-size:10px;padding:9px 10px}main{padding:23px 3% 18px}.heading{margin-bottom:20px}h1{font-size:32px;letter-spacing:-1.2px}.heading p:not(.eyebrow){font-size:11px;max-width:250px}.tag{display:none}.game{grid-template-columns:1fr;border-radius:16px}aside{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:14px 16px}aside>.eyebrow,aside>h2,aside>.muted{display:none}.score{margin:0;padding:9px 12px;grid-row:span 2}.score strong{font-size:31px;margin:5px 0 3px}.score span,.score small{font-size:7px;letter-spacing:1px}.ours:after{font-size:23px;right:9px;top:30px}.round{margin:0;display:block;font-size:9px;line-height:1.8}.round span{display:block}.mode{border:0;padding:0}.mode small{font-size:7px}.mode b{font-size:15px;margin-top:4px}.tempo{margin:0;grid-column:1/3;display:flex;align-items:center;gap:8px}.tempo label{font-size:7px;letter-spacing:1px;flex-shrink:0}.tempo select{margin:0;padding:7px 6px;width:112px;font-size:10px}.tempo small{display:none}.textbutton{margin:0;font-size:10px;justify-self:end}.table-legend{grid-column:1/-1;justify-content:center;margin:0;font-size:8px;gap:18px}.table{min-height:650px}.table-edge{inset:13px;border-radius:140px}.table-caption{top:22px;left:23px;font-size:7px;letter-spacing:2px}.table-caption span{font-size:5px}.north{top:18px}.player{min-width:76px;padding:8px 7px;border-radius:11px}.player .avatar{width:32px;height:32px;font-size:18px;margin-bottom:5px}.player-name{font-size:11px}.player small{font-size:7px}.player-badges{max-width:90px;gap:3px;margin-top:6px}.player-badge{font-size:7px;padding:4px 5px}.west{left:13px;top:34%}.east{right:13px;top:34%}.backs{margin-top:8px}.back{height:22px;width:16px}.hand{bottom:68px;height:120px;width:97%}.hand .card{width:clamp(54px,15vw,65px);height:auto;aspect-ratio:169.575/245.14;margin-left:-25px}.status{bottom:203px;font-size:10px;padding:9px 13px;max-width:89%}.continue-trick{bottom:173px;font-size:9px}.you{bottom:21px;padding:8px 11px;gap:6px}.you>span:not(.player-badge){font-size:8px}#trick{top:42%}#trick .card{width:67px;height:97px}#trick .pos0{margin-top:38px}#trick .pos2{margin-top:-34px}#trick .pos1{margin-left:40px}#trick .pos3{margin-left:-40px}.choice{top:161px;width:72%;padding:19px 15px;border-radius:13px}.choice h3{font-size:25px}.choice p{font-size:10px}.choice:before{font-size:19px}.options{gap:5px;margin-top:13px}.options button{padding:12px 3px;font-size:9px}.choice .result-winner{font-size:14px}footer{font-size:8px;line-height:1.5}dialog{max-width:92vw;padding:24px}}@media(max-width:370px){.brand{font-size:12px}.brand>span{width:28px}nav button{font-size:9px;padding:8px}.hand .card{width:54px;height:78px;margin-left:-26px}.player{min-width:66px;padding:7px 4px}.west{left:8px}.east{right:8px}.choice{width:69%;padding:17px 10px}.options{grid-template-columns:repeat(2,1fr)}.options button:nth-child(n+5){grid-column:span 1}.tempo label{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.won-pile{position:absolute;z-index:2;width:68px;text-align:center;color:#b2c4a690;pointer-events:none}.pile-cards{position:relative;width:36px;height:47px;margin:0 auto 7px;border:1px dashed #c1d2ac35;border-radius:4px}.won-pile>span{font-size:8px;letter-spacing:.3px}.pile-cards i{position:absolute;inset:0;background:repeating-linear-gradient(45deg,#acb69a 0 1px,#355842 1px 4px);border:1px solid #e0d9b9;border-radius:4px;transform:translate(calc(var(--i)*.7px),calc(var(--i)*-.9px)) rotate(var(--r));box-shadow:0 1px 2px #031f1a55}.has-cards{color:#e6ddbc}.has-cards .pile-cards{border-color:transparent}.receiving .pile-cards{outline:2px solid #e8cc85;outline-offset:5px;box-shadow:0 0 24px #e8cc8540}.pile0{bottom:22px;right:25px}.pile1{top:60%;right:39px}.pile2{top:173px;left:calc(50% + 74px)}.pile3{top:60%;left:39px}#flight-path{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:visible}#flight-path>path{stroke:#efd28f;stroke-width:2;fill:none;stroke-dasharray:5 7;opacity:.85}#trick{z-index:4}.choice{z-index:7}@media(max-width:760px){.won-pile{width:48px}.pile-cards{width:28px;height:38px;margin-bottom:5px}.won-pile>span{font-size:7px}.pile0{bottom:24px;right:13px}.pile1{top:61%;right:27px}.pile3{top:61%;left:27px}.pile2{top:169px;left:calc(50% + 48px)}.you{max-width:calc(100% - 120px);flex-wrap:wrap;row-gap:4px}.pile-cards i{transform:translate(calc(var(--i)*.45px),calc(var(--i)*-.8px)) rotate(var(--r))}}@media(prefers-reduced-motion:reduce){#flight-path{display:none}}

.pile-archive{position:absolute;top:69px;left:28px;font-size:8px;color:#d3d3ae90;max-width:95px;line-height:1.6}@media(max-width:760px){.pile-archive{top:60px;left:23px;font-size:7px;max-width:65px}}

#mode[data-tone="red"]{color:#ad4140}#mode[data-tone="black"]{color:#232d29}#mode[data-tone="neutral"]{color:#284632}

.bid-symbol{display:inline-grid;place-items:center;vertical-align:middle;margin-left:6px;width:22px;height:22px;border-radius:50%;background:#f7f1db;border:1px solid #e6d3a0;color:#232d29;font-size:17px;font-family:Georgia,serif;line-height:1;box-shadow:0 2px 5px #06291f40}.bid-symbol[data-tone="red"]{color:#ad4140}.bid-symbol[data-tone="neutral"]{color:#284632}.mode #mode-by{margin-top:8px;font-size:10px;letter-spacing:0;line-height:1.4;text-transform:none;font-weight:400;color:#697b5f}.you .bid-symbol{margin-left:5px;width:20px;height:20px;font-size:15px;letter-spacing:0}@media(max-width:760px){.bid-symbol{width:18px;height:18px;font-size:14px;margin-left:4px}.mode #mode-by{font-size:8px;margin-top:4px}.you .bid-symbol{width:18px;height:18px;font-size:14px}}

/* Compact app chrome: the table takes the available viewport on phones. */
.menu-toggle,.mobile-label{display:none}.quick-controls{display:contents}.game{position:relative}header{padding-top:16px;padding-bottom:16px}main{padding-top:18px}footer .tag{padding:0;border:0;background:none;font-size:9px}.game #tip:not(:empty){display:block;position:absolute;z-index:8;left:50%;bottom:177px;transform:translateX(-50%);max-width:85%;padding:8px 12px;border:1px solid #d6b57470;border-radius:9px;background:#fff9e9;color:#294b36;font-size:11px;box-shadow:0 5px 15px #062d2440}.game #tip:empty{display:none}
@media(max-width:900px) and (max-height:1100px){
 html{height:100%;background:#123f36}body{height:100vh;height:100dvh;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:#123f36}header{position:relative;z-index:20;flex:0 0 44px;min-height:44px;width:100%;max-width:none;padding:3px 10px;background:#f6f3e9;border-bottom:1px solid #d8d6c8;gap:8px}.brand{display:flex;align-items:center;font-size:12px;letter-spacing:1.5px;line-height:1}.brand>span{display:grid;width:28px;height:30px;font-size:23px;line-height:1;margin-right:7px;border-radius:7px;box-shadow:none}.brand small{display:none}.menu-toggle{display:block;min-width:67px;min-height:36px;border:1px solid #cbd1c0;border-radius:7px;background:transparent;color:#294532;font-size:11px;padding:6px 10px;margin-left:auto}header nav{display:none;position:absolute;right:8px;top:43px;min-width:155px;padding:8px;border:1px solid #d8d6c8;border-radius:10px;background:#faf7ed;box-shadow:0 10px 30px #07261f55;flex-direction:column;gap:5px}header nav.menu-open{display:flex}header nav button{min-height:42px;text-align:left;font-size:12px;padding:10px 13px;white-space:nowrap}main{flex:1;min-height:0;width:100%;max-width:none;display:flex;flex-direction:column;margin:0;padding:0}.game{flex:1;min-height:0;display:flex;flex-direction:column;border:0;border-radius:0;box-shadow:none;overflow:hidden}.game aside{flex:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(96px,1.2fr);grid-template-rows:32px 36px;gap:4px 6px;padding:5px 8px;border-bottom:1px solid #d7d8c9;background:#f5f3e9}.game aside>.eyebrow,.game aside>h2,.game aside>.muted,.game .table-legend{display:none}.score{grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:6px;padding:3px 8px;margin:0;border-radius:6px;min-width:0;height:32px}.score span{font-size:7px;letter-spacing:.6px;line-height:1.3;max-width:40px}.score strong{font:23px Georgia,serif;margin:0;line-height:1}.score small,.score:after{display:none}.round{grid-row:1;grid-column:3;display:flex;flex-direction:column;justify-content:center;gap:1px;margin:0;font-size:9px;line-height:1.35;text-align:right;color:#586c52}.round span{display:block}.mode{grid-row:2;grid-column:1/3;display:flex;flex-wrap:wrap;align-content:center;align-items:baseline;gap:1px 8px;min-width:0;padding:0;border:0}.mode>small:first-child{display:none}.mode b{margin:0;font:17px Georgia,serif;line-height:1.1}.mode #mode-by{margin:0;font-size:9px;line-height:1.3;letter-spacing:0;white-space:nowrap}.quick-controls{display:flex;grid-column:3;grid-row:2;gap:5px;align-items:center;justify-content:flex-end;min-width:0}.tempo{display:block;grid-column:auto;margin:0;min-width:0;flex:1;max-width:100px}.tempo label,.tempo small{display:none}.tempo select{display:block;width:100%;min-width:0;height:36px;margin:0;padding:6px 2px 6px 6px;border-radius:6px;font-size:10px;background:#fffdf6}.textbutton{grid-column:auto;justify-self:auto;flex:none;display:grid;place-items:center;width:31px;height:36px;min-height:36px;margin:0;padding:0;border:1px solid #cbd3bd;border-radius:6px;background:#fffdf6;font-size:20px}.full-label{display:none}.mobile-label{display:inline}.table{flex:1;min-height:0;width:100%;container-type:size;box-shadow:inset 0 0 55px #06251d60}.table-edge{inset:9px;border-radius:100px;box-shadow:none}.table-caption{top:12px;left:15px;font-size:7px;letter-spacing:1.4px}.table-caption span{display:none}.feltmark{top:39%;font-size:65px}.feltmark span{font-size:6px}.player{min-width:68px;padding:6px;border-radius:9px}.player .avatar{width:26px;height:26px;font-size:16px;margin-bottom:4px}.player-name{font-size:10px}.player small{font-size:7px;margin-top:3px}.player-badges{max-width:89px;margin-top:5px;gap:3px}.player-badge{font-size:7px;padding:3px 4px}.north{top:9px}.west{left:10px;top:31%}.east{right:10px;top:31%}.backs{margin-top:6px}.back{height:17px;width:13px;margin-left:-7px}.bid-symbol{width:17px;height:17px;font-size:13px;margin-left:4px}.hand{bottom:54px;width:97%;height:110px;align-items:flex-end}.hand .card{width:clamp(50px,14vw,74px);height:auto;aspect-ratio:169.575/245.14;margin-left:clamp(-26px,-6vw,-20px);--tilt:0deg;--lift:0px;transform:none}.hand .card:not(:disabled):hover,.hand .card:not(:disabled):focus-visible{transform:translateY(-10px)}.you{bottom:9px;left:50%;max-width:calc(100% - 105px);padding:5px 8px;min-height:30px;gap:5px;row-gap:3px;flex-wrap:wrap}.you>b{font-size:9px}.you>span:not(.player-badge){font-size:8px}.you .bid-symbol{width:16px;height:16px;font-size:12px}.you .player-badge{font-size:7px;padding:3px 4px}.status{bottom:174px;max-width:calc(100% - 28px);width:max-content;padding:7px 11px;font-size:10px;line-height:1.4;border-radius:12px}.continue-trick{bottom:145px;min-height:30px;padding:7px;font-size:10px;white-space:nowrap}#trick{top:39%}#trick .card{width:clamp(53px,12.5cqh,72px);height:auto;aspect-ratio:169.575/245.14}#trick .pos0{margin-top:32px}#trick .pos2{margin-top:-30px}#trick .pos1{margin-left:37px}#trick .pos3{margin-left:-37px}.choice{top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 30px);max-width:395px;max-height:calc(100% - 16px);overflow-y:auto;overscroll-behavior:contain;padding:17px 16px;border-radius:13px}.choice:before{font-size:19px;margin-bottom:5px}.choice h3{font-size:25px}.choice p{font-size:11px;line-height:1.5}.options{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:12px}.options button{min-height:44px;padding:10px 3px;font-size:10px}.options button:nth-child(n+5){grid-column:span 2}.choice>button{min-height:40px;margin-top:9px;padding:9px 16px}.choice .result-winner{font-size:15px}.won-pile{width:45px}.pile-cards{width:26px;height:35px;margin-bottom:4px}.won-pile>span{font-size:7px}.pile0{bottom:11px;right:12px}.pile1{top:55%;right:22px}.pile3{top:55%;left:22px}.pile2{top:110px;left:calc(50% + 57px)}.pile-archive{top:36px;left:15px;font-size:7px;max-width:65px}.game #tip:not(:empty){bottom:155px;max-width:90%;font-size:10px;margin:0}footer{display:none}dialog{max-width:94vw;max-height:90dvh;overflow:auto;padding:22px}dialog p{font-size:12px}
}
@media(max-width:900px) and (max-height:710px){
 .table .player .avatar{display:none}.table .north{top:8px}.table .player{padding:6px;min-width:65px}.table .backs{display:none}.table .player-badges{margin-top:4px}.table .pile2{top:69px;left:calc(50% + 54px)}.table .status{bottom:155px;font-size:9px;padding:6px 9px}.table .continue-trick{bottom:125px}.table .hand{bottom:49px;height:90px}.table .hand .card{width:clamp(47px,13vw,64px);margin-left:-23px}.table #trick{top:36%}.table #trick .card{width:clamp(46px,12cqh,60px)}.table #trick .pos0{margin-top:27px}.table #trick .pos2{margin-top:-26px}.table .pile-cards{width:23px;height:31px}.table .pile1,.table .pile3{top:53%}
}
@media(max-width:900px) and (orientation:landscape) and (max-height:550px){
 header{flex-basis:38px;min-height:38px;padding-top:1px;padding-bottom:1px}.menu-toggle{min-height:32px;height:32px}header nav{top:37px}.game{flex-direction:row}.game aside{width:142px;flex:0 0 142px;grid-template-columns:1fr 1fr;grid-template-rows:35px 30px 52px 38px;gap:6px;padding:9px}.score{height:35px;padding:3px 5px}.score strong{font-size:20px}.score span{font-size:6px}.round{grid-column:1/3;grid-row:2;flex-direction:row;justify-content:space-between;text-align:left;align-items:center;font-size:8px}.mode{grid-column:1/3;grid-row:3;align-content:start;gap:5px}.mode b{font-size:16px}.mode #mode-by{font-size:9px}.quick-controls{grid-column:1/3;grid-row:4}.table{min-width:0}.table .north{top:6px}.table .player{min-width:60px;padding:4px}.table .player-name{font-size:9px}.table .player small{display:none}.table .player-badges{margin-top:3px}.table .west,.table .east{top:28%}.table .hand{bottom:35px;height:70px}.table .hand .card{width:clamp(42px,15cqh,58px);margin-left:-10px}.table .you{bottom:4px;padding:4px 6px;min-height:25px}.table .you>span:not(.player-badge){display:none}.table .status{bottom:117px;font-size:9px;max-width:72%;padding:4px 8px}.table .continue-trick{bottom:92px;min-height:25px;font-size:9px;padding:4px}.table #trick{top:35%}.table #trick .card{width:clamp(35px,13cqh,49px)}.table #trick .pos0{margin-top:20px}.table #trick .pos2{margin-top:-19px}.table #trick .pos1{margin-left:30px}.table #trick .pos3{margin-left:-30px}.table .pile2{top:54px;left:calc(50% + 64px)}.table .pile1,.table .pile3{top:60%}.table .pile-cards{width:19px;height:25px}.table .pile0{bottom:6px;right:8px}.table .table-caption{display:none}.table .pile-archive{top:9px;left:10px}.table .choice{max-width:350px;padding:10px 14px}.table .choice:before{display:none}.table .choice h3{font-size:22px}.table .choice p{margin:6px 0;font-size:10px}.table .options{margin-top:8px}.table .options button{min-height:34px;padding:7px 3px}.table .choice>button{min-height:34px;margin-top:6px;padding:7px 15px}.game #tip:not(:empty){bottom:96px;left:calc(50% + 71px)}
}

#boot-error{position:fixed;z-index:100;left:12px;right:12px;bottom:12px;max-width:600px;margin:auto;padding:16px 20px;background:#fff3d5;border:2px solid #ba782f;border-radius:10px;color:#603b14;font-size:14px;line-height:1.5;box-shadow:0 8px 30px #0004}
