.gl-code-table code { background: #eef2f7; border-radius: 6px; color: #111827; display: inline-block; font-weight: 800; padding: 4px 7px; }
.gl-copy-code { background: #1167d8; border: 0; border-radius: 8px; color: #fff; cursor: pointer; font-weight: 800; min-height: 36px; padding: 7px 10px; }
.gl-copy-code:focus-visible { outline: 3px solid #f6b73c; outline-offset: 2px; }
.gl-update-history { background: #fff8eb; border: 1px solid #f4cf8d; border-radius: 8px; padding: 14px 14px 14px 34px; }
.gl-last-checked { color: #0f6848; font-weight: 800; }
.gl-related.gl-grid { grid-template-columns: 1fr; }
.gl-tool-frame canvas { background: #f8fafc; border: 1px solid #d9e0ea; border-radius: 8px; display: block; max-width: 100%; }
.gl-tool-output { background: #eef2f7; border: 1px solid #d9e0ea; border-radius: 8px; font-weight: 800; margin-top: 12px; padding: 12px; }
.gl-tool-big-target { align-items: center; background: #eef7ff; border: 2px dashed #1167d8; border-radius: 8px; cursor: pointer; display: flex; font-size: 1.15rem; font-weight: 800; justify-content: center; min-height: 180px; padding: 20px; text-align: center; }
.gl-tool-big-target.is-waiting { background: #fff8eb; border-color: #a15c07; }
.gl-tool-big-target.is-ready { background: #edf9f4; border-color: #0f9f7a; }
.gl-tool-list { display: grid; gap: 8px; margin-top: 12px; }
.gl-tool-list div { background: #eef2f7; border-radius: 8px; padding: 10px; }
.gl-game-canvas-wrap { align-items: center; display: flex; flex-direction: column; gap: 12px; }
@media (max-width: 680px) { .gl-related.gl-grid { grid-template-columns: 1fr; } }
.gl-2048-board { background: #223042; border-radius: 8px; display: grid; gap: 8px; grid-template-columns: repeat(4, minmax(50px, 72px)); justify-content: center; margin: 12px auto 0; max-width: max-content; padding: 8px; touch-action: none; }
.gl-2048-board:focus-visible { outline: 3px solid #f6b73c; outline-offset: 3px; }
.gl-2048-tile { align-items: center; aspect-ratio: 1 / 1; background: #e8eef5; border-radius: 6px; color: #111827; display: flex; font-size: clamp(1rem, 6vw, 1.65rem); font-weight: 900; justify-content: center; min-width: 0; padding: 6px; }
.gl-2048-tile-0 { background: rgba(255, 255, 255, .16); }
.gl-2048-tile-2, .gl-2048-tile-4 { background: #edf3f7; }
.gl-2048-tile-8, .gl-2048-tile-16 { background: #d8f3e6; color: #0f5132; }
.gl-2048-tile-32, .gl-2048-tile-64 { background: #dbeafe; color: #174ea6; }
.gl-2048-tile-128, .gl-2048-tile-256 { background: #fff0c2; color: #7a4a00; }
.gl-2048-tile-512, .gl-2048-tile-1024, .gl-2048-tile-2048 { background: #ffe0d6; color: #8a1f11; }
.gl-2048-buttons { justify-content: center; }
.gl-2048-buttons button { min-height: 44px; min-width: 64px; }
@media (max-width: 420px) { .gl-2048-board { gap: 6px; grid-template-columns: repeat(4, minmax(42px, 1fr)); width: min(100%, 288px); } .gl-2048-tile { font-size: clamp(.95rem, 8vw, 1.35rem); } }