.GameCard-module__ggQ8zq__card{background-color:var(--color-card-face);border-radius:var(--radius-md);cursor:pointer;width:60px;height:60px;transition:transform var(--transition-fast), box-shadow var(--transition-fast);border:2px solid var(--color-card-border);box-shadow:var(--shadow-card);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:relative}.GameCard-module__ggQ8zq__card:hover:not(.GameCard-module__ggQ8zq__disabled){box-shadow:var(--shadow-card-hover);transform:translateY(-3px)}.GameCard-module__ggQ8zq__card:active:not(.GameCard-module__ggQ8zq__disabled){transform:translateY(-1px)}.GameCard-module__ggQ8zq__selected{border-color:var(--color-card-selected);box-shadow:var(--shadow-card-selected), var(--shadow-card-hover);transform:translateY(-4px)}.GameCard-module__ggQ8zq__selected:hover{transform:translateY(-4px)}.GameCard-module__ggQ8zq__disabled{cursor:default;opacity:.85}.GameCard-module__ggQ8zq__wild{background-color:var(--color-card-face-wild);border-color:var(--color-wild);border-style:dashed}.GameCard-module__ggQ8zq__wild.GameCard-module__ggQ8zq__selected{border-style:solid}.GameCard-module__ggQ8zq__boardCard{cursor:default;width:50px;height:50px}.GameCard-module__ggQ8zq__boardCard:hover{box-shadow:var(--shadow-card);transform:none}.GameCard-module__ggQ8zq__shapes{place-items:center;gap:1px;display:grid}.GameCard-module__ggQ8zq__shapes1{grid-template-columns:1fr}.GameCard-module__ggQ8zq__shapes2,.GameCard-module__ggQ8zq__shapes3,.GameCard-module__ggQ8zq__shapes4{grid-template-columns:1fr 1fr}.GameCard-module__ggQ8zq__number{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);margin-top:1px;line-height:1}.GameCard-module__ggQ8zq__wildLabel{font-size:.6rem;font-weight:var(--font-weight-bold);color:var(--color-wild);letter-spacing:1px;text-transform:uppercase}.GameCard-module__ggQ8zq__placed{animation:GameCard-module__ggQ8zq__cardPlace var(--transition-slow) ease-out}
.Board-module__x3Mjzq__viewport{background-color:var(--color-board-bg);border-radius:var(--radius-md);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:1;position:relative;overflow:hidden}.Board-module__x3Mjzq__viewport:active{cursor:grabbing}.Board-module__x3Mjzq__board{transform-origin:0 0;will-change:transform;width:fit-content;display:grid}.Board-module__x3Mjzq__cell{border-radius:var(--radius-sm);transition:background-color var(--transition-fast);justify-content:center;align-items:center;display:flex}.Board-module__x3Mjzq__cellValid{background-color:var(--color-valid);cursor:pointer}.Board-module__x3Mjzq__cellValid:hover{background-color:var(--color-valid-hover)}.Board-module__x3Mjzq__placeholder{border:2px dashed var(--color-valid-border);border-radius:var(--radius-md);opacity:.7;justify-content:center;align-items:center;display:flex}.Board-module__x3Mjzq__bestMovePlaceholder{background:#f59e0b14;border-color:var(--color-warning)!important;border-width:3px!important}.Board-module__x3Mjzq__bestMoveStar{color:var(--color-warning);font-size:14px;line-height:1}.Board-module__x3Mjzq__attrHint{color:var(--color-text-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:8px;line-height:1.1;overflow:hidden}.Board-module__x3Mjzq__scoreHint{color:#166534;pointer-events:none;background:#fffc;border-radius:8px;padding:1px 6px;font-size:11px;font-weight:700}.Board-module__x3Mjzq__impossible{background-color:var(--color-impossible);opacity:.4;border-radius:50%;width:16px;height:16px}.Board-module__x3Mjzq__zoomControls{top:var(--space-md);right:var(--space-md);gap:var(--space-xs);z-index:var(--z-controls);flex-direction:column;display:flex;position:absolute}.Board-module__x3Mjzq__zoomBtn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;width:36px;height:36px;font-size:var(--font-size-lg);color:var(--color-text);box-shadow:var(--shadow-sm);transition:background-color var(--transition-fast);justify-content:center;align-items:center;line-height:1;display:flex}.Board-module__x3Mjzq__zoomBtn:hover{background-color:var(--color-surface-alt)}.Board-module__x3Mjzq__zoomBtn:active{transform:scale(.95)}.Board-module__x3Mjzq__heatmapActive{background:var(--color-warning)!important;color:#fff!important;border-color:var(--color-warning)!important}.Board-module__x3Mjzq__heatmapCell{background:var(--color-warning);pointer-events:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.Board-module__x3Mjzq__heatmapScore{color:#fff;font-size:10px;font-weight:700}.Board-module__x3Mjzq__zoomLevel{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}
.PlayerHand-module__T3lsoa__hand{z-index:var(--z-hand);background:var(--color-surface);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-up);gap:var(--space-md);justify-content:center;align-items:center;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.PlayerHand-module__T3lsoa__turnActions{z-index:var(--z-hand);gap:var(--space-sm);animation:PlayerHand-module__T3lsoa__slideUp var(--transition-normal) ease-out;align-items:center;display:flex;position:fixed;bottom:100px;left:50%;transform:translate(-50%)}.PlayerHand-module__T3lsoa__btnComplete{background-color:var(--color-success);color:var(--color-text-inverse);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-xl);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--transition-fast), transform var(--transition-fast);border:none}.PlayerHand-module__T3lsoa__btnComplete:hover:not(:disabled){background-color:#0d9668;transform:translateY(-1px)}.PlayerHand-module__T3lsoa__btnComplete:disabled{opacity:.5;cursor:not-allowed}.PlayerHand-module__T3lsoa__btnUndo{color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast);background:0 0}.PlayerHand-module__T3lsoa__btnUndo:hover:not(:disabled){background-color:#ef444414}.PlayerHand-module__T3lsoa__btnUndo:disabled{opacity:.4;cursor:not-allowed}.PlayerHand-module__T3lsoa__cardSlot{flex-direction:column;align-items:center;gap:2px;display:flex}.PlayerHand-module__T3lsoa__lotGlow{position:relative}.PlayerHand-module__T3lsoa__lotGlow:after{content:"";border-radius:var(--radius-md);border:2px solid var(--color-warning);pointer-events:none;animation:1.5s ease-in-out infinite PlayerHand-module__T3lsoa__pulse;position:absolute;inset:4px}.PlayerHand-module__T3lsoa__lotBadge{background:var(--color-warning);color:#fff;border-radius:var(--radius-pill);z-index:1;padding:1px 4px;font-size:9px;font-weight:800;position:absolute;top:16px;right:-4px}.PlayerHand-module__T3lsoa__keyHint{font-size:10px;font-weight:var(--font-weight-bold);color:var(--color-text-muted);background:var(--color-surface-alt);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;border:1px solid var(--color-border);justify-content:center;align-items:center;width:18px;height:18px;display:flex}@media (max-width:768px){.PlayerHand-module__T3lsoa__hand{padding:var(--space-sm) var(--space-md);gap:var(--space-sm)}.PlayerHand-module__T3lsoa__turnActions{bottom:84px}}
.Sidebar-module__WZVnLW__menuBtn{top:var(--space-lg);left:var(--space-lg);z-index:var(--z-controls);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:40px;height:40px;box-shadow:var(--shadow-sm);cursor:pointer;font-size:var(--font-size-lg);color:var(--color-text);transition:background-color var(--transition-fast);justify-content:center;align-items:center;display:flex;position:fixed}.Sidebar-module__WZVnLW__menuBtn:hover{background-color:var(--color-surface-alt)}.Sidebar-module__WZVnLW__overlay{z-index:var(--z-modal);opacity:0;visibility:hidden;transition:opacity var(--transition-normal), visibility var(--transition-normal);background:#0000004d;position:fixed;inset:0}.Sidebar-module__WZVnLW__overlayOpen{opacity:1;visibility:visible}.Sidebar-module__WZVnLW__drawer{background:var(--color-surface);width:280px;z-index:var(--z-modal);transition:transform var(--transition-normal);padding:var(--space-xl);gap:var(--space-lg);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.Sidebar-module__WZVnLW__drawerOpen{transform:translate(0)}.Sidebar-module__WZVnLW__drawerHeader{justify-content:space-between;align-items:center;display:flex}.Sidebar-module__WZVnLW__drawerTitle{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.Sidebar-module__WZVnLW__closeBtn{border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;font-size:var(--font-size-lg);color:var(--color-text-muted);transition:background-color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.Sidebar-module__WZVnLW__closeBtn:hover{background-color:var(--color-surface-alt)}.Sidebar-module__WZVnLW__divider{background:var(--color-divider);height:1px}.Sidebar-module__WZVnLW__statCard{background:var(--color-surface-alt);border-radius:var(--radius-md);padding:var(--space-md)}.Sidebar-module__WZVnLW__statLabel{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs)}.Sidebar-module__WZVnLW__statValue{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.Sidebar-module__WZVnLW__statCardSuccess{background:var(--color-success);color:var(--color-text-inverse)}.Sidebar-module__WZVnLW__pendingBadge{background:var(--color-warning);color:var(--color-text-inverse);border-radius:var(--radius-pill);padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center}.Sidebar-module__WZVnLW__themeBtn{background:var(--color-surface-alt);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast);text-align:left;width:100%}.Sidebar-module__WZVnLW__themeBtn:hover{background:var(--color-surface)}.Sidebar-module__WZVnLW__helperToggle{align-items:flex-start;gap:var(--space-sm);padding:var(--space-xs) 0;cursor:pointer;display:flex}.Sidebar-module__WZVnLW__helperCheckbox{accent-color:var(--color-info);cursor:pointer;margin-top:3px}.Sidebar-module__WZVnLW__helperInfo{flex-direction:column;gap:1px;display:flex}.Sidebar-module__WZVnLW__helperLabel{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.Sidebar-module__WZVnLW__helperDesc{color:var(--color-text-muted);font-size:10px;line-height:1.3}.Sidebar-module__WZVnLW__themeSection{gap:var(--space-xs);flex-direction:column;display:flex}.Sidebar-module__WZVnLW__themeRow{gap:var(--space-xs);flex-wrap:wrap;display:flex}.Sidebar-module__WZVnLW__themeChip{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-size:var(--font-size-xs);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-muted);background:0 0}.Sidebar-module__WZVnLW__themeChip:hover{border-color:var(--color-info);color:var(--color-info)}.Sidebar-module__WZVnLW__themeChipActive{background:var(--color-info);color:#fff;border-color:var(--color-info)}.Sidebar-module__WZVnLW__newGameBtn{background:var(--color-info);color:var(--color-text-inverse);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--transition-fast);border:none;width:100%;margin-top:auto}.Sidebar-module__WZVnLW__newGameBtn:hover{background:#1d4ed8}
.GameSetup-module__VREejG__container{min-height:100dvh;padding:var(--space-xl);background-color:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;display:flex}.GameSetup-module__VREejG__card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-2xl);box-shadow:var(--shadow-lg);gap:var(--space-xl);flex-direction:column;width:100%;max-width:400px;display:flex}.GameSetup-module__VREejG__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);text-align:center;color:var(--color-text)}.GameSetup-module__VREejG__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;margin-top:calc(-1 * var(--space-md))}.GameSetup-module__VREejG__section{gap:var(--space-sm);flex-direction:column;display:flex}.GameSetup-module__VREejG__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.GameSetup-module__VREejG__aiRow{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface-alt);border-radius:var(--radius-md);display:flex}.GameSetup-module__VREejG__aiName{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);flex:1}.GameSetup-module__VREejG__aiNameInput{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text);background:0 0;border:none;border-bottom:1px solid #0000;outline:none;flex:1;min-width:0;padding:2px 0;font-family:inherit}.GameSetup-module__VREejG__aiNameInput:hover{border-bottom-color:var(--color-border)}.GameSetup-module__VREejG__aiNameInput:focus{border-bottom-color:var(--color-info)}.GameSetup-module__VREejG__difficultySelect{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--color-surface);color:var(--color-text);cursor:pointer}.GameSetup-module__VREejG__removeBtn{border:1px solid var(--color-error);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-error);cursor:pointer;font-size:var(--font-size-sm);transition:background-color var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.GameSetup-module__VREejG__removeBtn:hover{background:#ef444414}.GameSetup-module__VREejG__addBtn{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-sm);transition:all var(--transition-fast);background:0 0;border:1px dashed #ccc}.GameSetup-module__VREejG__addBtn:hover{border-color:var(--color-info);color:var(--color-info)}.GameSetup-module__VREejG__addBtn:disabled{opacity:.4;cursor:not-allowed}.GameSetup-module__VREejG__diffBadge{border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:2px 8px;display:inline-block}.GameSetup-module__VREejG__diffEasy{color:#166534;background:#dcfce7}.GameSetup-module__VREejG__diffMedium{color:#92400e;background:#fef3c7}.GameSetup-module__VREejG__diffHard{color:#991b1b;background:#fee2e2}.GameSetup-module__VREejG__startBtn{padding:var(--space-md) var(--space-xl);background:var(--color-success);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--transition-fast), transform var(--transition-fast);border:none}.GameSetup-module__VREejG__startBtn:hover{background:#0d9668;transform:translateY(-1px)}.GameSetup-module__VREejG__divider{background:var(--color-divider);height:1px}
.GameOver-module__0E0kZG__overlay{z-index:var(--z-modal);padding:var(--space-xl);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.GameOver-module__0E0kZG__card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-2xl);box-shadow:var(--shadow-lg);gap:var(--space-lg);width:100%;max-width:420px;animation:GameOver-module__0E0kZG__slideUp var(--transition-slow) ease-out;flex-direction:column;display:flex}.GameOver-module__0E0kZG__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);text-align:center}.GameOver-module__0E0kZG__scoreboard{gap:var(--space-sm);flex-direction:column;display:flex}.GameOver-module__0E0kZG__playerRow{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--color-surface-alt);align-items:center;display:flex}.GameOver-module__0E0kZG__winner{border:2px solid var(--color-success);background:#dcfce7}.GameOver-module__0E0kZG__rank{width:28px;font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-muted)}.GameOver-module__0E0kZG__winner .GameOver-module__0E0kZG__rank{color:var(--color-success)}.GameOver-module__0E0kZG__playerName{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);flex:1}.GameOver-module__0E0kZG__playerType{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:var(--space-xs);font-weight:var(--font-weight-normal)}.GameOver-module__0E0kZG__playerScore{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.GameOver-module__0E0kZG__stats{gap:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.GameOver-module__0E0kZG__stat{padding:var(--space-sm) var(--space-md);background:var(--color-surface-alt);border-radius:var(--radius-md);text-align:center}.GameOver-module__0E0kZG__statLabel{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase}.GameOver-module__0E0kZG__statValue{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.GameOver-module__0E0kZG__actions{gap:var(--space-sm);display:flex}.GameOver-module__0E0kZG__playAgainBtn{padding:var(--space-md);background:var(--color-success);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--transition-fast);border:none;flex:1}.GameOver-module__0E0kZG__playAgainBtn:hover{background:#0d9668}.GameOver-module__0E0kZG__setupBtn{padding:var(--space-md);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;flex:1}.GameOver-module__0E0kZG__setupBtn:hover{background:var(--color-surface-alt)}
.ScoreBoard-module__uneuhq__scoreboard{top:var(--space-lg);z-index:var(--z-controls);background:var(--color-surface);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);white-space:nowrap;align-items:center;gap:0;display:flex;position:fixed;left:50%;overflow:hidden;transform:translate(-50%)}.ScoreBoard-module__uneuhq__playerTab{padding:var(--space-sm) var(--space-lg);border-right:1px solid var(--color-border-light);transition:background-color var(--transition-fast);flex-direction:column;align-items:center;gap:1px;min-width:80px;display:flex}.ScoreBoard-module__uneuhq__playerTab:last-child{border-right:none}.ScoreBoard-module__uneuhq__active{background:var(--color-surface-alt)}.ScoreBoard-module__uneuhq__playerTabName{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}.ScoreBoard-module__uneuhq__active .ScoreBoard-module__uneuhq__playerTabName{color:var(--color-info);font-weight:var(--font-weight-bold)}.ScoreBoard-module__uneuhq__playerTabScore{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.ScoreBoard-module__uneuhq__pendingScore{font-size:var(--font-size-xs);color:var(--color-warning);font-weight:var(--font-weight-medium);animation:ScoreBoard-module__uneuhq__scorePopIn var(--transition-slow) ease-out}.ScoreBoard-module__uneuhq__aiIndicator{color:var(--color-text-muted);font-size:9px;font-style:italic}.ScoreBoard-module__uneuhq__thinking{align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);animation:1.2s ease-in-out infinite ScoreBoard-module__uneuhq__pulse;display:flex}@media (max-width:768px){.ScoreBoard-module__uneuhq__playerTab{padding:var(--space-xs) var(--space-md);min-width:64px}.ScoreBoard-module__uneuhq__playerTabScore{font-size:var(--font-size-md)}}
.ModeSelect-module__zoX4fq__container{min-height:100dvh;padding:var(--space-xl);background-color:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;display:flex}.ModeSelect-module__zoX4fq__card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-2xl);box-shadow:var(--shadow-lg);gap:var(--space-lg);flex-direction:column;width:100%;max-width:420px;display:flex}.ModeSelect-module__zoX4fq__title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);text-align:center}.ModeSelect-module__zoX4fq__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;margin-top:calc(-1 * var(--space-sm))}.ModeSelect-module__zoX4fq__modes{gap:var(--space-sm);flex-direction:column;display:flex}.ModeSelect-module__zoX4fq__modeBtn{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-surface-alt);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left;border:2px solid #0000;display:flex}.ModeSelect-module__zoX4fq__modeBtn:hover{border-color:var(--color-info);transform:translate(4px)}.ModeSelect-module__zoX4fq__modeIcon{text-align:center;flex-shrink:0;width:40px;font-size:1.5rem}.ModeSelect-module__zoX4fq__modeInfo{flex:1}.ModeSelect-module__zoX4fq__modeName{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text)}.ModeSelect-module__zoX4fq__modeDesc{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.ModeSelect-module__zoX4fq__modeArrow{color:var(--color-text-muted);font-size:var(--font-size-md);transition:transform var(--transition-fast)}.ModeSelect-module__zoX4fq__modeBtn:hover .ModeSelect-module__zoX4fq__modeArrow{transform:translate(4px)}.ModeSelect-module__zoX4fq__divider{background:var(--color-divider);height:1px}.ModeSelect-module__zoX4fq__tutorialBtn{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-muted);transition:all var(--transition-fast);text-align:center;background:0 0;border:1px dashed #ccc}.ModeSelect-module__zoX4fq__tutorialBtn:hover{border-color:var(--color-info);color:var(--color-info)}.ModeSelect-module__zoX4fq__disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.ModeSelect-module__zoX4fq__installBtn{padding:var(--space-sm) var(--space-md);background:var(--color-info,#3b82f6);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:#fff;transition:all var(--transition-fast);text-align:center;border:none}.ModeSelect-module__zoX4fq__installBtn:hover{opacity:.9}
.Tutorial-module__-ct3LW__container{background:var(--color-bg);flex-direction:column;height:100dvh;display:flex}.Tutorial-module__-ct3LW__header{padding:var(--space-md) var(--space-xl);background:var(--color-surface);box-shadow:var(--shadow-sm);z-index:var(--z-controls);justify-content:space-between;align-items:center;display:flex}.Tutorial-module__-ct3LW__backBtn{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-md);font-size:var(--font-size-sm);cursor:pointer;color:var(--color-text-muted);transition:all var(--transition-fast);background:0 0}.Tutorial-module__-ct3LW__backBtn:hover{border-color:var(--color-text);color:var(--color-text)}.Tutorial-module__-ct3LW__progress{font-size:var(--font-size-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.Tutorial-module__-ct3LW__content{padding:var(--space-xl);justify-content:center;align-items:center;gap:var(--space-xl);flex-direction:column;flex:1;min-height:0;display:flex}.Tutorial-module__-ct3LW__instruction{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-md);text-align:center;width:100%;max-width:500px}.Tutorial-module__-ct3LW__stepTitle{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm)}.Tutorial-module__-ct3LW__stepDesc{font-size:var(--font-size-md);color:var(--color-text-muted);line-height:1.5}.Tutorial-module__-ct3LW__boardPreview{align-items:center;gap:var(--space-md);flex-direction:column;display:flex}.Tutorial-module__-ct3LW__miniBoard{background:var(--color-board-bg);padding:var(--space-lg);border-radius:var(--radius-md);place-items:center;gap:4px;display:grid}.Tutorial-module__-ct3LW__miniCell{border-radius:var(--radius-sm);justify-content:center;align-items:center;width:68px;height:68px;display:flex}.Tutorial-module__-ct3LW__miniCellTarget{background:var(--color-valid);cursor:pointer;border:2px dashed var(--color-valid-border)}.Tutorial-module__-ct3LW__miniCellTarget:hover{background:var(--color-valid-hover)}.Tutorial-module__-ct3LW__handPreview{gap:var(--space-sm);justify-content:center;display:flex}.Tutorial-module__-ct3LW__nav{gap:var(--space-sm);align-items:center;display:flex}.Tutorial-module__-ct3LW__navBtn{padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast);border:none}.Tutorial-module__-ct3LW__navBtnPrimary{background:var(--color-success);color:var(--color-text-inverse)}.Tutorial-module__-ct3LW__navBtnPrimary:hover{background:#0d9668;transform:translateY(-1px)}.Tutorial-module__-ct3LW__navBtnSecondary{color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0}.Tutorial-module__-ct3LW__navBtnSecondary:hover{background:var(--color-surface-alt)}.Tutorial-module__-ct3LW__completedMsg{font-size:var(--font-size-sm);color:var(--color-success);font-weight:var(--font-weight-medium);animation:Tutorial-module__-ct3LW__slideUp var(--transition-normal) ease-out}@media (max-width:768px){.Tutorial-module__-ct3LW__content{padding:var(--space-md);gap:var(--space-md)}.Tutorial-module__-ct3LW__instruction{padding:var(--space-lg)}.Tutorial-module__-ct3LW__miniCell{width:56px;height:56px}}
.TurnTimer-module__Hae3za__timer{z-index:var(--z-controls);align-items:center;gap:var(--space-sm);background:var(--color-surface);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);box-shadow:var(--shadow-sm);font-variant-numeric:tabular-nums;display:flex;position:fixed;top:72px;left:50%;transform:translate(-50%)}.TurnTimer-module__Hae3za__timeText{font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.TurnTimer-module__Hae3za__bar{background:var(--color-divider);border-radius:3px;width:100px;height:6px;overflow:hidden}.TurnTimer-module__Hae3za__barFill{border-radius:3px;height:100%;transition:width 1s linear,background-color .3s}.TurnTimer-module__Hae3za__green{background-color:var(--color-success)}.TurnTimer-module__Hae3za__yellow{background-color:var(--color-warning)}.TurnTimer-module__Hae3za__red{background-color:var(--color-error)}.TurnTimer-module__Hae3za__urgent{animation:.5s ease-in-out infinite TurnTimer-module__Hae3za__pulse}@media (max-width:768px){.TurnTimer-module__Hae3za__timer{top:56px}.TurnTimer-module__Hae3za__bar{width:60px}}
.Lobby-module__egF6Fq__container{min-height:100dvh;padding:var(--space-xl);background-color:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;display:flex}.Lobby-module__egF6Fq__card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-2xl);box-shadow:var(--shadow-lg);gap:var(--space-lg);flex-direction:column;width:100%;max-width:420px;display:flex}.Lobby-module__egF6Fq__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);text-align:center}.Lobby-module__egF6Fq__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;margin-top:calc(-1 * var(--space-sm))}.Lobby-module__egF6Fq__tabs{border-radius:var(--radius-md);border:1px solid var(--color-border);gap:0;display:flex;overflow:hidden}.Lobby-module__egF6Fq__tab{padding:var(--space-sm) var(--space-md);background:var(--color-surface-alt);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);transition:all var(--transition-fast);border:none;flex:1}.Lobby-module__egF6Fq__tab:first-child{border-right:1px solid var(--color-border)}.Lobby-module__egF6Fq__tabActive{background:var(--color-surface);color:var(--color-text);font-weight:var(--font-weight-bold)}.Lobby-module__egF6Fq__field{gap:var(--space-xs);flex-direction:column;display:flex}.Lobby-module__egF6Fq__label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text)}.Lobby-module__egF6Fq__input{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);color:var(--color-text);background:var(--color-surface);transition:border-color var(--transition-fast);outline:none}.Lobby-module__egF6Fq__input:focus{border-color:var(--color-info)}.Lobby-module__egF6Fq__codeInput{text-align:center;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:4px;text-transform:uppercase}.Lobby-module__egF6Fq__playerCountRow{gap:var(--space-sm);display:flex}.Lobby-module__egF6Fq__countBtn{padding:var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text);transition:all var(--transition-fast);flex:1}.Lobby-module__egF6Fq__countBtnActive{border-color:var(--color-info);color:var(--color-info);background:#dbeafe}.Lobby-module__egF6Fq__roomCode{text-align:center;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);letter-spacing:6px;color:var(--color-info);padding:var(--space-md);background:var(--color-surface-alt);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast)}.Lobby-module__egF6Fq__roomCode:hover{background:#dbeafe}.Lobby-module__egF6Fq__copyHint{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted)}.Lobby-module__egF6Fq__playerList{gap:var(--space-sm);flex-direction:column;display:flex}.Lobby-module__egF6Fq__playerItem{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface-alt);border-radius:var(--radius-md);display:flex}.Lobby-module__egF6Fq__playerDot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.Lobby-module__egF6Fq__dotConnected{background:var(--color-success)}.Lobby-module__egF6Fq__dotDisconnected{background:var(--color-error)}.Lobby-module__egF6Fq__playerItemName{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);flex:1}.Lobby-module__egF6Fq__hostBadge{font-size:var(--font-size-xs);color:var(--color-warning);font-weight:var(--font-weight-bold)}.Lobby-module__egF6Fq__waitingDots{text-align:center;font-size:var(--font-size-sm);color:var(--color-text-muted);animation:1.5s ease-in-out infinite Lobby-module__egF6Fq__pulse}.Lobby-module__egF6Fq__primaryBtn{padding:var(--space-md) var(--space-xl);background:var(--color-success);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast);border:none;width:100%}.Lobby-module__egF6Fq__primaryBtn:hover:not(:disabled){background:#0d9668}.Lobby-module__egF6Fq__primaryBtn:disabled{opacity:.5;cursor:not-allowed}.Lobby-module__egF6Fq__secondaryBtn{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;width:100%}.Lobby-module__egF6Fq__secondaryBtn:hover{border-color:var(--color-text);color:var(--color-text)}.Lobby-module__egF6Fq__error{color:#991b1b;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);text-align:center;background:#fee2e2}.Lobby-module__egF6Fq__divider{background:var(--color-divider);height:1px}.Lobby-module__egF6Fq__connectionStatus{align-items:center;gap:var(--space-xs);font-size:var(--font-size-xs);color:var(--color-text-muted);justify-content:center;display:flex}
.Game-module__GRocya__layout{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.Game-module__GRocya__scoreBar{top:var(--space-lg);z-index:var(--z-controls);background:var(--color-surface);padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);align-items:center;gap:var(--space-sm);white-space:nowrap;display:flex;position:fixed;left:50%;transform:translate(-50%)}.Game-module__GRocya__scoreValue{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.Game-module__GRocya__scorePending{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-warning);animation:Game-module__GRocya__scorePopIn var(--transition-slow) ease-out}.Game-module__GRocya__boardArea{flex:1;min-height:0;padding-top:60px;padding-bottom:100px;display:flex}.Game-module__GRocya__hintBadge{top:72px;right:var(--space-lg);z-index:var(--z-controls);color:#1e40af;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);background:#dbeafe;position:fixed}@media (max-width:768px){.Game-module__GRocya__scoreBar{padding:var(--space-xs) var(--space-lg)}.Game-module__GRocya__scoreValue{font-size:var(--font-size-md)}.Game-module__GRocya__boardArea{padding-top:48px;padding-bottom:88px}}
.StatsPage-module__pxkYlG__container{background:var(--color-bg);min-height:100dvh;padding:var(--space-xl)}.StatsPage-module__pxkYlG__inner{gap:var(--space-xl);flex-direction:column;max-width:600px;margin:0 auto;display:flex}.StatsPage-module__pxkYlG__header{align-items:center;gap:var(--space-md);display:flex}.StatsPage-module__pxkYlG__backBtn{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-md);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-muted);transition:all var(--transition-fast);background:0 0}.StatsPage-module__pxkYlG__backBtn:hover{border-color:var(--color-text);color:var(--color-text)}.StatsPage-module__pxkYlG__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);flex:1}.StatsPage-module__pxkYlG__statGrid{gap:var(--space-sm);grid-template-columns:repeat(2,1fr);display:grid}.StatsPage-module__pxkYlG__statCard{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-md);text-align:center;box-shadow:var(--shadow-sm)}.StatsPage-module__pxkYlG__statLabel{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.StatsPage-module__pxkYlG__statValue{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;margin-top:2px}.StatsPage-module__pxkYlG__statHighlight{border-left:3px solid var(--color-success)}.StatsPage-module__pxkYlG__section{gap:var(--space-sm);flex-direction:column;display:flex}.StatsPage-module__pxkYlG__sectionTitle{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text)}.StatsPage-module__pxkYlG__achievementGrid{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.StatsPage-module__pxkYlG__achievement{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex}.StatsPage-module__pxkYlG__locked{opacity:.4}.StatsPage-module__pxkYlG__achieveIcon{text-align:center;flex-shrink:0;width:36px;font-size:1.5rem}.StatsPage-module__pxkYlG__achieveInfo{flex:1;min-width:0}.StatsPage-module__pxkYlG__achieveName{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold)}.StatsPage-module__pxkYlG__achieveDesc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.StatsPage-module__pxkYlG__achieveDate{color:var(--color-success);margin-top:2px;font-size:9px}.StatsPage-module__pxkYlG__gameList{gap:var(--space-xs);flex-direction:column;display:flex}.StatsPage-module__pxkYlG__gameRow{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);font-size:var(--font-size-sm);display:flex}.StatsPage-module__pxkYlG__gameMode{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:capitalize;width:60px}.StatsPage-module__pxkYlG__gameResult{font-weight:var(--font-weight-medium);flex:1}.StatsPage-module__pxkYlG__gameWin{color:var(--color-success)}.StatsPage-module__pxkYlG__gameLoss{color:var(--color-error)}.StatsPage-module__pxkYlG__gameScore{font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;text-align:right;width:40px}.StatsPage-module__pxkYlG__gameDate{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right;width:60px}.StatsPage-module__pxkYlG__winRateBar{background:var(--color-divider);height:8px;margin-top:var(--space-xs);border-radius:4px;overflow:hidden}.StatsPage-module__pxkYlG__winRateFill{background:var(--color-success);height:100%;transition:width var(--transition-slow);border-radius:4px}.StatsPage-module__pxkYlG__noData{text-align:center;color:var(--color-text-muted);padding:var(--space-2xl);font-size:var(--font-size-sm)}@media (max-width:768px){.StatsPage-module__pxkYlG__statGrid{grid-template-columns:repeat(2,1fr)}.StatsPage-module__pxkYlG__achievementGrid{grid-template-columns:1fr}}
.Replay-module__qcMJOG__container{background:var(--color-bg);flex-direction:column;height:100dvh;display:flex}.Replay-module__qcMJOG__header{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-xl);background:var(--color-surface);box-shadow:var(--shadow-sm);z-index:var(--z-controls);display:flex}.Replay-module__qcMJOG__backBtn{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-md);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-muted);transition:all var(--transition-fast);background:0 0}.Replay-module__qcMJOG__backBtn:hover{border-color:var(--color-text);color:var(--color-text)}.Replay-module__qcMJOG__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);flex:1}.Replay-module__qcMJOG__boardArea{flex:1;min-height:0;display:flex;position:relative}.Replay-module__qcMJOG__controls{background:var(--color-surface);padding:var(--space-md) var(--space-xl);box-shadow:var(--shadow-up);gap:var(--space-sm);flex-direction:column;display:flex}.Replay-module__qcMJOG__slider{appearance:none;background:var(--color-divider);cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px}.Replay-module__qcMJOG__slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--color-info);cursor:pointer;border:2px solid var(--color-surface);width:18px;height:18px;box-shadow:var(--shadow-sm);border-radius:50%}.Replay-module__qcMJOG__slider::-moz-range-thumb{background:var(--color-info);cursor:pointer;border:2px solid var(--color-surface);width:18px;height:18px;box-shadow:var(--shadow-sm);border-radius:50%}.Replay-module__qcMJOG__controlRow{align-items:center;gap:var(--space-sm);justify-content:center;display:flex}.Replay-module__qcMJOG__controlBtn{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;width:36px;height:36px;font-size:var(--font-size-md);color:var(--color-text);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.Replay-module__qcMJOG__controlBtn:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-info)}.Replay-module__qcMJOG__controlBtn:disabled{opacity:.3;cursor:not-allowed}.Replay-module__qcMJOG__turnInfo{text-align:center;min-width:200px}.Replay-module__qcMJOG__turnLabel{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text)}.Replay-module__qcMJOG__turnDetail{font-size:var(--font-size-xs);color:var(--color-text-muted)}.Replay-module__qcMJOG__turnList{background:var(--color-surface);border-left:1px solid var(--color-border);width:220px;padding:var(--space-sm);z-index:var(--z-controls);flex-direction:column;gap:2px;display:flex;position:absolute;top:0;bottom:0;right:0;overflow-y:auto}.Replay-module__qcMJOG__turnItem{align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-xs);transition:background-color var(--transition-fast);text-align:left;width:100%;color:var(--color-text);background:0 0;border:none;display:flex}.Replay-module__qcMJOG__turnItem:hover{background:var(--color-surface-alt)}.Replay-module__qcMJOG__turnItemActive{background:var(--color-surface-alt);font-weight:var(--font-weight-bold)}.Replay-module__qcMJOG__turnItemName{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.Replay-module__qcMJOG__turnItemScore{font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;color:var(--color-success)}.Replay-module__qcMJOG__turnItemCards{color:var(--color-text-muted);font-variant-numeric:tabular-nums}.Replay-module__qcMJOG__highlightedCard{outline:3px solid var(--color-warning);outline-offset:2px;border-radius:var(--radius-md)}.Replay-module__qcMJOG__analysisHint{color:var(--color-warning);font-weight:var(--font-weight-medium)}.Replay-module__qcMJOG__analysisOptimal{color:var(--color-success);font-weight:var(--font-weight-medium)}.Replay-module__qcMJOG__analysisSummary{font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center;padding:var(--space-xs) var(--space-md);background:var(--color-surface-alt);border-radius:var(--radius-pill)}@media (max-width:768px){.Replay-module__qcMJOG__turnList{display:none}}
.PatternTrainer-module__nI14Eq__container{min-height:100dvh;padding:var(--space-xl);background:var(--color-bg);justify-content:center;align-items:center;gap:var(--space-xl);flex-direction:column;display:flex}.PatternTrainer-module__nI14Eq__card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-2xl);box-shadow:var(--shadow-lg);align-items:center;gap:var(--space-lg);flex-direction:column;width:100%;max-width:480px;display:flex}.PatternTrainer-module__nI14Eq__header{align-items:center;gap:var(--space-md);width:100%;display:flex}.PatternTrainer-module__nI14Eq__backBtn{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-md);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-muted);background:0 0}.PatternTrainer-module__nI14Eq__backBtn:hover{border-color:var(--color-text);color:var(--color-text)}.PatternTrainer-module__nI14Eq__title{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);text-align:center;flex:1}.PatternTrainer-module__nI14Eq__stats{gap:var(--space-lg);font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex}.PatternTrainer-module__nI14Eq__statBold{font-weight:var(--font-weight-bold);color:var(--color-text)}.PatternTrainer-module__nI14Eq__prompt{font-size:var(--font-size-md);color:var(--color-text-muted);text-align:center}.PatternTrainer-module__nI14Eq__lineDisplay{gap:var(--space-md);justify-content:center;align-items:center;display:flex}.PatternTrainer-module__nI14Eq__questionMark{border:2px dashed var(--color-border);border-radius:var(--radius-md);width:60px;height:60px;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}.PatternTrainer-module__nI14Eq__choices{gap:var(--space-sm);grid-template-columns:repeat(2,1fr);width:100%;display:grid}.PatternTrainer-module__nI14Eq__choiceBtn{padding:var(--space-md);background:var(--color-surface-alt);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:2px solid #0000;justify-content:center;align-items:center;display:flex}.PatternTrainer-module__nI14Eq__choiceBtn:hover{border-color:var(--color-info)}.PatternTrainer-module__nI14Eq__correct{background:#dcfce7;border-color:var(--color-success)!important}.PatternTrainer-module__nI14Eq__incorrect{background:#fee2e2;border-color:var(--color-error)!important}.PatternTrainer-module__nI14Eq__disabled{pointer-events:none}.PatternTrainer-module__nI14Eq__feedback{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);text-align:center;animation:PatternTrainer-module__nI14Eq__slideUp var(--transition-normal) ease-out}.PatternTrainer-module__nI14Eq__feedbackCorrect{color:var(--color-success)}.PatternTrainer-module__nI14Eq__feedbackIncorrect{color:var(--color-error)}.PatternTrainer-module__nI14Eq__timer{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.PatternTrainer-module__nI14Eq__nextBtn{padding:var(--space-sm) var(--space-xl);background:var(--color-info);color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--transition-fast);border:none}.PatternTrainer-module__nI14Eq__nextBtn:hover{background:#1d4ed8}.PatternTrainer-module__nI14Eq__divider{background:var(--color-divider);width:100%;height:1px}
.DailyChallenge-module__KQZxdW__container{min-height:100dvh;padding:var(--space-xl);background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;display:flex}.DailyChallenge-module__KQZxdW__card{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-2xl);box-shadow:var(--shadow-lg);gap:var(--space-lg);flex-direction:column;align-items:center;width:100%;max-width:400px;display:flex}.DailyChallenge-module__KQZxdW__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.DailyChallenge-module__KQZxdW__date{font-size:var(--font-size-md);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.DailyChallenge-module__KQZxdW__divider{background:var(--color-divider);width:100%;height:1px}.DailyChallenge-module__KQZxdW__streakRow{gap:var(--space-xl);text-align:center;display:flex}.DailyChallenge-module__KQZxdW__streakItem{flex-direction:column;gap:2px;display:flex}.DailyChallenge-module__KQZxdW__streakValue{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums}.DailyChallenge-module__KQZxdW__streakLabel{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase}.DailyChallenge-module__KQZxdW__completedBadge{color:#166534;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-pill);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);background:#dcfce7}.DailyChallenge-module__KQZxdW__scoreDisplay{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.DailyChallenge-module__KQZxdW__playBtn{padding:var(--space-md) var(--space-2xl);background:var(--color-success);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast);border:none;width:100%}.DailyChallenge-module__KQZxdW__playBtn:hover{background:#0d9668}.DailyChallenge-module__KQZxdW__playBtn:disabled{opacity:.5;cursor:not-allowed}.DailyChallenge-module__KQZxdW__backBtn{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;width:100%}.DailyChallenge-module__KQZxdW__backBtn:hover{border-color:var(--color-text);color:var(--color-text)}.DailyChallenge-module__KQZxdW__recentList{gap:var(--space-xs);flex-direction:column;width:100%;display:flex}.DailyChallenge-module__KQZxdW__recentItem{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-muted);justify-content:space-between;display:flex}.DailyChallenge-module__KQZxdW__recentScore{font-weight:var(--font-weight-bold);color:var(--color-text)}
.ErrorBoundary-module__uKYcQa__container{min-height:100dvh;padding:var(--space-xl);background:var(--color-bg);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.ErrorBoundary-module__uKYcQa__icon{margin-bottom:var(--space-lg);font-size:3rem}.ErrorBoundary-module__uKYcQa__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-sm)}.ErrorBoundary-module__uKYcQa__message{font-size:var(--font-size-md);color:var(--color-text-muted);margin-bottom:var(--space-xl);max-width:400px;line-height:1.5}.ErrorBoundary-module__uKYcQa__retryBtn{padding:var(--space-md) var(--space-2xl);background:var(--color-info);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);cursor:pointer;transition:background-color var(--transition-fast);border:none}.ErrorBoundary-module__uKYcQa__retryBtn:hover{background:#1d4ed8}
