:root{--table:#7a4b2a;--cream:#fff6e5;--cocoa:#2b1a0e;--paper:#f4f1e8;--face:#fffdf5;--ink:#171717;--ink2:#5e4b3c;--select:#ffc94a;--font:"Atkinson Hyperlegible", Arial, sans-serif}*{box-sizing:border-box}[hidden],body:not([data-game=spider]):not([data-game=freecell]) [data-only]:not([data-only~=klondike]),body[data-game=spider] [data-only]:not([data-only~=spider]),body[data-game=freecell] [data-only]:not([data-only~=freecell]){display:none!important}body{font:20px/1.5 var(--font);color:var(--ink);background:var(--paper);margin:0}.game{color:var(--cream);padding:0 max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left));background:repeating-linear-gradient(90deg,#00000021 0 2px,#0000 2px 120px),repeating-linear-gradient(90deg,#ffebcd0b 0 1px,#0000 1px 7px),repeating-linear-gradient(90deg,#0000000d 0 3px,#0000 3px 17px),linear-gradient(#84522e,#6e4326);min-height:100svh}.identity{flex-wrap:wrap;align-items:baseline;gap:4px 16px;min-height:64px;padding-top:14px;display:flex}.site-name{font-size:26px;font-weight:700}.tagline{font-size:18px}.games{flex-wrap:wrap;align-self:center;gap:4px;margin-left:auto;display:flex}.games a{min-height:48px;color:var(--cream);border:2px solid #fff6e559;border-radius:8px;justify-content:center;align-items:center;padding:8px 12px;font-size:18px;font-weight:700;text-decoration:none;display:inline-flex}.games a:hover{border-color:var(--cream)}.games a[aria-current=page]{background:var(--cream);color:var(--cocoa);border-color:var(--cream)}.controls{flex-wrap:wrap;justify-content:space-between;gap:8px;padding:6px 0;display:flex}.controls .group{flex-wrap:wrap;gap:8px;display:flex}button{font:700 20px/1.2 var(--font);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-width:112px;min-height:56px;padding:8px 18px;display:inline-flex}button svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:24px;height:24px}button.primary{background:var(--cream);color:var(--cocoa);border:2px solid var(--cream)}button.secondary{color:var(--cream);border:2px solid var(--cream);background:#2b1a0e40}button.secondary-light{color:var(--ink);border:2px solid var(--ink2);background:#fff}button.small{min-height:48px;font-size:18px}button[aria-disabled=true]{background:#d9d6cc;border-color:#d9d6cc}button .sub{font-size:18px;font-weight:400;display:block}button .sub:empty{display:none}.game :focus-visible{outline:3px solid var(--select);outline-offset:3px}.article :focus-visible,dialog :focus-visible{outline:3px solid var(--table);outline-offset:3px}.feedback{padding:4px 0}.feedback>.row{min-height:48px}.message{flex:320px;margin:0;font-size:20px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.stats{margin:0;font-size:18px}.first-run{background:#2b1a0e4d;border:2px solid #fff6e580;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin:4px 0;padding:8px 12px;display:flex}.first-run p{flex:360px;margin:0}.choices{flex-wrap:wrap;gap:8px;margin:6px 0;display:flex}.choices button{background:var(--face);color:var(--ink);border:2px solid var(--select)}.board-scroll{scrollbar-width:thin;margin:0 -16px;overflow:auto hidden}.board{outline:none;position:relative}.board canvas{display:block}.board-labels span{text-align:center;white-space:nowrap;height:28px;color:var(--cream);pointer-events:none;font-size:18px;line-height:28px;position:absolute;overflow:hidden}.board-labels .num{font-weight:700}.board-labels .place b{background:var(--select);color:var(--cocoa);border-radius:6px;padding:2px 8px}.memory{grid-template-columns:repeat(var(--cols,4), var(--card,96px));justify-content:center;gap:12px;padding:8px 0 16px;display:grid}.memory .mcard{width:var(--card,96px);aspect-ratio:5/7;border:3px solid var(--cream);min-width:0;min-height:0;font-size:calc(var(--card,96px) * .55);background:repeating-linear-gradient(45deg,#f7e7c659 0 2px,#0000 2px 12px),repeating-linear-gradient(-45deg,#f7e7c659 0 2px,#0000 2px 12px),#8e1b2e;border-radius:10px;padding:0;line-height:1}.memory .mcard.up{background:var(--face)}.memory .mcard.done{border-color:var(--select);box-shadow:0 0 0 3px var(--select)}@media (prefers-reduced-motion:no-preference){.memory .mcard.up{animation:.18s ease-out turn}}@keyframes turn{0%{transform:scaleX(.1)}}.game button[aria-pressed=true]{background:var(--cream);color:var(--cocoa)}.board-nav{justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.board-nav button{min-width:56px}@media (width<=575px){.board-nav[hidden]{visibility:hidden;display:flex!important}}.no-webgl{padding:24px 0}.ad-slot{text-align:center}.ad-bottom{margin:150px auto 0;padding:0 16px}.ad-label{color:var(--ink2);font-size:18px;display:block}.ad-box{background:#e6e2d6;width:728px;height:90px;margin:4px auto 0}.ad-inline .ad-box{width:300px;height:250px}@media (width<=760px){.ad-bottom .ad-box{width:320px;height:50px}}@media (width<=352px){.ad-bottom{display:none}}.ad-slot:not(:has(ins[data-ad-status=filled])){height:0;margin:0;overflow:hidden}.article{max-width:68ch;margin:0 auto;padding:48px 16px 96px}.article h1{font-size:36px;line-height:1.2}.article h2{margin-top:2em;font-size:28px;line-height:1.25}.article h3{margin-bottom:.25em;font-size:22px}.article a{color:var(--table);font-weight:700}.article button.primary{background:var(--table);color:var(--cream);border-color:var(--table)}.back-home{margin-bottom:8px;display:inline-block}.table-scroll{overflow-x:auto}.article table{border-collapse:collapse;width:100%;min-width:640px;font-size:18px}.article th,.article td{text-align:left;vertical-align:top;border-bottom:1px solid #dcd5c4;padding:10px 8px}.site-footer{border-top:1px solid #dcd5c4;flex-wrap:wrap;justify-content:center;gap:8px 32px;padding:32px 16px 48px;display:flex}.site-footer a{color:var(--table);padding:12px 4px;font-weight:700}dialog{width:min(560px,100vw - 32px);color:var(--ink);background:var(--face);border:none;border-radius:12px;padding:24px;font-size:20px}dialog::backdrop{touch-action:none;-webkit-user-select:none;user-select:none;background:#0000008c}dialog:modal{max-height:calc(100% - 112px)}.confetti{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}dialog h2{margin-top:0;font-size:28px}dialog h3{margin:24px 0 8px;font-size:22px}.stack{gap:8px;display:grid}.stack button{text-align:left;justify-content:flex-start;width:100%}#share-done:empty{display:none}.calendar{border-collapse:collapse;table-layout:fixed;text-align:center;width:100%;max-width:420px;font-size:18px}.calendar caption{text-align:left;padding-bottom:4px;font-weight:700}.calendar th{color:var(--ink2);font-weight:400}.calendar td{vertical-align:top;border:1px solid #e6e2d6;height:48px;padding:2px;line-height:1.1}.calendar td b{color:var(--table);display:block}.calendar td.played{background:#fff1cc}.calendar td.today{outline:3px solid var(--table);outline-offset:-3px}dialog button.primary{background:var(--table);color:var(--cream);border-color:var(--table)}dialog label{margin:0 0 16px;font-weight:700;display:block}dialog label.check{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}dialog input[type=checkbox]{width:28px;height:28px;accent-color:var(--table)}dialog select{width:100%;min-height:52px;font:20px var(--font);border:2px solid var(--ink2);background:#fff;border-radius:8px;margin-top:6px;padding:6px 10px;display:block}.note{width:100%;color:var(--ink2);font-size:18px;font-weight:400;display:block}@media (prefers-reduced-motion:no-preference){dialog[open]{animation:.2s linear fade}}@keyframes fade{0%{opacity:0}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=700px){.games{grid-template-columns:repeat(4,1fr);width:100%;margin:0 0 4px;display:grid}.games a{padding:8px 2px;font-size:17px}.controls{grid-template-columns:1fr;display:grid}.controls .group{grid-template-columns:repeat(3,1fr);display:grid}.controls button{min-width:0;padding:8px}.article h1{font-size:30px}.article h2{font-size:24px}}@media (height<=500px){.identity{min-height:36px;padding-top:4px}.site-name{font-size:20px}.tagline{display:none}.controls{flex-wrap:nowrap;padding:2px 0}.controls .group{flex-wrap:nowrap}.controls button{min-width:0;min-height:48px;padding:6px 12px;font-size:18px}}
