:root{color:#f6f3e9;font-synthesis:none;-webkit-text-size-adjust:100%;--felt:#124635;--felt-dark:#0a2b21;--gold:#d9b96e;--cream:#f5eddc;--ink:#18231f;--danger:#e16f6f;--muted:#9db0a7;--seat-band:76px;--pile-card:52px;--hand-card-w:clamp(50px, 16.5vw, 74px);--hand-row-overlap:.42;--hand-lift:30px;--card-ratio:1.5;background:#0b201a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{overscroll-behavior:none;background:radial-gradient(circle at 50% 18%,#17513e 0%,#0b241c 55%,#071711 100%);min-width:320px;margin:0}button{font:inherit}button:disabled{cursor:not-allowed;opacity:.45}.primary-btn,.ghost-btn,.mini-btn,.sort-toggle,.auto51-btn,.choice-list button,.segmented button{cursor:pointer;border:0;border-radius:12px}.primary-btn{background:var(--gold);color:#1b261f;padding:12px 20px;font-weight:800}.primary-btn--large{width:100%;padding:16px;font-size:18px}.ghost-btn{color:#e9eee9;background:#ffffff14;padding:9px 14px}.mini-btn{color:#fff;background:#ffffff1f;padding:5px 8px;font-size:11px}.menu-shell,.result-shell{place-items:center;min-height:100dvh;padding:24px;display:grid}.menu-card,.result-card{text-align:center;background:#071913eb;border:1px solid #d9b96e59;border-radius:28px;width:min(520px,100%);padding:32px;box-shadow:0 28px 80px #00000059}.result-card--wide{width:min(900px,100%)}.brand-mark{border:2px solid var(--gold);width:84px;height:84px;color:var(--gold);border-radius:50%;place-items:center;margin:0 auto 12px;font-size:34px;display:grid}.menu-card h1{letter-spacing:.1em;margin:0}.menu-card p{color:#b9c7c0;margin:6px 0 26px;font-size:13px}.menu-section{border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;gap:18px;padding:16px 0;display:flex}.segmented{background:#ffffff0f;border-radius:12px;gap:4px;padding:4px;display:flex}.segmented button{color:#dce6df;background:0 0;width:48px;height:40px}.segmented button.active{background:var(--gold);color:#17221e;font-weight:800}.menu-note{color:#adbbb4;margin:10px 0 22px;font-size:13px}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.score-table,.final-table{gap:7px;margin:20px 0 24px;display:grid}.score-table>div{text-align:left;background:#ffffff0f;border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:11px 12px;display:grid}.score-table small{color:#a9b7b0}.final-table>div{background:#ffffff0d;border-radius:10px;grid-template-columns:1.4fr repeat(5,.6fr) .8fr;align-items:center;gap:8px;padding:10px;font-size:13px;display:grid}.final-table .winner-row{background:#d9b96e24;border:1px solid #d9b96e4d}.final-table span,.final-table b{text-align:center}.game-shell{height:100dvh;padding:calc(6px + env(safe-area-inset-top)) 10px calc(6px + env(safe-area-inset-bottom));grid-template-rows:auto minmax(60px,1fr) auto auto;grid-template-columns:minmax(0,1fr);gap:8px;max-width:900px;margin:0 auto;display:grid;overflow:hidden}.topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar-brand{align-items:baseline;gap:10px;display:flex}.topbar-brand strong{letter-spacing:.1em;font-size:20px}.topbar-brand span{color:var(--muted);font-size:12px}.table-zone{min-width:0;min-height:0;padding:var(--seat-band) 10px 10px;background:radial-gradient(circle at 50% 42%, #1b6b51 0%, var(--felt) 52%, var(--felt-dark) 100%);border:1px solid #d9b96e33;border-radius:26px;transition:border-color .18s,box-shadow .18s;position:relative;overflow:hidden;box-shadow:inset 0 0 70px #0000004d,0 16px 44px #00000047}.table-zone--drop-ready{border-color:#d9b96e73}.table-zone--drop-over{border-color:var(--gold);box-shadow:inset 0 0 0 3px #d9b96e73,inset 0 0 70px #0000004d,0 16px 44px #00000047}.table-drop-hint{color:#1b261f;white-space:nowrap;opacity:0;pointer-events:none;background:#d9b96eeb;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:700;transition:opacity .16s;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.table-zone--drop-over .table-drop-hint{opacity:1}.table-seats{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.seat{pointer-events:auto;justify-items:center;gap:1px;width:76px;display:grid;position:absolute}.seat[data-seat=top]{top:6px;left:50%;transform:translate(-50%)}.seat[data-seat=left]{top:6px;left:6px}.seat[data-seat=right]{top:6px;right:6px}.seat-disc{background:#051812d1;border:2px solid #d9b96e47;border-radius:50%;place-content:center;justify-items:center;width:44px;height:44px;transition:border-color .2s,box-shadow .2s;display:grid}.seat-disc__count{color:var(--cream);font-size:17px;line-height:1}.seat-disc__unit{color:var(--muted);letter-spacing:.04em;font-size:8px;line-height:1.3}.seat-name{color:#d3e0d8;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;font-weight:600;line-height:1.3;overflow:hidden}.seat-score{color:var(--muted);white-space:nowrap;font-size:9px;line-height:1.2}.seat.is-open .seat-disc{border-color:var(--gold);background:#d9b96e29}.seat.is-current .seat-disc{animation:1.6s ease-in-out infinite seatPulse;box-shadow:0 0 0 3px #d9b96e59}.seat.is-current .seat-name{color:var(--gold)}@keyframes seatPulse{0%,to{box-shadow:0 0 0 3px #d9b96e52}50%{box-shadow:0 0 0 6px #d9b96e1f}}.table-felt{flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;min-height:0;display:flex}.meld-board{flex-wrap:wrap;flex:0 auto;place-content:flex-start center;gap:6px;width:100%;min-height:0;display:flex;overflow:hidden}.empty-table{color:#ffffff4d;font-size:13px}.meld{background:#00000038;border:1px solid #ffffff12;border-radius:10px;padding:5px}.meld--recent{animation:1.35s meldPulse}.meld-head{display:none}.meld-cards{gap:2px;display:flex}.meld-actions{gap:5px;margin-top:5px;display:flex}.meld-board .meld-cards .card{width:30px}.meld-board--compact .meld-cards .card{width:26px}.meld-board--dense .meld-cards .card{width:22px}.meld-board--packed .meld-cards .card{width:18px}.meld-board--dense .meld,.meld-board--packed .meld{padding:3px}.meld--long .meld-cards .card:not(:first-child){margin-left:-6px}.meld--very-long .meld-cards .card:not(:first-child){margin-left:-10px}@keyframes meldPulse{0%{border-color:var(--gold);box-shadow:0 0 #d9b96eb3}65%{box-shadow:0 0 0 8px #d9b96e00}to{box-shadow:none}}.piles{flex:none;justify-content:center;align-items:flex-start;gap:16px;display:flex}.pile-wrap{color:#c2d1ca;justify-items:center;gap:5px;font-size:10px;display:grid}.pile-wrap .card{width:var(--pile-card)}.pile-wrap>span{white-space:nowrap;letter-spacing:.02em}.empty-card{width:var(--pile-card);aspect-ratio:2/3;color:#9fb0a8;border:1px dashed #ffffff40;border-radius:10px;place-items:center;font-size:10px;display:grid}.discard-drop-zone{border-radius:12px;transition:box-shadow .16s}.discard-drop-zone--ready{box-shadow:0 0 0 2px #d9b96e47}.discard-drop-zone--touch-over{box-shadow:0 0 0 3px var(--gold)}.dead-pile__stack{width:var(--pile-card);aspect-ratio:2/3;position:relative}.dead-pile__stack .card{pointer-events:none;width:100%;position:absolute;top:0;left:0}.dead-pile__stack .card:nth-child(2){transform:translate(3px,3px)rotate(3deg)}.dead-pile__stack .card:nth-child(3){transform:translate(6px,6px)rotate(6deg)}.dead-pile--recent{animation:1.1s deadPilePulse}@keyframes deadPilePulse{0%{filter:brightness(1.5);transform:scale(1.05)}to{filter:none;transform:none}}.card{aspect-ratio:2/3;color:#151918;cursor:pointer;touch-action:manipulation;background:linear-gradient(145deg,#fffefa,#ede8dd);border:2px solid #0000;border-radius:9px;flex:none;width:56px;padding:0;transition:transform .12s,border-color .12s,box-shadow .12s,opacity .12s;position:relative;overflow:hidden;box-shadow:0 4px 10px #00000047;container-type:inline-size}.card[draggable=true]{cursor:grab}.card[draggable=true]:active{cursor:grabbing}.card.is-selected{border-color:var(--gold);box-shadow:inset 4px 0 0 0 var(--gold), inset 0 3px 0 0 var(--gold), 0 10px 18px #0000006b;transform:translateY(-14px)}.card.is-action-disabled:not(.is-selected){opacity:.7}.card--red{color:#b72b35}.card--joker{color:#5a4012;background:linear-gradient(145deg,#fff9dc,#e6d294)}.card--back{color:var(--gold);background:repeating-linear-gradient(45deg,#153e32,#153e32 6px,#0f2d25 6px,#0f2d25 12px);border-color:#d8c18abf}.card--recent-discard{animation:1.3s discardPulse}.card--compact{border-radius:6px}.card-back-mark{border:1px solid #d9b96ea6;border-radius:50%;place-items:center;width:74%;height:74%;margin:auto;font-size:11px;font-weight:800;display:grid}.card-corner{font-size:13px;font-weight:900;line-height:1;justify-items:center;font-size:max(9px,min(26cqw,15px));display:grid;position:absolute;top:4%;left:8%}.card-corner small{font-size:.85em}.card-center{font-size:24px;font-weight:900;place-items:center;font-size:max(11px,min(46cqw,28px));display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.card--joker .card-center{letter-spacing:.04em;font-size:11px;font-size:max(6px,min(20cqw,13px));transform:rotate(-35deg)}.card-id{display:none}@keyframes discardPulse{0%,28%{transform:translateY(-8px)scale(1.06);box-shadow:0 0 0 4px #d9b96e8c,0 12px 24px #0006}to{transform:none;box-shadow:0 4px 10px #00000047}}.human-panel{z-index:5;min-width:0;margin-top:calc(-1 * var(--hand-lift));grid-template-columns:minmax(0,1fr);gap:6px;display:grid;position:relative}.obligation-bar{color:#ffd2d2;text-align:center;text-overflow:ellipsis;white-space:nowrap;background:#e16f6f29;border:1px solid #e16f6f66;border-radius:999px;justify-self:center;max-width:100%;padding:5px 12px;font-size:11px;font-weight:600;overflow:hidden}.hand-rows{grid-template-columns:minmax(0,1fr);gap:0;width:100%;min-width:0;padding:0 2px;display:grid}.hand-row{--hand-step:min(var(--hand-card-w), calc((100% - var(--hand-card-w)) / max(1, var(--hand-cols,8) - 1)));justify-content:center;min-width:0;display:flex}.hand-row+.hand-row{margin-top:calc(-1 * var(--hand-card-w) * var(--card-ratio) * var(--hand-row-overlap))}.hand-card-slot{z-index:var(--hand-z,0);width:var(--hand-step);flex:none;min-width:0;position:relative}.hand-card-slot:last-child{width:var(--hand-card-w)}.hand-card-slot .card{width:var(--hand-card-w);touch-action:pan-x}.hand-card-slot.is-raised{z-index:var(--hand-z,0)}.hand-card-slot--group-break .card{box-shadow:-3px 0 #d9b96e8c,0 4px 10px #0000004d}.card.is-touch-drag-source{opacity:.3}.touch-drag-preview{z-index:30;pointer-events:none;filter:drop-shadow(0 12px 20px #00000080);position:fixed;transform:translate(-50%,-50%)scale(1.06)rotate(-4deg)}.touch-drag-preview .card{width:62px}.touch-drag-preview--ready .card{border-color:var(--gold);box-shadow:0 0 0 4px #d9b96e66}.player-dock{align-items:center;gap:8px;min-width:0;display:flex}.human-seat{flex:none;justify-items:center;gap:2px;display:grid}.human-seat__disc{background:#051812d9;border:2px solid #d9b96e47;border-radius:50%;place-content:center;justify-items:center;width:44px;height:44px;transition:border-color .2s,box-shadow .2s,background .2s;display:grid}.human-seat__count{color:var(--cream);font-size:16px;line-height:1}.human-seat__unit{color:var(--muted);letter-spacing:.04em;font-size:8px;line-height:1.3}.human-seat__name{color:var(--muted);white-space:nowrap;font-size:9px}.human-seat.is-open .human-seat__disc{border-color:var(--gold);background:#d9b96e29}.human-seat.is-current .human-seat__disc{border-color:var(--gold);animation:1.6s ease-in-out infinite seatPulse;box-shadow:0 0 0 3px #d9b96e59}.human-seat.is-current .human-seat__name{color:var(--gold)}.sort-toggle{color:#e9eee9;background:#ffffff1a;flex:none;height:40px;padding:0 14px;font-size:12px}.auto51-btn{color:#cddbd4;background:#ffffff12;flex:none;height:40px;padding:0 11px;font-size:11px}.nzul-mini{background:#00000047;border:1px solid #ffffff24;border-radius:12px;flex:none;align-content:center;justify-items:center;min-width:58px;height:40px;padding:0 8px;line-height:1;display:grid}.nzul-mini b{color:var(--cream);font-size:16px}.nzul-mini span{color:var(--muted);font-size:10px}.nzul-mini small{letter-spacing:.08em;color:var(--muted);text-transform:uppercase;font-size:8px}.nzul-mini b,.nzul-mini span{display:inline}.nzul-mini--ready{border-color:var(--gold);background:#d9b96e29}.nzul-mini--ready b{color:var(--gold)}.lay-btn{flex:auto;height:40px;padding:0 14px}.message{z-index:12;color:#dce6df;text-align:center;background:#081e17f5;border:1px solid #d9b96e4d;border-radius:10px;max-width:96%;padding:8px 14px;font-size:12px;animation:.2s messageIn;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 10px 26px #0006}@keyframes messageIn{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.ad-slot{background:linear-gradient(135deg,#20303a,#17242c);border:1px solid #ffffff1f;border-radius:6px;flex:none;align-items:center;gap:8px;width:320px;max-width:100%;height:50px;margin:0 auto;padding:6px 8px;display:flex;position:relative;overflow:hidden}.ad-slot__icon{background:linear-gradient(140deg,#4f7fa8,#2c4d68);border-radius:7px;flex:none;width:36px;height:36px}.ad-slot__copy{flex:auto;gap:2px;min-width:0;display:grid}.ad-slot__copy strong{color:#dfe8ee;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.ad-slot__copy small{color:#8fa3b0;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.ad-slot__cta{color:#fff;background:#3d7dbb;border-radius:5px;flex:none;padding:6px 12px;font-size:11px;font-weight:700}.ad-slot__badge{color:#221a08;letter-spacing:.06em;background:#ffd678eb;border-bottom-right-radius:5px;padding:1px 5px;font-size:8px;font-weight:800;position:absolute;top:0;left:0}.modal-backdrop{z-index:40;background:#000000b8;place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.choice-modal,.pause-modal{background:#102b22;border:1px solid #d9b96e59;border-radius:20px;width:min(560px,100%);max-height:80dvh;padding:24px;overflow:auto}.choice-modal h3,.pause-modal h3{margin:6px 0 8px}.choice-modal p{color:#aebeb6;margin:0 0 16px;font-size:13px}.choice-list{gap:8px;margin-bottom:12px;display:grid}.choice-list button{text-align:left;color:#fff;background:#ffffff12;justify-content:space-between;gap:14px;padding:12px;display:flex}.choice-list span{color:var(--gold);white-space:nowrap}.pause-modal{text-align:center;gap:10px;display:grid}.pause-modal button{color:#e9eee9;cursor:pointer;background:#ffffff1a;border:0;border-radius:12px;padding:13px}.pause-modal .primary-btn{background:var(--gold);color:#1b261f}.action-animation{left:50%;top:calc(var(--seat-band) + 4px);z-index:8;pointer-events:none;background:#061913eb;border:1px solid #d9b96e4d;border-radius:999px;align-items:center;gap:10px;max-width:calc(100% - 24px);padding:7px 12px;animation:.22s toastIn;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 10px 26px #00000059}.action-animation__label{align-items:baseline;gap:7px;min-width:0;display:flex}.action-animation__label strong{color:var(--gold);white-space:nowrap;font-size:12px}.action-animation__label span{color:#dce7e1;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.action-animation__card .card{width:26px}.action-animation__token{color:var(--gold);font-size:15px}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%)}}@media (orientation:landscape) and (max-height:560px){:root{--seat-band:68px;--pile-card:44px;--hand-card-w:clamp(44px, 7vw, 58px)}.game-shell{grid-template:"top top""table hand"minmax(0,1fr)"ad ad"/minmax(0,1fr) minmax(260px,340px);max-width:none}.topbar{grid-area:top}.table-zone{grid-area:table}.human-panel{grid-area:hand;align-content:center;margin-top:0}.ad-slot{grid-area:ad}.seat{width:66px}.seat-disc{width:38px;height:38px}.human-seat__disc{width:40px;height:40px}}@media (orientation:landscape) and (max-height:420px){.ad-slot{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
