:root[data-theme=light] .g-freecell,:root[data-theme=dark] .g-freecell{--g-freecell-felt: #086447;--g-freecell-felt-light: #0b8056;--g-freecell-felt-edge: #07523c;--g-freecell-face: #fff5dc;--g-freecell-face-shade: #f2e5c5;--g-freecell-edge: #ad9360;--g-freecell-ink: #172b29;--g-freecell-red: #aa2440;--g-freecell-club: #172b29;--g-freecell-diamond: #aa2440;--g-freecell-slot: #e7d59e;--g-freecell-shadow: 0 1px 2px rgb(0 20 12 / .35);--g-freecell-glow: #ffe09a;--g-freecell-brass: #d1af60;--g-freecell-text: #173c30;--g-freecell-muted: #4d655b;--g-freecell-panel: #fff8e8;--g-freecell-line: #b6ad8b;--g-freecell-accent: #086447;--g-freecell-on-accent: #fff5dc;--g-freecell-highlight: #d9ebcf;--g-freecell-bad: #aa2440;--g-freecell-backdrop: #f4f3ed}.g-freecell{width:100%;max-width:520px;min-width:0;margin:0 auto;position:relative}:root[data-theme=dark] .g-freecell{--g-freecell-felt: #075b43;--g-freecell-felt-light: #0a7651;--g-freecell-felt-edge: #064c39;--g-freecell-face: #f5e9cc;--g-freecell-face-shade: #e4d4af;--g-freecell-edge: #b69b63;--g-freecell-text: #f3e8cc;--g-freecell-muted: #b9cbbb;--g-freecell-panel: #163c30;--g-freecell-line: #7a805a;--g-freecell-accent: #e7c77e;--g-freecell-on-accent: #173c30;--g-freecell-highlight: #28583e;--g-freecell-bad: #ff9cae;--g-freecell-backdrop: #101b17}:root[data-theme] .g-freecell--four{--g-freecell-club: #126047;--g-freecell-diamond: #234d96}.g-freecell-app{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--g-freecell-text);font-family:var(--mg-font);position:relative;padding-block:8px}.g-freecell-top{width:100%;min-height:44px;display:flex;justify-content:center;align-items:center}.g-freecell-tiers{display:grid;grid-template-columns:repeat(4,1fr);width:100%;max-width:440px;border:1px solid var(--g-freecell-line);border-radius:var(--mg-radius);overflow:clip;background:var(--g-freecell-panel)}.g-freecell-tier{min-height:44px;border:0;border-left:1px solid var(--g-freecell-line);background:transparent;color:var(--g-freecell-text);font:600 .9375rem/1 var(--mg-font);cursor:pointer}.g-freecell-tier:first-child{border-left:0}.g-freecell-tier[aria-pressed=true]{background:var(--g-freecell-accent);color:var(--g-freecell-on-accent)}.g-freecell-daily{margin:0;font:600 1rem/44px var(--mg-font);display:flex;gap:10px;align-items:center}.g-freecell-practice{font:600 .75rem/1 var(--mg-font);padding:4px 8px;border-radius:999px;border:1px solid var(--g-freecell-line);color:var(--g-freecell-muted)}.g-freecell-info{padding-inline:8px;margin:0;height:24px;font:500 .875rem/24px var(--mg-font);color:var(--g-freecell-muted);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:clip;max-width:100%}.g-freecell-info-time{font-variant-numeric:tabular-nums}.g-freecell-dg{display:inline-block;width:1ch;text-align:center}.g-freecell-stage{position:relative;padding:0;border-radius:calc(var(--mg-radius) + 4px);background:var(--g-freecell-felt);background-image:repeating-linear-gradient(115deg,rgb(255 235 175 / .018) 0 1px,transparent 1px 4px),radial-gradient(ellipse at 50% 25%,var(--g-freecell-felt-light),var(--g-freecell-felt) 62%,var(--g-freecell-felt-edge));outline:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.g-freecell-stage:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px var(--g-freecell-brass),inset 0 0 0 4px #001c112e}.g-freecell-stage:focus:not(.is-kbd){outline:none;box-shadow:none}.g-freecell-stage.is-kbd:focus{outline:3px solid var(--g-freecell-glow);outline-offset:2px}.g-freecell-board{position:relative;contain:layout}.g-freecell-slot,.g-freecell-base,.g-freecell-card,.g-freecell-zone,.g-freecell-cursor{position:absolute;left:0;top:0}.g-freecell-slot,.g-freecell-base{width:var(--g-freecell-cw);height:var(--g-freecell-ch);border-radius:var(--g-freecell-radius);box-sizing:border-box}.g-freecell-slot--cell{border:1.5px dashed var(--g-freecell-slot)}.g-freecell-slot--found{border:1.5px solid var(--g-freecell-slot);display:grid;place-items:center}.g-freecell-slot-suit{width:52%;height:52%;fill:var(--g-freecell-slot)}.g-freecell-base{border:1.5px solid transparent}.g-freecell-base.is-empty{border-color:var(--g-freecell-slot)}.g-freecell-zone{z-index:0}.g-freecell-card{width:var(--g-freecell-cw);height:var(--g-freecell-ch);box-sizing:border-box;border-radius:var(--g-freecell-radius);background:var(--g-freecell-face);background-image:linear-gradient(145deg,var(--g-freecell-face) 55%,var(--g-freecell-face-shade));border:1px solid var(--g-freecell-edge);box-shadow:var(--g-freecell-shadow);color:var(--g-freecell-ink);fill:currentColor;pointer-events:none;transition-property:transform;transition-duration:.14s;transition-timing-function:cubic-bezier(.2,.8,.2,1);will-change:transform}.g-freecell-red{color:var(--g-freecell-red)}.g-freecell-s0{color:var(--g-freecell-club)}.g-freecell-s1{color:var(--g-freecell-diamond)}.g-freecell-corner{position:absolute;left:3px;top:1px;display:flex;align-items:center;gap:1px;line-height:1}.g-freecell-rank{font:700 var(--g-freecell-rank) / 1.1 var(--mg-font);letter-spacing:-.04em}.g-freecell-csuit{width:var(--g-freecell-suit);height:var(--g-freecell-suit)}.g-freecell-pip{position:absolute;left:50%;top:58%;width:var(--g-freecell-pip);height:var(--g-freecell-pip);transform:translate(-50%,-50%);display:none}.g-freecell-card.is-top .g-freecell-pip{display:block}.g-freecell-card.is-drag{box-shadow:0 8px 18px #00000047}.g-freecell-card.is-shake{animation:g-freecell-shake .16s linear}.g-freecell-card.is-up{animation:g-freecell-up .12s ease-out}.g-freecell-card.is-hint,.g-freecell-slot.is-hint,.g-freecell-base.is-hint{animation:g-freecell-hint 2.5s ease-out forwards}@keyframes g-freecell-shake{25%{translate:-4px 0}75%{translate:4px 0}}@keyframes g-freecell-up{0%{box-shadow:0 0 0 1px var(--g-freecell-ink),0 0 0 3px var(--g-freecell-glow)}to{box-shadow:var(--g-freecell-shadow)}}@keyframes g-freecell-hint{0%,70%{box-shadow:0 0 0 1px var(--g-freecell-ink),0 0 0 3px var(--g-freecell-glow)}to{box-shadow:0 0 0 0 transparent}}.g-freecell-cursor{display:none;border:2px solid var(--g-freecell-glow);box-shadow:0 0 0 1px var(--g-freecell-ink);border-radius:calc(var(--g-freecell-radius) + 3px);pointer-events:none;z-index:900;box-sizing:border-box}.g-freecell-stage.is-kbd:focus .g-freecell-cursor{display:block}.g-freecell-cursor.is-lifted{border-style:dashed;border-width:3px}.g-freecell-finish{position:absolute;left:50%;bottom:8px;transform:translate(-50%);z-index:950;min-height:44px;min-width:120px;padding:0 20px;border:0;border-radius:999px;background:var(--g-freecell-accent);color:var(--g-freecell-on-accent);font:700 1rem/1 var(--mg-font);box-shadow:0 4px 12px #0003;cursor:pointer}.g-freecell-finish[hidden]{display:none}.g-freecell-toast{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:960;width:max-content;max-width:calc(100% - 24px);margin:0;padding:8px 12px;border-radius:10px;background:var(--g-freecell-text);color:var(--g-freecell-backdrop);font:500 .875rem/1.35 var(--mg-font);text-align:center;pointer-events:none;opacity:0;transition:opacity .16s}.g-freecell-toast.is-on{opacity:.94}.g-freecell-tools{display:grid;grid-template-columns:repeat(4,minmax(44px,1fr)) 44px 44px;gap:4px;width:100%}.g-freecell-tool{min-height:48px;min-width:44px;padding:0 4px;border:1px solid var(--g-freecell-line);border-radius:6px;background:var(--g-freecell-panel);color:var(--g-freecell-text);font:600 .9375rem/1 var(--mg-font);cursor:pointer}.g-freecell-tool:disabled{color:var(--g-freecell-muted);opacity:1;cursor:default}.g-freecell-tool--icon{font-size:1.25rem}.g-freecell-tool--toggle[aria-pressed=true]{background:var(--g-freecell-highlight);border-color:var(--g-freecell-accent)}.g-freecell-tool:focus-visible,.g-freecell-tier:focus-visible,.g-freecell-mbtn:focus-visible,.g-freecell-finish:focus-visible{outline:3px solid var(--g-freecell-accent);outline-offset:2px}.g-freecell-rec{margin:0;min-height:20px;font:400 .8125rem/20px var(--mg-font);color:var(--g-freecell-muted);text-align:center}.g-freecell-menu{position:absolute;right:0;bottom:30px;z-index:1000;width:min(320px,100%);box-sizing:border-box;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--g-freecell-panel);border:1px solid var(--g-freecell-line);border-radius:var(--mg-radius);box-shadow:0 10px 30px #0003}.g-freecell-menu[hidden],.g-freecell-dlgwrap[hidden]{display:none}.g-freecell-mbtn{min-height:44px;padding:0 16px;border:1px solid var(--g-freecell-line);border-radius:var(--mg-radius);background:var(--g-freecell-panel);color:var(--g-freecell-text);font:600 .9375rem/1 var(--mg-font);cursor:pointer}.g-freecell-mbtn--primary{background:var(--g-freecell-accent);border-color:var(--g-freecell-accent);color:var(--g-freecell-on-accent)}.g-freecell-dealform{display:flex;flex-direction:column;gap:6px}.g-freecell-mlabel{font:500 .875rem/1.3 var(--mg-font);color:var(--g-freecell-muted)}.g-freecell-dealrow{display:flex;gap:8px}.g-freecell-input{flex:1;min-width:0;min-height:44px;padding:0 10px;box-sizing:border-box;border:1px solid var(--g-freecell-line);border-radius:var(--mg-radius);background:var(--g-freecell-backdrop);color:var(--g-freecell-text);font:500 1rem/1 var(--mg-font)}.g-freecell-merr{margin:0;min-height:1em;font:500 .8125rem/1.3 var(--mg-font);color:var(--g-freecell-bad)}.g-freecell-merr:empty{min-height:0}.g-freecell-check{display:flex;align-items:center;gap:10px;min-height:44px;font:500 .9375rem/1.3 var(--mg-font);cursor:pointer}.g-freecell-check input{width:20px;height:20px;accent-color:var(--g-freecell-accent)}.g-freecell-dlgwrap{position:absolute;inset:0;z-index:1100;display:flex;justify-content:center;align-items:flex-start;padding-top:90px;background:color-mix(in srgb,var(--g-freecell-backdrop) 62%,transparent)}.g-freecell-dlg{width:min(340px,calc(100% - 16px));box-sizing:border-box;padding:18px;background:var(--g-freecell-panel);border:1px solid var(--g-freecell-line);border-radius:var(--mg-radius);box-shadow:0 14px 40px #00000040}.g-freecell-dlg-title{margin:0 0 6px;font:700 1.125rem/1.3 var(--mg-font)}.g-freecell-dlg-text{margin:0 0 16px;font:400 .9375rem/1.45 var(--mg-font);color:var(--g-freecell-muted)}.g-freecell-dlg-btns{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.g-freecell-zone{touch-action:none}.g-freecell--won .g-freecell-zone{touch-action:pan-y}.g-freecell-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.g-freecell-warm{position:absolute;left:0;top:0;width:1px;height:1px;overflow:clip;opacity:0;pointer-events:none}.g-freecell-warm-head{font:800 2.75rem/1 var(--mg-font);font-variant-numeric:tabular-nums}@media(prefers-reduced-motion:reduce){.g-freecell-card{transition-duration:0ms!important;transition-delay:0ms!important}.g-freecell-card.is-shake,.g-freecell-card.is-up{animation:none}.g-freecell-card.is-hint,.g-freecell-slot.is-hint,.g-freecell-base.is-hint{animation:none;box-shadow:0 0 0 1px var(--g-freecell-ink),0 0 0 3px var(--g-freecell-glow)}.g-freecell-toast{transition:none}}
