.card{width:100%;height:auto;aspect-ratio:var(--card-aspect-ratio,105/120);box-sizing:border-box;appearance:none;border-radius:var(--theme-card-radius,10px);background-color:#0000;border:none;outline:none;margin:0;padding:0;display:block;position:relative;overflow:hidden}.card__inner{border-radius:inherit;width:100%;height:100%;transform-style:preserve-3d;transition:all .3s ease-in-out;position:relative;transform:rotateY(180deg)}.card__face{background-image:var(--card-face);background-position:50%;background-size:var(--card-front-bg-size,var(--card-bg-size,100%));backface-visibility:hidden;border-radius:inherit;background-repeat:no-repeat;position:absolute;inset:0}.card__face--back{background-image:none;background-position:50%;background-size:var(--card-back-bg-size,var(--card-front-bg-size,var(--card-bg-size,100%)));background-repeat:no-repeat;transform:rotateY(180deg)}.card.is-flipped .card__inner{transform:rotateY(0)}.card.is-flipped.is-matched{border-radius:var(--theme-card-matched-radius,var(--theme-card-radius,10px));box-shadow:var(--theme-card-matched-shadow,none);outline:var(--theme-card-matched-border,2px solid #4dd5bc);outline-offset:calc(-1 * var(--theme-card-matched-inset,0px))}.card:focus,.card:focus-visible{outline:none}.card:active{box-shadow:none;border:none;outline:none}.card:focus-visible:before{content:"";inset:var(--theme-card-focus-inset,0);border:var(--theme-card-focus-border,2px solid #ffffffe6);border-radius:var(--theme-card-focus-radius,var(--theme-card-radius,10px));pointer-events:none;z-index:4;position:absolute}#field{--card-face:none}#scoreBoard{align-items:center;gap:var(--theme-scoreboard-gap,12px);width:var(--theme-scoreboard-width,293px);height:var(--theme-scoreboard-height,62px);background:var(--theme-scoreboard-bg);border-radius:var(--theme-scoreboard-radius);padding:var(--theme-scoreboard-padding);border:var(--theme-scoreboard-border);color:var(--theme-scoreboard-text-color);box-shadow:var(--theme-scoreboard-shadow);--scoreboard-label-blue:var(--theme-scoreboard-label-blue);--scoreboard-label-orange:var(--theme-scoreboard-label-orange);flex-direction:row;justify-content:space-between;display:flex}.scoreBoardEntry{align-items:center;gap:var(--theme-scoreboard-chip-gap,8px);padding:var(--theme-scoreboard-chip-padding);border-radius:var(--theme-scoreboard-chip-radius);display:flex}.scoreBoardEntry--blue{background:var(--theme-scoreboard-chip-bg-blue);color:var(--theme-scoreboard-chip-text-blue,var(--theme-scoreboard-name-color))}.scoreBoardEntry--orange{background:var(--theme-scoreboard-chip-bg-orange);color:var(--theme-scoreboard-chip-text-orange,var(--theme-scoreboard-name-color))}.scoreBoardLabel{width:var(--theme-scoreboard-label-width,24px);height:var(--theme-scoreboard-label-height,20px);background-position:50%;background-repeat:no-repeat;background-size:contain;flex-shrink:0;display:block}.scoreBoardLabel--blue{background-image:var(--scoreboard-label-blue)}.scoreBoardLabel--orange{background-image:var(--scoreboard-label-orange)}.scoreBoardValue{color:inherit;font-family:var(--theme-scoreboard-value-font-family,var(--theme-scoreboard-label-font-family));font-weight:var(--theme-scoreboard-value-font-weight,var(--theme-scoreboard-label-font-weight));font-size:var(--theme-scoreboard-value-font-size,var(--theme-scoreboard-label-font-size));line-height:var(--theme-scoreboard-value-line-height,var(--theme-scoreboard-label-line-height));letter-spacing:var(--theme-scoreboard-value-letter-spacing,var(--theme-scoreboard-label-letter-spacing));margin:0}body[data-theme=codeVibes] .scoreBoardEntry--blue .scoreBoardValue:before{content:var(--theme-scoreboard-chip-label-blue,"Blue");margin-right:var(--theme-scoreboard-chip-label-gap,8px)}body[data-theme=codeVibes] .scoreBoardEntry--orange .scoreBoardValue:before{content:var(--theme-scoreboard-chip-label-orange,"Orange");margin-right:var(--theme-scoreboard-chip-label-gap,8px)}#gameHeader{align-items:center;gap:var(--theme-header-gap,12px);top:var(--theme-header-top,0);width:var(--theme-header-width,1217px);max-width:var(--theme-header-max-width,1440px);margin:var(--theme-header-margin,41px 112px);height:var(--theme-header-height,62px);font-family:var(--theme-font-family);font-weight:var(--theme-font-weight);font-size:var(--theme-font-size);line-height:var(--theme-line-height);letter-spacing:var(--theme-letter-spacing);color:var(--theme-header-text-color);background:var(--bg-color-header);border-radius:var(--theme-header-radius);padding:var(--theme-header-padding);box-shadow:var(--theme-header-shadow);flex-direction:row;justify-content:space-between;display:flex;position:fixed}#gameHeader #exit{flex-direction:row;justify-content:start;align-items:center;gap:0;display:flex}#gameHeader #exit a{align-items:center;gap:var(--theme-exit-gap,10px);background:var(--theme-exit-bg);border-radius:var(--theme-exit-radius);padding:var(--theme-exit-padding);border:var(--theme-exit-border);color:var(--theme-exit-text-color);min-width:var(--theme-exit-min-width,auto);min-height:var(--theme-exit-min-height,auto);box-sizing:border-box;box-shadow:var(--theme-exit-shadow);font-family:var(--theme-exit-font-family,var(--theme-font-family));font-weight:var(--theme-exit-font-weight,var(--theme-font-weight));font-size:var(--theme-exit-font-size,var(--theme-font-size));line-height:var(--theme-exit-line-height,var(--theme-line-height));letter-spacing:var(--theme-exit-letter-spacing,var(--theme-letter-spacing));flex-direction:row;justify-content:start;text-decoration:none;display:flex}#gameHeader #exit a .exitIcon{width:var(--theme-exit-icon-width,25.75px);height:var(--theme-exit-icon-height,22.5px);background-color:var(--theme-exit-icon-color,var(--theme-exit-img-color,var(--theme-exit-text-color)));-webkit-mask-image:var(--theme-exit-icon-mask,url(../assets/ui/exit.svg));-webkit-mask-image:var(--theme-exit-icon-mask,url(../assets/ui/exit.svg));mask-image:var(--theme-exit-icon-mask,url(../assets/ui/exit.svg));flex-shrink:0;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}#gameHeader .scoreBoardPlayerName{color:inherit;font-family:var(--theme-scoreboard-label-font-family);font-weight:var(--theme-scoreboard-label-font-weight);font-size:var(--theme-scoreboard-label-font-size);line-height:var(--theme-scoreboard-label-line-height);letter-spacing:var(--theme-scoreboard-label-letter-spacing);margin:0}#gameHeader #currentPlayer{align-items:center;gap:var(--theme-current-player-gap,8px);background:var(--theme-current-player-bg);border-radius:var(--theme-current-player-radius);padding:var(--theme-current-player-padding);border:var(--theme-current-player-border);color:var(--theme-current-player-text-color);box-shadow:var(--theme-current-player-shadow);justify-content:start;gap:var(--theme-current-player-gap,8px);flex-direction:row;display:flex}#gameHeader #currentPlayer #current-player-label{color:var(--theme-current-player-label-color);font-family:var(--theme-current-player-label-font-family,var(--theme-font-family));font-weight:var(--theme-current-player-label-font-weight,var(--theme-font-weight));font-size:var(--theme-current-player-label-font-size,var(--theme-font-size));line-height:var(--theme-current-player-label-line-height,var(--theme-line-height));letter-spacing:var(--theme-current-player-label-letter-spacing,var(--theme-letter-spacing));margin:0}#gameHeader #currentPlayerTag{align-items:center;gap:var(--theme-current-player-tag-gap,8px);color:var(--theme-current-player-value-color);font-family:var(--theme-current-player-value-font-family,var(--theme-font-family));font-weight:var(--theme-current-player-value-font-weight,var(--theme-font-weight));font-size:var(--theme-current-player-value-font-size,var(--theme-font-size));line-height:var(--theme-current-player-value-line-height,var(--theme-line-height));letter-spacing:var(--theme-current-player-value-letter-spacing,var(--theme-letter-spacing));flex-direction:row;justify-content:start;display:flex}#gameHeader #currentPlayerTag .currentPlayerIndicator{width:var(--theme-current-player-indicator-width,var(--theme-scoreboard-label-width,24px));height:var(--theme-current-player-indicator-height,var(--theme-scoreboard-label-height,20px));border-radius:var(--theme-current-player-indicator-radius,4px);background-color:var(--theme-current-player-indicator-bg-color,transparent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}#gameHeader #currentPlayerTag .currentPlayerIndicator:before{content:"";width:var(--theme-current-player-indicator-glyph-width,10px);height:var(--theme-current-player-indicator-glyph-height,12px);background-color:var(--theme-current-player-indicator-icon-color,#fff);-webkit-mask-image:var(--theme-current-player-indicator-mask,var(--scoreboard-label-blue));-webkit-mask-image:var(--theme-current-player-indicator-mask,var(--scoreboard-label-blue));mask-image:var(--theme-current-player-indicator-mask,var(--scoreboard-label-blue));-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}#gameHeader #currentPlayerTag .currentPlayerIndicator--blue{background-color:var(--theme-current-player-indicator-blue-bg,var(--theme-current-player-value-color))}#gameHeader #currentPlayerTag .currentPlayerIndicator--orange{background-color:var(--theme-current-player-indicator-orange-bg,#ea6900)}body[data-theme=codeVibes] #gameHeader #currentPlayerTag .currentPlayerIndicator{width:var(--theme-scoreboard-label-width,24px);height:var(--theme-scoreboard-label-height,20px);background-color:#0000;border-radius:0;display:block}body[data-theme=codeVibes] #gameHeader #currentPlayerTag .currentPlayerIndicator:before{content:none}body[data-theme=codeVibes] #gameHeader #currentPlayerTag .currentPlayerIndicator--blue{background-image:var(--scoreboard-label-blue)}body[data-theme=codeVibes] #gameHeader #currentPlayerTag .currentPlayerIndicator--orange{background-image:var(--scoreboard-label-orange)}#exitConfirmOverlay{z-index:1000;background:var(--theme-exit-confirm-overlay-bg,#00000073);justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}#exitConfirmOverlay.is-open{display:flex}#exitConfirmDialog{width:min(var(--theme-exit-confirm-width,480px), 100%);gap:var(--theme-exit-confirm-gap,22px);padding:var(--theme-exit-confirm-padding,28px);border-radius:var(--theme-exit-confirm-radius,12px);border:var(--theme-exit-confirm-border,none);box-shadow:var(--theme-exit-confirm-shadow,0 16px 40px #0003);background:var(--theme-exit-confirm-bg,#fff);flex-direction:column;display:flex}#exitConfirmTitle{color:var(--theme-exit-confirm-title-color,#141414);font-family:var(--theme-exit-confirm-title-font-family,var(--theme-font-family));font-weight:var(--theme-exit-confirm-title-font-weight,var(--theme-font-weight));font-size:var(--theme-exit-confirm-title-font-size,34px);line-height:var(--theme-exit-confirm-title-line-height,100%);letter-spacing:var(--theme-exit-confirm-title-letter-spacing,var(--theme-letter-spacing));text-transform:var(--theme-exit-confirm-title-transform,none);text-align:center;margin:0}#exitConfirmMessage{color:var(--theme-exit-confirm-message-color,#323232);font-family:var(--theme-exit-confirm-message-font-family,var(--theme-font-family));font-weight:var(--theme-exit-confirm-message-font-weight,var(--theme-font-weight));font-size:var(--theme-exit-confirm-message-font-size,20px);line-height:var(--theme-exit-confirm-message-line-height,120%);letter-spacing:var(--theme-exit-confirm-message-letter-spacing,var(--theme-letter-spacing));text-align:center;margin:0}#exitConfirmActions{gap:var(--theme-exit-confirm-actions-gap,12px);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.exitConfirmButton{min-height:var(--theme-exit-confirm-button-min-height,52px);padding:var(--theme-exit-confirm-button-padding,12px 16px);border-radius:var(--theme-exit-confirm-button-radius,10px);border:var(--theme-exit-confirm-button-border,1px solid #0003);box-shadow:var(--theme-exit-confirm-button-shadow,none);font-family:var(--theme-exit-confirm-button-font-family,var(--theme-font-family));font-weight:var(--theme-exit-confirm-button-font-weight,var(--theme-font-weight));font-size:var(--theme-exit-confirm-button-font-size,18px);line-height:var(--theme-exit-confirm-button-line-height,100%);letter-spacing:var(--theme-exit-confirm-button-letter-spacing,var(--theme-letter-spacing));cursor:pointer}.exitConfirmButton--cancel{color:var(--theme-exit-confirm-cancel-color,#141414);background:var(--theme-exit-confirm-cancel-bg,#fff);border:var(--theme-exit-confirm-cancel-border,var(--theme-exit-confirm-button-border,1px solid #0003))}.exitConfirmButton--confirm{color:var(--theme-exit-confirm-confirm-color,#fff);background:var(--theme-exit-confirm-confirm-bg,#282828);border:var(--theme-exit-confirm-confirm-border,none)}@media (width<=640px){#exitConfirmDialog{width:min(var(--theme-exit-confirm-width-mobile,420px), 100%);padding:var(--theme-exit-confirm-padding-mobile,22px);gap:var(--theme-exit-confirm-gap-mobile,16px)}#exitConfirmActions{grid-template-columns:1fr}}body{--field-gap:9px;--card-width:105px;--card-aspect-ratio:105 / 110;--card-bg-size:100%;--card-front-bg-size:var(--card-bg-size);--card-back-bg-size:var(--card-bg-size);--field-columns:4;--theme-game-field-margin-top:20px;min-height:100vh;padding-top:calc(var(--theme-header-height,62px) + var(--theme-header-top-gap,41px));background:var(--bg-color-theme);box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:center;transition:background .2s;display:flex}body[data-board-size="24"],body[data-board-size="36"]{--field-columns:6}#field{margin-top:var(--theme-game-field-margin-top);grid-template-columns:repeat(var(--field-columns), minmax(var(--card-width), var(--card-width)));gap:var(--field-gap);display:grid}
