:root{color:#edf3ed;font-synthesis:none;background:#102c27;font-family:system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}main{max-width:1000px;margin:auto;padding:20px}header{justify-content:space-between;align-items:center;gap:12px;display:flex}h1{font-size:clamp(26px,6vw,44px)}h2{margin-top:0}section{background:#1c3c35;border:1px solid #42645a;border-radius:16px;margin:20px 0;padding:20px}button,input{font:inherit;border:1px solid #91aa9a;border-radius:8px;padding:12px}input:not([type=checkbox]){color:#172c25;background:#f4f5ec;width:100%;margin:8px 0 16px;display:block}button{color:#192d24;cursor:pointer;background:#e7c57c;margin:4px}button:disabled{cursor:default;opacity:.55}.actions,.cards{flex-wrap:wrap;gap:8px;display:flex}.card{color:#18231e;background:#fffdf5;min-width:62px;height:88px;font-size:24px;font-weight:700;opacity:1!important}.card.red{color:#a82034}.hand-trump{white-space:nowrap}.hand-trump .red{color:#a82034}.card.selected{outline:4px solid #ebbf58;transform:translateY(-5px)}.players{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:0;list-style:none;display:grid}.players li{border:1px solid #577567;border-radius:10px;padding:12px}.players li.active{border:2px solid #e7c57c}.error{background:#682d32;border-radius:8px;padding:16px}footer,small{color:#b9ccc0}footer{padding:24px 0}label{margin:12px 0;display:block}@media (width<=500px){main{padding:12px}section{padding:14px}header{display:block}.actions button{flex:140px}.players{grid-template-columns:1fr 1fr}.players li{overflow-wrap:anywhere;min-width:0;padding:8px}}:root{color:#e6eee9;background:#101c22}body{background:radial-gradient(at 50% 0,#253b3d,#0000 70%);min-height:100vh}main{max-width:1160px}header{padding:0 12px}h1{letter-spacing:-1.5px}header>span{color:#bbccbf;font-size:13px}section{background:#1c2b30;border-color:#35474a}button{transition:box-shadow .15s,background .15s}button:focus-visible{outline-offset:5px;outline:3px solid #f6ca73}button:not(:disabled):hover{filter:brightness(1.08)}.phase-header{padding:16px 24px}.phase-header h2{margin:6px 0;font-size:24px}.phase-header>p{color:#acbfb5;margin:0;font-size:14px}.eyebrow{letter-spacing:2px;color:#bda978;font-size:10px}.table-section{background:0 0;border:0;padding:0}.table-section>p{color:#c4d1c7;margin:12px 8px;font-size:13px}.table-instruction{background:#213438;border:1px solid #41534e;border-radius:12px;align-items:center;gap:10px;min-height:50px;padding:8px 14px;font-size:14px;display:flex}.instruction-number{color:#192c27;background:#dfbc73;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-weight:700;display:grid}.quiet{color:#ecce91;background:0 0;border:0;margin-left:auto;padding:6px}.felt-table{background:radial-gradient(#25644e 0%,#174635 65%,#11382c 100%);border:12px solid #35433b;border-radius:40%;height:690px;margin:20px 0;position:relative;box-shadow:0 0 0 2px #8c7954,0 0 0 7px #192322,inset 0 0 60px #05291b,0 20px 50px #0004}.felt-table:before{content:"";border-radius:inherit;pointer-events:none;border:1px solid #e1d2a026;position:absolute;inset:14px}.felt-inscription{letter-spacing:6px;color:#eddda63b;text-align:center;white-space:nowrap;font-family:Georgia,serif;font-size:24px;position:absolute;top:34%;left:50%;transform:translate(-50%,-50%)}.felt-inscription span{letter-spacing:2px;margin-top:8px;font:8px system-ui;display:block}.table-center{gap:25px;display:flex;position:absolute;top:53%;left:50%;transform:translate(-50%,-50%)}.card-zone{flex-direction:column;align-items:center;gap:9px;display:flex}.zone-label{letter-spacing:1.6px;color:#b5c9b6;font-size:10px;font-weight:700}.zone-count{color:#cbd9ca;font-size:12px}.playing-card,.card{color:#172f32;vertical-align:middle;background:#fffaf0;border:0;border-radius:7px;width:76px;min-width:76px;height:108px;margin:0;padding:0;display:inline-block;position:relative;box-shadow:0 3px 9px #0004}.playing-card:disabled,.card:disabled{opacity:1}.card-face{color:#20333a;border-radius:inherit;background:linear-gradient(120deg,#fffef8,#f5edda);font-family:Georgia,serif;position:absolute;inset:0;overflow:hidden}.card-face.red{color:#b33d40}.card-corner{z-index:1;flex-direction:column;align-items:center;font-size:17px;font-weight:700;line-height:1;display:flex;position:absolute;top:5px;left:5px}.card-corner small{font-size:14px}.card-corner.bottom{inset:auto 5px 5px auto;transform:rotate(180deg)}.pips{grid-template-columns:1fr 1fr;place-items:center;font-size:19px;line-height:1;display:grid;position:absolute;inset:18% 25%}.pips-7 span:last-child,.pips-9 span:last-child{grid-column:1/-1}.pips-10{font-size:15px}.court{flex-direction:column;justify-content:center;align-items:center;font-size:42px;line-height:1;display:flex;position:absolute;inset:20%}.court small{margin-top:6px;font-size:16px}.card-back{border-radius:inherit;background:repeating-linear-gradient(45deg,#346781 0 2px,#244e65 2px 7px);border:4px solid #eee7cf;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.card-back:before{content:"";border:1px solid #adbfbe99;border-radius:3px;position:absolute;inset:5px}.card-back>span{color:#e0d4ab;background:#21495e;border:1px solid #cbbd8f;padding:6px;font:20px Georgia;transform:rotate(-8deg)}.deck-card{box-shadow:2px 2px #d1c9b4,4px 4px #fff2d9,6px 6px #b7b2a2,7px 9px 12px #0006}.empty-card{color:#c7d6c08c;width:76px;height:108px;box-shadow:none;background:#092d2029;border:1px dashed #d8e5ca66;border-radius:7px;place-items:center;font-size:25px;display:grid}.empty-label{color:#b0c7b7;font:11px/1.5 system-ui}.playing-card.picked,.card.selected{outline-offset:3px;outline:3px solid #f6cf78;transform:translateY(-5px);box-shadow:0 0 25px #efcd6d44}.target-stack{outline-offset:4px;cursor:pointer;outline:2px dashed #e5c67d}.table-seats{margin:0;padding:0;list-style:none}.table-seat{left:var(--seat-x);top:var(--seat-y);width:150px;position:absolute;transform:translate(-50%,-50%)}.seat-identity{background:#102d24a8;border:1px solid #0000;border-radius:24px;align-items:center;gap:9px;margin-bottom:9px;padding:6px;display:flex}.avatar{background:var(--seat-color);color:#fff4d6;border:2px solid #c3d5c76b;border-radius:50%;flex:none;place-items:center;width:33px;height:33px;font:600 17px Georgia;display:grid;position:relative}.seat-number{color:#d8d6b7;background:#122b24;border-radius:50%;place-items:center;width:15px;height:15px;font:9px system-ui;display:grid;position:absolute;bottom:-5px;right:-4px}.seat-name{min-width:0}.seat-name strong{text-overflow:ellipsis;white-space:nowrap;max-width:95px;font-size:13px;display:block;overflow:hidden}.seat-name small{color:#b2c4b5;margin-top:3px;font-size:10px;display:block}.current .seat-identity{border-color:#e2bb6b;box-shadow:0 0 16px #dfb34822}.current .seat-name small{color:#efcd7f}.seat-cards{justify-content:center;align-items:center;gap:14px;display:flex}.stacked{box-shadow:2px 2px #cdc6b1,4px 4px #eee5cf,5px 7px 8px #0005}.reserve{width:27px;height:44px;position:relative}.reserve-card{border-radius:3px;width:27px;height:39px;position:absolute;top:0;left:-3px;transform:rotate(-9deg)}.reserve-card+.reserve-card{top:3px;left:6px;transform:rotate(9deg)}.reserve-card .card-back{border-width:2px}.reserve-card .card-back:before{inset:2px}.reserve-card .card-back>span{padding:2px;font-size:9px}.seat-stats{color:#bdcdbd;justify-content:center;gap:14px;margin-top:9px;font-size:11px;display:flex}.table-direction{color:#bfd0b275;white-space:nowrap;font-size:10px;position:absolute;top:70%;left:50%;transform:translate(-50%)}.table-help{text-align:center;color:#a9bfb0;font-size:12px}.event-history h2{font-size:16px}.event-history p{color:#b5c7bc;font-size:13px}.cards{gap:12px;padding:10px 0}.card{font-size:unset}.card.selected{outline-offset:3px}footer{font-size:12px}@media (width<=650px){main{padding:12px}.phase-header{padding:14px}.phase-header h2{font-size:20px}.felt-table{border-width:5px;border-radius:130px;height:650px;margin:14px 0}.felt-inscription{letter-spacing:3px;font-size:16px;top:35%}.felt-inscription span{letter-spacing:.6px;font-size:6px}.table-seat{width:100px}.seat-identity{gap:5px;margin-bottom:8px;padding:4px}.avatar{width:25px;height:25px;font-size:13px}.seat-name strong{max-width:58px;font-size:11px}.seat-name small{font-size:9px}.seat-number{width:12px;height:12px;font-size:8px}.seat-cards{gap:6px}.table-seat .playing-card{width:55px;min-width:55px;height:79px}.table-seat .card-corner{font-size:13px;top:3px;left:3px}.table-seat .card-corner small{font-size:10px}.table-seat .card-corner.bottom{inset:auto 3px 3px auto}.table-seat .pips{font-size:13px}.table-seat .pips-10{font-size:10px}.table-seat .court{font-size:29px}.table-seat .court small{font-size:12px}.reserve{width:20px;height:34px}.reserve-card{width:21px;height:30px}.seat-stats{flex-direction:column;align-items:center;gap:2px;font-size:10px}.table-center{gap:16px;top:47%}.table-center .playing-card,.table-center .empty-card{width:62px;min-width:62px;height:90px}.zone-label{font-size:8px}.zone-count{font-size:10px}.table-instruction{gap:7px;padding:8px;font-size:12px}.table-help{font-size:11px;line-height:1.6}.table-direction{font-size:8px;top:71%}.seat-name strong{max-width:57px}.table-section>p{font-size:12px}.card{width:66px;min-width:66px;height:96px}}.card-face small{color:inherit}[data-drag-card]{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}[data-drag-card]:active{cursor:grabbing}.drag-ghost{z-index:100;pointer-events:none;opacity:.92;position:fixed;transform:translate(-50%,-65%)rotate(-5deg);box-shadow:0 12px 30px #0008}.drag-over{outline-offset:5px;outline:3px solid #f4cf79!important}.table-drop{border:1px dashed #a6bea477;border-radius:12px;align-items:center;min-height:125px;padding:16px}.drop-hint{color:#b7c7b8;font-size:13px}.hand-drop{min-height:112px}.latest-action{border-left:3px solid #e7c57c;padding:8px 12px;font-size:13px}.latest-action p{margin:4px 0}.hand-table{height:570px}.hand-table .felt-inscription{font-size:18px;top:29%}.hand-table .table-seat{width:144px}.hand-table .seat-card-count{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.mini-hand{width:42px;height:32px;display:inline-block;position:relative}.mini-hand>span{left:calc(var(--mini-index) * 8px);width:22px;height:31px;transform:rotate(calc((var(--mini-index) - 1) * 7deg));position:absolute;top:0}.mini-hand .card-back{border-width:1px;border-radius:3px}.mini-hand .card-back:before{inset:2px}.mini-hand .card-back>span{padding:1px;font-size:7px}.mini-reserve{text-align:center;color:#b8cbb6;width:100%;font-size:10px;display:block}.player-out{opacity:.55}.player-out .seat-identity{border-color:#87ac99}.hand-table-center{text-align:center;width:min(340px,65%);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.round-caption{letter-spacing:1.4px;color:#d8d0aa;margin-bottom:16px;font-size:10px}.table-fan{background:#12372750;justify-content:center;align-items:center;min-height:145px;padding:12px 8px;display:flex}.fan-cards{--fan-step:34px;--fan-card-width:76px;height:115px;width:calc(var(--fan-card-width) + (var(--fan-count) - 1) * var(--fan-step));position:relative}.fan-card{left:calc(var(--fan-index) * var(--fan-step));top:calc(var(--fan-index) * -1px);z-index:var(--fan-index);margin:0;position:absolute;box-shadow:-3px 3px 8px #0005}.fan-card .card-corner{left:5px}.fan-position{color:#e4d8b3;font:10px system-ui;position:absolute;top:calc(100% + 3px);left:10px}.pile-order{color:#dbc99e;justify-content:space-between;gap:8px;margin-top:12px;font-size:11px;display:flex}.discard-zone{color:#b8cbb6;border:1px solid #b8c6a644;border-radius:7px;margin-top:12px;padding:5px 12px;font-size:11px;display:inline-block}.hand-drop{align-items:start;padding:14px 4px}.hand-drop .card{transition:transform .13s,outline-color .13s}.game-result{text-align:center;background:#c7a35315;border:1px solid #d8b86e;border-radius:14px;padding:20px}.game-result h2{margin:0}.motion-flight{pointer-events:none;z-index:200;margin:0;position:fixed;box-shadow:0 8px 24px #0006}.motion-flight .fan-position{display:none}.latest-action{animation:action-arrival var(--action-duration) ease var(--action-delay) backwards}@keyframes action-arrival{0%{opacity:.3;translate:0 6px}to{opacity:1;translate:0}}@media (width<=650px){.hand-table{height:700px}.hand-table .table-seat{width:92px}.hand-table .seat-identity{gap:4px}.hand-table .seat-card-count{font-size:10px}.hand-table .seat-stats{margin-top:4px}.hand-table .felt-inscription{font-size:12px;top:29%}.hand-table-center{width:74%}.round-caption{letter-spacing:.5px;margin-bottom:10px;font-size:8px}.table-fan{min-height:126px;padding:10px 4px}.fan-cards{--fan-step:27px;--fan-card-width:66px;height:100px}.fan-card .card-corner{font-size:17px;left:4px}.fan-card .card-corner small{font-size:14px}.pile-order{gap:4px;font-size:10px}.mini-hand{width:31px;height:26px}.mini-hand>span{width:17px;height:24px;left:calc(var(--mini-index) * 6px)}.mini-reserve{font-size:9px}}@media (prefers-reduced-motion:reduce){.latest-action{animation:none}.hand-drop .card{transition:none}}
