/*! Copyright 2026 El Trivia (eltrivia.com). All rights reserved. */
.g-2048{padding-block:var(--s3) var(--s7)}.g-2048__intro{margin-bottom:var(--s3)}.g-2048__intro h1{font-size:24px}.g-2048__intro p{margin-top:var(--s1);max-width:60ch}.g-2048__note{margin-bottom:var(--s3)}.g-2048__game{display:grid;gap:var(--s3);max-width:520px;padding:var(--s3)}@media (min-width:400px){.g-2048__game{padding:var(--s4)}}.g-2048__game:focus{outline:none}.g-2048__bar{align-items:end;display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4)}.g-2048__bar .stat{min-width:64px}.g-2048__chip{align-self:center}.g-2048__bar-actions{display:flex;gap:var(--s2);margin-left:auto}.g-2048__bar-actions .btn{touch-action:manipulation}.g-2048__tools{display:flex;gap:var(--s2);justify-content:center}.g-2048__board,.g-2048__stage{position:relative}.g-2048__board{--gap:clamp(6px,2.6cqi,12px);-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;aspect-ratio:1;background:var(--deep);border-radius:12px;container-type:inline-size;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;width:100%}.g-2048__board:focus{outline:none}.g-2048__board:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.g-2048__cells{display:grid;gap:var(--gap);grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);inset:0;padding:var(--gap);position:absolute}.g-2048__cells span{background:color-mix(in srgb,var(--deep) 82%,#fff);border-radius:8px}.g-2048__tiles{inset:0;position:absolute}.g-2048__tile{--tile:calc(100cqi/4 - var(--gap)*5/4);border-radius:8px;display:grid;font-size:calc(var(--tile)*.48);font-stretch:100%;font-variant-numeric:tabular-nums;font-weight:800;height:var(--tile);left:var(--gap);line-height:1;place-items:center;position:absolute;top:var(--gap);transform:translate(calc(var(--x)*(100% + var(--gap))),calc(var(--y)*(100% + var(--gap))));transition:transform .1s ease-in-out;width:var(--tile)}.g-2048__tile.is-light{background:var(--light);color:var(--deep)}.g-2048__tile.is-field{background:var(--field);color:var(--on)}.g-2048__tile.is-ink{background:var(--ink);color:var(--on-ink)}.g-2048__tile.is-d3{font-size:calc(var(--tile)*.4)}.g-2048__tile.is-d4{font-size:calc(var(--tile)*.34);font-stretch:87.5%}.g-2048__tile.is-d5{font-size:calc(var(--tile)*.28);font-stretch:75%}.g-2048__tile.is-merged{animation:g-2048-pop .16s ease-out;z-index:1}.g-2048__tile.is-new{animation:g-2048-appear .14s ease-out both}@keyframes g-2048-pop{0%{scale:1}45%{scale:1.14}to{scale:1}}@keyframes g-2048-appear{0%{opacity:0;scale:.4}to{opacity:1;scale:1}}.g-2048__board.is-still .g-2048__tile{animation:none;transition:none}@media (prefers-reduced-motion:reduce){.g-2048__board:not(.is-motion) .g-2048__tile{animation:none;transition:none}}.g-2048__panel{align-content:center;inset:0;padding:var(--s5)}.g-2048__panel[hidden]{display:none}.g-2048__over{justify-items:stretch;text-align:left}.g-2048__over .fig dd{font-size:24px}.g-2048__over .figs{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:var(--s3)}.g-2048__over h2:focus{outline:none}.g-2048__over p{font-size:15px;font-stretch:100%;font-weight:500;margin-top:var(--s3)}.g-2048__dlg .fig dd{font-size:22px}.g-2048__stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:var(--s3)}.g-2048__reset{margin-top:var(--s5)}.g-2048__reset p{font-weight:600}.g-2048__settings{display:grid}.g-2048__settings label{align-items:center;cursor:pointer;display:flex;gap:var(--s3);min-height:44px}.g-2048__settings input{accent-color:var(--ink);flex:none;height:20px;margin:0;width:20px}.g-2048__hint{display:block;font-size:14px}.g-2048__choice{border:0;margin:var(--s3) 0 0;padding:0}.g-2048__choice legend{font-weight:600;padding:0}.g-2048__about{margin-top:var(--s6);max-width:62ch}.g-2048__about h2{margin:var(--s6) 0 var(--s3)}.g-2048__about h2:first-child{margin-top:0}.g-2048__about h3{margin:var(--s5) 0 var(--s2)}.g-2048__about ol{margin:var(--s3) 0;padding-left:1.25em}.g-2048__about li+li{margin-top:6px}.g-2048__keys{border-collapse:collapse;font-size:15px}.g-2048__keys td,.g-2048__keys th{border-bottom:1px solid var(--line);padding:6px var(--s4) 6px 0;text-align:left;vertical-align:top}.g-2048__keys th{font-weight:600;white-space:nowrap}
