:root{--gap:clamp(3px, 1.1vw, 12px);--card-w:min(94px, calc((100vw - 24px - var(--gap) * 6) / 7));--card-h:calc(var(--card-w) * 1.4);--radius:clamp(4px, .9vw, 8px);--fan:calc(var(--card-h) * .26);--fan-down:calc(var(--card-h) * .14);--felt:#1d6a4a;--felt-dark:#14502f;--slot:#0000002e;--slot-line:#ffffff47;--card-bg:#fdfdfb;--red:#c62828;--black:#1c1c1c;--select:#ffd54f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{min-height:100%;margin:0}body{background:radial-gradient(ellipse at 50% 0%, var(--felt) 0%, var(--felt-dark) 100%);color:#fff;touch-action:manipulation;background-attachment:fixed;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:calc(var(--card-w) * 7 + var(--gap) * 6 + 24px);margin:0 auto;padding:12px}.header{align-items:center;gap:var(--gap);flex-wrap:wrap;margin-bottom:12px;display:flex}.title{letter-spacing:-.01em;flex:auto;margin:0;font-size:clamp(15px,3.6vw,21px);font-weight:650}.title .dot{opacity:.55;font-weight:400}.stats{font-variant-numeric:tabular-nums;opacity:.8;font-size:clamp(11px,2.6vw,13px)}button{font:inherit;color:#fff;cursor:pointer;background:#ffffff21;border:1px solid #fff3;border-radius:999px;padding:7px 13px;font-size:clamp(11px,2.7vw,13px);font-weight:550;transition:background .12s}button:hover:not(:disabled){background:#ffffff38}button:disabled{opacity:.35;cursor:default}button.primary{background:var(--select);border-color:var(--select);color:#4a3800}button.primary:hover:not(:disabled){background:#ffdf70}.row{grid-template-columns:repeat(7, var(--card-w));gap:var(--gap);justify-content:center;display:grid}.top-row{margin-bottom:calc(var(--gap) * 2)}.spacer{visibility:hidden}.waste-slot{overflow:visible}.waste-slot .card{position:absolute;top:0}.slot{width:var(--card-w);height:var(--card-h);border-radius:var(--radius);background:var(--slot);box-shadow:inset 0 0 0 1.5px var(--slot-line);position:relative}.slot.droppable{box-shadow:inset 0 0 0 2px var(--select), 0 0 12px #ffd54f73}.slot .placeholder{font-size:calc(var(--card-w) * .42);opacity:.3;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.column{width:var(--card-w);min-height:var(--card-h);position:relative}.column .slot{position:absolute;inset:0 0 auto}.card{width:var(--card-w);height:var(--card-h);border-radius:var(--radius);background:var(--card-bg);cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden;box-shadow:0 1px 2px #0006,0 0 0 .5px #00000040}.card.stacked{position:absolute;left:0}.card.face-down{background:repeating-linear-gradient(45deg,#2b4c8c 0 5px,#24407a 5px 10px);box-shadow:0 1px 2px #0006,inset 0 0 0 2px #ffffff29}.card.red{color:var(--red)}.card.black{color:var(--black)}.card.droppable-card{box-shadow:0 0 0 2.5px var(--select), 0 0 14px #ffd54f80}.card.selected{box-shadow:0 0 0 2.5px var(--select), 0 3px 10px #00000080;transform:translateY(-3px)}.card .corner{font-size:calc(var(--card-w) * .26);letter-spacing:-.03em;font-weight:650;line-height:1;position:absolute}.card .corner.top{top:calc(var(--card-w) * .06);left:calc(var(--card-w) * .07)}.card .corner.bottom{bottom:calc(var(--card-w) * .06);right:calc(var(--card-w) * .07);transform:rotate(180deg)}.card .pip{font-size:calc(var(--card-w) * .44);opacity:.9;place-items:center;display:grid;position:absolute;inset:0}.stock-slot{cursor:pointer}.stock-count{inset:auto 0 calc(var(--card-h) * -.02) 0;text-align:center;font-size:calc(var(--card-w) * .2);opacity:.75;pointer-events:none;position:absolute}.recycle{font-size:calc(var(--card-w) * .4);opacity:.45;place-items:center;display:grid;position:absolute;inset:0}.banner{background:#ffd54f29;border:1px solid #ffd54f66;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;font-size:clamp(12px,3vw,14px);display:flex}.banner strong{font-weight:650}.hint{opacity:.6;margin-top:14px;font-size:clamp(11px,2.7vw,12.5px);line-height:1.55}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
