.reward-toast{z-index:30;color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:12px;align-items:center;gap:10px;padding:12px 18px;animation:.28s ease-out reward-in,.35s ease-in 2.5s forwards reward-out;display:flex;position:fixed;top:90px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #92400e2e}.reward-toast strong,.reward-toast small{display:block}.reward-toast small{color:#b45309;margin-top:2px;font-size:11px}.reward-spark{color:#f59e0b;font-size:24px;animation:.8s ease-out reward-spin}@keyframes reward-in{0%{opacity:0;transform:translate(-50%,-12px)scale(.92)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes reward-out{to{opacity:0;transform:translate(-50%,-8px)scale(.96)}}@keyframes reward-spin{0%{transform:rotate(-25deg)scale(.6)}to{transform:rotate(0)scale(1)}}@media (prefers-reduced-motion:reduce){.reward-toast,.reward-spark{animation:none}}.reward-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f1f357a;place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.reward-modal{color:#92400e;text-align:center;background:linear-gradient(145deg,#fffdf5,#fff4c7);border:2px solid #fbbf24;border-radius:22px;width:min(360px,100%);padding:28px 24px 24px;box-shadow:0 28px 70px #78350f59}.reward-modal>strong{margin-top:12px;font-size:28px;display:block}.reward-modal>small{color:#b45309;margin-top:5px;font-size:13px;display:block}.reward-target{color:#f59e0b;place-items:center;width:150px;height:105px;margin:0 auto;display:grid;position:relative}.reward-arrow{color:#1769e0;position:absolute;top:32px;left:18px}.reward-glow{color:#fbbf24;position:absolute}@media (prefers-reduced-motion:reduce){.reward-backdrop,.reward-modal,.reward-target *{transition:none!important;animation:none!important}}:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#15243c;font-synthesis:none;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh}.topbar{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;height:76px;padding:0 max(24px,50vw - 550px);display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-mark{color:#fff;background:#1769e0;border-radius:11px;place-items:center;width:38px;height:38px;font-size:23px;font-weight:800;display:grid}.brand h1{letter-spacing:-.5px;margin:0;font-size:21px}.brand strong{color:#1769e0}.auth-actions{align-items:center;gap:10px;margin-left:auto;margin-right:20px;display:flex}.stats-button{color:#1769e0;cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:12px;font-weight:750}.stats-button span{background:#e8f1fd;border-radius:8px;place-items:center;width:30px;height:30px;font-size:20px;display:grid}.stats-button:hover{text-decoration:underline}.auth-status{color:#29945b;font-size:12px;font-weight:700}.auth-button{color:#fff;cursor:pointer;background:#1769e0;border:1px solid #1769e0;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:750;transition:background .15s,box-shadow .15s}.auth-button:hover{background:#0d58c2;box-shadow:0 4px 12px #1769e038}.auth-button:focus-visible{outline-offset:2px;outline:3px solid #f59e0b}.profile-trigger{color:#64748b;background:#f1f5f9;border-color:#cbd5e1;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.profile-trigger:hover{background:#e2e8f0}.profile-trigger img{object-fit:cover;border-radius:50%;width:30px;height:30px}.profile-trigger>span{font-size:20px}.auth-panel{z-index:10;background:#fff;border:1px solid #dce5f0;border-radius:12px;width:min(330px,100vw - 32px);padding:18px;position:absolute;top:68px;right:max(24px,50vw - 550px);box-shadow:0 18px 42px #1e3b642e}.auth-tabs{grid-template-columns:1fr 1fr;gap:4px;margin-bottom:14px;display:grid}.auth-tabs button{color:#64748b;cursor:pointer;background:#f1f5f9;border:0;border-radius:7px;padding:8px;font-size:12px;font-weight:700}.auth-tabs button.active{color:#1769e0;background:#e2edfc}.auth-panel form{gap:11px;display:grid}.auth-panel label{color:#475569;gap:5px;font-size:12px;font-weight:700;display:grid}.auth-panel input{color:#15243c;border:1px solid #d7dfeb;border-radius:7px;padding:9px}.auth-submit{color:#fff;cursor:pointer;background:#1769e0;border:0;border-radius:8px;height:40px;font-weight:750}.auth-divider{color:#94a3b8;text-align:center;font-size:11px}.google-submit{color:#334155;border:1px solid #cbd5e1;border-radius:8px;place-items:center;height:40px;font-size:13px;font-weight:700;text-decoration:none;display:grid}.google-submit:before{content:"G";background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 25% 50%,#fbbc05 50% 70%,#ea4335 70% 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin-right:7px;font-family:Arial,sans-serif;font-size:18px;font-weight:850}.google-submit:hover{background:#f8fafc;border-color:#94a3b8}.account-panel{color:#334155;gap:10px;font-size:13px;display:grid}.account-setting,.logout-button{text-align:left;border-radius:8px;min-height:38px;padding:8px 10px;font-size:12px;font-weight:700}.account-setting{color:#1769e0;cursor:pointer;background:#eef5ff;border:1px solid #bcd3f5}.account-setting:hover{background:#dbeafe;border-color:#8fb5ed}.logout-button{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fecaca}.logout-button:hover{background:#fef2f2}.auth-error{color:#c2414b;margin:0;font-size:12px}.stats-panel{z-index:10;background:#fff;border:1px solid #dce5f0;border-radius:12px;width:min(390px,100vw - 32px);padding:18px;position:absolute;top:68px;right:max(24px,50vw - 550px);box-shadow:0 18px 42px #1e3b642e}.stats-heading{color:#15243c;justify-content:space-between;align-items:center;display:flex}.stats-heading button{color:#94a3b8;cursor:pointer;background:0 0;border:0;font-size:22px}.streak-cards{grid-template-columns:1fr 1fr;gap:8px;margin:15px 0;display:grid}.streak-cards div{color:#1769e0;background:#eef5ff;border-radius:8px;gap:3px;padding:10px;display:grid}.streak-cards strong{font-size:22px}.streak-cards span,.stats-muted{color:#64748b;font-size:11px}.stats-list{gap:7px;display:grid}.stats-row{color:#64748b;border-bottom:1px solid #eef2f7;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:7px 0;font-size:11px;display:grid}.stats-row strong{color:#334155}.stats-ranking{color:#64748b;border-top:1px solid #eef2f7;gap:5px;margin-top:14px;padding-top:12px;font-size:11px;display:grid}.stats-ranking strong{color:#1769e0;font-size:13px}.stats-ranking span{display:block}.difficulty{color:#64748b;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.difficulty select{color:#15243c;text-transform:none;letter-spacing:0;background:#fff;border:1px solid #d7dfeb;border-radius:9px;padding:9px 32px 9px 12px;font-weight:650}.game-layout{grid-template-columns:minmax(360px,560px) 300px;justify-content:center;align-items:center;gap:54px;padding:46px 24px;display:grid}.game-column{width:100%}.game-meta{color:#64748b;justify-content:space-between;align-items:center;margin-bottom:13px;font-size:14px;display:flex}.game-meta>:first-child{color:#1769e0;font-weight:750}.game-meta .streak{color:#64748b;font-weight:650}.game-meta .reward-active{color:#29945b;font-weight:750}.game-meta strong{color:#e0565b}.game-meta time{font-variant-numeric:tabular-nums;color:#334155;font-size:17px;font-weight:700}.timer-control{align-items:center;gap:6px;display:inline-flex}.pause-button.compact{color:#1769e0;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;place-items:center;width:24px;height:24px;padding:0;font-size:11px;display:grid}.board{aspect-ratio:1;background:#1f395d;border:3px solid #1f395d;border-radius:5px;grid-template-columns:repeat(9,1fr);width:100%;display:grid;overflow:hidden;box-shadow:0 18px 42px #1e3b6421}.cell{color:#1769e0;cursor:pointer;background:#fff;border:1px solid #c7d3e3;border-top:0;border-left:0;place-items:center;min-width:0;padding:0;font-size:max(20px,min(4.5vw,32px));font-weight:550;display:grid;position:relative}.cell:nth-child(9n){border-right:0}.cell:nth-child(n+73){border-bottom:0}.cell:nth-child(9n+3),.cell:nth-child(9n+6){border-right:2px solid #1f395d}.cell:nth-child(n+19):nth-child(-n+27),.cell:nth-child(n+46):nth-child(-n+54){border-bottom:2px solid #1f395d}.cell.given{color:#172a46;font-weight:750}.cell.error{color:#dc2626;font-weight:750}.cell.related,.cell.given.related{background:#edf4fd}.cell.number-related,.cell.given.number-related{background:#e5effd}.cell.same{background:#dbeafe}.cell.selected{z-index:1;background:#bcd8ff;box-shadow:inset 0 0 0 2px #1769e0}.cell:focus-visible{outline-offset:-3px;z-index:2;outline:3px solid #f59e0b}.notes{grid-template-columns:repeat(3,1fr);width:100%;height:100%;padding:3px;display:grid}.notes i{color:#4f6c93;place-items:center;font-size:max(7px,min(1.7vw,11px));font-style:normal;font-weight:650;display:grid}.controls{flex-direction:column;gap:24px;display:flex}.tools{grid-template-columns:repeat(4,1fr);gap:9px;display:grid}.tools button{color:#475569;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:7px;padding:4px 0;font-size:11px;display:flex;position:relative}.tools button>span{color:#1769e0;background:#e6eef9;border-radius:50%;place-items:center;width:52px;height:52px;font-size:24px;display:grid}.tools button.active>span{color:#fff;background:#1769e0}.tools small{color:#fff;background:#1769e0;border-radius:8px;min-width:21px;padding:2px 4px;font-size:8px;font-weight:800;position:absolute;top:0;right:0}button:disabled{opacity:.42;cursor:not-allowed}.number-pad{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.number-pad button{color:#1769e0;cursor:pointer;background:#fff;border:1px solid #dce5f0;border-radius:10px;place-items:center;height:64px;font-size:28px;font-weight:650;display:grid;box-shadow:0 2px 6px #1e3b640a}.number-pad button.number-completed{color:#29945b;opacity:1;cursor:default;background:#effaf3;border-color:#b7e4ca;width:100%;height:64px;margin:0;padding:0}.number-pad button:hover,.tools button:hover>span{background:#d9e8fb}.new-game{color:#fff;cursor:pointer;background:#1769e0;border:0;border-radius:10px;height:53px;font-weight:750;box-shadow:0 8px 18px #1769e038}.new-game:hover{background:#0d58c2}.autosave{text-align:center;color:#8491a5;margin:-10px 0 0;font-size:11px}.autosave span{color:#32a36d}.completed{color:#166534;text-align:center;background:#dcfce7;border-radius:10px;margin-top:15px;padding:14px 18px}.completed .ranking-score,.completed .ranking-position{margin-top:5px;font-size:13px;display:block}.ranking-others{color:#166534;gap:3px;margin-top:10px;font-size:11px;display:grid}.ranking-others span{font-weight:500}.ranking-local{color:#4d7c0f;margin-top:8px;font-size:11px;display:block}.score-preview{color:#64748b;background:#fff;border:1px solid #dce5f0;border-radius:10px;grid-template-columns:1fr 1fr;gap:4px 10px;padding:10px;font-size:10px;display:grid}.score-preview strong{color:#1769e0;grid-column:1/-1;font-size:17px}.score-preview span{font-variant-numeric:tabular-nums}@media (max-width:800px){.topbar{height:64px;padding:0 16px}.difficulty{gap:6px;font-size:0}.difficulty:before{content:"Nivel";color:#64748b;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:750}.difficulty select{background:#fff;max-width:105px;padding:8px 24px 8px 8px}.game-layout{padding:24px max(12px,env(safe-area-inset-right))32px;grid-template-columns:minmax(0,540px);gap:24px}.controls{gap:18px}.tools{order:1}.number-pad{grid-template-columns:repeat(9,1fr);gap:4px}.number-pad button{min-width:0;height:52px;font-size:max(17px,min(5vw,25px))}.new-game{order:2}.autosave{order:3}}@media (max-width:430px){.brand h1{font-size:18px}.auth-actions{gap:6px;margin-right:8px}.auth-status{font-size:10px}.auth-button{padding:7px 8px;font-size:10px}.brand-mark{width:34px;height:34px}.tools button>span{width:46px;height:46px}.cell{font-size:24px}}.board.is-paused .cell,.board.is-over .cell{pointer-events:none}.controls.paused .tools button:not(.pause-button),.controls.paused .number-pad,.controls.paused .new-game{pointer-events:none;opacity:.4}.game-overlay,.game-over{text-align:center;border-radius:10px;padding:12px}.game-overlay{color:#1769e0;background:#e0edff}.game-over{color:#b91c1c;background:#fee2e2;gap:3px;display:grid}.game-over span{font-size:12px}.number-pad button.number-completed{box-sizing:border-box;place-items:center;width:100%;min-width:0;height:64px;min-height:0;margin:0;padding:0;line-height:1;display:grid}@media (max-width:800px){.number-pad button.number-completed{height:52px}}.modal-backdrop{z-index:40;background:#0f1f3559;place-items:center;padding:20px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.location-label{color:#475569;gap:6px;margin:12px 0;font-size:12px;font-weight:700;display:grid}.location-label select{background:#fff;border:1px solid #d7dfeb;border-radius:8px;padding:9px}.difficulty-modal{background:#fff;border-radius:14px;width:min(360px,100%);padding:20px;box-shadow:0 20px 50px #0f1f3540}.difficulty-modal p{color:#64748b;margin:12px 0;font-size:13px}.difficulty-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.difficulty-options button{color:#1769e0;cursor:pointer;background:#fff;border:1px solid #dce5f0;border-radius:9px;padding:11px;font-weight:700}.difficulty-options button:hover{background:#e8f1fd}