:root{color-scheme:dark;--felt: #0f5a3a;--felt-dark: #083d27;--ink: #f4efe2;--dim: #b9c9bf;--card: #fffdf6;--card-ink: #111;--card-red: #c8102e;--back: #1b2a4a;--back-line: #f4efe2;--select: #ffd23f;--other: #35e0ff;--panel: #0a0a0a;--card-w: 60px;--card-h: 84px;--radius: 8px}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--panel);color:var(--ink);font-family:Helvetica Neue,Helvetica,Arial,system-ui,sans-serif;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 20px;padding:14px 16px 10px;border-bottom:2px solid #2a2a2a}.title h1{margin:0;font-size:clamp(1.6rem,6vw,2.6rem);letter-spacing:.18em;font-weight:800;line-height:1}.title .tag{margin:4px 0 0;font-size:clamp(.62rem,2.6vw,.85rem);letter-spacing:.16em;color:var(--dim);font-weight:700}.meta{display:flex;gap:18px;margin:0}.meta div{display:flex;flex-direction:column;gap:2px}.meta dt{font-size:.6rem;letter-spacing:.16em;color:var(--dim);font-weight:700}.meta dd{margin:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:clamp(.85rem,3.2vw,1.1rem);font-weight:700;font-variant-numeric:tabular-nums;min-height:1.2em}.meta dd.bump{animation:bump .4s ease}@keyframes bump{30%{transform:scale(1.12);color:var(--select)}}#table{position:relative;flex:1 0 auto;width:100%;background:radial-gradient(120% 90% at 50% 0%,var(--felt) 0%,var(--felt-dark) 100%);overflow:hidden;touch-action:manipulation;user-select:none;-webkit-user-select:none}#slots,#cards{position:absolute;inset:0}#cards{pointer-events:none}.slot{position:absolute;width:var(--card-w);height:var(--card-h);border-radius:var(--radius);border:3px dashed rgba(244,239,226,.45);background:#0000001f;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;color:#f4efe28c;font:700 calc(var(--card-w) * .42) / 1 inherit}.slot.stock{border-style:solid;border-color:#f4efe299}.slot.stock:after{content:"\21bb";font-size:calc(var(--card-w) * .5)}.slot.found:after{content:attr(data-suit);font-size:calc(var(--card-w) * .55)}.slot.found.red:after{color:#ff788c99}.slot.col:after{content:"K";font-size:calc(var(--card-w) * .5)}.slot[hidden]{display:none}.slot:focus-visible,.card:focus-visible{outline:4px solid #fff;outline-offset:3px}.slot.target{border-color:var(--select);border-style:solid;background:#ffd23f2e;color:var(--select)}.card{position:absolute;left:0;top:0;width:var(--card-w);height:var(--card-h);border-radius:var(--radius);border:2px solid #111;padding:0;margin:0;background:var(--card);color:var(--card-ink);font:800 1rem / 1 inherit;box-shadow:0 2px 4px #00000073;transform:translateZ(0);transition:transform .34s cubic-bezier(.2,.8,.2,1),box-shadow .2s;pointer-events:auto;cursor:pointer;will-change:transform}.card.red{color:var(--card-red)}.card .tl,.card .br{position:absolute;font-size:calc(var(--card-w) * .34);letter-spacing:-.02em;line-height:.95;text-align:center}.card .tl{left:calc(var(--card-w) * .09);top:calc(var(--card-w) * .08)}.card .br{right:calc(var(--card-w) * .09);bottom:calc(var(--card-w) * .08);transform:rotate(180deg)}.card .tl b,.card .br b{display:block;font-size:calc(var(--card-w) * .3)}.card .pip{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);font-size:calc(var(--card-w) * .62);line-height:1}.card.ten .tl,.card.ten .br{letter-spacing:-.08em}.card.down{background-color:var(--back);background-image:repeating-linear-gradient(45deg,transparent 0 7px,rgba(244,239,226,.22) 7px 9px);cursor:default}.card.down:before{content:"";position:absolute;inset:5px;border:2px solid var(--back-line);border-radius:5px;opacity:.85}.card.down .tl,.card.down .br,.card.down .pip{display:none}.card.down.stock-top{cursor:pointer}.card.sel{outline:4px solid var(--select);outline-offset:-1px;box-shadow:0 0 0 4px #ffd23f59,0 10px 20px #00000080}.card.lift{box-shadow:0 14px 28px #0000008c}.card.drag{transition:none}.card.other{outline:4px solid var(--other);outline-offset:-1px;box-shadow:0 0 0 5px #35e0ff59,0 10px 20px #00000080}.card.deal{transition-duration:.55s}.ghost{position:absolute;left:0;top:0;z-index:200;pointer-events:none;background:var(--other);color:#000;font-size:.72rem;font-weight:800;letter-spacing:.14em;padding:4px 8px;border-radius:999px;border:2px solid #000;opacity:0;transform:translate3d(-9999px,-9999px,0);transition:opacity .25s}.ghost.on{opacity:1}.feed{padding:8px 16px;min-height:86px;display:flex;flex-direction:column;gap:3px;background:var(--panel);border-top:2px solid #2a2a2a}.feed p{margin:0;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:clamp(.72rem,2.8vw,.9rem);letter-spacing:.06em;color:var(--dim);animation:in .3s ease;transition:opacity 1.4s}.feed p.move{color:var(--ink)}.feed p.note{color:var(--select)}.feed p.deadpan{color:#fff;font-weight:800}.feed p.presence{color:var(--other)}.feed p.gone{opacity:0}@keyframes in{0%{opacity:0;transform:translateY(4px)}}.curtain{position:fixed;inset:0;z-index:500;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#000000bd;text-align:center;padding:24px;pointer-events:none;animation:fade .4s ease}.curtain[hidden]{display:none}.curtain p{margin:0;font-weight:800;letter-spacing:.14em}#curtain-text{font-size:clamp(1.4rem,7vw,3.4rem);color:#fff;animation:in .5s ease}#curtain-sub{font-size:clamp(.8rem,3vw,1.2rem);color:var(--dim);min-height:1.4em}@keyframes fade{0%{opacity:0}}.foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));font-size:.66rem;letter-spacing:.14em;font-weight:700;color:var(--dim);background:var(--panel)}.foot .motto{color:var(--ink)}.foot .status:before{content:"\25cf";margin-right:6px;color:#ff3d5a}.foot .status.live:before{color:#2bd97a}.foot .help{flex-basis:100%;letter-spacing:.08em;font-weight:600;opacity:.8}@media(prefers-reduced-motion:reduce){.card,.feed p,.curtain,#curtain-text{transition:none!important;animation:none!important}}
