:root{--felt:#1f6b45;--felt-dark:#17533a;--ink:#1b1b1b;--red:#c62828;--paper:#fff;--sheet:#fafaf9;--text-on-felt:#fff;--muted-on-felt:#e7f3ec;--accent:#facc15;--accent-ink:#1a1a1a;--us:#1d4ed8;--us-soft:#2563eb29;--us-line:#60a5fabf;--them:#c2410c;--them-soft:#ea580c29;--them-line:#fb923ccc;--wild:#fff3c4;--wild-line:#c99a06;--danger:#b91c1c;--zone-min:96px;color:var(--text-on-felt);background:var(--felt-dark);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--felt-dark);overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button{color:inherit;font-family:inherit}.label{color:var(--muted-on-felt);font-size:11px;font-weight:600}.text-danger{color:var(--danger)}.game{background:var(--felt);-webkit-user-select:none;user-select:none;flex-direction:column;max-width:480px;height:100dvh;margin:0 auto;display:flex;position:relative;overflow:hidden}.topbar{background:#00000052;flex:none;align-items:center;gap:8px;height:44px;padding:0 4px 0 12px;display:flex}.topbar__meta{color:var(--muted-on-felt);white-space:nowrap;margin-left:4px;font-size:12px}.topbar__menu{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;margin-left:auto;display:flex}.chip{color:#fff;white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.chip--us{background:var(--us)}.chip__pending{color:var(--red);background:#fff;border-radius:999px;margin-left:5px;padding:0 5px}.chip--them{background:var(--them)}.avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:800;transition:box-shadow .2s;display:flex}.avatar--us{background:var(--us)}.avatar--them{background:var(--them)}.avatar.is-active{box-shadow:0 0 0 3px var(--accent)}.seat-row{flex:none;align-items:center;gap:10px;padding:8px 16px;display:flex}.seat-row--center{justify-content:center}.seat-row__info{flex-direction:column;gap:2px;display:flex}.seat-row__name{font-size:13px;font-weight:700}.seat-row__backs{margin-left:auto;padding-left:14px;display:flex}.seat-row--center .seat-row__backs{margin-left:18px}.seat-row__backs .card-back+.card-back{margin-left:-14px}.seat-badge{flex-direction:column;flex:none;align-items:center;gap:4px;width:52px;padding-top:4px;display:flex}.seat-badge__name{font-size:11px;font-weight:700}.strip{background:var(--them-soft);border:1px solid var(--them-line);border-radius:10px;flex:none;align-items:center;gap:8px;height:36px;margin:8px 12px 0;padding:0 12px;display:flex}.strip__right{margin-left:auto}.card{background:var(--paper);letter-spacing:-.5px;border:1px solid #c9c9c9;flex-direction:column;flex:none;align-items:flex-start;font-weight:800;line-height:1;display:flex;position:relative}.card--red{color:var(--red)}.card--black{color:var(--ink)}.card--hand{border-radius:6px;width:52px;height:74px;padding:4px 5px;box-shadow:0 2px 6px #00000059}.card--hand .card__rank{font-size:15px}.card--hand .card__suit{margin-top:2px;font-size:14px}.card__center{font-size:26px;position:absolute;bottom:6px;right:6px}.card--selected{border:2px solid #2563eb;box-shadow:0 0 0 3px #2563eb66,0 8px 14px #00000073}.card--mini{border-radius:4px;width:30px;height:42px;padding:3px 2px;font-size:11px;box-shadow:-1px 0 3px #0000004d}.card--mini .card__rank,.card--tiny .card__rank,.card--pile .card__rank{letter-spacing:-1.5px}.meld--tight .card--tiny .card__rank--wide{letter-spacing:-2.5px;margin-left:-1px}.card--tiny{letter-spacing:-1px;border-radius:3px;width:22px;height:32px;padding:2px;font-size:9px;box-shadow:-1px 0 2px #0000004d}.card--pile{border-radius:5px;width:44px;height:64px;padding:4px;font-size:14px;box-shadow:-1px 0 3px #0000004d}.card--panel{border-radius:7px;width:52px;height:76px;padding:5px 6px;font-size:16px;box-shadow:0 2px 5px #00000040}.card--panel .card__center{font-size:22px}.card--wild{background:var(--wild);border-color:var(--wild-line)}.card--top{border:3px solid var(--accent);box-shadow:0 0 0 3px #facc1559,0 4px 10px #00000059}.card__toptag{background:var(--accent);color:var(--accent-ink);letter-spacing:.5px;border-radius:999px;padding:2px 6px;font-size:9px;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.card-back{background-color:#8b1e2d;background-image:repeating-linear-gradient(45deg,#ffffff24 0 3px,#0000 3px 7px);border:2px solid #fff;border-radius:4px;flex:none;width:56px;height:80px;box-shadow:0 1px 3px #00000059}.card-back--small{width:24px;height:36px}.zone{min-height:var(--zone-min);border-radius:12px;flex:1 1 0;gap:4px;margin:0 12px;padding:6px 8px;display:flex}.zone--us{background:var(--us-soft);border:2px solid var(--us-line)}.zone--them{background:var(--them-soft);border:2px solid var(--them-line)}.zone--expandable{cursor:pointer}.zone--expanded{background:#17316e8c;flex:1;height:auto;margin-top:8px;box-shadow:0 8px 24px #00000059}.zone__body{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.zone__header{align-items:center;gap:6px;min-height:22px;display:flex}.zone__close{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:44px;height:44px;margin:-10px -6px -10px auto;display:flex}.zone__close span{background:#ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.zone__melds{flex-wrap:wrap;flex:1;align-content:flex-start;gap:6px;min-height:0;display:flex;overflow-y:auto}.zone__empty{color:var(--muted-on-felt);opacity:.55;margin:auto;font-size:13px;font-weight:700}.zone--expanded .zone__melds{gap:10px;overflow-y:auto}.meld{cursor:pointer;background:#0003;border:0;border-radius:8px;flex-direction:column;gap:4px;padding:6px;display:flex;position:relative}div.meld{cursor:default}.meld__cards{display:flex}.meld--normal .card+.card{margin-left:-16px}.meld--tight{flex-direction:row;align-items:center;padding:4px}.meld__side{flex-direction:column;align-items:center;gap:3px;display:flex}.meld--tight .card+.card{margin-left:-12px}.zone--expanded .card--mini{width:40px;height:58px;padding:4px;font-size:14px}.zone--expanded .meld--normal .card+.card{margin-left:-20px}.meld--pill{background:var(--sheet);white-space:nowrap;flex-direction:row;align-items:center;gap:4px;height:28px;padding:0 8px;font-size:12px;font-weight:800}.meld--fit{outline-offset:1px;outline:2px dashed #93c5fd}.meld__footer{justify-content:center;align-items:center;gap:6px;min-height:12px;display:flex}.meld__count{color:var(--muted-on-felt);font-size:11px;font-weight:700;line-height:1}.meld__count--near{color:var(--accent)}.meld__badge{color:#fff;background:#0006;border-radius:999px;padding:2px 6px;font-size:10px;font-weight:700}.meld__tag{color:#fff;background:#14532d;border-radius:999px;padding:2px 5px;font-size:10px;font-weight:700}.meld__tag--dirty{background:#78350f}.meld-new{border:2px dashed #ffffffb3;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:96px;height:92px;font-size:12px;font-weight:700;display:flex}.center{flex:none;justify-content:center;align-items:flex-end;gap:28px;padding:6px 16px 4px;display:flex}.center__slot{flex-direction:column;align-items:center;gap:6px;display:flex}.stock,.pile{background:0 0;border:0;border-radius:8px;padding:0;position:relative}.stock{width:60px;height:84px}.stock__card{position:absolute;top:0;left:0}.stock__card--2{top:2px;left:2px}.stock__card--3{top:4px;left:4px}.pile{width:96px;height:84px}.pile__card{position:absolute;top:10px;left:26px}.stock.is-active,.pile.is-active{cursor:pointer;box-shadow:0 0 0 3px #facc15bf}.dead-piles{align-items:flex-end;gap:4px;height:80px;display:flex}.dead-piles__card{width:30px;height:44px}.dead-piles__card:first-child{transform:rotate(-8deg)}.dead-piles__card:last-child{transform:rotate(6deg)}.dead-piles__card.is-gone{opacity:.25}.status{color:#fef9c3;flex:none;align-items:center;gap:8px;min-height:28px;padding:6px 16px 0;font-size:12px;font-weight:600;display:flex}.status__main{flex:none;font-weight:700}.status__hint{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.status__hint.is-locked{filter:blur(4px)}.status__action{color:#fef9c3;cursor:pointer;background:#00000040;border:1px solid #fef9c399;border-radius:8px;flex:none;height:32px;margin-left:auto;padding:0 10px;font-size:12px;font-weight:700}.hand{touch-action:none;flex:none;height:98px;position:relative}.hand__slot{touch-action:none;cursor:grab;transition:transform .18s ease-out;position:absolute;bottom:8px;left:calc(50% - 26px)}.hand__slot.is-dragging{opacity:.4}.hand__slot.is-dragging .card{outline:2px dashed var(--accent);outline-offset:1px}.card--fresh{border:2px solid var(--accent);animation:1.2s ease-out 1s fresh-pulse;box-shadow:0 0 0 3px #facc1573,0 4px 10px #0006}.card--fresh.card--selected{border-color:#2563eb}.card--hint{border:2px solid #86efac;animation:none;box-shadow:0 0 0 3px #86efac8c,0 4px 10px #0006}.card--hint.card--selected{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb66,0 8px 14px #00000073}@keyframes fresh-pulse{0%{box-shadow:0 0 0 3px #facc1573,0 4px 10px #0006}40%{box-shadow:0 0 0 9px #facc1599,0 4px 10px #0006}to{box-shadow:0 0 0 3px #facc1573,0 4px 10px #0006}}.drag-ghost{z-index:50;pointer-events:none;transition:transform .15s ease-out;display:flex;position:fixed;transform:translate(-26px,-52px)}.drag-ghost--lifted{transform:translate(-26px,-130px)}.drag-ghost .card+.card{margin-left:-36px}.actions{flex:none;justify-content:space-between;align-items:center;padding:2px 12px 10px;display:flex}.actions__main{gap:8px;display:flex}.ibtn-wrap{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;display:flex;position:relative}.ibtn{cursor:pointer;border:0;border-radius:12px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;transition:background .15s;display:flex;position:relative}.ibtn:disabled{cursor:default;pointer-events:none}.ibtn__tip{z-index:45;color:#fff;white-space:nowrap;pointer-events:none;opacity:0;background:#111827eb;border-radius:8px;padding:5px 9px;font-size:12px;font-weight:700;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.ibtn-wrap--start .ibtn__tip{left:0;transform:none}.ibtn-wrap--end .ibtn__tip{left:auto;right:0;transform:none}.ibtn-wrap.is-peeking .ibtn__tip{opacity:1}@media (hover:hover){.ibtn-wrap:hover .ibtn__tip{opacity:1}}.ibtn--light{color:#14532d;background:#f5f5f4}.ibtn--primary{background:var(--accent);color:var(--accent-ink)}.ibtn--off{color:var(--muted-on-felt);background:#ffffff38}.ibtn--hint{color:#fef9c3;background:#00000047;border:1px solid #fef9c399}.ibtn__ad{background:var(--accent);width:18px;height:18px;color:var(--accent-ink);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-5px;right:-5px}.toast{z-index:40;color:#fff;text-align:center;background:#111827eb;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:600;position:absolute;bottom:300px;left:16px;right:16px}.overlay{z-index:30;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.overlay--sheet{align-items:flex-end;padding:0}.dialog,.sheet{background:var(--sheet);color:#1c1917;flex-direction:column;gap:12px;width:100%;display:flex}.dialog{border-radius:18px;max-width:360px;padding:22px 18px 18px;box-shadow:0 12px 40px #00000073}.dialog h2,.sheet h2{margin:0;font-size:19px;font-weight:800;line-height:1.3}.dialog p,.sheet p{color:#44403c;margin:0;font-size:14px;line-height:1.45}.dialog__buttons{gap:10px;margin-top:6px;display:flex}.dialog__buttons--wrap{flex-wrap:wrap}.dialog p.dialog__note{color:var(--red);font-size:13px}.dialog--melds .dialog__melds{background:var(--felt);border-radius:12px;flex-wrap:wrap;gap:8px;max-height:60dvh;padding:10px;display:flex;overflow-y:auto}.sheet{border-radius:20px 20px 0 0;padding:20px 16px 24px;box-shadow:0 -8px 30px #00000059}.sheet__title{align-items:baseline;gap:8px;display:flex}.sheet__title span{color:#57534e;font-size:14px;font-weight:600}.sheet__cards{background:var(--felt);border-radius:14px;grid-template-columns:repeat(5,minmax(0,1fr));justify-items:center;gap:14px 10px;max-height:40dvh;padding:14px 6px;display:grid;overflow-y:auto}.sheet p.sheet__note{color:#57534e;margin-top:-6px;font-size:12px}.sheet__alert{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;font-weight:600;line-height:1.4;display:flex}.sheet__alert svg{flex:none;margin-top:1px}.btn{cursor:pointer;border:0;border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-height:52px;padding:0 16px;font-size:15px;font-weight:800;display:flex}.btn:disabled{color:#78716c;cursor:not-allowed;background:#e7e5e4}.btn--primary{background:var(--accent);color:var(--accent-ink)}.btn--secondary{color:#1c1917;background:#fff;border:2px solid #d6d3d1}.btn--emphasis{border-color:#1c1917}.btn--ghost{color:inherit;background:0 0;border:2px solid #fff6}.btn--wide{flex:1.4}.btn--full{flex:1 0 100%}.btn--tall{min-height:60px}.btn__sub{font-size:12px;font-weight:700}.menu{flex-direction:column;gap:10px;display:flex}.dialog p.menu__version{color:#78716c;text-align:center;margin:12px 0 0;font-size:12px}.dialog--summary{max-width:400px}.score-table{border-collapse:collapse;width:100%;font-size:13px}.score-table th,.score-table td{text-align:right;padding:6px 4px}.score-table th[scope=row]{text-align:left;color:#44403c;font-weight:600}.score-table thead th.chip{text-align:center;border-radius:8px;display:table-cell}.score-table tbody tr+tr{border-top:1px solid #e7e5e4}.score-table__total{font-weight:800}.home,.rules{background:var(--felt);max-width:480px;min-height:100dvh;margin:0 auto;padding:32px 20px}.home{flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:relative}.home__logo{width:160px;height:110px;position:relative}.home__card{width:60px;height:86px;color:var(--ink);background:#fff;border-radius:8px;padding:6px;font-size:18px;font-weight:800;position:absolute;top:10px;left:50px;box-shadow:0 4px 10px #00000059}.home__card--1{transform:rotate(-16deg)translate(-30px)}.home__card--2{color:var(--red);transform:translateY(-6px)}.home__card--3{background:var(--wild);transform:rotate(16deg)translate(30px)}.home__title{letter-spacing:-1px;margin:0;font-size:40px;font-weight:800}.home__buttons{flex-direction:column;gap:12px;width:100%;max-width:320px;display:flex}.btn--home{flex:none;min-height:60px}.home__version{color:var(--muted-on-felt);opacity:.7;font-size:12px;position:absolute;bottom:12px}.locked__text{text-align:center;max-width:320px;margin:0}.locked__link{text-decoration:none}.rules__header{align-items:center;gap:16px;margin-bottom:8px;display:flex}.rules__header .btn{flex:none;min-height:44px}.rules h1{margin:0;font-size:26px}.rules__section h2{color:var(--accent);margin:20px 0 6px;font-size:16px}.rules__section ul{color:var(--muted-on-felt);margin:0;padding-left:18px;font-size:14px;line-height:1.5}@media (prefers-reduced-motion:reduce){.card--fresh{animation:none}.hand__slot,.ibtn,.avatar{transition:none}}
