body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.015;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:192px 192px}.mp-game__progress-stack{display:flex;flex-direction:column;gap:6px;width:100%;max-width:100%;margin-bottom:10px}.mp-game__progress-stack .sudoku-fill-progress{gap:10px;padding:4px 0}.mp-game__progress-stack .sudoku-fill-progress__label{min-width:4.75rem;max-width:14rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.64rem;font-weight:700;letter-spacing:.045em;color:#6f8596}.mp-game__progress-stack .sudoku-fill-progress__track{height:7px;border-radius:999px;border:1px solid rgba(84,102,128,.16);background:linear-gradient(180deg,#fffffff2,#edf3faf2);overflow:hidden}.mp-game__progress-stack .sudoku-fill-progress__fill{border-radius:inherit;opacity:.9;box-shadow:0 0 0 1px #ffffff2e inset;transition:width .22s ease}.mp-game__progress-stack .sudoku-fill-progress__pct{min-width:2.45rem;font-size:.73rem;font-weight:700;color:#4f6678}.mp-game__progress-stack .sudoku-fill-progress--you,.mp-game__progress-stack .sudoku-fill-progress--you .sudoku-fill-progress__label,.mp-game__progress-stack .sudoku-fill-progress--you .sudoku-fill-progress__pct{color:color-mix(in srgb,var(--color-primary-strong) 72%,#2a4459)}.mp-game__progress-stack .sudoku-fill-progress--opponent,.mp-game__progress-stack .sudoku-fill-progress--opponent .sudoku-fill-progress__label,.mp-game__progress-stack .sudoku-fill-progress--opponent .sudoku-fill-progress__pct{color:#684793}@media(max-width:420px){.mp-game__progress-stack .sudoku-fill-progress{gap:8px}.mp-game__progress-stack .sudoku-fill-progress__label{max-width:10rem;font-size:.62rem}}.mp-game__board-wrap{display:flex;flex-direction:column;align-items:stretch;width:100%;max-width:100%}.mp-game__name-gate-lobby{margin:20px 0 0;text-align:center}.mp-game__actions{display:flex;flex-wrap:wrap;gap:8px}.mp-game__actions--bottom{justify-content:center;margin-top:10px}.mp-game__resign-btn{border-color:#b4530959;color:#9a3412eb}.mp-game__resign-btn:hover{border-color:#b453098c;color:#7f1d1df2}.mp-game__resign-dialog{z-index:9600}.mp-game__resign-dialog .name-modal__backdrop{cursor:pointer}.mp-game__resign-dialog__panel.name-modal__content{max-width:400px;padding:28px 24px 24px}.mp-game__resign-dialog__icon.name-modal__icon{margin-bottom:14px;background:linear-gradient(145deg,color-mix(in srgb,#f59e0b 28%,var(--color-primary-surface)),color-mix(in srgb,#ea580c 22%,var(--color-primary-surface-mid)));color:#9a3412;box-shadow:0 1px #ffffffa6 inset,0 10px 28px -12px #b4530959}.mp-game__resign-dialog__title.name-modal__title{margin-bottom:10px;font-size:1.25rem;letter-spacing:-.02em}.mp-game__resign-dialog__body{margin:0;font-size:.98rem;font-weight:500;line-height:1.5;color:#546e7a}.mp-game__resign-dialog__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:26px}.mp-game__resign-dialog__btn{min-width:7.5rem;padding:12px 18px;font-size:.98rem;font-weight:700;border-radius:var(--radius-lg);cursor:pointer;border:none;transition:transform .12s ease,box-shadow .12s ease,background .12s ease,border-color .12s ease,color .12s ease}.mp-game__resign-dialog__btn:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary-strong) 45%,transparent);outline-offset:3px}.mp-game__resign-dialog__btn--secondary{border:2px solid #cfd8dc;background:var(--surface-elevated);color:#37474f;font-weight:600}.mp-game__resign-dialog__btn--secondary:hover{border-color:#b0bec5;background:var(--surface)}.mp-game__resign-dialog__btn--danger{color:#fff;background:linear-gradient(135deg,#ea580c,#c2410c);box-shadow:0 4px 16px -4px #c2410c8c,0 1px #fff3 inset}.mp-game__resign-dialog__btn--danger:hover{filter:brightness(1.04);box-shadow:0 6px 20px -4px #c2410c99,0 1px #ffffff38 inset}.mp-game__resign-dialog__btn--danger:active{transform:translateY(1px)}@media(max-width:380px){.mp-game__resign-dialog__actions{flex-direction:column-reverse;width:100%}.mp-game__resign-dialog__btn{width:100%}}.mp-game__link-btn--subtle{padding:4px 8px;border:1px solid rgba(15,23,42,.18);border-radius:8px;background:transparent;color:#0f172ab3;font-size:.85rem;font-weight:500;text-decoration:none;cursor:pointer;opacity:.9;transition:opacity .12s ease,border-color .12s ease,color .12s ease}.mp-game__link-btn--subtle:hover{opacity:1;border-color:#0f172a47;color:#0f172ad1}.mp-game__link-btn--subtle:focus-visible{outline:2px solid rgba(30,64,175,.35);outline-offset:2px}.mp-game__result-overlay{z-index:9500}.mp-game__result-modal{text-align:center}.mp-game__result-trophy--lose{background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.88),transparent 60%),linear-gradient(140deg,#fecdd3,#fb7185 42%,#e11d48)!important;box-shadow:0 1px #ffffffeb inset,0 20px 40px -10px #be123c61,0 0 0 8px #fecdd373!important}.mp-game__result-trophy--lose svg{color:#5c1818;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15))}.mp-game__result-modal-summary{margin-top:0;margin-bottom:28px;padding:16px 24px;border-radius:var(--radius-xl);background:var(--surface-elevated);border:1px solid #e8edf2;text-align:left;animation:winSlideUp .5s .2s cubic-bezier(.22,1,.36,1) both}.mp-game__result-modal-winner{margin:0 0 1rem;font-size:1rem;font-weight:700;color:#37474f;text-align:center;line-height:1.45}.mp-game__result-modal-summary-title{margin:0 0 .5rem;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.mp-game__result-modal-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.mp-game__result-modal-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.95rem;color:#37474f}.mp-game__result-modal-row-name{font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis}.mp-game__result-modal-row-pct{flex-shrink:0;font-variant-numeric:tabular-nums;color:#64748b;font-weight:600}.mp-game__result-modal-hint{margin:0;font-size:.9rem;line-height:1.45;color:#64748b;text-align:center}.mp-game__result-modal-rematch{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.65rem;align-items:stretch}.mp-game__result-modal-rematch .win-overlay__cta-big{width:100%;margin-bottom:0}.mp-game__result-modal-lobby-wrap{margin-top:.75rem}.mp-game__result-modal-lobby-wrap .win-overlay__cta-big{width:100%;margin-bottom:0}.mp-lobby__searching{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:8px;padding:14px 12px 6px;border-radius:12px;background:radial-gradient(circle at 50% 0%,#52a1fd29,#52a1fd00 70%)}.mp-lobby__active-room{margin-bottom:12px;padding:12px;border-radius:12px;border:1px solid rgba(70,130,210,.32);background:linear-gradient(180deg,#54a2ff24,#54a2ff0d);display:flex;flex-direction:column;gap:8px}.mp-lobby__active-room-title{margin:0;font-weight:700}.mp-lobby__active-room-text{margin:0}.mp-lobby__active-room-link{align-self:flex-start;text-decoration:none}.mp-lobby__searching-text{margin:2px 0 0;font-weight:700;letter-spacing:.01em}.mp-lobby__searching-dots{display:inline-block;min-width:1.9ch;text-align:left}.mp-lobby__searching-progress{width:min(280px,80%);height:6px;border-radius:999px;background:#52a1fd2e;overflow:hidden;margin:4px 0 2px;box-shadow:inset 0 1px 2px #00000014}.mp-lobby__searching-progress-bar{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#4f8cff,#34c6b5);box-shadow:0 0 8px #4f8cff73;animation:mpSearchProgress 15s cubic-bezier(.25,.1,.25,1) forwards}@keyframes mpSearchProgress{0%{width:0}to{width:100%}}@media(prefers-reduced-motion:reduce){.mp-game__progress-stack .sudoku-fill-progress__fill{transition:none}.mp-invite__dot{animation:none}.mp-game__result-modal-summary{animation:none!important}.mp-lobby__searching-progress-bar{animation:none;width:60%;opacity:1}}.mp-lobby{display:flex;flex-direction:column;gap:12px;width:100%}.mp-lobby__card{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.mp-lobby__card--ranked{border-color:#1976d247;background:linear-gradient(160deg,#f0f7ff,#fff 60%)}.mp-lobby__card-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.mp-lobby__ranked-badge{background:var(--gradient-cta);color:#fff;font-size:.6rem;font-weight:800;letter-spacing:.07em;padding:2px 7px;border-radius:99px}.mp-lobby__card-title{margin:0;font-size:1.05rem;font-weight:700;color:#1a2636}.mp-lobby__card-desc{margin:0 0 12px;font-size:.875rem;color:#5a6a7a;line-height:1.5}.mp-lobby__rating{margin:0 0 10px;font-size:.85rem;color:#4a5568}.mp-lobby__fieldset{border:none;margin:0 0 12px;padding:0}.mp-lobby__legend{font-size:.72rem;font-weight:700;letter-spacing:.06em;color:#7a8fa3;text-transform:uppercase;margin-bottom:6px}.mp-lobby__diff-row{display:flex;gap:6px}.mp-lobby__diff{flex:1;padding:6px 10px;border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);background:transparent;font-size:.82rem;font-weight:600;color:#4a5a6a;cursor:pointer;transition:border-color .14s,background .14s,color .14s}.mp-lobby__diff:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary-strong)}.mp-lobby__diff--active{border-color:var(--color-primary);background:var(--color-primary-surface);color:var(--color-primary-strong)}.mp-lobby__diff:disabled{opacity:.55;cursor:not-allowed}.mp-lobby__btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:10px 16px;border:none;border-radius:var(--radius-md);background:var(--gradient-cta);color:#fff;font-size:.92rem;font-weight:700;cursor:pointer;transition:opacity .14s,transform .14s}.mp-lobby__btn:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.mp-lobby__btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.mp-lobby__secondary{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);background:transparent;color:#3a5068;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:none;transition:border-color .14s,background .14s}.mp-lobby__secondary:hover{border-color:var(--color-primary);background:var(--color-primary-surface)}.mp-lobby__divider{display:flex;align-items:center;gap:10px;color:#9aacba;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.mp-lobby__divider:before,.mp-lobby__divider:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.mp-lobby__card-sep{border:none;border-top:1px solid var(--border-subtle);margin:14px 0}.mp-lobby__how-label{margin:0 0 10px;font-size:.68rem;font-weight:800;letter-spacing:.08em;color:#5a7189;text-transform:uppercase}.mp-lobby__steps{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:10px}.mp-lobby__step{display:flex;gap:10px;align-items:flex-start}.mp-lobby__step-num{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--gradient-cta);color:#fff;font-size:.72rem;font-weight:800;display:grid;place-items:center}.mp-lobby__step-body{display:flex;flex-direction:column;gap:2px}.mp-lobby__step-title{font-size:.82rem;font-weight:700;color:#1a2636}.mp-lobby__step-desc{margin:0;font-size:.78rem;color:#506670;line-height:1.4}.mp-lobby__playing-as{display:flex;align-items:center;gap:6px;font-size:.82rem;color:#5a6a7a;padding-top:2px}.mp-lobby__name-edit-btn{background:transparent;border:none;cursor:pointer;color:#7a9ab8;padding:2px;display:grid;place-items:center;border-radius:4px;transition:color .13s}.mp-lobby__name-edit-btn:hover{color:var(--color-primary)}.mp-lobby__name-edit-form{display:flex;gap:6px;flex-wrap:wrap;width:100%}.mp-lobby__name-input{flex:1;min-width:0;padding:5px 8px;border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.85rem}.mp-lobby__name-input:focus{outline:none;border-color:var(--color-primary)}.mp-lobby__name-action-btn{padding:5px 10px;border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);background:transparent;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .13s,border-color .13s}.mp-lobby__name-action-btn:hover{background:var(--color-primary-surface);border-color:var(--color-primary)}.mp-lobby__name-action-btn--cancel{color:#7a8a9a}.mp-lobby__stats{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 0 2px;flex-wrap:wrap}.mp-lobby__stat{display:flex;align-items:center;gap:5px;font-size:.78rem;font-weight:600;color:#7a8fa3}.mp-lobby__stat-sep{width:3px;height:3px;border-radius:50%;background:#c4d0da}.mp-invite{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);overflow:hidden;border:1px solid var(--border-subtle)}.mp-invite__header{background:var(--gradient-cta);padding:22px 20px 18px;display:flex;flex-direction:column;align-items:center;gap:14px}.mp-invite__title{margin:0;color:#fff;font-size:1.18rem;font-weight:800;text-align:center;letter-spacing:-.01em}.mp-invite__steps{display:flex;align-items:center;gap:8px}.mp-invite__step{display:flex;align-items:center;gap:6px}.mp-invite__step-num{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:800;background:#ffffff38;color:#ffffffb3;border:1.5px solid rgba(255,255,255,.35)}.mp-invite__step--active .mp-invite__step-num{background:#fff;color:var(--color-primary);border-color:#fff}.mp-invite__step-label{font-size:.8rem;font-weight:600;color:#ffffffbf}.mp-invite__step--active .mp-invite__step-label{color:#fff}.mp-invite__step-arrow{color:#ffffff73;font-size:1rem;line-height:1}.mp-invite__body{padding:20px;display:flex;flex-direction:column;gap:18px}.mp-invite__url-row{display:flex;gap:8px}.mp-invite__url-input{flex:1;min-width:0;padding:9px 12px;border:1.5px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.78rem;font-family:inherit;color:#4a5a6a;background:var(--surface-elevated);cursor:text;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mp-invite__url-input:focus{outline:none;border-color:var(--color-primary)}.mp-invite__copy-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:none;border-radius:var(--radius-md);background:var(--gradient-cta);color:#fff;font-size:.85rem;font-weight:700;cursor:pointer;transition:opacity .14s,transform .14s;white-space:nowrap}.mp-invite__copy-btn:hover{opacity:.9;transform:translateY(-1px)}.mp-invite__copy-btn:active{transform:translateY(0)}.mp-invite__players{display:flex;align-items:center;justify-content:center;gap:12px}.mp-invite__player-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;border:1.5px solid #e4ecf3;border-radius:var(--radius-lg);background:#f8fafc;min-width:0}.mp-invite__player-card--joined{border-color:var(--color-primary-surface-mid);background:var(--color-primary-surface)}.mp-invite__player-icon{width:52px;height:52px;border-radius:50%;background:#e8edf2;display:grid;place-items:center;color:#9aadb8}.mp-invite__player-icon--you,.mp-invite__player-card--joined .mp-invite__player-icon{background:var(--color-primary-surface);color:var(--color-primary-strong);border:2px solid var(--color-primary-surface-mid)}.mp-invite__player-name{font-size:.92rem;font-weight:700;color:#1a2636}.mp-invite__player-status{font-size:.65rem;font-weight:800;letter-spacing:.06em;padding:3px 8px;border-radius:99px}.mp-invite__player-status--ready{color:var(--color-primary-strong)}.mp-invite__player-status--waiting{color:#94a3b8;background:#f1f5f9;border-radius:99px}.mp-invite__vs{font-size:.82rem;font-weight:800;color:#94a3b8;letter-spacing:.04em;flex-shrink:0}.mp-invite__waiting-bar{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 16px;background:var(--color-primary-surface);border:1px solid var(--color-primary-surface-mid);border-radius:var(--radius-md);font-size:.88rem;font-weight:700;color:var(--color-secondary)}.mp-invite__footer{display:flex;align-items:center;justify-content:space-between;padding-top:2px}.mp-invite__connection{display:flex;align-items:center;gap:6px;font-size:.78rem;color:#546e7a;font-weight:600}.mp-invite__dot{width:8px;height:8px;border-radius:50%;background:#43a047;box-shadow:0 0 0 2px #43a04740;animation:mp-invite-pulse 2s ease-in-out infinite}@keyframes mp-invite-pulse{0%,to{box-shadow:0 0 0 2px #43a04740}50%{box-shadow:0 0 0 4px #43a0471f}}.mp-invite__cancel-btn{padding:5px 12px;border:1.5px solid #e4ecf3;border-radius:var(--radius-md);background:transparent;color:#7a8fa3;font-size:.8rem;font-weight:600;cursor:pointer;transition:border-color .13s,color .13s}.mp-invite__cancel-btn:hover{border-color:#c0ccd8;color:#4a5a6a}.mp-waiting-spinner{display:block;width:18px;height:18px;border-radius:50%;border:2.5px solid var(--color-primary-surface-mid);border-top-color:var(--color-primary);animation:mp-waiting-spin .8s linear infinite;flex-shrink:0}@keyframes mp-waiting-spin{to{transform:rotate(360deg)}}.mp-waiting-search{width:104px;height:104px;display:grid;place-items:center}.mp-waiting-search__grid{--cell-size: 24px;position:relative;width:calc(var(--cell-size) * 3);height:calc(var(--cell-size) * 3);display:grid;grid-template-columns:repeat(3,1fr);border:2px solid rgba(56,92,141,.92);border-radius:6px;overflow:hidden;box-shadow:0 6px 18px #223e6738;background:#f7fbff}.mp-waiting-search__cell{border-right:1px solid rgba(93,128,173,.52);border-bottom:1px solid rgba(93,128,173,.52);display:grid;place-items:center;font-size:13px;font-weight:700;color:#2a4365e6;background:#ffffffe6}.mp-waiting-search__cell:nth-child(3n){border-right:none}.mp-waiting-search__cell:nth-child(n+7){border-bottom:none}.mp-waiting-search__cell--given{color:#162b4af2;font-weight:800;background:#ebf5fff0}.mp-waiting-search__cell--play{color:#2f6ebdf5;font-weight:700}.mp-waiting-search__cell--play .mp-waiting-search__cell-play-value{opacity:.08;transform:translateY(2px) scale(.94);animation:mp-waiting-cell-fill 2.8s ease-in-out infinite}.mp-waiting-search__cell:nth-child(2) .mp-waiting-search__cell-play-value{animation-delay:.2s}.mp-waiting-search__cell:nth-child(4) .mp-waiting-search__cell-play-value{animation-delay:.95s}.mp-waiting-search__cell:nth-child(6) .mp-waiting-search__cell-play-value{animation-delay:1.6s}.mp-waiting-search__cell:nth-child(7) .mp-waiting-search__cell-play-value{animation-delay:1.2s}.mp-waiting-search__cell:nth-child(9) .mp-waiting-search__cell-play-value{animation-delay:2.2s}.mp-waiting-search__cursor{position:absolute;inset:0;width:var(--cell-size);height:var(--cell-size);border:2px solid rgba(91,167,255,.98);box-shadow:0 0 0 1px #fffc,0 0 14px #5ba7ff99;border-radius:4px;pointer-events:none;animation:mp-waiting-cursor-path 2.8s steps(1,end) infinite}@keyframes mp-waiting-cell-fill{0%,to{opacity:.08;transform:translateY(2px) scale(.94)}18%,45%{opacity:1;transform:translateY(0) scale(1)}70%{opacity:.65;transform:translateY(0) scale(.98)}}@keyframes mp-waiting-cursor-path{0%{transform:translate(0)}16%{transform:translate(24px)}32%{transform:translate(24px,24px)}48%{transform:translateY(24px)}64%{transform:translateY(48px)}80%{transform:translate(24px,48px)}to{transform:translate(48px,48px)}}@media(prefers-reduced-motion:reduce){.mp-waiting-spinner,.mp-waiting-search__cell--play .mp-waiting-search__cell-play-value,.mp-waiting-search__cursor{animation:none}.mp-waiting-search__cell--play .mp-waiting-search__cell-play-value{opacity:.95;transform:none}}html{min-height:100%;background:linear-gradient(127deg,#e5ecf3,#f6f8fa 45%,#e8eef4)}body{min-height:100%;background:transparent}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.015;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='256' height='256'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:192px 192px}body>main,body>footer{position:relative;z-index:1}.app-root{width:100%;min-height:100%}.daily-gate{margin-bottom:1rem;min-height:200px}.daily-gate__inner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1rem;padding:1rem 0;min-height:200px;box-sizing:border-box}.daily-gate__lead{margin:0;font-size:1rem;color:#37474f}.daily-gate__countdown{margin:0;font-size:1.5rem;font-weight:600;font-variant-numeric:tabular-nums;color:#263238}.daily-gate__err{margin:0;color:#c62828;font-size:.9rem}.daily-gate__start{min-width:8rem}.daily-gate__instructions{margin:.75rem 0 0;max-width:40rem;font-size:.8125rem;line-height:1.5;color:#616161}.daily-blocked{padding:1.5rem}.daily-blocked--center{text-align:center}.daily-blocked__msg{margin:0;font-size:1rem;color:#37474f}.journey-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;min-height:400px;padding:2rem}.journey-loader__spinner{width:44px;height:44px;border-radius:50%;border:3px solid color-mix(in srgb,var(--color-primary) 18%,transparent);border-top-color:var(--color-primary);animation:journey-loader-spin .9s linear infinite}@keyframes journey-loader-spin{to{transform:rotate(360deg)}}.sudoku-board-wrap{border:2px solid #424242;display:inline-block;flex-shrink:0;outline:none}.sudoku-row{display:flex}.sudoku-cell{width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:22px;-webkit-user-select:none;user-select:none;z-index:0}@media(prefers-reduced-motion:no-preference){.sudoku-cell{position:relative;isolation:isolate;transition:background-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.sudoku-cell:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard);background:linear-gradient(145deg,rgb(from var(--color-primary) r g b / .06),transparent 62%)}.sudoku-cell:not(.sudoku-cell--given):not(.sudoku-cell--state-error):hover:before{opacity:1}.sudoku-cell--given:before,.sudoku-cell--state-error:before{display:none}}.sudoku-cell--given{cursor:default;font-weight:700;color:#212121}.sudoku-cell--given.sudoku-cell--hl:hover{background:var(--color-primary-surface)}.sudoku-cell--given:hover{background:var(--surface)}.sudoku-cell:not(.sudoku-cell--given):hover{background:var(--color-primary-surface-soft)}.sudoku-cell--selected:not(.sudoku-cell--given):hover{background:var(--color-primary-surface-mid)}.sudoku-cell--state-selected{background:var(--color-primary-surface-mid);box-shadow:0 0 0 1px rgb(from var(--color-primary-strong) r g b / .48),0 0 10px 3px rgb(from var(--color-primary) r g b / .28);z-index:1}.sudoku-cell--state-error{color:#d32f2f;font-weight:700;background:#ffebee;box-shadow:inset 0 0 0 2px #d32f2f;z-index:1}.sudoku-cell--state-same{background:#c8e6c9}.sudoku-cell--state-hl{background:var(--color-primary-surface)}.sudoku-cell--state-default{background:var(--surface);font-weight:400}.sudoku-cell:not(.sudoku-cell--given):not(.sudoku-cell--state-error){color:var(--color-primary-strong)}.sudoku-cell:not(.sudoku-cell--given){font-family:KBWritersBlock,Comic Sans MS,sans-serif}.sudoku-notes{display:grid;grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:2px;position:relative;z-index:1}@media(max-width:337px){.sudoku-cell{width:32px;height:32px}}@media(min-width:338px)and (max-width:363px){.sudoku-cell{width:34px;height:34px}}@media(min-width:364px)and (max-width:372px){.sudoku-cell{width:36px;height:36px}}@media(min-width:373px)and (max-width:381px){.sudoku-cell{width:38px;height:38px}}@media(min-width:382px)and (max-width:408px){.sudoku-cell{width:39px;height:39px}}.sudoku-notes span{font-size:9px;line-height:1;display:flex;align-items:center;justify-content:center;color:var(--color-secondary-soft);font-weight:600}.sudoku-cell__digit{position:relative;z-index:1;display:inline-block}.sudoku-notes__mark{border-radius:2px;transition:color var(--duration-fast) var(--ease-standard),background-color var(--duration-fast) var(--ease-standard)}.sudoku-notes__mark--on{color:var(--color-secondary-strong)}@media(prefers-reduced-motion:no-preference){@keyframes sudoku-cell-select-pulse{0%{box-shadow:0 0 0 1px rgb(from var(--color-primary-strong) r g b / .35),0 0 6px 2px rgb(from var(--color-primary) r g b / .18)}50%{box-shadow:0 0 0 1px rgb(from var(--color-primary-strong) r g b / .58),0 0 16px 5px rgb(from var(--color-primary) r g b / .32)}to{box-shadow:0 0 0 1px rgb(from var(--color-primary-strong) r g b / .48),0 0 10px 3px rgb(from var(--color-primary) r g b / .28)}}@keyframes sudoku-cell-fill-flash{0%{opacity:0;transform:scale(.94)}45%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}@keyframes sudoku-cell-fill-clear{0%{opacity:0}40%{opacity:1}to{opacity:0}}@keyframes sudoku-digit-pop{0%{transform:scale(.86);opacity:.72}55%{transform:scale(1.05);opacity:1}to{transform:scale(1);opacity:1}}@keyframes sudoku-note-pop{0%{transform:scale(.68);opacity:.55}to{transform:scale(1);opacity:1}}@keyframes sudoku-note-wink{0%{transform:scale(1);opacity:1}50%{transform:scale(.78);opacity:.35}to{transform:scale(1);opacity:1}}.sudoku-cell--state-selected.sudoku-cell--anim-select{animation:sudoku-cell-select-pulse .42s var(--ease-standard) 1}.sudoku-cell--anim-fill-value:after,.sudoku-cell--anim-fill-note:after,.sudoku-cell--anim-fill-clear:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0}.sudoku-cell--anim-fill-value:after{background:radial-gradient(circle at 50% 45%,rgb(from var(--color-primary) r g b / .26),transparent 58%);animation:sudoku-cell-fill-flash .38s var(--ease-standard) 1 forwards}.sudoku-cell--anim-fill-note:after{background:radial-gradient(circle at 50% 50%,rgb(from var(--color-secondary-soft) r g b / .28),transparent 55%);animation:sudoku-cell-fill-flash .36s var(--ease-standard) 1 forwards}.sudoku-cell--anim-fill-clear:after{background:radial-gradient(circle at 50% 45%,rgb(from var(--color-primary) r g b / .12),transparent 62%);animation:sudoku-cell-fill-clear .34s var(--ease-standard) 1 forwards}.sudoku-cell__digit--pop{animation:sudoku-digit-pop .3s cubic-bezier(.34,1.56,.64,1) 1}.sudoku-notes__mark--pop{animation:sudoku-note-pop .28s cubic-bezier(.34,1.56,.64,1) 1}.sudoku-notes__mark--wink{animation:sudoku-note-wink .3s var(--ease-standard) 1}}.btn.btn--outline.btn--notes-on{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:inset 0 3px 10px #00000052;transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.btn.btn--outline.btn--notes-on .play-controls__action-icon{color:#fff}.btn.btn--outline.btn--notes-on:hover:not(:disabled){background:var(--color-primary-strong);border-color:var(--color-primary-strong);box-shadow:inset 0 3px 10px #0000005c}.btn.btn--outline.btn--num-pad{width:40px;height:40px;min-width:0;padding:0;font-size:20px;line-height:1;box-shadow:0 1px 2px #0000000f;transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.btn.btn--outline.btn--num-pad:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 6px #0000001a,0 1px 2px #0000000f}.btn.btn--outline.btn--num-pad:active:not(:disabled){transform:translateY(0) scale(.97);box-shadow:0 1px 2px #00000012}.toggle-group{display:inline-flex;border-radius:var(--radius-sm);overflow:hidden;border:1px solid rgba(0,0,0,.23);padding:1px 0;box-sizing:border-box}.toggle-group__btn{font:inherit;font-size:.8125rem;padding:6px 12px;border:none;background:var(--surface);color:#616161;cursor:pointer;border-right:1px solid rgba(0,0,0,.12);box-shadow:none;transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}a.toggle-group__btn{text-decoration:none;color:inherit;display:inline-flex;align-items:center;justify-content:center}.toggle-group__btn:last-child{border-right:none}.toggle-group__btn:hover:not(:disabled){background:#0000000a;transform:translateY(-1px);box-shadow:0 2px 5px #00000014}.toggle-group__btn:active:not(:disabled){transform:translateY(0);box-shadow:none}.toggle-group__btn--active{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);font-weight:600}.chip{display:inline-flex;align-items:center;padding:4px 10px;font-size:.8125rem;border-radius:var(--radius-xl);border:1px solid rgba(0,0,0,.23);background:var(--surface);color:#616161;font-variant-numeric:tabular-nums;box-shadow:0 1px 2px #0000000f;transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.chip:hover{transform:translateY(-1px);box-shadow:0 2px 6px #0000001a,0 1px 2px #0000000f}.chip:active{transform:translateY(0);box-shadow:0 1px 2px #00000012}@media(prefers-reduced-motion:reduce){.toggle-group__btn,.chip,.btn.btn--outline.btn--num-pad{transition:box-shadow var(--duration-fast) var(--ease-standard),background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.toggle-group__btn:hover:not(:disabled),.toggle-group__btn:active:not(:disabled),.chip:hover,.chip:active,.btn.btn--outline.btn--num-pad:hover:not(:disabled),.btn.btn--outline.btn--num-pad:active:not(:disabled){transform:none}}.card__header:has(.play-toolbar){justify-content:center;padding:12px 16px}.play-toolbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px 16px;width:100%}.play-toolbar>.play-timer{justify-self:start}.play-toolbar__center{justify-self:center;display:inline-flex;align-items:center;min-width:0}.play-toolbar__actions{justify-self:end;display:inline-flex;align-items:center;gap:4px}.play-toolbar__btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.play-toolbar__btn svg{width:14px;height:14px;flex-shrink:0}.play-timer{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 10px;border-radius:999px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-secondary) 6%,transparent),color-mix(in srgb,var(--color-primary-sky) 8%,transparent));color:var(--color-secondary);font-size:.9375rem;font-weight:700;letter-spacing:.02em;font-variant-numeric:tabular-nums}.play-timer__icon{width:16px;height:16px;flex-shrink:0;color:var(--color-primary-strong)}.play-timer__value{line-height:1}@media(max-width:480px){.play-toolbar{grid-template-columns:1fr;justify-items:center}.play-toolbar>.play-timer,.play-toolbar__center,.play-toolbar__actions{justify-self:center}}.play-layout{display:flex;flex-direction:column;align-items:center;gap:32px;padding:16px 8px}@media(min-width:650px){.play-layout{flex-direction:row;align-items:flex-start;justify-content:center}}.play-board-stack-wrap{position:relative;display:flex;flex-direction:column;align-items:stretch;max-width:100%}.play-board-stack--paused-blur{filter:blur(.75rem);pointer-events:none;-webkit-user-select:none;user-select:none}.play-pause-overlay{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1rem;box-sizing:border-box;background:#ffffff8c;border-radius:var(--radius-md)}.play-pause-overlay__title{margin:0;font-size:1.125rem;font-weight:600;text-align:center}.card--daily-overlay{background:transparent;box-shadow:none;border-radius:0;overflow:visible}.card--daily-overlay .card__content{padding:0}.daily-board-container{position:relative;display:flex;align-items:center;justify-content:center;width:100%}.daily-board-container:has(.daily-board-overlay){min-height:580px}.sudoku-board-wrap--blurred{filter:blur(3px) saturate(.5) brightness(.97);pointer-events:none;-webkit-user-select:none;user-select:none;transition:filter .5s ease;border-radius:var(--radius-xl);overflow:hidden;transform:scale(1.35);transform-origin:center center}.daily-board-overlay{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;background:#f5f9fc4d;border-radius:var(--radius-xl);animation:winFadeIn .5s ease both}.daily-board-overlay__inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;max-width:320px;padding:32px 28px;border-radius:calc(var(--radius-xl) + 8px);background:#ffffffd1;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 0 0 1px #fff9,0 2px 8px #0000000a,0 16px 48px -12px #0000001f;animation:winSlideUp .55s .12s cubic-bezier(.22,1,.36,1) both}.daily-board-overlay__icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:linear-gradient(145deg,var(--color-primary-surface) 0%,var(--color-primary-sky) 100%);color:var(--color-primary-strong);box-shadow:0 0 0 6px color-mix(in srgb,var(--color-primary) 8%,transparent),0 8px 24px -8px color-mix(in srgb,var(--color-primary-strong) 30%,transparent)}.daily-board-overlay__icon--done{background:linear-gradient(145deg,#e8f5e9,#81c784);color:#2e7d32;box-shadow:0 0 0 6px #2e7d3214,0 8px 24px -8px #2e7d324d}.daily-board-overlay__title{margin:0;font-size:1.25rem;font-weight:800;letter-spacing:-.025em;color:var(--color-secondary-strong)}.daily-board-overlay__lead{margin:0;font-size:.85rem;line-height:1.55;color:#546e7a}.daily-board-overlay__err{margin:0;color:#c62828;font-size:.85rem}.daily-board-overlay__start{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:15px 24px;margin-top:4px;font-size:1.1rem;font-weight:800;color:#fff;border:none;border-radius:var(--radius-xl);cursor:pointer;background:var(--gradient-cta);box-shadow:0 4px 12px -2px color-mix(in srgb,var(--color-secondary) 40%,transparent),0 12px 28px -8px color-mix(in srgb,var(--color-secondary) 25%,transparent);transition:transform calc(var(--duration-fast) + .03s) var(--ease-standard),box-shadow calc(var(--duration-fast) + .03s) var(--ease-standard);animation:ctaPulse 2.2s 1.2s ease-in-out infinite}.daily-board-overlay__start:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 6px 16px -2px color-mix(in srgb,var(--color-secondary) 50%,transparent),0 16px 36px -8px color-mix(in srgb,var(--color-secondary) 30%,transparent);animation:none}.daily-board-overlay__start:active{transform:translateY(0) scale(.98);animation:none}.daily-board-overlay__countdown{display:flex;flex-direction:column;align-items:center;gap:6px;margin-top:4px}.daily-board-overlay__countdown-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#78909c}.daily-board-overlay__countdown-value{font-size:2rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:var(--color-secondary-strong);text-shadow:0 1px 2px rgba(0,0,0,.06)}.name-modal{position:fixed;inset:0;z-index:9500;display:flex;align-items:center;justify-content:center;padding:20px}.name-modal__backdrop{position:absolute;inset:0;background:#0f172a80;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:winFadeIn .3s ease both}.name-modal__content{position:relative;width:100%;max-width:380px;padding:36px 28px 28px;text-align:center;border-radius:calc(var(--radius-xl) + 6px);background:var(--surface);box-shadow:var(--shadow-lg);animation:winSlideUp .4s cubic-bezier(.22,1,.36,1) both}.name-modal__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:12px;border-radius:50%;background:linear-gradient(140deg,var(--color-primary-surface) 0%,var(--color-primary-surface-mid) 100%);color:var(--color-primary-strong)}.name-modal__title{margin:0 0 20px;font-size:1.2rem;font-weight:800;color:#263238}.name-modal__form{display:flex;flex-direction:column;gap:12px}.name-modal__input{width:100%;padding:14px 16px;font-size:1rem;font-weight:500;color:#263238;border:2px solid #cfd8dc;border-radius:var(--radius-lg);background:var(--surface-elevated);outline:none;transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);box-sizing:border-box}.name-modal__input:focus{border-color:var(--color-primary-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary-strong) 15%,transparent);background:var(--surface)}.name-modal__input::placeholder{color:#90a4ae;font-weight:400}.name-modal__submit{width:100%;padding:14px 24px;font-size:1.05rem;font-weight:800;color:#fff;border:none;border-radius:var(--radius-lg);cursor:pointer;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-strong) 100%);box-shadow:0 6px 18px -4px color-mix(in srgb,var(--color-primary-strong) 40%,transparent);transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard),opacity var(--duration-fast) var(--ease-standard)}.name-modal__submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px -4px color-mix(in srgb,var(--color-primary-strong) 50%,transparent)}.name-modal__submit:disabled{opacity:.45;cursor:not-allowed}.name-modal__close{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:transparent;color:#90a4ae;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.name-modal__close:hover{background:#f5f5f5;color:#37474f}@media(prefers-reduced-motion:reduce){.daily-board-overlay,.daily-board-overlay__inner,.daily-board-overlay__start,.name-modal__backdrop,.name-modal__content{animation:none!important}}.play-board-stack{display:flex;flex-direction:column;align-items:stretch;gap:12px;max-width:100%}.play-board-stack .sudoku-board-wrap{align-self:center}.sudoku-fill-progress{display:flex;align-items:center;gap:8px;width:100%;max-width:100%;font-size:.72rem;color:#78909c}.sudoku-fill-progress__label{flex:0 0 auto;min-width:4.25rem;font-size:.65rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#90a4ae}.sudoku-fill-progress__track{flex:1 1 auto;min-width:0;height:5px;border-radius:999px;background:#26323814;overflow:hidden}.sudoku-fill-progress__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#78909c,#546e7a);opacity:.85;transition:width .22s ease}.sudoku-fill-progress--you .sudoku-fill-progress__fill{background:linear-gradient(90deg,var(--color-primary-strong) 0%,var(--color-secondary) 100%);opacity:.88}.sudoku-fill-progress--opponent .sudoku-fill-progress__fill{background:linear-gradient(90deg,#8e24aa,#6a1b9a);opacity:.82}.sudoku-fill-progress__pct{flex:0 0 auto;min-width:2.35rem;text-align:right;font-variant-numeric:tabular-nums;font-weight:600;color:#506670;font-size:.72rem}@media(prefers-reduced-motion:reduce){.sudoku-fill-progress__fill{transition:none}}.play-controls__nums-row{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:4px;width:100%}.play-controls__nums-row .btn.btn--outline.btn--num-pad{flex:1 1 0;min-width:0;max-width:40px;width:auto;height:40px}.play-controls__actions-row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;width:100%}.play-controls__actions-group{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.play-controls__actions-row .play-hint-tooltip{margin-left:auto}.btn.btn--action-icon{width:40px;height:40px;min-width:40px;padding:0}.play-controls__action-icon{display:block;width:22px;height:22px}.play-hint-tooltip{position:relative;display:inline-flex}.play-hint-tooltip__trigger{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:26px;height:26px;border-radius:50%;border:1px solid rgba(0,0,0,.23);background:var(--surface);cursor:pointer;flex-shrink:0;-webkit-user-select:none;user-select:none;font-size:.8125rem;font-weight:600;line-height:1;color:#616161}.play-hint-tooltip__trigger:hover{background:color-mix(in srgb,var(--color-primary) 4%,transparent);border-color:var(--color-primary)}.play-hint-tooltip__trigger:focus{outline:none}.play-hint-tooltip__trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.play-hint-tooltip__panel{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:30;min-width:200px;max-width:min(280px,calc(100vw - 32px));padding:12px;background:var(--surface-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-fast) var(--ease-standard),visibility var(--duration-fast) var(--ease-standard)}.play-controls__actions-row .play-hint-tooltip__panel{left:auto;right:0;transform:none}.play-hint-tooltip:hover .play-hint-tooltip__panel,.play-hint-tooltip:focus-within .play-hint-tooltip__panel,.play-hint-tooltip--open .play-hint-tooltip__panel{opacity:1;visibility:visible;pointer-events:auto}.play-hint-tooltip__title{margin:0 0 6px;font-size:.75rem;font-weight:600;color:#424242}.play-hint-tooltip__panel p{margin:0;font-size:.75rem;color:#616161;line-height:1.5}.play-hint-tooltip__panel p+p{margin-top:4px}.win-banner{margin-bottom:16px;padding:16px;background:#c8e6c9;border-radius:var(--radius-md);text-align:center}.win-banner p{margin:0;font-size:1.25rem;font-weight:700;color:#1b5e20}.daily-summary{margin-bottom:16px;padding:16px;border:1px solid #cfd8dc;border-radius:var(--radius-md);background:#f5fbff;text-align:center}.daily-summary__title{margin:0;font-size:1rem;font-weight:700;color:var(--color-secondary)}.daily-summary__placement{margin:8px 0 0;font-size:.95rem;color:#263238}.daily-summary__err{margin:8px 0 0;color:#c62828;font-size:.875rem}.daily-summary__cta{margin-top:12px}.daily-summary--journey{border-color:#c7d6e6;background:linear-gradient(165deg,#f5fafe,#f6f4fb)}.daily-summary__actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:12px;margin-top:12px;width:100%;max-width:26rem;margin-inline:auto}.daily-summary__actions .daily-summary__cta{margin-top:0;width:100%;justify-content:center}.daily-summary__actions--next-only{max-width:14rem;margin-inline:auto;grid-template-columns:1fr;justify-items:center}.daily-summary__actions--next-only .why-section__cta{width:auto;max-width:100%}.sudoku-page-instructions{max-width:1100px;margin:16px auto 0;padding:0 24px 24px;font-family:Arial,Helvetica,sans-serif;font-size:.8125rem;line-height:1.5;color:#616161}.sudoku-page-instructions p{margin:0}.win-overlay{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center}.win-overlay__backdrop{position:absolute;inset:0;background:#0f172a8c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:winFadeIn .35s ease both;touch-action:none}@keyframes winFadeIn{0%{opacity:0}to{opacity:1}}.win-overlay__scroll{position:relative;width:100%;max-height:100vh;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:20px;overscroll-behavior:contain}.win-overlay__content{position:relative;width:100%;max-width:440px;padding:44px 32px 36px;text-align:center;border-radius:calc(var(--radius-xl) + 8px);background:var(--surface);box-shadow:var(--shadow-lg);animation:winSlideUp .5s cubic-bezier(.22,1,.36,1) both}@keyframes winSlideUp{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.win-overlay__close{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:50%;background:transparent;color:#90a4ae;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard);z-index:1}.win-overlay__close:hover{background:#f5f5f5;color:#37474f}.win-overlay__trophy{display:inline-flex;align-items:center;justify-content:center;width:96px;height:96px;margin-bottom:18px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.9),transparent 60%),linear-gradient(140deg,var(--color-primary-surface) 0%,var(--color-primary-sky) 35%,var(--color-primary) 100%);box-shadow:0 1px #fffffff2 inset,0 20px 40px -10px color-mix(in srgb,var(--color-primary-strong) 40%,transparent),0 0 0 8px color-mix(in srgb,var(--color-primary-sky) 20%,transparent);animation:winTrophyPop .6s .25s cubic-bezier(.22,1,.36,1) both}@keyframes winTrophyPop{0%{opacity:0;transform:scale(.4) translateY(16px)}60%{transform:scale(1.1) translateY(-6px)}to{opacity:1;transform:scale(1) translateY(0)}}.win-overlay__trophy svg{width:48px;height:48px;color:#2d3a4f;filter:drop-shadow(0 4px 8px rgba(0,0,0,.15))}.win-overlay__title{margin:0 0 20px;font-size:1.75rem;font-weight:800;letter-spacing:-.03em;color:var(--color-secondary);animation:winSlideUp .5s .12s cubic-bezier(.22,1,.36,1) both}.win-overlay__stats{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:28px;padding:16px 24px;border-radius:var(--radius-xl);background:var(--surface-elevated);border:1px solid #e8edf2;animation:winSlideUp .5s .2s cubic-bezier(.22,1,.36,1) both}.win-overlay__stat{display:flex;flex-direction:column;align-items:center;gap:4px}.win-overlay__stat-label{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#78909c}.win-overlay__stat-value{font-size:1.5rem;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:#263238}.win-overlay__stat-value--diff{text-transform:capitalize}.win-overlay__stat-divider{width:1px;height:40px;background:#d5dce3}.win-overlay__extra{margin-bottom:8px}.win-overlay__placement{margin:0 0 12px;font-size:1rem;color:#37474f}.win-overlay__err{margin:4px 0 12px;color:#c62828;font-size:.875rem}.win-overlay__cta-big{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:18px 24px;margin-bottom:24px;font-size:1.15rem;font-weight:800;letter-spacing:-.01em;color:#fff;text-decoration:none;border:none;border-radius:var(--radius-xl);cursor:pointer;background:transparent;box-shadow:none;transition:transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard);animation:winSlideUp .5s .3s cubic-bezier(.22,1,.36,1) both}.win-overlay__cta-big:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:var(--gradient-cta);box-shadow:0 8px 24px -6px color-mix(in srgb,var(--color-secondary) 50%,transparent);animation:ctaPulse 2.2s 1.2s ease-in-out infinite}@keyframes ctaPulse{0%,to{transform:scale(1);box-shadow:0 8px 24px -6px color-mix(in srgb,var(--color-secondary) 50%,transparent)}50%{transform:scale(1.045);box-shadow:0 14px 36px -6px color-mix(in srgb,var(--color-secondary) 60%,transparent)}}.btn.btn--primary.win-overlay__cta-big:hover:not(:disabled){background:transparent}.win-overlay__cta-big:hover{transform:translateY(-2px);box-shadow:0 12px 32px -6px color-mix(in srgb,var(--color-secondary) 60%,transparent)}.win-overlay__cta-big:hover:before{animation:none;transform:scale(1);box-shadow:0 8px 24px -6px color-mix(in srgb,var(--color-secondary) 50%,transparent)}.win-overlay__cta-big:active{transform:translateY(0)}.win-overlay__cta-big:active:before{transform:scale(1)}.win-overlay__cta-big--ghost{color:var(--color-on-surface, #37474f);animation:winSlideUp .5s .35s cubic-bezier(.22,1,.36,1) both}.win-overlay__cta-big--ghost:before{background:transparent;border:1.5px solid var(--color-border, #cfd8dc);box-shadow:none;animation:none}.win-overlay__cta-big--ghost:hover{transform:translateY(-1px);box-shadow:none}.win-overlay__cta-big--ghost:hover:before{background:#0f172a0a;box-shadow:none}.win-overlay__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px;animation:winSlideUp .5s .4s cubic-bezier(.22,1,.36,1) both}.win-overlay__card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px 16px;text-decoration:none;border-radius:var(--radius-xl);border:1px solid #e0e7ee;background:var(--surface);box-shadow:0 4px 12px -4px #0000000f;transition:transform calc(var(--duration-fast) + .03s) var(--ease-standard),box-shadow calc(var(--duration-fast) + .03s) var(--ease-standard),border-color calc(var(--duration-fast) + .03s) var(--ease-standard);cursor:pointer}.win-overlay__card:hover{transform:translateY(-3px);box-shadow:0 10px 24px -6px #0000001f}.win-overlay__card-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:calc(var(--radius-xl) - 2px);transition:transform calc(var(--duration-fast) + .03s) var(--ease-standard)}.win-overlay__card:hover .win-overlay__card-icon{transform:scale(1.08)}.win-overlay__card--harder .win-overlay__card-icon{background:color-mix(in srgb,var(--color-primary-strong) 10%,transparent);color:var(--color-primary-strong)}.win-overlay__card--harder:hover{border-color:color-mix(in srgb,var(--color-primary-strong) 35%,transparent)}.win-overlay__card--daily .win-overlay__card-icon{background:#e6510014;color:#e65100}.win-overlay__card--daily:hover{border-color:#e651004d}.win-overlay__card--multi .win-overlay__card-icon{background:color-mix(in srgb,var(--color-secondary) 8%,transparent);color:var(--color-secondary)}.win-overlay__card--multi:hover{border-color:color-mix(in srgb,var(--color-secondary) 30%,transparent)}.win-overlay__card-label{font-size:.85rem;font-weight:700;color:#263238}.win-overlay__card-hint{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#90a4ae}@media(max-width:480px){.win-overlay__scroll{align-items:flex-start;padding:16px 14px 24px}.win-overlay__content{padding:28px 20px 24px;border-radius:calc(var(--radius-xl) + 4px)}.win-overlay__title{font-size:1.4rem}.win-overlay__stats{gap:16px;padding:14px 16px}.win-overlay__cta-big{padding:16px 20px;font-size:1.05rem}.win-overlay__cards{grid-template-columns:1fr 1fr}}@media(max-width:340px){.win-overlay__cards{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.win-overlay__backdrop,.win-overlay__content,.win-overlay__trophy,.win-overlay__title,.win-overlay__stats,.win-overlay__cta-big,.win-overlay__cta-big:before,.win-overlay__cards{animation:none!important}}.confirm-modal{position:fixed;inset:0;z-index:9100;display:flex;align-items:center;justify-content:center}.confirm-modal__backdrop{position:absolute;inset:0;background:#0f172a8c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:winFadeIn .25s ease both}.confirm-modal__scroll{position:relative;width:100%;max-height:100vh;overflow-y:auto;display:flex;align-items:center;justify-content:center;padding:20px}.confirm-modal__content{position:relative;width:100%;max-width:380px;padding:36px 28px 24px;text-align:center;border-radius:calc(var(--radius-xl) + 4px);background:var(--surface);box-shadow:var(--shadow-lg);animation:winSlideUp .4s cubic-bezier(.22,1,.36,1) both}.confirm-modal__close{position:absolute;top:10px;right:10px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:none;border-radius:50%;background:transparent;color:#90a4ae;cursor:pointer;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard)}.confirm-modal__close:hover{background:#f5f5f5;color:#37474f}.confirm-modal__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:14px;border-radius:50%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.85),transparent 60%),linear-gradient(140deg,#d32f2f29,#d32f2f52);color:#c62828;box-shadow:0 10px 22px #d32f2f38,inset 0 1px #fff9}.confirm-modal__icon svg{width:28px;height:28px}.confirm-modal__title{margin:0 0 8px;font-size:1.25rem;font-weight:800;color:#263238}.confirm-modal__message{margin:0 0 22px;color:#546e7a;line-height:1.45}.confirm-modal__actions{display:flex;flex-direction:column-reverse;gap:10px}@media(min-width:420px){.confirm-modal__actions{flex-direction:row;justify-content:flex-end}}.confirm-modal__btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:999px;font-size:.95rem;font-weight:700;letter-spacing:.01em;cursor:pointer;border:1px solid transparent;transition:background var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.confirm-modal__btn--ghost{background:transparent;color:#546e7a;border-color:#546e7a2e}.confirm-modal__btn--ghost:hover{background:#546e7a0f;color:#263238}.confirm-modal__btn--danger{background:linear-gradient(135deg,#ef5350,#c62828);color:#fff;box-shadow:0 8px 18px #c6282852}.confirm-modal__btn--danger:hover{transform:translateY(-1px);box-shadow:0 10px 22px #c6282861}.confirm-modal__btn--danger:active{transform:translateY(0);box-shadow:0 6px 14px #c6282852}@media(prefers-reduced-motion:reduce){.confirm-modal__backdrop,.confirm-modal__content{animation:none!important}}:root,.app-root{--color-primary: #1976d2;--color-primary-strong: #1565c0;--color-secondary: #0d47a1;--color-secondary-strong: #1a237e;--color-secondary-soft: #7986cb;--gradient-cta: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);--color-primary-surface: #e3f2fd;--color-primary-surface-mid: #bbdefb;--color-primary-surface-soft: #dceefb;--color-primary-sky: #90caf9;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .12);--shadow-md: 0 4px 12px rgba(0, 0, 0, .12), 0 2px 4px rgba(0, 0, 0, .08);--shadow-lg: 0 32px 80px -20px rgba(0, 0, 0, .35);--duration-fast: .15s;--ease-standard: ease;--btn-primary-hover-translate-y: 0;--btn-cta-hover-translate-y: -2px;--btn-cta-hover-scale: 1.02;--btn-cta-active-translate-y: 0;--btn-cta-active-scale: .98;--btn-cta-shadow-rest: 0 4px 12px -2px color-mix(in srgb, var(--color-secondary) 40%, transparent), 0 12px 28px -8px color-mix(in srgb, var(--color-secondary) 25%, transparent);--btn-cta-shadow-hover: 0 6px 16px -2px color-mix(in srgb, var(--color-secondary) 50%, transparent), 0 16px 36px -8px color-mix(in srgb, var(--color-secondary) 30%, transparent);--surface: #ffffff;--surface-elevated: #f5f8fa;--border-subtle: #e0e0e0}body{font-family:Arial,sans-serif}.app-root{display:flex}.app-main{flex:1;min-width:0}.card{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.card__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px;border-bottom:1px solid var(--border-subtle)}.card__content{padding:16px}.btn{display:inline-flex;align-items:center;justify-content:center;font:inherit;cursor:pointer;border-radius:var(--radius-sm);border:1px solid transparent;padding:8px 16px;font-size:.875rem;font-weight:500;transition:background var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard),color var(--duration-fast) var(--ease-standard),transform var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:focus:not(:focus-visible){outline:none}.btn--outline-danger:focus-visible{outline-color:#d32f2f}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-primary-strong);transform:translateY(var(--btn-primary-hover-translate-y))}.btn--primary.btn--cta{border:none;border-radius:var(--radius-xl);padding:12px 20px;font-weight:700;background:var(--gradient-cta);box-shadow:var(--btn-cta-shadow-rest)}.btn--primary.btn--cta:hover:not(:disabled){background:var(--gradient-cta);transform:translateY(var(--btn-cta-hover-translate-y)) scale(var(--btn-cta-hover-scale));box-shadow:var(--btn-cta-shadow-hover)}.btn--primary.btn--cta:active:not(:disabled){background:var(--gradient-cta);transform:translateY(var(--btn-cta-active-translate-y)) scale(var(--btn-cta-active-scale));box-shadow:var(--btn-cta-shadow-rest)}@media(prefers-reduced-motion:reduce){.btn--primary.btn--cta:hover:not(:disabled),.btn--primary.btn--cta:active:not(:disabled){transform:none}}.btn--outline{background:var(--surface);border-color:#0000003b;color:var(--color-primary)}.btn--outline:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 4%,transparent);border-color:var(--color-primary)}.btn--outline-danger{background:var(--surface);border-color:#d32f2f80;color:#d32f2f}.btn--outline-danger:hover:not(:disabled){background:#d32f2f0a}.btn--ghost{background:transparent;border-color:transparent;color:#546e7a}.btn--ghost:hover:not(:disabled){background:color-mix(in srgb,var(--color-secondary) 6%,transparent);color:#1a2a3a}.btn--sm{padding:6px 12px;font-size:.8125rem}.btn--block{width:100%}.text-muted{color:#616161;font-size:.875rem}
