:root{--wood: #5b3a24;--wood-dark: #3e2716;--felt: #1f6a3f;--felt-dark: #154d2d;--paper: #fbf6ea;--ink: #2b2118;--muted: #7a6a58;--accent: #c8902e;--danger: #b3261e;--club: #1d1d1d;--spade: #2e7d32;--heart: #c62828;--diamond: #d68a00;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#6b4529,var(--wood-dark))}main{padding:16px;max-width:1200px;margin:0 auto}h1{color:var(--paper);margin:8px 0 12px}.panel h1,.panel h2{color:var(--ink)}h2{font-size:1.1rem;margin:0 0 10px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--wood-dark);color:var(--paper);border-bottom:3px solid var(--accent);position:sticky;top:0;z-index:45}.topbar a{color:var(--paper);text-decoration:none}.topbar nav{display:flex;gap:12px;align-items:center}.topbar .link{color:var(--paper)}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:4px;background:#efe4cf;border:1px solid var(--accent);color:var(--ink);font-size:1.3rem}.menu-toggle .skin-icon{margin:0;width:28px;height:28px;vertical-align:0}.menu-toggle .skin-icon:is(span){width:auto;height:auto}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#00000073}.main-menu{position:fixed;top:0;left:0;bottom:0;z-index:100;width:min(340px,88vw);overflow-y:auto;background:var(--paper);color:var(--ink);padding:14px 16px 24px;box-shadow:6px 0 24px #00000073;border-right:3px solid var(--accent);transform:translate(-105%);visibility:hidden;transition:transform .22s ease,visibility 0s linear .22s}.main-menu.open{transform:none;visibility:visible;transition:transform .22s ease}.main-menu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:1.1rem}.topbar .main-menu-head .link{color:var(--muted);text-decoration:none;font-size:1.2rem}.topbar .main-menu-home{color:var(--ink);font-weight:700}.topbar .main-menu-links{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:4px;margin-bottom:18px}.topbar .main-menu-links a{display:flex;align-items:center;gap:4px;padding:9px 10px;border-radius:8px;color:var(--ink);font-size:1rem}.topbar .main-menu-links a:hover,.topbar .main-menu-links a:focus-visible{background:#efe4cf}.main-menu-links .skin-icon{width:30px;height:30px;margin-right:8px;vertical-align:0}.main-menu-links .skin-icon:is(span){width:30px;height:auto;text-align:center}.main-menu-skins{border-top:1px solid #e3d6bb;padding-top:12px}.main-menu-skins .skins{grid-template-columns:repeat(2,1fr)}.main-menu-logout{width:100%;margin-top:16px}@media (prefers-reduced-motion: reduce){.main-menu,.main-menu.open{transition:none}}.panel{background:var(--paper);border-radius:10px;padding:16px;box-shadow:0 6px 18px #00000059;margin-bottom:16px}label{display:flex;flex-direction:column;gap:4px;margin-bottom:10px;font-size:.9rem}label.check{flex-direction:row;align-items:center;gap:6px}input,select{padding:8px;border:1px solid #c9b99f;border-radius:6px;font-size:1rem;background:#fff}button{padding:8px 14px;border-radius:6px;border:1px solid #b49b77;background:#efe4cf;cursor:pointer;font-size:.95rem;color:var(--ink)}button:hover:not(:disabled){filter:brightness(1.05)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:#a5741f;color:#fff;font-weight:600}button.link{background:none;border:none;color:var(--accent);padding:0;text-decoration:underline}.error{color:var(--danger)}.hint{color:var(--muted);font-size:.9rem}.badge{font-size:.7rem;background:#e7dcc4;color:var(--ink);padding:2px 6px;border-radius:10px;margin-left:6px}.badge.warn{background:#f6d2a6}.loading{color:var(--paper);text-align:center;padding:60px}.welcome{max-width:420px;margin:40px auto;text-align:center}.welcome p{color:var(--paper)}.auth{text-align:left}.tabs{display:flex;gap:6px;margin-bottom:14px}.tabs button.active{background:var(--wood);color:#fff}.room{text-align:center}.lead{color:#e8d9bd}.doors{display:flex;gap:40px;justify-content:center;margin:30px 0;flex-wrap:wrap}.door{width:200px;height:300px;border-radius:100px 100px 6px 6px;background:linear-gradient(#8a5a36,#5e3b22);border:6px solid #2f1d10;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;color:var(--paper);box-shadow:inset 0 0 30px #00000080,0 8px 20px #00000080}button.door:hover{transform:translateY(-4px);filter:brightness(1.15)}.door.closed{opacity:.6}.door-sign{font-size:1.6rem;font-weight:700;background:var(--accent);color:var(--wood-dark);padding:4px 14px;border-radius:4px}.door-sub{font-size:.9rem}.street{position:relative;width:100%;aspect-ratio:16 / 9;margin:16px 0 24px;overflow:hidden;overflow:clip;border:4px solid var(--ink);border-radius:12px;background:var(--wood-dark);isolation:isolate;box-shadow:0 10px 30px #00000073;font-family:var(--font-comic, Impact, sans-serif)}.street .street-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.street.halftone:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;background-image:radial-gradient(circle,rgba(0,0,0,.4) 1px,transparent 1.3px);background-size:6px 6px;-webkit-mask-image:radial-gradient(ellipse 52% 62% at 50% 50%,transparent 62%,#000 100%);mask-image:radial-gradient(ellipse 52% 62% at 50% 50%,transparent 62%,#000 100%)}.pub{position:absolute;z-index:2;padding:0;background:transparent;border:0;border-radius:14px;display:flex;align-items:flex-end;justify-content:center;transition:box-shadow .2s,background .2s;font-family:inherit;color:inherit;opacity:1}.pub.open{cursor:pointer}.pub.open:hover,.pub.open:focus-visible{background:#ffffff14;box-shadow:0 0 0 4px var(--highlight),0 0 40px var(--highlight);outline:none}.pub-tag{transform:translateY(55%);padding:4px 14px;border:3px solid var(--ink);border-radius:6px;background:var(--caption);color:var(--caption-ink);font-size:clamp(.7rem,1.6vw,1.15rem);letter-spacing:.04em;white-space:nowrap;box-shadow:3px 3px 0 var(--ink);transition:transform .2s}.pub.open:hover .pub-tag,.pub.open:focus-visible .pub-tag{transform:translateY(55%) scale(1.08)}.pub.closed,.pub:disabled{cursor:not-allowed;opacity:1}.pub.closed .pub-tag{background:var(--paper);color:var(--ink)}.pub-stamp{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%) rotate(-12deg);padding:2px 16px;border:4px solid #c62828;border-radius:6px;color:#c62828;background:#ffffffd9;font-size:clamp(.8rem,2.6vw,2rem);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.pub-tag .short{display:none}@media (max-width: 600px){.pub-tag .short{display:inline}.street{border-width:3px;margin-top:8px}.pub-tag{border-width:2px;padding:2px 8px;box-shadow:2px 2px 0 var(--ink)}.pub-stamp{border-width:2px}.pub-tag .long{display:none}}.soon{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;color:#d9c7a5;font-size:.9rem}.soon em{width:100%}.lobby-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}.tables{list-style:none;padding:0;margin:0 0 12px}.tables a{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px;border-radius:8px;color:var(--ink);text-decoration:none;border:1px solid #e3d5b9;margin-bottom:8px}.tables a:hover{background:#f3ead6}.tables small{color:var(--muted);grid-column:1 / -1}.status{font-size:.8rem;color:var(--felt)}.profile{max-width:520px;margin:0 auto}.avatars{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.avatars button{font-size:1.5rem;padding:4px 8px}.avatars button.active{background:var(--accent)}.table-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.table-head .hint{color:#e0cfae}.toast{position:fixed;top:70px;left:50%;transform:translate(-50%);background:var(--paper);padding:10px 16px;border-radius:8px;z-index:60}.waiting .seat-list{padding-left:18px}.invite{display:block;background:#efe4cf;padding:6px;border-radius:4px;margin-bottom:12px;word-break:break-all}.card{width:64px;height:92px;border-radius:7px;background:#fff;border:1px solid #999;position:relative;padding:0;box-shadow:0 2px 4px #00000059;font-weight:700}.card:disabled{opacity:1;cursor:default}.card.small{width:36px;height:52px}.card.small .corner{font-size:.6rem}.card.small .pip{font-size:1.1rem}.card .corner{position:absolute;top:4px;left:6px;font-size:.85rem;line-height:1;text-align:center}.card .pip{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:2rem}.card.back{background:repeating-linear-gradient(45deg,#8b1e1e,#8b1e1e 4px,#a83232 4px,#a83232 8px);background-size:cover;border:2px solid white}.card.playable{cursor:pointer;box-shadow:0 6px 12px #00000080}.card.selected{outline:3px solid var(--accent)}.card .corner.bottom{top:auto;left:auto;bottom:4px;right:6px;transform:rotate(180deg)}.card.small .corner.bottom{display:none}.suit-C{color:var(--club)}.suit-S{color:var(--spade)}.suit-H{color:var(--heart)}.suit-D{color:var(--diamond)}.score-sheet table{width:100%;border-collapse:collapse;font-size:.85rem}.score-sheet th,.score-sheet td{padding:4px;text-align:right;border-bottom:1px solid #e6d9bd}.score-sheet th:first-child,.score-sheet td:first-child{text-align:left}.score-sheet td.plus{color:var(--felt);font-weight:600}.score-sheet td.minus{color:var(--danger);font-weight:600}@media (max-width: 860px){.lobby-grid{grid-template-columns:1fr}.card{width:48px;height:70px}}:root{--table-edge: var(--wood)}body{background-attachment:fixed;transition:background .6s}.skins{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:8px}.skins button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px}.skins button.active{background:var(--accent);color:#fff}.skins img{width:48px;height:66px}.skins .skin-preview{position:relative;display:block;width:100%;aspect-ratio:16 / 9;border-radius:6px;overflow:hidden;background:#0003}.skins .skin-scene{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.skins .skin-back{position:absolute;right:6px;bottom:6px;width:26%;height:auto;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5))}.sound{font-size:1.2rem;text-decoration:none!important}.house-rules{border:1px solid #e0d2b4;border-radius:8px;margin:0 0 10px;padding:8px 10px 0}.house-rules legend{font-size:.85rem;color:var(--muted)}.badge.bock{background:#f2c14e}button.kontra{background:var(--danger);color:#fff;border-color:#8a1c16;font-weight:700}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:16px}.tile{background:var(--paper);border-radius:10px;padding:12px;display:flex;flex-direction:column;box-shadow:0 4px 12px #0000004d}.tile-label{font-size:.8rem;color:var(--muted)}.tile-value{font-size:1.8rem;font-weight:700;color:var(--ink)}.tile-sub{font-size:.8rem;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:3fr 2fr;gap:16px}.chart{position:relative}.chart svg{width:100%;height:auto;display:block}.chart .grid{stroke:#e3d6bb;stroke-width:1}.chart .axis{fill:var(--muted);font-size:11px}.chart .line{fill:none;stroke:var(--felt);stroke-width:2;stroke-linejoin:round}.chart .crosshair{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}.chart .dot{fill:var(--felt);stroke:var(--paper);stroke-width:2}.chart .tooltip{position:absolute;top:4px;right:4px;background:var(--ink);color:var(--paper);padding:6px 10px;border-radius:6px;font-size:.8rem}.bars{display:flex;flex-direction:column;gap:8px}.bar-row{display:grid;grid-template-columns:70px 1fr 30px;gap:8px;align-items:center;font-size:.9rem}.bar-track{background:#efe4cf;border-radius:4px;height:14px}.bar{display:block;height:14px;background:var(--felt);border-radius:0 4px 4px 0}.bar-value{text-align:right;color:var(--muted)}table.list{width:100%;border-collapse:collapse;font-size:.9rem}table.list th,table.list td{text-align:left;padding:6px;border-bottom:1px solid #eadfc6}table.list td.plus{color:var(--felt);font-weight:600}table.list td.minus{color:var(--danger);font-weight:600}.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.filters .tabs{margin:0}.topbar nav a{font-size:.9rem}@media (max-width: 860px){.stats-grid{grid-template-columns:1fr}.topbar nav{gap:8px;flex-wrap:wrap}}.ai-profile{border:1px solid #e0d2b4;border-radius:8px;padding:8px 10px;margin-bottom:8px}.ai-profile-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ai-profile-head .spacer{flex:1}.ai-profile-edit{margin-top:10px;display:flex;flex-direction:column;gap:10px}.ai-profile-edit .slider{display:flex;flex-direction:column;gap:2px}.ai-profile-edit .slider em{font-style:normal;font-weight:700;color:var(--felt);margin-left:6px}.ai-profile-edit .slider small{color:var(--muted);font-size:.78rem}.ai-profile-edit input[type=range]{accent-color:var(--felt);width:100%}.ai-profile-new{display:flex;gap:8px;align-items:center}button.danger{color:var(--danger)}.badge.custom{background:#d9c7f0}.tip-row{display:flex;justify-content:center;margin:4px 0 6px}.tip-button{background:#fff8e6e6;border-radius:999px;padding:4px 14px}.tip-bubble{background:var(--paper);color:var(--ink);border-radius:10px;padding:8px 12px;max-width:640px;box-shadow:0 6px 18px #00000059;display:flex;flex-direction:column;gap:6px;font-size:.9rem}.tip-actions{display:flex;gap:8px;justify-content:flex-end}.card.hinted{box-shadow:0 0 0 3px #f2c14e,0 0 16px 4px #f2c14ecc}.replay-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.replay-head .hint{color:#e6d6b4}.replay-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:16px;align-items:start}.replay-felt{background:var(--felt);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:14px;box-shadow:inset 0 0 40px #00000059;color:var(--paper)}.replay-info{align-self:center;background:#0000004d;padding:4px 12px;border-radius:999px;font-size:.9rem}.replay-opponents{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.replay-hand{border-radius:10px;padding:6px;border:2px solid transparent}.replay-hand.active{border-color:#f2c14e}.replay-name{font-size:.85rem;margin-bottom:4px}.replay-cards{display:flex;flex-wrap:wrap;gap:2px}.replay-cards .card{margin-left:0}.replay-trick{display:flex;justify-content:center;gap:16px;min-height:120px;align-items:center}.replay-trick-card{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.8rem}.replay-skat{display:flex;gap:4px}.replay-text{background:#00000040;border-radius:10px;padding:8px 12px;min-height:42px}.replay-text.has-note{background:#f2c14e40}.replay-text p{margin:4px 0 0}.replay-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.replay-controls input[type=range]{flex:1;min-width:120px;accent-color:#f2c14e}.replay-controls .hint{color:var(--paper)}.replay-side{max-height:80vh;overflow:auto}.replay-notes{padding-left:18px;font-size:.88rem;display:flex;flex-direction:column;gap:6px}.replay-log{padding-left:22px;font-size:.85rem}.replay-log li{cursor:pointer;padding:2px 4px;border-radius:4px}.replay-log li.current{background:#f2e3bf;font-weight:600}.replay-log li.noted{border-left:3px solid #f2c14e}button.link{background:none;border:none;padding:0;color:var(--felt);text-decoration:underline;cursor:pointer;font-weight:600}@media (max-width: 860px){.replay-grid{grid-template-columns:1fr}}a.button{display:inline-block;padding:8px 14px;border-radius:6px;text-decoration:none}a.button.primary{background:var(--accent);border:1px solid #a5741f;color:#fff;font-weight:600}.new-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:6px 0}.badge-chip{background:#f2c14e;color:var(--ink);border-radius:999px;padding:4px 10px;font-weight:600;font-size:.85rem}.badge-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.badge-card{border:1px solid #e0d2b4;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:2px;align-items:center;text-align:center;opacity:.55}.badge-card.earned{opacity:1;background:#fbf3df;border-color:#e3c27a}.badge-emoji{font-size:2rem}.badge-icon{width:72px;height:72px}.badge-icon.locked{filter:grayscale(1) brightness(1.15);opacity:.7}.badge-chip{display:inline-flex;align-items:center;gap:6px}.badge-chip .badge-icon{width:1.8em;height:1.8em;margin:-.4em 0}.badge-chip .badge-emoji{font-size:1em}.badge-card .hint{font-size:.75rem}.daily{max-width:820px;margin:0 auto}.daily-intro p{margin-top:0}table.list tr.me td{background:#fbf3df}.tournaments{max-width:900px;margin:0 auto}.hint.light,a.light,.stats-note{color:#e6d6b4}.pick-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.pick.on{background:var(--felt);color:#fff;border-color:var(--felt)}.form-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.form-row input[type=number]{width:70px;margin-left:6px}.form-row .check{display:flex;gap:6px;align-items:center}.tournament-head{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.tournament-head h2{margin:0}.tournament-head a{color:var(--ink)}.progress{height:6px;background:#efe4cf;border-radius:3px;margin:10px 0;overflow:hidden}.progress span{display:block;height:100%;background:var(--felt);transition:width .4s}.badge.status-running,.badge.status-pending{background:#f2c14e}.badge.status-done{background:#bfe3c5}.badge.status-failed{background:#f3b6b0}table.providers{margin-top:14px}.stage{--u: .75px;position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;overflow:clip;border:4px solid var(--ink);border-radius:12px;background:var(--wood-dark);color:var(--ink);isolation:isolate;box-shadow:0 10px 30px #00000073;font-family:var(--font-comic, Impact, sans-serif)}.stage.narrow{aspect-ratio:3 / 4}.inline-svg svg{display:block;width:100%;height:100%}.stage .scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.stage.halftone:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:30;background-image:radial-gradient(circle,rgba(0,0,0,.45) calc(var(--u) * 1.3),transparent calc(var(--u) * 1.6));background-size:calc(var(--u) * 7) calc(var(--u) * 7);-webkit-mask-image:radial-gradient(ellipse 52% 62% at 50% 50%,transparent 62%,#000 100%);mask-image:radial-gradient(ellipse 52% 62% at 50% 50%,transparent 62%,#000 100%)}.table-3d{position:absolute;top:0;right:0;bottom:0;left:0;perspective:calc(var(--u) * 1000);perspective-origin:50% 0;z-index:2;pointer-events:none}.table-plane{position:absolute;left:50%;top:0;width:calc(var(--u) * 1500);height:calc(var(--u) * 1150);margin-left:calc(var(--u) * -750);transform-origin:50% 100%;transform:translateY(calc(var(--u) * 1060)) translateY(-100%) rotateX(74deg);transform-style:preserve-3d}.stage.narrow .table-plane{transform:translateY(calc(var(--u) * 1420)) translateY(-100%) rotateX(70deg)}.table-rim{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:calc(var(--u) * 7) solid var(--ink);background:var(--rim, var(--table-edge))}.table-surface{position:absolute;inset:calc(var(--u) * 66);border-radius:50%;border:calc(var(--u) * 7) solid var(--ink);background:var(--surface, var(--felt));overflow:hidden}.table-ring{position:absolute;inset:calc(var(--u) * 170) calc(var(--u) * 280);border-radius:50%;border:calc(var(--u) * 4) dashed rgba(0,0,0,.25)}.won-stack{position:absolute}.won-stack.left{left:calc(var(--u) * 330);top:calc(var(--u) * 330);transform:rotate(70deg)}.won-stack.right{left:calc(var(--u) * 1100);top:calc(var(--u) * 300);transform:rotate(-64deg)}.won-stack.bottom{left:calc(var(--u) * 220);top:calc(var(--u) * 640);transform:rotate(30deg)}.stage .won-stack .card{position:absolute;width:calc(var(--u) * 96);height:calc(var(--u) * 138);box-shadow:calc(var(--u) * 3) calc(var(--u) * 3) 0 #00000080}.stage .card{width:calc(var(--u) * 128);height:calc(var(--u) * 184);border-radius:calc(var(--u) * 12);border:calc(var(--u) * 4) solid var(--ink);background-color:var(--card-face, #fff);box-shadow:calc(var(--u) * 4) calc(var(--u) * 5) 0 #00000059}.stage .card .corner{font-size:calc(var(--u) * 26);top:calc(var(--u) * 8);left:calc(var(--u) * 10)}.stage .card .corner.bottom{top:auto;left:auto;bottom:calc(var(--u) * 8);right:calc(var(--u) * 10)}.stage .card .pip{font-size:calc(var(--u) * 66);-webkit-text-stroke:calc(var(--u) * 2) var(--ink)}.stage .card.small{width:calc(var(--u) * 70);height:calc(var(--u) * 100);border-width:calc(var(--u) * 3)}.stage .card.small .corner{font-size:calc(var(--u) * 18)}.stage .card.small .pip{font-size:calc(var(--u) * 34)}.stage .card.back{border:none;background-color:transparent;background-size:100% 100%}.stage .card.hinted{box-shadow:0 0 0 calc(var(--u) * 5) #fff,0 0 0 calc(var(--u) * 9) var(--highlight, #f2c14e),0 0 calc(var(--u) * 26) calc(var(--u) * 6) var(--highlight, #f2c14e)}.stage .card.selected{outline:none;box-shadow:0 0 0 calc(var(--u) * 5) var(--highlight, #f2c14e),0 0 0 calc(var(--u) * 9) var(--ink)}.video-tile{position:absolute;top:calc(var(--u) * 150);width:calc(var(--u) * 380);height:calc(var(--u) * 286);z-index:1;overflow:hidden;border:calc(var(--u) * 6) solid var(--ink);border-radius:calc(var(--u) * 18);background:#222;box-shadow:calc(var(--u) * 10) calc(var(--u) * 10) 0 #000000bf}.video-tile.left{left:calc(var(--u) * 150);transform:perspective(calc(var(--u) * 1200)) rotateY(11deg) rotate(-1deg)}.video-tile.right{left:calc(var(--u) * 1070);transform:perspective(calc(var(--u) * 1200)) rotateY(-11deg) rotate(1deg)}.video-tile.talk{box-shadow:0 0 0 calc(var(--u) * 6) var(--highlight, #ffd23f),0 0 0 calc(var(--u) * 12) var(--ink),calc(var(--u) * 10) calc(var(--u) * 10) 0 calc(var(--u) * 12) #0009}.stage.narrow .video-tile{top:calc(var(--u) * 24);width:calc(var(--u) * 470);height:calc(var(--u) * 340)}.stage.narrow .video-tile.left{left:calc(var(--u) * 20);transform:none}.stage.narrow .video-tile.right{left:calc(var(--u) * 510);transform:none}.video-tile .portrait{position:absolute;top:0;right:0;bottom:0;left:0}.video-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:calc(var(--u) * 4);padding-top:calc(var(--u) * 36);color:#c9d2dc;text-align:center;letter-spacing:.05em;background:radial-gradient(circle,rgba(255,255,255,.1) calc(var(--u) * 1.3),transparent calc(var(--u) * 1.6)) 0 0 / calc(var(--u) * 6) calc(var(--u) * 6),radial-gradient(ellipse at 50% 40%,#4a5560,#1b1f24 75%)}.video-placeholder svg{width:calc(var(--u) * 130);height:calc(var(--u) * 104)}.video-placeholder strong{font-weight:400;font-size:calc(var(--u) * 24);color:#fff}.video-placeholder small{font-size:calc(var(--u) * 17);opacity:.85}.tile-corner,.tile-bar,.tile-role{position:absolute;background:#0f0a05d9;color:var(--paper);letter-spacing:.05em;border-radius:calc(var(--u) * 8)}.tile-corner{left:calc(var(--u) * 10);top:calc(var(--u) * 10);padding:calc(var(--u) * 3) calc(var(--u) * 10);font-size:calc(var(--u) * 16);color:var(--highlight, #ffd23f)}.tile-bar{left:calc(var(--u) * 10);bottom:calc(var(--u) * 10);display:flex;gap:calc(var(--u) * 8);align-items:center;padding:calc(var(--u) * 5) calc(var(--u) * 12) calc(var(--u) * 4);font-size:calc(var(--u) * 21);max-width:calc(100% - calc(var(--u) * 20))}.tile-name{font-size:calc(var(--u) * 23);letter-spacing:.04em;color:var(--highlight, #ffd23f);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-tag{font-size:calc(var(--u) * 15);background:var(--paper);color:var(--ink);padding:calc(var(--u) * 1) calc(var(--u) * 7);border-radius:calc(var(--u) * 4);white-space:nowrap}.tile-tag.solo{background:var(--highlight, #ffd23f)}.tile-role{left:calc(var(--u) * 10);bottom:calc(var(--u) * 56);padding:calc(var(--u) * 3) calc(var(--u) * 9);font-size:calc(var(--u) * 16)}.tile-thinking{position:absolute;right:calc(var(--u) * 12);top:calc(var(--u) * 12);display:flex;gap:calc(var(--u) * 5);background:#fff;border:calc(var(--u) * 3) solid var(--ink);border-radius:calc(var(--u) * 20);padding:calc(var(--u) * 8) calc(var(--u) * 10)}.tile-thinking i{width:calc(var(--u) * 9);height:calc(var(--u) * 9);border-radius:50%;background:var(--ink);animation:think 1.2s infinite}.tile-thinking i:nth-child(2){animation-delay:.2s}.tile-thinking i:nth-child(3){animation-delay:.4s}@keyframes think{0%,to{opacity:.25}50%{opacity:1}}.opponent-fan{position:absolute;top:calc(var(--u) * 575);width:0;height:0;z-index:3}.opponent-fan.left{left:calc(var(--u) * 341)}.opponent-fan.right{left:calc(var(--u) * 1259)}.opponent-fan .card{position:absolute;left:calc(var(--u) * -35);top:calc(var(--u) * -100)}.stage.narrow .opponent-fan{top:calc(var(--u) * 500)}.stage.narrow .opponent-fan.left{left:calc(var(--u) * 255)}.stage.narrow .opponent-fan.right{left:calc(var(--u) * 745)}.open-hand{position:absolute;top:calc(var(--u) * 450);display:flex;z-index:3}.open-hand.left{left:calc(var(--u) * 150)}.open-hand.right{right:calc(var(--u) * 150)}.open-hand .card{margin-right:calc(var(--u) * -30)}.stage.narrow .open-hand{top:calc(var(--u) * 380)}.stage.narrow .open-hand.left{left:calc(var(--u) * 20)}.stage.narrow .open-hand.right{right:calc(var(--u) * 20)}.stage .prop{position:absolute;z-index:3}.stage.narrow .prop{display:none}.comic-bubble{position:absolute;z-index:20;top:calc(var(--u) * 200);max-width:calc(var(--u) * 230);background:#fff;color:var(--ink);border:calc(var(--u) * 4) solid var(--ink);border-radius:50%/46%;padding:calc(var(--u) * 14) calc(var(--u) * 22);font-size:calc(var(--u) * 24);letter-spacing:.04em;text-align:center;line-height:1.1}.comic-bubble.from-left{left:calc(var(--u) * 14)}.comic-bubble.from-right{right:calc(var(--u) * 14)}.comic-bubble:before,.comic-bubble:after{content:"";position:absolute;top:calc(var(--u) * 34);border-style:solid;border-color:transparent}.comic-bubble.from-left:before{right:calc(var(--u) * -44);border-width:calc(var(--u) * 18) 0 calc(var(--u) * 18) calc(var(--u) * 46);border-left-color:var(--ink)}.comic-bubble.from-left:after{right:calc(var(--u) * -30);top:calc(var(--u) * 39);border-width:calc(var(--u) * 13) 0 calc(var(--u) * 13) calc(var(--u) * 34);border-left-color:#fff}.comic-bubble.from-right:before{left:calc(var(--u) * -44);border-width:calc(var(--u) * 18) calc(var(--u) * 46) calc(var(--u) * 18) 0;border-right-color:var(--ink)}.comic-bubble.from-right:after{left:calc(var(--u) * -30);top:calc(var(--u) * 39);border-width:calc(var(--u) * 13) calc(var(--u) * 34) calc(var(--u) * 13) 0;border-right-color:#fff}.stage.narrow .comic-bubble{top:calc(var(--u) * 60);font-size:calc(var(--u) * 28);max-width:calc(var(--u) * 200)}.stage.narrow .comic-bubble.from-left{left:calc(var(--u) * 30)}.stage.narrow .comic-bubble.from-right{right:calc(var(--u) * 30)}.stage .game-info{position:absolute;left:50%;top:calc(var(--u) * 70);transform:translate(-50%) rotate(-1deg);z-index:10;white-space:nowrap;background:var(--caption, #ffd23f);color:var(--caption-ink, var(--ink));border:calc(var(--u) * 4) solid var(--ink);border-radius:0;padding:calc(var(--u) * 6) calc(var(--u) * 18);font-size:calc(var(--u) * 23);letter-spacing:.05em;box-shadow:calc(var(--u) * 6) calc(var(--u) * 6) 0 var(--ink);text-transform:uppercase}.stage .game-info strong{font-weight:400}.stage.narrow .game-info{top:calc(var(--u) * 540);font-size:calc(var(--u) * 30);white-space:normal;text-align:center;max-width:calc(var(--u) * 900)}.stage .trick{position:absolute;left:50%;top:calc(var(--u) * 470);width:0;height:0;z-index:5;transform:perspective(calc(var(--u) * 900)) rotateX(28deg)}.stage.narrow .trick{top:calc(var(--u) * 780)}.stage .trick-card{position:absolute;left:calc(var(--u) * -64);top:calc(var(--u) * -92)}.stage .trick-card.left{margin-left:calc(var(--u) * -100);margin-top:calc(var(--u) * -14);rotate:-16deg}.stage .trick-card.right{margin-left:calc(var(--u) * 100);margin-top:calc(var(--u) * -26);rotate:12deg}.stage .trick-card.bottom{margin-top:calc(var(--u) * 40);rotate:3deg}.stage .trick-card .card{box-shadow:calc(var(--u) * 10) calc(var(--u) * 12) 0 #00000073}.stage .skat-stack{position:absolute;left:calc(var(--u) * -74);top:calc(var(--u) * -50);display:flex;gap:calc(var(--u) * 6)}.stage .skat-stack span{position:absolute;top:calc(var(--u) * 108);width:100%;text-align:center;font-size:calc(var(--u) * 22);color:var(--paper);text-shadow:0 calc(var(--u) * 2) 0 var(--ink)}.stage .last-trick{position:absolute;left:50%;top:calc(var(--u) * 340);transform:translate(-50%);z-index:25;display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 8);padding:calc(var(--u) * 14) calc(var(--u) * 20);border:calc(var(--u) * 4) solid var(--ink);border-radius:calc(var(--u) * 14);background:var(--paper);color:var(--ink);box-shadow:calc(var(--u) * 8) calc(var(--u) * 8) 0 var(--ink);cursor:pointer;font-size:calc(var(--u) * 20)}.stage .last-trick-cards{display:flex;gap:calc(var(--u) * 14)}.stage .last-trick-card{display:flex;flex-direction:column;align-items:center;gap:calc(var(--u) * 4);font-size:calc(var(--u) * 16);max-width:calc(var(--u) * 110);text-align:center}.stage .last-trick-card.winner .card{box-shadow:0 0 0 calc(var(--u) * 4) var(--highlight, #ffd23f),0 0 0 calc(var(--u) * 8) var(--ink)}.stage.narrow .last-trick{top:calc(var(--u) * 640);font-size:calc(var(--u) * 28)}.hand-fan{position:absolute;left:50%;bottom:calc(var(--u) * -6);width:0;height:0;z-index:12;transform:perspective(calc(var(--u) * 1100)) rotateX(10deg);transform-origin:50% 0}.hand-fan .card{position:absolute;left:calc(var(--u) * -69);top:calc(var(--u) * -198);width:calc(var(--u) * 138);height:calc(var(--u) * 198);box-shadow:calc(var(--u) * -5) calc(var(--u) * 6) 0 #00000059}.hand-fan .card .corner{font-size:calc(var(--u) * 30)}.hand-fan .card.free{cursor:pointer}.action-panel .revoke{color:#ff6b5a;font-weight:600;margin:.3em 0}.hand-fan .card.dim{filter:brightness(.82) saturate(.7)}.hand-fan .card.playable{box-shadow:0 0 0 calc(var(--u) * 5) var(--highlight, #ffd23f),0 0 0 calc(var(--u) * 9) var(--ink),calc(var(--u) * -5) calc(var(--u) * 10) 0 #0006}.hand-fan .card{transition:scale .15s ease-out,translate .15s ease-out,box-shadow .15s ease-out}@media (hover: hover){.hand-fan .card:hover{z-index:100!important;scale:1.08;translate:0 calc(var(--u) * -14);box-shadow:0 0 0 calc(var(--u) * 4) #fff,0 0 calc(var(--u) * 28) calc(var(--u) * 6) var(--highlight, #ffd23f),calc(var(--u) * -6) calc(var(--u) * 14) calc(var(--u) * 4) #00000073}}.stage.narrow .hand-fan .card{width:calc(var(--u) * 170);height:calc(var(--u) * 244);left:calc(var(--u) * -85);top:calc(var(--u) * -244)}.stage.narrow .hand-fan .card .corner{font-size:calc(var(--u) * 38)}.stage.narrow .hand-fan .card .pip{font-size:calc(var(--u) * 80)}.my-bubble{position:absolute;left:50%;bottom:calc(var(--u) * 250);transform:translate(-50%);z-index:15;max-width:calc(var(--u) * 1000);width:max-content;background:#fff;color:var(--ink);border:calc(var(--u) * 4) solid var(--ink);border-radius:calc(var(--u) * 40);padding:calc(var(--u) * 10) calc(var(--u) * 26);text-align:center}.my-bubble:after{content:"";position:absolute;left:calc(50% + calc(var(--u) * 30));bottom:calc(var(--u) * -24);border-style:solid;border-width:calc(var(--u) * 24) calc(var(--u) * 16) 0 calc(var(--u) * 16);border-color:var(--ink) transparent transparent transparent}.my-bubble.active{box-shadow:0 0 0 calc(var(--u) * 5) var(--highlight, #ffd23f)}.stage.narrow .my-bubble{bottom:calc(var(--u) * 300);max-width:calc(var(--u) * 940)}.stage .action-panel{display:flex;gap:calc(var(--u) * 12);align-items:center;flex-wrap:wrap;justify-content:center;background:none;padding:0;font-size:calc(var(--u) * 26);letter-spacing:.04em;line-height:1.15;text-transform:uppercase}.stage.narrow .action-panel{font-size:calc(var(--u) * 34)}.stage .action-panel em{font-style:normal;color:var(--heart)}.stage .action-panel button,.stage .action-panel select,.stage .tip-bubble button{font-family:var(--font-comic, Impact, sans-serif);font-size:calc(var(--u) * 22);letter-spacing:.05em;padding:calc(var(--u) * 4) calc(var(--u) * 14);text-transform:uppercase;border:calc(var(--u) * 3) solid var(--ink);border-radius:calc(var(--u) * 4);background:var(--paper);color:var(--ink);box-shadow:calc(var(--u) * 4) calc(var(--u) * 4) 0 var(--ink)}.stage.narrow .action-panel button,.stage.narrow .action-panel select{font-size:calc(var(--u) * 30)}.stage .action-panel button.primary,.stage .tip-bubble button.primary{background:var(--highlight, #ffd23f);color:var(--ink)}.stage .action-panel button.active{background:var(--accent);color:#fff}.stage .action-panel button.kontra{background:var(--danger);color:#fff}.stage .action-panel.result{flex-direction:column;text-transform:none}.stage .action-panel .scores{display:flex;gap:calc(var(--u) * 18)}.stage .declare .games{display:flex;gap:calc(var(--u) * 6);flex-wrap:wrap;justify-content:center}.stage .action-panel label.check{margin:0;font-size:calc(var(--u) * 20)}.stage .skat-info{font-size:calc(var(--u) * 18);margin-top:calc(var(--u) * 4)}.stage .new-badges .badge-chip{font-size:calc(var(--u) * 18)}.stage-buttons{position:absolute;left:calc(var(--u) * 22);top:50%;z-index:16;display:flex;flex-direction:column;gap:calc(var(--u) * 12);align-items:flex-start}.score-note{width:calc(var(--u) * 290);transform:rotate(-2deg);transform-origin:0 100%;margin-bottom:calc(var(--u) * 6);background:var(--paper);border:calc(var(--u) * 5) solid var(--ink);border-radius:2px;padding:calc(var(--u) * 10) calc(var(--u) * 18) calc(var(--u) * 12);color:var(--ink);box-shadow:calc(var(--u) * 8) calc(var(--u) * 8) 0 #00000073;text-align:left;font-family:var(--font-hand, cursive);cursor:pointer}.score-note:hover{filter:brightness(1.04)}.score-note .note-title{display:block;font-family:var(--font-comic, sans-serif);letter-spacing:.06em;font-size:calc(var(--u) * 24);text-align:center;border-bottom:calc(var(--u) * 3) solid var(--ink);margin-bottom:calc(var(--u) * 4)}.score-note table{width:100%;border-collapse:collapse;font-size:calc(var(--u) * 21)}.score-note th,.score-note td{text-align:right;padding:0 calc(var(--u) * 4);font-weight:400}.score-note th:first-child,.score-note td:first-child{text-align:left}.score-note .plus{color:#2b6a2b}.score-note .minus{color:var(--danger)}.score-note .note-empty{display:block;text-align:center;font-size:calc(var(--u) * 20);opacity:.6;margin-top:calc(var(--u) * 6)}.stage.narrow .score-note{width:calc(var(--u) * 300)}.stage.narrow .score-note table{font-size:calc(var(--u) * 26)}.stage.narrow .score-note tbody tr:not(:last-child){display:none}.comic-button{font-family:var(--font-comic, Impact, sans-serif);font-size:calc(var(--u) * 21);letter-spacing:.05em;text-transform:uppercase;background:var(--paper);color:var(--ink);border:calc(var(--u) * 4) solid var(--ink);border-radius:calc(var(--u) * 4);padding:calc(var(--u) * 6) calc(var(--u) * 14);box-shadow:calc(var(--u) * 5) calc(var(--u) * 5) 0 var(--ink)}.comic-button.hot{background:var(--highlight, #ffd23f)}.stage.narrow .comic-button{font-size:calc(var(--u) * 28)}.stage-buttons .error{background:var(--paper);padding:calc(var(--u) * 4) calc(var(--u) * 8);font-size:calc(var(--u) * 16)}.stage .tip-bubble{position:absolute;left:calc(var(--u) * 22);bottom:calc(var(--u) * 22);z-index:22;max-width:calc(var(--u) * 420);font-family:Inter,system-ui,sans-serif;border:calc(var(--u) * 4) solid var(--ink);border-radius:calc(var(--u) * 12);font-size:calc(var(--u) * 18);padding:calc(var(--u) * 10) calc(var(--u) * 14);box-shadow:calc(var(--u) * 6) calc(var(--u) * 6) 0 var(--ink)}.stage.narrow .tip-bubble{left:auto;right:calc(var(--u) * 22);bottom:calc(var(--u) * 330);font-size:calc(var(--u) * 26);max-width:calc(var(--u) * 620)}.me-box{position:absolute;right:calc(var(--u) * 22);bottom:calc(var(--u) * 22);z-index:16;text-align:right;background:var(--paper);border:calc(var(--u) * 4) solid var(--ink);padding:calc(var(--u) * 6) calc(var(--u) * 14);box-shadow:calc(var(--u) * 5) calc(var(--u) * 5) 0 var(--ink);font-size:calc(var(--u) * 19);letter-spacing:.05em;line-height:1.15;text-transform:uppercase}.me-box b{font-weight:400;font-size:calc(var(--u) * 23)}.me-box.cheer{box-shadow:0 0 0 calc(var(--u) * 5) var(--highlight, #ffd23f),calc(var(--u) * 5) calc(var(--u) * 5) 0 calc(var(--u) * 5) var(--ink)}.stage.narrow .me-box{display:none}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:16px}.sheet-overlay>div{width:min(560px,100%);max-height:90vh;overflow:auto;display:flex;flex-direction:column;gap:8px;align-items:flex-end}.sheet-overlay .panel{width:100%;margin:0}.table-head .link{color:var(--paper)}.skin-icon{display:inline-block;width:1.4em;height:1.4em;margin-right:.35em;vertical-align:-.35em;object-fit:contain}.skin-icon:is(span){width:auto;height:auto;vertical-align:baseline}.icon-button{background:none;border:none;padding:2px;align-self:center;line-height:1;transition:transform .15s}.icon-button:hover:not(:disabled){transform:scale(1.12)}.icon-button .skin-icon{width:2.4rem;height:2.4rem;margin:0;vertical-align:middle;font-size:1.8rem}.player-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:-.4em;object-fit:contain}.player-icon:is(span){width:auto;height:auto;vertical-align:baseline}.avatars button .player-icon{width:2.6rem;height:2.6rem;vertical-align:middle}.avatars button:is(.active) .player-icon{filter:drop-shadow(0 0 3px var(--ink))}
