.board-pair{--board-accent:#ff7ab2;--on-accent:#1b1726;--pair-gap:2px;--dur-fast:.16s;--dur-base:.25s;--dur-slow:.32s}@media (prefers-color-scheme:dark){.board-pair{--board-accent:#ff7ab2;--on-accent:#1b1726}}.pair-grid{gap:var(--pair-gap);width:100%;display:grid;position:relative}.pair-tile{box-sizing:border-box;aspect-ratio:1;border:2px solid var(--ink);background-color:var(--surface);min-width:0;color:var(--ink);cursor:pointer;touch-action:manipulation;appearance:none;background-position:50%;background-repeat:no-repeat;background-size:72%;border-radius:8px;margin:0;padding:0}.pair-tile[data-empty=true]{cursor:default;background:0 0;border-color:#0000}.pair-tile[data-selected=true]{box-shadow:inset 0 0 0 3px var(--board-accent)}.pair-tile[data-cursor=true]{outline:2px dashed var(--board-accent);outline-offset:-5px}.pair-tile[data-hint=true]{box-shadow:inset 0 0 0 3px var(--sun)}.pair-tile[data-fading=true]{opacity:0;transition:opacity var(--dur-fast) linear}.pair-tile[data-shake=true]{animation:pair-shake var(--dur-fast) linear}.pair-grid[data-shuffling=true] .pair-tile:not([data-empty=true]){animation:pair-shuffle var(--dur-slow) ease-in-out}.pair-line{color:var(--ink);pointer-events:none;position:absolute;top:0;left:0;overflow:visible}@keyframes pair-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes pair-shuffle{0%,to{transform:none}30%{transform:translate(1px,-2px)rotate(-3deg)}70%{transform:translate(-1px,2px)rotate(3deg)}}@media (prefers-reduced-motion:reduce){.pair-tile[data-shake=true],.pair-grid[data-shuffling=true] .pair-tile:not([data-empty=true]){animation:none}.pair-tile[data-fading=true]{transition:none}}@media (max-height:430px){.board-pair{gap:6px}}
