:root{color-scheme:dark;--felt: #174233;--felt-lit: #235a43;--card-face: #f7f3e8;--card-edge: #d8d1ba;--ink: #262114;--crimson: #b3202e;--brass: #c8a24b;--brass-deep: #9c7a33;--text-light: #ece6d4;--text-dim: #9bb0a3;--radius-card: 6%;--gap: clamp(4px, 1.2vw, 14px);--pad: clamp(6px, 1.6vw, 18px);--chrome-h: clamp(46px, 8vh, 62px);--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--card-h-budget: calc( (100dvh - var(--safe-t) - var(--safe-b) - var(--chrome-h) - 2 * var(--pad) - 2 * var(--gap)) / 3.4 );--card-w: min( calc((100vw - var(--safe-l) - var(--safe-r) - 2 * var(--pad) - 6 * var(--gap)) / 7), calc(var(--card-h-budget) * 5 / 7) );--card-h: calc(var(--card-w) * 7 / 5);--fd-off: calc(var(--card-h) * .16);--fu-off: calc(var(--card-h) * .3);--radius: calc(var(--card-w) * .06)}@media(orientation:landscape)and (max-height:520px){:root{--chrome-h: clamp(44px, 12vh, 54px);--pad: clamp(4px, 1.2vw, 12px);--gap: clamp(3px, .9vw, 10px);--fd-off: calc(var(--card-h) * .13);--fu-off: calc(var(--card-h) * .24)}}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}html,body{overflow-x:hidden;overflow-y:auto}body{background-color:var(--felt);background-image:radial-gradient(ellipse at 50% 30%,var(--felt-lit),var(--felt) 70%);background-attachment:fixed;color:var(--text-light);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none}button{font:inherit}.app{min-height:100dvh;display:flex;flex-direction:column;gap:var(--gap);padding:calc(var(--pad) + var(--safe-t)) calc(var(--pad) + var(--safe-r)) calc(var(--pad) + var(--safe-b)) calc(var(--pad) + var(--safe-l))}.toolbar{flex:0 0 auto;height:var(--chrome-h);display:flex;align-items:center;gap:var(--gap);min-width:0;flex-wrap:nowrap}.wordmark{font-family:Georgia,Times New Roman,serif;font-size:clamp(15px,2.2vw,22px);letter-spacing:.04em;color:var(--text-light);border-bottom:2px solid var(--brass);padding-bottom:1px;white-space:nowrap}.toolbar__stats{display:flex;gap:clamp(8px,1.6vw,20px);margin-left:auto;min-width:0}.stat{display:inline-flex;align-items:baseline;gap:.4em}.stat__label{color:var(--text-dim);font-size:clamp(10px,1.4vw,13px)}.stat__value{font-variant-numeric:tabular-nums;font-size:clamp(12px,1.7vw,16px)}.toolbar__actions{display:flex;align-items:center;gap:calc(var(--gap) * .6);min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35em;min-height:44px;padding:.35em .8em;border:1px solid rgba(200,162,75,.45);border-radius:999px;background:#ece6d40d;color:var(--text-light);font-size:clamp(11px,1.5vw,14px);cursor:pointer;white-space:nowrap;flex:0 0 auto;transition:background .12s ease,border-color .12s ease}.btn:hover:not(:disabled){background:#c8a24b24;border-color:var(--brass)}.btn:disabled{opacity:.4;cursor:default}.btn--primary{border-color:var(--brass);background:#c8a24b2e}.btn__short{display:none}.seed-chip{max-width:160px;min-width:0}.seed-chip__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--text-dim)}@media(max-width:560px){.btn__full{display:none}.btn__short{display:inline}.seed-chip__value{max-width:68px}}@media(max-width:380px){.toolbar{gap:6px}.wordmark{font-size:14px;letter-spacing:0;padding-bottom:0}.toolbar__stats{gap:8px}.toolbar__actions{gap:4px}.btn{padding:.3em .6em}.seed-chip{max-width:58px}.seed-chip__value{max-width:46px}}.board{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:var(--gap);align-items:center;justify-content:flex-start}.board__top,.board__tableau{display:grid;grid-template-columns:repeat(7,var(--card-w));gap:var(--gap);justify-content:center;width:max-content}.board__top{grid-auto-rows:var(--card-h)}.board__spacer{width:var(--card-w)}.pile{width:var(--card-w);min-height:var(--card-h);position:relative}.pile--tableau{display:flex;flex-direction:column;justify-content:flex-start}.card{position:relative;width:var(--card-w);height:var(--card-h);aspect-ratio:5 / 7;border-radius:var(--radius);background:var(--card-face);border:1px solid var(--card-edge);box-shadow:0 1px 2px #00000059;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transition:box-shadow .12s ease,filter .12s ease}.card[role=button]{cursor:pointer}.card[role=button]:hover{filter:brightness(1.03)}.card--up{color:var(--ink)}.card--up.is-red{color:var(--crimson)}.card--up.is-black{color:var(--ink)}.card--down{background-color:#1b4d3a;background-image:repeating-linear-gradient(45deg,rgba(200,162,75,.22) 0 2px,transparent 2px 7px),repeating-linear-gradient(-45deg,rgba(200,162,75,.22) 0 2px,transparent 2px 7px);box-shadow:inset 0 0 0 1px var(--card-edge),0 1px 2px #00000059}.card__corner{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:1;font-weight:600}.card__corner--tl{top:.3em;left:.36em}.card__corner--br{bottom:.3em;right:.36em;transform:rotate(180deg)}.card__rank{font-size:calc(var(--card-w) * .26);line-height:1}.card__suit-sm{font-size:calc(var(--card-w) * .16);line-height:1}.card__pip{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:calc(var(--card-w) * .52);line-height:1}.card.is-selected{outline:2px solid var(--brass);outline-offset:-2px;box-shadow:0 0 0 1px var(--brass),0 0 12px #c8a24b8c;z-index:5}.card.is-hidden{opacity:.35}.card.is-draggable{touch-action:none;cursor:grab}@keyframes deal-in{0%{opacity:0;transform:translateY(calc(var(--card-h) * -.6)) scale(.96)}to{opacity:1;transform:none}}@keyframes settle{0%{transform:scale(.98)}to{transform:none}}@keyframes slot-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}.card--deal{animation:deal-in .32s cubic-bezier(.2,.7,.3,1) both;animation-delay:min(calc(var(--i, 0) * 28ms),.7s)}.card.just-arrived{animation:settle .18s ease}@keyframes flip-up{0%{opacity:.25;transform:perspective(600px) rotateY(90deg)}to{opacity:1;transform:perspective(600px) rotateY(0)}}.card.card--flip{animation:flip-up .24s cubic-bezier(.2,.7,.3,1)}.slot--shake{animation:slot-shake .15s ease}.pile--tableau .card{transition:margin-top .18s ease,box-shadow .12s ease}.drag-layer{position:fixed;top:0;left:0;z-index:100;pointer-events:none;will-change:transform}.drag-layer .card{box-shadow:0 8px 20px #00000080,0 2px 6px #00000059}.slot{width:var(--card-w);height:var(--card-h);border-radius:var(--radius);border:1.5px dashed rgba(236,230,212,.18);background:#00000014;color:#ece6d447;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;font-size:calc(var(--card-w) * .42);-webkit-tap-highlight-color:transparent}.slot:disabled{cursor:default;opacity:.7}.slot__ghost{color:#ece6d433;font-size:calc(var(--card-w) * .5)}.pile.is-drop-target{border-radius:var(--radius);outline:2px solid var(--brass);outline-offset:2px}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}@keyframes panel-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:calc(var(--pad) + var(--safe-t)) var(--pad) calc(var(--pad) + var(--safe-b));background:#091a12a8;animation:overlay-in .2s ease both}.overlay__panel{background:var(--felt-lit);border:1px solid var(--brass);border-radius:14px;box-shadow:0 18px 50px #00000080;padding:clamp(18px,4vw,28px);width:min(360px,100%);text-align:center;animation:panel-in .22s cubic-bezier(.2,.7,.3,1) both}.dialog__title{margin:0 0 .8em;font-weight:500;font-size:1.15rem}.dialog__input{width:100%;padding:.6em .75em;border-radius:8px;border:1px solid rgba(200,162,75,.4);background:#00000038;color:var(--text-light);font:inherit;font-variant-numeric:tabular-nums}.dialog__input:focus{outline:2px solid var(--brass);outline-offset:1px}.dialog__actions{display:flex;justify-content:center;gap:.6em;margin-top:1em;flex-wrap:wrap}.win__title{margin:0 0 .4em;font-family:Georgia,Times New Roman,serif;font-weight:500}.win__stats{display:flex;justify-content:center;gap:.6em;color:var(--text-dim);margin:0 0 1.2em;font-variant-numeric:tabular-nums}.btn:focus-visible,.slot:focus-visible,.card:focus-visible{outline:2px solid var(--brass);outline-offset:2px}@media(prefers-reduced-motion:reduce){.card--deal,.card.just-arrived,.card.card--flip,.slot--shake,.overlay,.overlay__panel,.card{animation-duration:.01ms!important;animation-delay:0ms!important}.card{transition-duration:.01ms!important}}
