:root{color-scheme: light;font-family: Arial, sans-serif;--board-gap: clamp(2px, 0.85vw, 8px);--card-width: calc((100% - (7 * var(--board-gap))) / 8);}*{box-sizing: border-box;}html{min-width: 320px;background: #edf2f7;}body{margin: 0;overflow-x: hidden;color: #17233a;background: #edf2f7;}button{font: inherit;}.cls_wgo_layout{display: flex;width: min(100%, 1200px);margin: 0 auto;align-items: flex-start;justify-content: center;gap: 16px;}.cls_wgo_center{width: min(100%, 768px);min-width: 0;}.cls_wgo_side_ad{flex: 0 0 170px;min-height: 600px;padding-top: 12px;text-align: center;}.cls_wgo_bottom_ad{width: min(calc(100% - 24px), 970px);min-height: 90px;margin: 12px auto 0;}.cls_freecell_app{width: 100%;padding: max(10px, env(safe-area-inset-top)) clamp(4px, 1.6vw, 13px) max(16px, env(safe-area-inset-bottom));}.cls_game_header{padding: 0 4px clamp(8px, 1.7vw, 13px);text-align: center;}.cls_game_header h1{margin: 0;font-size: clamp(1.5rem, 5vw, 2.3rem);line-height: 1.05;}.cls_game_header p{margin: 4px 0 0;color: #52627a;font-size: clamp(.8rem, 2.5vw, .95rem);}.cls_run_status{display: flex;justify-content: center;gap: 16px;margin-top: 5px;font-size: .9rem;}.cls_game_controls{display: flex;flex-wrap: wrap;justify-content: center;gap: 6px;margin-top: 7px;}.cls_game_controls button, .cls_game_form input{min-height: 36px;border: 1px solid #7890ad;border-radius: 5px;background: #fff;color: #17233a;}.cls_game_controls button{padding: 5px 11px;cursor: pointer;font-weight: 700;}#id_sound{min-width: 44px;min-height: 44px;padding: 4px;}.cls_game_controls button:disabled{cursor: default;opacity: .55;}.cls_game_controls button:focus-visible, .cls_game_form input:focus-visible{outline: 3px solid #176eaa;outline-offset: 2px;}.cls_game_form{display: inline-flex;align-items: center;gap: 4px;}.cls_game_form label{font-size: .8rem;font-weight: 700;}.cls_game_form input{width: 106px;padding: 4px 6px;}.cls_control_feedback{min-height: 1.1em;margin: 4px 0 0;color: #9b1c1c;font-size: .78rem;}.cls_share_feedback{min-height: 1.1em;margin: 2px 0 0;color: #36547f;font-size: .72rem;}.cls_share_feedback, #id_completion_feedback{overflow-wrap: anywhere;white-space: pre-line;}.cls_modal_overlay{position: fixed;z-index: 2000;inset: 0;display: grid;place-items: center;padding: 16px;background: rgb(8 20 34 / 68%);}.cls_modal_overlay[hidden]{display: none;}.cls_completion_dialog{position: relative;width: min(100%, 390px);max-height: calc(100dvh - 32px);padding: 24px;overflow-y: auto;border-radius: 14px;background: #fff;box-shadow: 0 18px 50px rgb(0 0 0 / 42%);text-align: center;}.cls_completion_dialog h2{margin: 0 0 8px;color: #08734a;font-size: 2rem;}.cls_completion_dialog dl{display: flex;justify-content: center;gap: 34px;margin: 16px 0;}.cls_completion_dialog dt{color: #52627a;font-size: .75rem;text-transform: uppercase;}.cls_completion_dialog dd{margin: 2px 0 0;font-size: 1.25rem;font-weight: 700;}.cls_completion_url{display: block;overflow-wrap: anywhere;color: #36547f;font-size: .8rem;}.cls_modal_actions{display: flex;justify-content: center;gap: 8px;margin-top: 18px;}.cls_modal_actions button{min-height: 44px;padding: 8px 18px;border: 1px solid #176eaa;border-radius: 6px;background: #fff;color: #17466b;font-weight: 700;}.cls_modal_actions #id_play_again{background: #176eaa;color: #fff;}.cls_modal_close{position: absolute;top: 6px;right: 8px;width: 44px;height: 44px;border: 0;background: transparent;font-size: 1.6rem;}.cls_freecell_board{width: 100%;min-height: clamp(300px, 42vw, 360px);padding: clamp(5px, 1.25vw, 10px);border: 1px solid #0d5b3f;border-radius: clamp(8px, 1.8vw, 14px);background: linear-gradient(145deg, #158052, #075238);box-shadow: 0 10px 30px rgb(23 40 67 / 18%);}.cls_top_region{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: clamp(8px, 2.4vw, 22px);margin-bottom: clamp(13px, 3vw, 24px);}.cls_top_group{min-width: 0;}.cls_top_group h2{margin: 0 0 5px;color: rgb(255 255 255 / 82%);font-size: clamp(.68rem, 2vw, .8rem);letter-spacing: .05em;text-align: center;text-transform: uppercase;}.cls_top_piles, .cls_cascades{display: grid;grid-template-columns: repeat(4, minmax(0, 1fr));gap: var(--board-gap);}.cls_cascades{grid-template-columns: repeat(8, minmax(0, 1fr));}.cls_pile{position: relative;min-width: 0;border: 1px solid rgb(255 255 255 / 42%);border-radius: clamp(3px, .7vw, 6px);}.cls_top_pile{width: 100%;aspect-ratio: 3 / 4;}.cls_cascade{min-height: var(--pile-height, calc(var(--card-width) * 1.333333));}.cls_cascade:empty{aspect-ratio: 3 / 4;}.cls_pile:empty::before{position: absolute;inset: 0;display: grid;place-items: center;border: 1px dashed rgb(255 255 255 / 35%);border-radius: inherit;color: rgb(255 255 255 / 65%);font-size: clamp(.55rem, 1.7vw, .78rem);content: "";}.cls_free_cell:empty::before{content: "Free";}.cls_foundation:empty::before{content: "A";opacity: .65;}.cls_cascade:empty::before{content: "";}.cls_card{position: absolute;top: 0;left: 0;width: 100%;aspect-ratio: 3 / 4;padding: 0;transform: translateY(var(--card-y, 0));overflow: hidden;border: 0;border-radius: clamp(3px, .65vw, 6px);background: #fff;box-shadow: 0 1px 3px rgb(0 0 0 / 35%);cursor: grab;touch-action: none;}.cls_card:disabled{opacity: 1;}.cls_card:nth-child(1){z-index: 1;}.cls_card:nth-child(2){z-index: 2;}.cls_card:nth-child(3){z-index: 3;}.cls_card:nth-child(4){z-index: 4;}.cls_card:nth-child(5){z-index: 5;}.cls_card:nth-child(6){z-index: 6;}.cls_card:nth-child(7){z-index: 7;}.cls_card:nth-child(8){z-index: 8;}.cls_card:nth-child(9){z-index: 9;}.cls_card:nth-child(10){z-index: 10;}.cls_card:nth-child(n+11){z-index: 11;}.cls_card_image{display: block;width: 100%;height: 100%;object-fit: fill;pointer-events: none;user-select: none;-webkit-user-drag: none;}.cls_pile:focus-visible, .cls_card:focus-visible{outline: 3px solid #ffe16a;outline-offset: 2px;}.cls_card.cls_selected{box-shadow: 0 0 0 3px #ffe16a, 0 4px 10px rgb(0 0 0 / 45%);filter: brightness(1.06);}.cls_card.cls_drag_source{opacity: .48;}.cls_pile.cls_drop_target{outline: 3px solid #8ff0c5;outline-offset: 2px;background-color: rgb(143 240 197 / 16%);}.cls_input_locked .cls_card{cursor: default;}.cls_drag_ghost{position: fixed;z-index: 1000;top: 0;left: 0;pointer-events: none;filter: drop-shadow(0 8px 8px rgb(0 0 0 / 35%));will-change: transform;}.cls_drag_ghost, .cls_drag_ghost *{pointer-events: none !important;}.cls_drag_ghost .cls_card{position: absolute;display: block;opacity: .92;}.cls_dragging, .cls_dragging .cls_card{cursor: grabbing;}.cls_visually_hidden{position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;border: 0;}.cls_wgo_home{padding: 8px 12px max(12px, env(safe-area-inset-bottom));text-align: center;}.cls_wgo_home a{display: inline-flex;min-width: 44px;min-height: 44px;align-items: center;justify-content: center;color: #36547f;font-weight: 700;}@media (max-width: 520px) {:root { --board-gap: 1px;} .cls_freecell_app{padding-inline: max(1px, env(safe-area-inset-left));padding-right: max(1px, env(safe-area-inset-right));} .cls_game_controls{gap: 4px;} .cls_game_controls button{min-height: 38px;padding-inline: 8px;} .cls_game_form{width: 100%;justify-content: center;} .cls_freecell_board{min-height: clamp(250px, 76vw, 310px);padding: 1px;border-radius: 5px;} .cls_top_region{gap: 3px;margin-bottom: 9px;} .cls_top_group h2{margin-bottom: 3px;font-size: .58rem;} .cls_pile, .cls_card{border-radius: 2px;} }@media (max-width: 1160px) {.cls_wgo_side_ad { display: none;} .cls_wgo_layout{justify-content: center;} }@media (max-height: 500px) and (orientation: landscape) {.cls_freecell_app { padding-block: 3px;} .cls_game_header{display: flex;align-items: baseline;justify-content: center;gap: 8px;padding-bottom: 3px;} .cls_game_header h1{font-size: 1.2rem;} .cls_game_header p{font-size: .72rem;} .cls_freecell_board{min-height: 220px;padding: 2px;} .cls_top_region{margin-bottom: 6px;} .cls_top_group h2{margin-bottom: 2px;font-size: .58rem;} .cls_wgo_home{padding-block: 2px;} }@media (prefers-reduced-motion: reduce) {*, *::before, *::after { scroll-behavior: auto !important;transition-duration: .01ms !important;animation-duration: .01ms !important;animation-iteration-count: 1 !important;} }