/*! Mulatschak — © 2026 Daniel Metzner. All rights reserved. Proprietary software: no copying, redistribution, modification or use as training data. Licence enquiries: mulatschak@metzner.uk */
:root{--felt-1:#0d3b2c;--felt-2:#07271e;--felt-line:#ffffff12;--brass:#d8a94a;--brass-dim:#8d6f2e;--cream:#f4ecd8;--ink:#14231d;--ink-soft:#5c6b64;--card-face:#fbf7ef;--card-edge:#ded3bd;--red:#c62828;--black:#1d2621;--good:#6fd08c;--bad:#ff8a75;--hand-lift:20px;--hand-gap:8px;--actions-h:85px;--page-w:44rem;--r-sm:8px;--r-md:14px;--r-lg:22px;--sh-1:0 1px 2px #0000004d;--sh-2:0 6px 18px #00000059;--sh-3:0 18px 50px #00000080;--card-w:clamp(62px, 20vw, 92px);--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--felt-2);height:100%;color:var(--cream);font-family:var(--font);overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;margin:0;overflow:hidden}#app{height:100%}.screen{height:100%;padding:calc(var(--safe-t) + 10px) 12px calc(var(--safe-b) + 10px);background:radial-gradient(120% 90% at 50% 0%, #17513c 0%, var(--felt-1) 45%, var(--felt-2) 100%);flex-direction:column;display:flex}.start{padding-top:calc(var(--safe-t) + 10px);-webkit-overflow-scrolling:touch;text-align:center;justify-content:flex-start;align-items:center;gap:20px;position:relative;overflow-y:auto}.start-head{width:min(var(--page-w), 100%);justify-content:space-between;align-items:center;gap:12px;display:flex}.start-word{min-width:0;margin:0}.start-word svg{width:auto;height:34px;display:block}.start-tools{flex:none;align-items:center;display:flex}.lang-control{appearance:none;color:var(--brass);font:inherit;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;min-height:44px;padding:8px 10px;font-size:14px;transition:color .15s;display:inline-flex}.lang-globe{opacity:.8;flex:none}.settings-control{appearance:none;color:#f4ecd8b8;background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;transition:color .15s;display:grid}.start-settings{border:0;border-left:1px solid #f4ecd824;margin-left:4px;padding-left:8px}.prerender{color:#f4ecd8d9;max-width:34rem;margin:0 auto;padding:12vh 1.25rem 2rem;font-size:16px;line-height:1.6}.prerender h1{color:var(--brass);margin:0 0 .5rem;font-size:2rem}.prerender a{color:var(--brass)}.doc-body h3.group{letter-spacing:.12em;text-transform:uppercase;color:#f4ecd899;border-bottom:1px solid #ffffff14;margin:26px 0 4px;padding-bottom:6px;font-size:13px}.doc-body h3.group:first-child{margin-top:6px}.waiting{color:#f4ecd88c;letter-spacing:.3px;font-size:14px}.field-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:10px 0 6px;display:flex}.chips{flex-wrap:wrap;gap:8px;margin:6px 0 18px;display:flex}.field-row .chips{flex:auto;justify-content:flex-end;min-width:0;margin:0}.code-actions{justify-content:center;margin:-6px 0 6px;display:flex}.menu-row{gap:10px;display:flex}.start-foot{color:#f4ecd899;margin-top:auto;padding-bottom:6px;font-size:13px}.start-foot ul{flex-wrap:wrap;justify-content:center;align-items:center;margin:0;padding:0;list-style:none;display:flex}.start-foot li{align-items:center;margin:0;display:inline-flex}.start-foot li:not(:last-child):not(.start-foot-break):after{content:"·";opacity:.6;margin-inline:4px}.start-foot-break{display:none}@media (max-width:34rem){.start-foot ul{row-gap:6px}.start-foot-break{flex:0 0 100%;height:0;display:block}.start-foot li:nth-child(3):after{display:none}}.linkbtn{appearance:none;font:inherit;color:inherit;text-underline-offset:3px;background:0 0;border:0;margin:-14px 0;padding:14px 0;line-height:16px;text-decoration:underline;transition:color .15s}.footlink{color:#d8a94acc;padding-inline:4px;text-decoration:none}.tdrop{color:#f4ecd8bf;margin:-14px 0;padding:14px 17px;font-size:16px;line-height:1;text-decoration:none}.linkbtn:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.brand-facts{letter-spacing:.04em;color:var(--brass);margin:4px 0 0;font-size:13px}.brand-sub{color:#f4ecd8a6;margin:0;font-size:15px}.menu{z-index:2;flex-direction:column;gap:10px;width:min(340px,90%);display:flex;position:relative}.landing-fan{z-index:1;pointer-events:none;width:164px;height:88px;margin:2px auto -42px;position:relative}.landing-fan .landing-card{transform-origin:50% 115%;filter:drop-shadow(0 8px 12px #00000059);width:58px;position:absolute;bottom:0;left:50%}.landing-fan .landing-card svg{box-shadow:none}.landing-fan .landing-card.fan-1{transform:translate(-82px)rotate(-13deg)translateY(9px)}.landing-fan .landing-card.fan-2{z-index:2;width:62px;transform:translate(-31px)translateY(-4px)}.landing-fan .landing-card.fan-3{transform:translate(25px)rotate(13deg)translateY(9px)}.flag{opacity:.8;border-radius:3px;gap:3px;width:84px;height:6px;display:flex;overflow:hidden}.flag span{flex:1}.flag span:first-child,.flag span:nth-child(3){background:#c8102e}.flag span:nth-child(2){background:var(--cream)}.btn{appearance:none;color:var(--cream);font:inherit;text-align:center;border-radius:var(--r-md);box-shadow:var(--sh-1);background:#ffffff14;border:1px solid #ffffff29;padding:14px 18px;font-size:17px;font-weight:600;line-height:20px;transition:transform 80ms,background .15s,box-shadow .15s}.btn:active{transform:translateY(1px)scale(.99)}.btn.primary{background:linear-gradient(170deg, #e8c169, var(--brass) 60%, #b8892f);color:#2a1d05;box-shadow:var(--sh-2);border-color:#0003}.btn.ghost{color:#f4ecd8b3;background:0 0;border-color:#ffffff1f;font-weight:500}.doc-body>.btn{width:100%;display:block}a.btn{text-decoration:none;display:inline-block}.btn.small{min-width:48px;padding:12px 14px;font-size:15px}.menu-row .btn{white-space:nowrap;flex:1 1 0;min-width:0;padding-inline:6px}.icon-btn{appearance:none;color:var(--cream);background:#ffffff14;border:0;border-radius:12px;place-items:center;width:44px;height:44px;font-size:19px;line-height:1;transition:background .15s;display:grid}.field{color:#f4ecd8b3;margin:0 0 14px;font-size:13px;display:block}.field input{appearance:none;width:100%;font:inherit;color:var(--cream);border-radius:var(--r-md);text-transform:none;background:#00000038;border:1px solid #ffffff29;margin-top:5px;padding:12px 14px;font-size:17px;display:block}.field input:focus-visible{outline:2px solid var(--brass);outline-offset:1px}.roomcode{-webkit-user-select:text;user-select:text;text-align:center;letter-spacing:8px;color:var(--brass);margin:6px 0 2px;font-size:44px;font-weight:800}.seatlist{margin:0 0 22px;padding:0;list-style:none}.seatlist li{border-top:1px solid #ffffff14;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:10px 0;display:flex}.seat-no{flex:none}.seat-name{appearance:none;min-width:0;font:inherit;color:var(--cream);border-radius:var(--r-sm);background:#00000038;border:1px solid #ffffff29;flex:100%;padding:12px;font-size:15px}.seat-name:focus-visible{outline:2px solid var(--brass);outline-offset:1px}.deck-sample{align-items:center;gap:6px;min-height:89.6px;margin:-6px 0 20px;display:flex}.stat-table{border-collapse:collapse;width:100%;font-size:15px}.stat-table td{border-top:1px solid #ffffff14;padding:8px 0}.stat-table td+td{color:var(--brass);text-align:right;font-weight:700}.ach{margin:0;padding:0;list-style:none}.ach li{border-top:1px solid #ffffff14;align-items:flex-start;gap:10px;padding:9px 0;display:flex}.ach-mark{text-align:center;flex:none;width:22px}.ach-hint{color:#f4ecd8b3;font-size:13px}.ach li.locked{color:#f4ecd8d1}.ach li.locked .ach-hint{color:#f4ecd899}.ach li.locked .ach-mark{color:#f4ecd880}.hint{color:#f4ecd899;margin:8px 0 18px;font-size:13px}.chips+.hint{margin-top:-8px}.seatlist .chips{flex:none;margin:0}.chip{appearance:none;color:var(--cream);font:inherit;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:999px;min-width:44px;padding:12px 14px;font-size:15px;transition:background .15s,border-color .15s,color .15s}.chip.on{background:var(--brass);color:#2a1d05;border-color:#0000;font-weight:700}.seat-fixed{letter-spacing:.04em;text-transform:uppercase;color:#f4ecd8b3;font-size:13px;font-weight:600}.doc{padding-top:calc(var(--safe-t) + 8px);-webkit-overflow-scrolling:touch;overflow-y:auto}.doc-head,.doc-title,.doc-body,.doc-actions{width:100%;max-width:var(--page-w);margin-inline:auto}.doc-head{flex:none;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.doc-tools{flex:none;align-items:center;display:flex}.doc-settings{border-left:1px solid #f4ecd824;margin-left:4px;padding-left:8px}.doc-back{appearance:none;color:#f4ecd8b8;background:0 0;border:0;align-items:center;gap:8px;min-height:44px;padding:8px 10px 8px 0;display:inline-flex}.doc-back>svg{flex:none}.doc-word svg{width:auto;height:28px;display:block}.doc-title{color:var(--cream);flex:none;margin-top:0;margin-bottom:10px;font-size:26px;line-height:1.2}.doc-body{color:#f4ecd8e0;flex:none;padding:4px 2px 24px;font-size:15px;line-height:1.55;overflow:visible}.doc-body h3{color:var(--brass);margin:20px 0 6px;font-size:16px}.doc-body ul{padding-left:20px}.doc-body strong{color:var(--cream)}.ach li.got strong{color:var(--brass)}.reading-body{-webkit-user-select:text;user-select:text;padding-top:0}.doc-inline-action{justify-content:flex-end;margin:0 0 12px;display:flex}.tally-names{flex-direction:column;gap:8px;margin:6px 0 12px;display:flex}.tname{align-items:center;gap:8px;display:flex}.tname input{min-width:0;font:inherit;color:var(--cream);background:#ffffff0f;border:1px solid #ffffff2e;border-radius:10px;flex:auto;padding:10px 12px;font-size:16px}.doc-actions{flex-wrap:wrap;gap:10px;margin:18px 0 6px;display:flex}.doc-actions>.btn{flex:160px}.tally-standings,.tally-sheet{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.tally-standings td,.tally-sheet td,.tally-sheet th{text-align:left;border-bottom:1px solid #ffffff14;padding:6px 4px}.tally-standings .num{color:var(--brass);text-align:right;width:3.5em;font-size:20px;font-weight:700}.tally-standings .note{color:#f4ecd899;text-align:right;font-size:12px}.tally-standings .out-row{opacity:.45}.tally-standings .win-row .num{color:#7bd88f}.tally-sheet{font-size:13px}.tally-sheet th{color:var(--brass);font-size:12px}.tally-sheet .num,.tally-sheet th{text-align:right}.tally-sheet th:first-child{text-align:left}.tbid{color:#f4ecd866}.tally-sheet .good{color:#7bd88f}.tally-sheet .bad{color:#e88b7d}.tally-tricks{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.trow{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.trow .chips{flex-wrap:nowrap;gap:5px;margin:0}.tname-lbl{text-overflow:ellipsis;white-space:nowrap;flex:0 0 4.4em;overflow:hidden}.trow.satout .tname-lbl{opacity:.5;text-decoration:line-through}.chip.tiny{text-align:center;min-width:31px;min-height:34px;padding:7px 0;font-size:14px}.chip[disabled]{opacity:.4}.btn[disabled]{opacity:.45;pointer-events:none}.tleft{min-width:1.6em;color:var(--cream);text-align:center;background:#ffffff1a;border-radius:999px;padding:0 6px;font-size:13px;display:inline-block}.tproblem{color:#e88b7d;margin:4px 0 0;font-size:13px}.game{padding:calc(var(--safe-t) + 6px) 8px calc(var(--safe-b) + 6px)}.board{flex-direction:column;flex:1;gap:6px;width:100%;max-width:620px;min-height:0;margin-inline:auto;display:flex}.topbar{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.tag{flex:none}.trump-tag{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}@media (max-width:360px){.tag-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.tag{letter-spacing:.2px;color:#f4ecd8e6;background:#00000047;border:1px solid #ffffff14;border-radius:999px;padding:7px 11px;font-size:14px;font-weight:600}.tag.trump-tag{color:var(--cream)}.tag.trump-tag.red{color:#ff9a8a}.tag.stake{background:var(--brass);color:#2a1d05;border-color:#0000}.stake-why{letter-spacing:1px;opacity:.75;margin-left:4px;font-size:11px}.stake-why svg{vertical-align:-1px;width:11px;height:11px;display:inline-block}.tag.muli{color:#ffd9d0;background:#7b1f1f;border-color:#0000}.table{flex:auto;width:100%;min-height:210px;display:block;position:relative}.table:before{content:"";aspect-ratio:1.15;border:1px solid var(--felt-line);pointer-events:none;background:radial-gradient(closest-side,#ffffff0b,#0000 72%);border-radius:50%;width:min(80vw,340px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.prompt-note{color:#cbd8cc;margin-top:3px;font-size:12.5px;font-weight:600;display:block}.prompt-note.lap-covered{display:none}.lap{white-space:nowrap;justify-content:center;align-items:baseline;gap:8px;min-height:16px;margin-top:4px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.lap-seat{color:#9fb3a4;align-items:baseline;gap:3px;min-width:0;display:flex}.lap-name{text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}.lap-mark{flex:none}.lap-seat.is-current{color:var(--brass)}.lap-seat.is-spoken{color:#87998b}.lap-state{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.faceup{--faceup-w:84px;justify-content:center;align-items:center;gap:10px;margin-top:6px;display:flex}.faceup-slot{flex-direction:column;align-items:center;gap:3px;display:flex}.faceup-card,.faceup-empty{width:var(--faceup-w);display:block}.faceup-card svg{width:100%;height:auto;display:block}.faceup-empty{height:calc(var(--faceup-w) * 1.6);background:#d8a94a0f;border:2px dashed #d8a94a73;border-radius:7px}.faceup-swap{color:var(--brass);flex:none;margin-bottom:14px;font-size:20px;line-height:1}.faceup-cap{color:#a9bcae;white-space:nowrap;font-size:11px;font-weight:600}.me-trump{color:var(--brass);white-space:nowrap;flex:none;align-items:center;gap:4px;font-size:12px;font-weight:800;display:inline-flex}.me-trump.red{color:#f0a08c}.me-trump-mark{align-items:center;font-size:13px;line-height:1;display:inline-flex}.me-trump-mark svg{width:13px;height:13px}.announce{pointer-events:none;z-index:15;opacity:0;visibility:hidden;background:#061812e6;border:1px solid #d8a94a73;border-radius:18px;flex-direction:column;align-items:center;gap:6px;width:max-content;max-width:calc(100% - 32px);margin-inline:auto;padding:18px 26px;transition:opacity .2s;display:flex;position:fixed;top:45%;left:0;right:0;transform:translateY(-50%);box-shadow:0 10px 30px #00000073}.announce.on{opacity:1;visibility:visible;animation:.28s ease-out announce}.announce-mark{justify-content:center;align-items:center;min-height:84px;font-size:68px;line-height:1;display:flex}.announce-mark .suit-red{color:#f0a08c}.announce-mark svg{width:84px;height:84px;display:block}.announce-text{color:var(--cream);text-align:center;font-size:17px;font-weight:700}.announce.cards{padding:14px 16px}.announce.cards .announce-mark{gap:4px;min-height:0}@keyframes announce{0%{opacity:0;transform:translateY(-50%)scale(.82)}}@media (orientation:landscape) and (max-height:560px){.announce{flex-direction:row;gap:12px;padding:8px 16px;top:38%}.announce-mark{min-height:40px;font-size:34px}.announce-mark svg{width:40px;height:40px}.announce-text{font-size:15px}}.p-head{align-items:center;gap:6px;min-width:0;max-width:100%;display:flex}.p-badge{color:#f2e6c8;background:linear-gradient(160deg,#2b6a4f,#17402f);border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:grid;box-shadow:inset 0 0 0 1px #d8a94a8c,0 1px 2px #00000059}.p-badge.bot{background:linear-gradient(160deg,#2f4b60,#16303f);font-size:11px;box-shadow:inset 0 0 0 1px #ffffff2e}.p-badge.bidder{color:#3a2a06;background:linear-gradient(160deg,#f6dc98,#d8a94a);box-shadow:inset 0 0 0 1px #ffffff80,0 0 10px #d8a94a80}.player{border-radius:var(--r-md);background:linear-gradient(#0a281eb8,#041610b8);border:1px solid #ffffff12;flex-direction:column;align-items:center;gap:3px;max-width:42%;padding:8px 10px;transition:box-shadow .2s,border-color .2s;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 0 1px #ffffff0f,0 6px 16px #00000047}.player.active{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass), 0 0 22px #d8a94a47}.player.is-out{opacity:.4}.player.sitting{opacity:.6}.table.p5 .player{gap:2px;padding:5px 7px}.p-hand{gap:2px;display:flex}.table.p5 .p-hand{display:none}.table.p5 .p-badge{width:17px;height:17px;font-size:10px}.p-watching{color:#f4ecd899;font-size:11px;font-weight:400}.p-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:14px;font-weight:700;overflow:hidden}.p-bidder{color:var(--brass)}.p-stats{color:#f4ecd8bf;align-items:center;gap:7px;font-size:13px;display:flex}.p-lives{color:var(--cream);font-weight:700}.p-bid{text-align:center;background:#ffffff1a;border-radius:5px;min-width:18px;padding:1px 4px;font-weight:700}.p-tricks{color:var(--brass);letter-spacing:1px}.minicard{--from-mid:calc(var(--i) - (var(--n) - 1) / 2);width:17px;transform:rotate(calc(var(--from-mid) * 4deg)) translateY(calc(var(--from-mid) * var(--from-mid) * .6px));transform-origin:bottom;margin-inline:-3px;display:block}.minicard svg{border-radius:2px;width:100%;height:auto;display:block}.plate-legend{text-align:center;color:#f4ecd8a6;min-height:15px;margin:0;font-size:12px;line-height:15px}.score-hint{text-align:center;margin:10px 0 0}.trick{position:absolute;inset:0}.trick-slot{left:var(--tx,50%);top:var(--ty,50%);width:clamp(62px,20vw,94px);position:absolute}.trick-slot.won{z-index:5;filter:drop-shadow(0 0 10px var(--brass))}.trick-slot.landing{animation:.2s ease-out land}@keyframes land{0%{opacity:0;filter:brightness(1.4)}}.card{appearance:none;font:inherit;color:inherit;background:0 0;border:0;margin:0;padding:0;display:block;position:relative}.deck-sample .card{width:56px}.announce.cards .card{width:46px}@media (orientation:landscape) and (max-height:560px){.announce.cards .card{width:30px}}.card:focus-visible{outline:3px solid var(--brass);outline-offset:2px;border-radius:9px}.card svg{width:100%;height:auto;box-shadow:var(--sh-1);pointer-events:none;border-radius:7px;display:block}.card-svg .face{fill:var(--card-face);stroke:var(--card-edge);stroke-width:2px}.card-svg .face-inner{fill:none;stroke:#00000012;stroke-width:1.5px}.card-svg .idx,.card-svg .pip{font-family:var(--font);font-weight:700}.card-svg.red .idx,.card-svg.red .pip{fill:var(--red)}.card-svg.black .idx,.card-svg.black .pip{fill:var(--black)}.fr-card .face{fill:#fffdf8;stroke:#c9c1b1;stroke-width:2.2px}.fr-card.red{color:var(--red)}.fr-card.black{color:var(--black)}.fr-card .idx{font-family:Georgia,Times New Roman,serif;font-weight:700}.fr-card .fr-ace-pip{font-family:Georgia,Times New Roman,serif}.fr-card.joker .face{stroke:#c39426;stroke-width:3px}.fr-card .joker-label{fill:#111;letter-spacing:5px;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:800}.simple-card .face{fill:#fff;stroke:#bbb4a8;stroke-width:2.2px}.simple-card .simple-rank,.simple-card .simple-suit{font-family:Georgia,Times New Roman,serif;font-weight:800}.simple-card.red .simple-rank,.simple-card.red .simple-suit{fill:var(--red)}.simple-card.black .simple-rank,.simple-card.black .simple-suit{fill:var(--black)}.simple-card.simple-weli .idx,.simple-card.simple-weli .simple-rank,.simple-card.simple-weli .simple-suit{fill:#a97812}.simple-card.simple-weli .face{stroke:#c39426;stroke-width:3px}.dd-card .idx,.dd-card .weli-name{fill:#141414;font-family:Georgia,Times New Roman,serif;font-weight:900}.dd-card .dd-name,.dd-card .dd-season{fill:#141414;font-family:Georgia,Times New Roman,serif;font-style:italic}.dd-card .face{fill:#f7f0df;stroke:#a88a5b;stroke-width:2.4px}.dd-card.weli .face{stroke:var(--brass);stroke-width:4px}.card-svg.back .back-bg{fill:#8f1d24;stroke:#f4ecd8;stroke-width:3px}.card-svg.back .back-line{stroke:#ffffff29;stroke-width:5px}.card-svg.back .back-frame{fill:none;stroke:#f4ecd88c;stroke-width:2px}.card-svg.back .back-medallion{fill:#f4ecd8}.card-svg.back .back-mark{fill:#8f1d24;font-weight:800;font-family:var(--font)}.learn-block{flex-direction:column;gap:10px;display:flex}.newhere{border-radius:var(--r-md);text-align:left;background:#d8a94a17;border:1px solid #d8a94a59;align-items:center;gap:8px;width:100%;margin:0;padding:6px;display:flex;position:relative}.newhere-action{appearance:none;min-width:0;color:inherit;font:inherit;text-align:left;background:0 0;border:0;flex:auto;padding:6px;display:block}.newhere strong{color:var(--brass);font-size:13px;display:block}.newhere-action span{color:#cfe3d8;margin-top:2px;font-size:13px;line-height:1.35;display:block}.newhere-close{appearance:none;color:#f4ecd8b3;width:44px;height:44px;font:inherit;background:0 0;border:0;flex:0 0 44px;place-items:center;margin:-6px 0;padding:0;font-size:16px;display:grid}.doc a{color:var(--brass);text-underline-offset:2px;text-decoration:underline}.inst-routes{flex-direction:column;align-items:stretch;gap:0;display:flex}.inst-store,.inst-ios{border-radius:var(--r-md);color:var(--cream);text-align:center;box-shadow:var(--sh-1);background:linear-gradient(#d8a94a2e,#d8a94a14);border:1px solid #d8a94a9e;flex-direction:column;align-items:center;gap:8px;margin:4px 0 0;padding:16px;text-decoration:none;display:flex}.inst-store img{display:block}.inst-ios{box-shadow:none;background:#00000024}.inst-ios-what{font-size:15px;font-weight:700}.inst-store-why{color:#dcebe3;font-size:13px;line-height:1.35}.inst-route{border-radius:var(--r-md);height:48px;color:var(--cream);font:inherit;text-align:center;background:#0000002e;border:1px solid #d8a94a66;margin:10px 0 0;padding:0 16px;font-size:15px;font-weight:600}.inst-or{letter-spacing:.04em;text-transform:uppercase;color:var(--brass);border-top:1px solid #d8a94a29;margin:18px 0 0;padding-top:16px;font-size:12px;font-weight:700}.inst-why{color:#cfe3d8;margin:6px 0 0;font-size:13px}.rule-rows{flex-direction:column;gap:2px;display:flex}.rule-row{border-top:1px solid #d8a94a29;padding:10px 0}.rule-row:first-child{border-top:0}.rule-head{flex-wrap:nowrap;align-items:center;gap:8px;display:flex}.rule-head .chips{margin:0}.rule-name{flex:auto;min-width:0;font-weight:600}.rule-off{letter-spacing:.04em;color:var(--brass);text-transform:uppercase;flex:none;font-size:12px;font-weight:700}.rule-off.standard{visibility:hidden}.rule-why{color:#cfe3d8;max-width:46ch;margin:4px 0 0;font-size:13px}.switch{color:inherit;font:inherit;background:0 0;border:0;flex:none;align-items:center;gap:8px;padding:9px 4px 9px 8px;display:inline-flex}.switch:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.switch-track{background:#00000052;border:1px solid #d8a94a4d;border-radius:13px;width:46px;height:26px;transition:background .16s;display:block;position:relative}.switch-knob{background:#cfe3d8;border-radius:50%;width:20px;height:20px;transition:transform .16s,background .16s;position:absolute;top:2px;left:2px}.switch.on .switch-track{border-color:var(--brass);background:#1f6b4d}.switch.on .switch-knob{background:var(--brass);transform:translate(20px)}.switch-word{min-width:3ch;font-size:13px;font-weight:600}.rules-state{color:var(--brass);margin:0 0 6px;font-weight:600}.rules-reset.is-hidden{visibility:hidden}.setting-toggle{justify-content:space-between;align-items:center;gap:12px;display:flex}.doc-body .setting-toggle h3{margin-right:auto}.me{gap:calc(var(--hand-lift) + var(--hand-gap));padding-bottom:max(2px, var(--safe-b));flex-direction:column;margin-top:auto;display:flex}.me-stats{color:#f4ecd8cc;align-items:center;gap:10px;padding:0 4px;font-size:12px;display:flex}.me-stats .p-lives,.me-stats .p-bid{white-space:nowrap;flex:none}.me-stats .p-who{align-items:center;gap:3px;min-width:0;display:flex}.me-stats .p-who .p-bidder{flex:none}.me-stats .p-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.me.active .me-stats .p-name{color:var(--brass)}.hand{min-height:calc(var(--card-w) * 1.4 + 20px);justify-content:center;align-items:flex-end;padding:2px 0 4px;display:flex}.hand .card{width:var(--card-w);margin-inline:calc(var(--card-w) * -.11);--from-mid:calc(var(--i) - (var(--n) - 1) / 2);transform:rotate(calc(var(--from-mid) * 3.2deg)) translateY(calc(var(--from-mid) * var(--from-mid) * 1.5px));transform-origin:bottom;transition:transform .16s,filter .16s}.hand.choosing .card:not(.playable){filter:brightness(.86)saturate(.9)}.hand.choosing .card.playable{transform:rotate(calc(var(--from-mid) * 3.2deg)) translateY(-8px);border-radius:7px;box-shadow:0 0 0 1px #d8a94aa6,0 6px 14px #0000004d}.hand.picking .card{transform:rotate(calc(var(--from-mid) * 3.2deg)) translateY(-6px);border-radius:7px;box-shadow:0 0 0 1px #d8a94aa6,0 6px 14px #0000004d}.hand.pick-full .card:not(.selected){box-shadow:var(--sh-1)}.hand .card.playable:active{transform:rotate(calc(var(--from-mid) * 3.2deg)) translateY(-14px)}.hand .card.selected{transform:rotate(calc(var(--from-mid) * 3.2deg)) translateY(calc(var(--hand-lift) * -1));filter:none;z-index:3;box-shadow:0 0 0 2.5px var(--brass), 0 12px 22px #00000073;border-radius:7px;position:relative}.hand .card.selected:after{content:"✓";background:var(--brass);color:#1a1206;text-align:center;pointer-events:none;border-radius:50%;width:17px;height:17px;font-size:12px;font-weight:800;line-height:17px;position:absolute;top:2px;right:2px}.hand.has-pick .card:not(.selected){filter:brightness(.82)saturate(.85)}.hand .card.hinted{animation:.6s ease-in-out 2 hint}.hand .card.nope{animation:.32s nope}.hand .card.suggest{filter:drop-shadow(0 0 8px var(--brass))}@keyframes hint{50%{filter:drop-shadow(0 0 10px var(--brass));transform:translateY(-14px)}}@keyframes nope{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.sit-note{color:#f4ecd8a6;align-self:center;padding:24px 0;font-size:13px}.coach{text-align:center;color:#f4ecd8b8;flex:none;min-height:32px;margin:2px 8px 0;font-size:13px;line-height:1.3}.actions{height:var(--actions-h);flex:none;justify-content:center;align-items:center;display:flex;position:relative}.prompt{z-index:6;background:linear-gradient(#d8a94a14, #d8a94a14), var(--felt-2);border:1px solid #d8a94a66;border-radius:12px;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 8px);padding:7px 12px;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hand-top .actions{height:auto;min-height:var(--actions-h)}.hand-top .prompt{position:static;transform:none}.prompt-text{color:#f4ecd8d9;font-size:14px}.prompt .prompt-text{color:var(--brass);font-weight:600}.btn-mark{vertical-align:-2px;display:inline-flex}.prompt-btns{flex-wrap:wrap;justify-content:center;gap:7px;display:flex}.overlay{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#04120db8;place-items:center;padding:20px;animation:.18s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{width:min(400px,100%);max-height:calc(100vh - 40px);overscroll-behavior:contain;border-radius:var(--r-lg);max-height:calc(100dvh - 40px);box-shadow:var(--sh-3);background:linear-gradient(#14513c,#0b3123);border:1px solid #d8a94a59;padding:20px 18px;overflow-y:auto}.sheet h2{text-align:center;margin:0 0 12px;font-size:22px}.sheet-head{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;margin:-6px -6px 12px;display:grid}.sheet-head h2{grid-column:2;margin:0}.sheet-close{color:#f4ecd8b8;width:44px;height:44px;font:inherit;background:0 0;border:0;border-radius:999px;grid-column:3;padding:0;font-size:19px}.sheet-btns:empty{display:none}.sheet-btns{flex-direction:column;gap:8px;margin-top:16px;display:flex}.summary{text-align:center;color:var(--brass);margin:0 0 10px;font-weight:700}.score{border-collapse:collapse;width:100%;font-size:15px}.score th{text-align:left;text-transform:uppercase;letter-spacing:.6px;color:#f4ecd880;padding-bottom:4px;font-size:11px;font-weight:600}.score td{border-top:1px solid #ffffff14;padding:7px 0}.score th+th,.score td+td{text-align:right}.score .me-row td{color:var(--brass);font-weight:700}.score .out-row td{opacity:.45}.bid-note{color:#2a1d05;background:var(--brass);border-radius:4px;margin-left:2px;padding:1px 4px;font-size:11px;font-weight:700}.delta{margin-left:4px;font-size:12px;font-weight:700}.delta.good{color:var(--good)}.delta.bad{color:var(--bad)}.flash{left:50%;top:calc(var(--safe-t) + 56px);color:var(--cream);opacity:0;pointer-events:none;z-index:30;box-shadow:var(--sh-2);background:#061812f0;border:1px solid #d8a94a66;border-radius:999px;padding:9px 15px;font-size:14px;font-weight:600;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,-12px)}.flash.on{opacity:1;transform:translate(-50%)}.flash.on.tappable{z-index:50;pointer-events:auto;cursor:pointer;min-height:44px;text-decoration:underline}.flash.on.tappable:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.flash{text-align:center;justify-content:center;align-items:center;gap:8px;max-width:calc(100% - 24px);display:flex}.flash-mark{flex:none;display:none}.flash-mark.on{display:block}.flash-card{width:26px;display:block}.flash-card svg{width:100%;height:auto;display:block}@media (min-width:700px) and (min-height:620px){:root{--card-w:clamp(76px, 11vw, 112px)}.board{max-width:720px}.trick-slot{width:clamp(76px,11vw,112px)}.icon-btn{border-radius:14px;width:46px;height:46px;font-size:23px}.menu{width:min(380px,90%)}.doc-body{font-size:16px}}@media (min-width:1100px) and (min-height:800px){:root{--card-w:clamp(96px, 8vw, 132px)}.board{max-width:900px}.trick-slot{width:clamp(96px,8vw,132px)}.player{font-size:15px}.me-stats{font-size:14px}.prompt-text{font-size:16px}.btn.small{font-size:15px}.table{gap:22px 10px;min-height:360px}.trick{min-height:300px}.table:before{width:min(56vw,540px)}.me-stats{justify-content:center}.table{max-height:620px;margin-block:auto}.player{gap:6px;min-width:148px;padding:12px 16px}.p-hand .minicard{width:30px;margin-inline:-5px}.p-name{font-size:18px}.p-badge{width:30px;height:30px;font-size:15px}.p-stats{font-size:15px}}@media (max-height:700px){.table .player .p-hand{display:none}}@media (min-height:780px) and (max-width:699px){.table:before{width:min(88vw,420px)}}@media (orientation:landscape) and (max-height:560px){:root{--card-w:clamp(38px, 7vw, 52px)}.board{max-width:760px}.table{min-height:118px}.trick{min-height:104px}.trick-slot{width:clamp(30px,5vw,44px)}.hand{min-height:calc(var(--card-w) * 1.4 + 12px)}:root{--hand-lift:8px;--hand-gap:0px}.faceup{--faceup-w:40px;gap:6px;margin-top:3px}.faceup-swap{margin-bottom:11px;font-size:15px}.faceup-cap{font-size:10px}.actions{--actions-h:56px}.lap{display:none}.prompt-note.lap-covered{display:block}.table:before{display:none}.player{flex-direction:row;gap:8px;padding:4px 8px}.me-stats{font-size:11px}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (hover:hover) and (pointer:fine){.btn,.chip,.switch,.icon-btn,.lang-control,.settings-control,.doc-back,.linkbtn,.hand button.card{cursor:pointer}.chip[disabled]{cursor:default}.btn:hover{box-shadow:var(--sh-2);background:#ffffff24;border-color:#ffffff42;transform:translateY(-1px)}.btn.ghost:hover{color:var(--cream);background:#ffffff0f;border-color:#ffffff3d}.btn.primary:hover{background:linear-gradient(170deg,#f2d183,#e2b757 60%,#c6952f)}.btn:active{transform:translateY(1px)scale(.99)}.chip:not([disabled]):hover{background:#ffffff21;border-color:#ffffff4d}.chip.on:not([disabled]):hover{background:#e6bc5e;border-color:#0000}.icon-btn:hover{background:#ffffff29}.lang-control:hover{color:#f0cd7c}.settings-control:hover,.doc-back:hover{color:var(--cream)}.linkbtn:hover{color:var(--brass)}.linkbtn.tdrop:hover{color:var(--bad)}.seat-name:hover{border-color:#fff6}.hand.choosing .card.playable:hover{transform:rotate(calc(var(--from-mid) * 3.2deg)) translateY(-12px);box-shadow:0 0 0 1px var(--brass), 0 10px 20px #00000061}.hand.picking .card:hover{transform:rotate(calc(var(--from-mid) * 3.2deg)) translateY(-10px);box-shadow:0 0 0 1px var(--brass), 0 10px 20px #00000061}.hand.picking .card.selected:hover{transform:rotate(calc(var(--from-mid) * 3.2deg)) translateY(calc(var(--hand-lift) * -1 - 4px));box-shadow:0 0 0 2.5px var(--brass), 0 14px 24px #00000080}.hand .card.playable:active{transform:rotate(calc(var(--from-mid) * 3.2deg)) translateY(-14px)}}
