.cg2048{--cg2048-board:#3b2329;--cg2048-cell:#fff0d212;--cg2048-gap:clamp(6px, 1.9vw, 12px);--cg2048-dark-ink:#2a1c19;--cg2048-light-ink:#fff6e0;border:1px solid var(--tro-choi-line);background:var(--tro-choi-paper-soft);border-radius:20px;gap:.9rem;max-width:900px;margin:2rem auto 0;padding:clamp(.9rem,3.5vw,1.8rem);display:grid;position:relative}html[data-theme=light] .cg2048{--cg2048-board:#cdb48a;--cg2048-cell:#fffaee73}.cg2048__preview{border:1px dashed var(--tro-choi-gold);color:var(--tro-choi-gold);border-radius:12px;margin:0;padding:.6rem .9rem;font-size:.92rem;font-weight:700}.cg2048__title{font:600 clamp(1.2rem, 4.2vw, 1.55rem) / 1.3 var(--font-serif,Lora, "Lora fallback", Georgia, serif);text-align:center;margin:.2rem 0 0}.cg2048__ladder{grid-template-columns:repeat(12,minmax(0,1fr));gap:.35rem;width:100%;max-width:760px;margin:0 auto;padding:0;list-style:none;display:grid}@media (width<=620px){.cg2048__ladder{grid-template-columns:repeat(6,minmax(0,1fr))}}.cg2048__step{min-width:0;color:var(--cg2048-tile-ink,var(--cg2048-dark-ink));font-variant-numeric:tabular-nums;background:var(--cg2048-tile,#fbf1dc);border-radius:10px;justify-items:center;gap:.1rem;padding:.25rem .1rem .2rem;font-size:.72rem;font-weight:800;line-height:1.15;display:grid}.cg2048__step:not(.is-reached) .cg2048__step-art{opacity:.4}.cg2048__step.is-goal{box-shadow:0 0 0 2px var(--tro-choi-gold)}.cg2048__step-art{aspect-ratio:1;background:#fffaeee0;border-radius:50%;width:100%;max-width:34px;height:auto}.cg2048__scores{grid-template-columns:repeat(3,minmax(0,8.5rem));justify-content:center;gap:.5rem;display:grid}.cg2048__scores p{border:1px solid var(--tro-choi-line);background:var(--tro-choi-paper);border-radius:12px;align-content:center;justify-items:center;min-width:0;margin:0;padding:.4rem .8rem;display:grid}.cg2048__scores span{color:var(--tro-choi-muted);text-align:center;font-size:.78rem;font-weight:700}.cg2048__scores strong{color:var(--tro-choi-ink);font-variant-numeric:tabular-nums;font-size:1.15rem}.cg2048__board{box-sizing:border-box;aspect-ratio:1;width:min(100%,500px);padding:var(--cg2048-gap);background:var(--cg2048-board);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:grab;border-radius:16px;margin:0 auto;position:relative}.cg2048__board:focus-visible{outline:3px solid var(--tro-choi-son);outline-offset:3px}.cg2048__cells{gap:var(--cg2048-gap);grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));width:100%;height:100%;display:grid}.cg2048__cells span{background:var(--cg2048-cell);border-radius:10px}.cg2048__tiles{inset:var(--cg2048-gap);position:absolute}.cg2048__tile{z-index:2;width:calc((100% - 3 * var(--cg2048-gap)) / 4);height:calc((100% - 3 * var(--cg2048-gap)) / 4);transform:translate(calc(var(--x) * (100% + var(--cg2048-gap))), calc(var(--y) * (100% + var(--cg2048-gap))));transition:transform var(--cg2048-slide,.1s) ease-in-out;position:absolute;top:0;left:0}.cg2048__tile.is-ghost{z-index:1}.cg2048__tile.is-merged{z-index:3}.cg2048__face{box-sizing:border-box;width:100%;height:100%;color:var(--cg2048-tile-ink,var(--cg2048-dark-ink));background:var(--cg2048-tile,#fbf1dc);border-radius:10px;grid-template-rows:minmax(0,1fr) auto;place-items:center;padding:9% 6% 6%;display:grid;position:relative;box-shadow:0 2px 6px #00000038}.cg2048__tile.is-new .cg2048__face{animation:cg2048-appear var(--cg2048-pop,.2s) ease var(--cg2048-slide,.1s) backwards}.cg2048__tile.is-merged .cg2048__face{animation:cg2048-pop var(--cg2048-pop,.2s) ease var(--cg2048-slide,.1s) backwards}.cg2048__value{font-variant-numeric:tabular-nums;font-size:clamp(.6rem,2.3vw,.85rem);font-weight:800;line-height:1;position:absolute;top:5%;left:7%}.cg2048__medal{aspect-ratio:1;background:#fffaeee6;border-radius:50%;width:64%;min-height:0;max-height:100%;display:block}.cg2048__art{width:100%;height:100%;display:block}.cg2048__name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding-top:.15em;font-size:clamp(.66rem,2.6vw,.98rem);font-weight:800;line-height:1.3;overflow:hidden}.cg2048-level-1{--cg2048-tile:#fbf1dc}.cg2048-level-2{--cg2048-tile:#f6e2b8}.cg2048-level-3{--cg2048-tile:#f2cd8c}.cg2048-level-4{--cg2048-tile:#efb46c}.cg2048-level-5{--cg2048-tile:#ec9a58}.cg2048-level-6{--cg2048-tile:#e3824f}.cg2048-level-7{--cg2048-tile:#b8423b;--cg2048-tile-ink:var(--cg2048-light-ink)}.cg2048-level-8{--cg2048-tile:#9f2f3d;--cg2048-tile-ink:var(--cg2048-light-ink)}.cg2048-level-9{--cg2048-tile:#86233f;--cg2048-tile-ink:var(--cg2048-light-ink)}.cg2048-level-10{--cg2048-tile:#681c3c;--cg2048-tile-ink:var(--cg2048-light-ink)}.cg2048-level-11{--cg2048-tile:linear-gradient(160deg, #f8dc8a, #e2a93b);--cg2048-tile-ink:#3a1606}.cg2048-level-12{--cg2048-tile:#2f6a4c;--cg2048-tile-ink:var(--cg2048-light-ink)}.cg2048-level-13{--cg2048-tile:#2a1c19;--cg2048-tile-ink:#f6d98b}.cg2048__tile.cg2048-level-11 .cg2048__face{box-shadow:0 0 0 2px #fff1c4,0 0 18px #f8dc8ab3}.cg2048__sr,.cg2048__message--quiet{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;min-height:0;margin:0;padding:0;position:absolute;overflow:hidden}.cg2048__pad{justify-content:center;gap:.5rem;display:flex}.cg2048__pad button{border:1px solid var(--tro-choi-line);min-width:52px;min-height:48px;color:var(--tro-choi-ink);font:inherit;background:var(--tro-choi-paper);cursor:pointer;border-radius:14px;font-size:1.3rem;font-weight:800}.cg2048__pad button:hover{border-color:var(--tro-choi-gold)}.cg2048__message{min-height:1.6em;color:var(--tro-choi-copy);text-align:center;margin:0;line-height:1.6}.cg2048__end{border-top:1px solid var(--tro-choi-line);text-align:center;justify-items:center;gap:.6rem;padding-top:1rem;display:grid}.cg2048__end h3{color:var(--tro-choi-gold);font:600 clamp(1.5rem, 5.5vw, 2rem) / 1.2 var(--font-serif,Lora, "Lora fallback", Georgia, serif);margin:0}.cg2048__end h3:focus{outline:none}.cg2048__end p{margin:0;line-height:1.6}.cg2048__note{color:var(--tro-choi-muted);text-align:center;margin:0;font-size:.92rem;line-height:1.55}.cg2048__note:empty{display:none}.cg2048__actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.cg2048__primary,.cg2048__secondary{min-height:48px;font:inherit;cursor:pointer;border-radius:999px;padding:.7rem 1.4rem;font-weight:800}.cg2048__primary{color:#fff8e6;background:linear-gradient(#c62f3f,#8f1d2b);border:0}.cg2048__secondary{border:1px solid var(--tro-choi-line);color:var(--tro-choi-ink);background:var(--tro-choi-paper)}.cg2048__primary:focus-visible,.cg2048__secondary:focus-visible,.cg2048__pad button:focus-visible{outline:3px solid var(--tro-choi-son);outline-offset:2px}@keyframes cg2048-appear{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes cg2048-pop{0%{transform:scale(0)}50%{transform:scale(1.18)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.cg2048__tile{transition:none}.cg2048__tile.is-new .cg2048__face,.cg2048__tile.is-merged .cg2048__face{animation:none}}
