.g-canfield-solitaire{--cw:40px;--ch:57px;--fs:12px;--gap:3px;--card-face:#fbfaf6;--card-ink:#1d2320;--card-red:#c0392b;padding:4px;border-radius:8px;background:var(--accent-soft);outline-offset:2px;touch-action:manipulation;position:relative}.g-canfield-solitaire .cf-top,.g-canfield-solitaire .cf-row{display:grid;grid-template-columns:repeat(7,var(--cw));gap:var(--gap);justify-content:center}.g-canfield-solitaire .cf-top{margin-bottom:calc(var(--gap) * 2 + 6px);height:var(--ch)}.g-canfield-solitaire .cf-col{position:relative;min-height:var(--ch)}.g-canfield-solitaire .cf-col[data-col="0"]{grid-column:4}.g-canfield-solitaire .cf-col[data-col="1"]{grid-column:5}.g-canfield-solitaire .cf-col[data-col="2"]{grid-column:6}.g-canfield-solitaire .cf-col[data-col="3"]{grid-column:7}.g-canfield-solitaire .cf-col::before{content:"";position:absolute;left:0;top:0;width:100%;height:var(--ch);border:1px dashed var(--line);border-radius:calc(var(--cw) * .1);pointer-events:none}.g-canfield-solitaire .cf-col.is-drop-ok::before{border:2px solid var(--accent);background:rgba(255,255,255,.18)}.g-canfield-solitaire .cf-col.is-hint-to::before{border:3px solid var(--gold)}.g-canfield-solitaire .cf-col.is-cursor-col::before{border:3px solid var(--focus)}.g-canfield-solitaire .cf-card,.g-canfield-solitaire .cf-found,.g-canfield-solitaire .cf-stock{width:var(--cw);height:var(--ch);border-radius:calc(var(--cw) * .1);border:1px solid #8e9791;font-size:var(--fs);font-weight:700;line-height:1;color:var(--card-ink);background:var(--card-face);box-shadow:0 1px 1px rgba(0,0,0,.25);box-sizing:border-box}.g-canfield-solitaire .cf-card{position:absolute;left:0;top:0;overflow:hidden;touch-action:none;cursor:grab}.g-canfield-solitaire .cf-card.red{color:var(--card-red)}.g-canfield-solitaire .cf-ix{position:absolute;left:.18em;top:.16em;white-space:nowrap;letter-spacing:-.04em}.g-canfield-solitaire .cf-ix i{font-style:normal;margin-left:.04em}.g-canfield-solitaire .cf-mid{position:absolute;left:0;right:0;bottom:6%;text-align:center;font-size:calc(var(--cw) * .62);line-height:1}.g-canfield-solitaire .cf-card.down{background:repeating-linear-gradient(45deg,#2c6b8c 0 3px,#245a76 3px 6px);border-color:#f3f1ea;border-width:2px;cursor:default}.g-canfield-solitaire .cf-stock{grid-column:1;position:relative;padding:0;display:grid;place-items:center;cursor:pointer;font-family:inherit;background:repeating-linear-gradient(45deg,#2c6b8c 0 3px,#245a76 3px 6px);border-color:#f3f1ea;border-width:2px}.g-canfield-solitaire .cf-stock.is-empty{background:0 0;border:1px dashed var(--line);box-shadow:none;color:var(--ink-2)}.g-canfield-solitaire .cf-stock.is-empty:not(.can-redeal){cursor:default}.g-canfield-solitaire .cf-redeal{font-size:calc(var(--cw) * .6);line-height:1}.g-canfield-solitaire .cf-stock__n{background:rgba(255,255,255,.92);color:#1d2320;border-radius:999px;min-width:1.5em;padding:.15em .3em;font-size:var(--fs)}.g-canfield-solitaire .cf-stock:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.g-canfield-solitaire .cf-waste{grid-column:2/span 2;position:relative;height:var(--ch);border-radius:calc(var(--cw) * .1)}.g-canfield-solitaire .cf-waste .cf-fan{pointer-events:none;cursor:default}.g-canfield-solitaire .cf-found{position:relative;background:0 0;border:1px dashed var(--line);box-shadow:none;display:block}.g-canfield-solitaire .cf-found .cf-card{left:-1px;top:-1px}.g-canfield-solitaire .cf-found .cf-card{cursor:grab}.g-canfield-solitaire .cf-ghost{position:absolute;inset:0;display:grid;place-items:center;font-size:calc(var(--cw) * .6);color:var(--ink-2);opacity:.45}.g-canfield-solitaire .cf-ghost.red{color:var(--card-red)}.g-canfield-solitaire .cf-found.is-drop-ok{border:2px solid var(--accent);background:rgba(255,255,255,.2)}.g-canfield-solitaire .cf-found.is-hint-to{border:3px solid var(--gold)}.g-canfield-solitaire .cf-stock.is-hint-to{box-shadow:0 0 0 3px var(--gold)}.g-canfield-solitaire .is-cursor.cf-stock,.g-canfield-solitaire .is-cursor.cf-found,.g-canfield-solitaire .is-cursor.cf-waste{outline:3px solid var(--focus);outline-offset:1px}.g-canfield-solitaire .cf-card.is-lifted{visibility:hidden}.g-canfield-solitaire .cf-drag{position:absolute;left:0;top:0;width:0;height:0;z-index:30;pointer-events:none;will-change:transform}.g-canfield-solitaire .cf-drag .cf-card{box-shadow:0 4px 10px rgba(0,0,0,.4);cursor:grabbing}.g-canfield-solitaire .cf-card.is-hint{box-shadow:0 0 0 3px var(--gold),0 1px 1px rgba(0,0,0,.25);z-index:2}.g-canfield-solitaire .cf-card.is-hint-to{box-shadow:0 0 0 3px var(--gold);z-index:2}.g-canfield-solitaire .cf-card.is-sel{box-shadow:0 0 0 3px var(--accent),0 2px 6px rgba(0,0,0,.4);z-index:2}.g-canfield-solitaire .cf-card.is-cursor{outline:3px solid var(--focus);outline-offset:-1px;z-index:3}.g-canfield-solitaire .cf-card.is-cursor-run{box-shadow:0 0 0 2px var(--focus)}.g-canfield-solitaire .is-shake{animation:cf-shake .35s}.g-canfield-solitaire .is-flash{animation:cf-flash .5s 2}@keyframes cf-shake{20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}@keyframes cf-flash{50%{box-shadow:0 0 0 3px var(--danger)}}@media(prefers-reduced-motion:reduce){.g-canfield-solitaire .is-shake,.g-canfield-solitaire .is-flash{animation:none}}.g-canfield-solitaire .cf-row{align-items:start}.g-canfield-solitaire .cf-reserve{grid-column:1;position:relative;height:var(--ch);width:var(--cw);border-radius:calc(var(--cw) * .1)}.g-canfield-solitaire .cf-reserve.is-empty{border:1px dashed var(--line);box-sizing:border-box}.g-canfield-solitaire .cf-reserve .cf-card.down.cf-under{box-shadow:2px 2px #1b4760,4px 4px #f3f1ea,5px 5px #1b4760}.g-canfield-solitaire .is-cursor.cf-reserve{outline:3px solid var(--focus);outline-offset:3px}.g-canfield-solitaire .cf-info{grid-column:2/span 2;display:flex;flex-direction:column;gap:4px;padding:0 2px 0 6px;color:var(--ink);line-height:1.15;min-width:0}.g-canfield-solitaire .cf-base{font-weight:700;font-size:max(11px,calc(var(--cw) * .27))}.g-canfield-solitaire .cf-base b{display:block;font-size:calc(var(--cw) * .8);line-height:1;margin-top:2px;color:var(--accent)}.g-canfield-solitaire .cf-resn{font-size:max(10px,calc(var(--cw) * .22));color:var(--ink-2)}.g-canfield-solitaire .cf-ghostrank{position:absolute;left:.25em;top:.2em;font-size:var(--fs);font-weight:700;color:var(--ink-2);opacity:.7}.g-canfield-solitaire .cf-found{overflow:visible}