*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--accent:#ff7a1a;--accent-hover:#ff5c00;--accent-strong:#ff3d00;--accent-soft:#ff7a1a1f;--accent-panel:#ff7a1a1a;--accent-text:#ffe1c7;--bg-page:#0f172a;--bg-sidebar:#0c1525;--bg-surface:#162236;--bg-surface-hover:#1c2a40;--bg-elevated:#111b2a;--bg-input:#0f172a;--bg-backdrop:#020710b8;--cell-bg:#111b2a;--cell-locked:#152130;--cell-related:#1c2d3e;--cell-same-num:#2a1a00;--cell-hover:#1e2d40;--cell-hover-related:#233848;--cell-hover-same-num:#382300;--cell-selected:#8c3d00;--cell-error:#3a0f1c;--grid-outer:#ff7a1a;--grid-thick:#ff7a1a;--grid-thin:#1e3050;--num-locked:#e8a040;--num-user:#c8d4e8;--num-candidate:#8a98aa;--num-selected:#fff;--num-tip:#cef366;--num-error:#ff7090;--sidebar-border:#172238;--logo-text:#e8edf5;--btn-bg:#1a2840;--btn-bg-hover:#25384f;--btn-border:#243450;--btn-secondary-text:#c8d4e8;--btn-disabled-bg:#111e2e;--btn-disabled-border:#172236;--btn-disabled-text:#2a3d52;--btn-warning-hover:#2d1e08;--btn-shadow:#02071061;--error:#ff4d6d;--error-soft:#ff7090;--error-text:#ffb3c1;--error-bg:#2b0e18;--error-bg-strong:#3a0f1c;--error-border:#ff4d6d80;--success:#2dd4bf;--success-text:#86fff0;--success-bg:#0c2820;--success-border:#2dd4bf80;--text-primary:#e8edf5;--text-secondary:#7a8699;--text-muted:#4a5568;--text-soft:#c8d4e8;--text-inverse:#fff;--nav-active:#ff7a1a;--nav-active-bg:#1e1508;--nav-inactive:#5a6478;--nav-inactive-hover:#8a9ab0;--nav-hover-bg:#162236;--nav-hover-text:#c8d0dc;--border:#243450;--border-strong:#35506a;--surface-shadow:0 20px 48px #04091238;--modal-shadow:0 24px 54px #02071075;--toast-bg:#162236;--toast-border:#243450;--toast-text:#e8edf5}:root[data-theme=light]{--accent:#f97316;--accent-hover:#ea580c;--accent-strong:#dc2626;--accent-soft:#f9731621;--accent-panel:#f9731617;--accent-text:#9a3412;--bg-page:#f5f7fb;--bg-sidebar:#fff;--bg-surface:#fff;--bg-surface-hover:#f1f5fb;--bg-elevated:#f8fafc;--bg-input:#fff;--bg-backdrop:#0f172a57;--cell-bg:#fff;--cell-locked:#fff4e6;--cell-related:#eaf3ff;--cell-same-num:#fff0c2;--cell-hover:#f1f5f9;--cell-hover-related:#dcebff;--cell-hover-same-num:#ffe5a3;--cell-selected:#f97316;--cell-error:#ffe4ec;--grid-outer:#f97316;--grid-thick:#f97316;--grid-thin:#ccd8ea;--num-locked:#b45309;--num-user:#1e293b;--num-candidate:#64748b;--num-selected:#fff;--num-tip:#5f7f00;--num-error:#e11d48;--sidebar-border:#e2e8f0;--logo-text:#172033;--btn-bg:#fff;--btn-bg-hover:#f1f5f9;--btn-border:#d8e1ee;--btn-secondary-text:#334155;--btn-disabled-bg:#eef2f7;--btn-disabled-border:#dde5ef;--btn-disabled-text:#a7b2c2;--btn-warning-hover:#fff3df;--btn-shadow:#0f172a29;--error:#e11d48;--error-soft:#be123c;--error-text:#9f1239;--error-bg:#fff0f4;--error-bg-strong:#ffe4ec;--error-border:#e11d4847;--success:#0f766e;--success-text:#0f766e;--success-bg:#e6fffa;--success-border:#0f766e42;--text-primary:#172033;--text-secondary:#526173;--text-muted:#7a8797;--text-soft:#334155;--text-inverse:#fff;--nav-active:#f97316;--nav-active-bg:#fff1e6;--nav-inactive:#778397;--nav-inactive-hover:#334155;--nav-hover-bg:#f1f5f9;--nav-hover-text:#334155;--border:#d8e1ee;--border-strong:#b9c7d9;--surface-shadow:0 20px 48px #0f172a17;--modal-shadow:0 24px 54px #0f172a2e;--toast-bg:#fff;--toast-border:#d8e1ee;--toast-text:#172033}html,body{width:100%;height:100%}body{background-color:var(--bg-page);min-height:100vh;color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif;overflow-x:hidden}#root{height:100%;min-height:100vh}button{cursor:pointer;border:none;outline:none;font-family:inherit}a{color:inherit;text-decoration:none}.app-layout{height:100vh;display:flex;overflow:hidden}.sidebar-desktop{flex-shrink:0;display:flex}.main-content{flex:1;min-width:0;overflow:hidden auto}.page-topbar{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.page-topbar-copy{flex:1;min-width:0}.page-topbar-left-action{align-items:center;display:flex}.page-topbar-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.upgrade-topbar-cta{color:#ffe1c7;letter-spacing:.2px;white-space:nowrap;background:linear-gradient(135deg,#ff7a1a33 0%,#ff3d0026 100%);border:1px solid #ff7a1a73;border-radius:12px;justify-content:center;align-items:center;min-height:40px;padding:0 14px;font-size:13px;font-weight:800;display:inline-flex;box-shadow:0 10px 28px #ff7a1a1f}.upgrade-topbar-cta:hover{background:linear-gradient(135deg,#ff7a1a52 0%,#ff3d003d 100%);border-color:#ff7a1abf}.profile-pro-badge{color:#06231e;z-index:2;background:linear-gradient(135deg,#2dd4bf 0%,#14b8a6 100%);border-radius:999px;justify-content:center;align-items:center;min-width:29px;height:18px;padding:0 6px;font-size:10px;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:-8px;right:-9px;box-shadow:0 3px 10px #02071073}.ai-coach-fab{z-index:180;color:#fff;background:linear-gradient(135deg,#ff7a1a 0%,#ff3d00 100%);border:1px solid #ff7a1a8f;border-radius:999px;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .15s,box-shadow .15s;display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 42px #02071075,0 10px 28px #ff7a1a47}.ai-coach-fab:hover{transform:translateY(-2px);box-shadow:0 22px 48px #0207108a,0 12px 34px #ff7a1a5c}.ai-coach-panel{z-index:181;background:linear-gradient(#ff7a1a0f 0%,#ff7a1a00 34%),#162236;border:1px solid #243450;border-radius:18px;flex-direction:column;width:min(390px,100vw - 32px);max-height:min(640px,100vh - 126px);display:flex;position:fixed;bottom:92px;right:24px;overflow:hidden;box-shadow:0 28px 64px #0207108f}.ai-coach-header{border-bottom:1px solid #243450;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:0 14px 0 16px;display:flex}.ai-coach-header>div,.ai-coach-header button{align-items:center;display:inline-flex}.ai-coach-header>div{color:#ffe1c7;gap:8px;font-size:14px;font-weight:900}.ai-coach-header svg{color:#ff7a1a}.ai-coach-header button{color:#7a8699;background:#1a2840;border-radius:10px;justify-content:center;width:34px;height:34px}.ai-coach-header button:hover{color:#e8edf5;background:#25384f}.ai-coach-messages{flex-direction:column;gap:10px;min-height:250px;padding:14px;display:flex;overflow-y:auto}.ai-coach-message{white-space:pre-wrap;color:#d8e2f0;border-radius:13px;max-width:88%;padding:10px 12px;font-size:13px;line-height:1.5}.ai-coach-message-user{color:#ffe8d4;background:linear-gradient(135deg,#ff7a1a47 0%,#ff3d0033 100%);border:1px solid #ff7a1a40;align-self:flex-end}.ai-coach-message-assistant{background:#111b2a;border:1px solid #243450;align-self:flex-start}.ai-coach-input-row{background:#0c1525b8;border-top:1px solid #243450;grid-template-columns:1fr 42px;gap:8px;padding:12px;display:grid}.ai-coach-input-row textarea{resize:none;color:#e8edf5;background:#0c1525;border:1px solid #243450;border-radius:12px;outline:none;width:100%;padding:10px 11px;font-family:inherit;font-size:13px;line-height:1.4}.ai-coach-input-row textarea:focus{border-color:#ff7a1a9e}.ai-coach-input-row button{color:#fff;background:linear-gradient(135deg,#ff7a1a 0%,#ff3d00 100%);border-radius:20px}.ai-coach-input-row button:disabled{cursor:not-allowed;opacity:.55}.ai-coach-error{color:#ff7090;margin:0 14px 10px;font-size:12px;line-height:1.5}.ai-coach-locked{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:290px;padding:28px 22px 30px;display:flex}.ai-coach-locked svg{color:#ffb45c;margin-bottom:14px}.ai-coach-locked h2{color:#e8edf5;margin-bottom:10px;font-size:19px}.ai-coach-locked p{color:#7a8699;max-width:310px;margin-bottom:18px;font-size:14px;line-height:1.6}.ai-coach-upgrade{color:#fff;background:linear-gradient(135deg,#ff7a1a 0%,#ff3d00 100%);border-radius:12px;min-height:42px;padding:0 16px;font-size:13px;font-weight:900;box-shadow:0 10px 28px #ff7a1a3d}.landing-page{color:#e8edf5;background:radial-gradient(circle at 18% 8%,#ff7a1a2b 0%,#ff7a1a00 32%),radial-gradient(circle at 90% 14%,#2dd4bf14 0%,#2dd4bf00 30%),#0f172a;min-height:100vh;padding:26px clamp(18px,5vw,72px) 46px}.landing-nav{justify-content:space-between;align-items:center;gap:18px;max-width:1180px;margin:0 auto 42px;display:flex}.landing-logo{color:#e8edf5;letter-spacing:-.05em;font-size:22px;font-weight:900}.landing-logo span{background:linear-gradient(135deg,#ff7a1a,#ff3d00);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.landing-nav-actions,.landing-cta-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.landing-nav-link{color:#7a8699;font-size:13px;font-weight:800}.landing-nav-link:hover{color:#ffe1c7}.landing-nav-button,.landing-primary-cta,.landing-secondary-cta{letter-spacing:.2px;border-radius:12px;justify-content:center;align-items:center;min-height:42px;padding:0 16px;font-size:13px;font-weight:900;display:inline-flex}.landing-nav-button,.landing-primary-cta{color:#fff;background:linear-gradient(135deg,#ff7a1a 0%,#ff3d00 100%);box-shadow:0 12px 30px #ff7a1a40}.landing-secondary-cta{color:#c8d4e8;background:#1a2840;border:1px solid #243450}.landing-secondary-cta:hover{color:#fff;background:#25384f;border-color:#35506a}.landing-hero{grid-template-columns:minmax(0,.98fr) minmax(420px,.82fr);align-items:center;gap:0;max-width:1180px;min-height:min(720px,100vh - 140px);margin-left:auto;margin-right:auto;display:grid;position:relative}.landing-hero-copy{z-index:2;padding:44px 0;position:relative}.landing-hero h1{color:#e8edf5;letter-spacing:-.075em;text-shadow:0 18px 48px #02071073;max-width:820px;margin-bottom:24px;font-size:clamp(74px,10.4vw,135px);line-height:.83}.landing-hero p{color:#7a8699;max-width:390px;margin-bottom:28px;font-size:17px;line-height:1.7}.landing-board-visual{z-index:3;pointer-events:none;justify-self:end;margin-left:clamp(-120px,-8vw,-68px);position:relative}.landing-board-visual img{filter:drop-shadow(0 34px 58px #02071080);border-radius:34px;width:clamp(430px,48vw,580px);max-width:none;display:block;transform:rotate(-7deg)translate(-2%)}.play-page{flex-direction:column;gap:0;min-height:100%;padding:32px 36px 40px;display:flex}.play-title{letter-spacing:-.5px;color:var(--text-primary);margin-bottom:8px;font-size:26px;font-weight:800;line-height:1.15}.play-subtitle{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px 0;font-size:13px;line-height:1.6;display:flex}.play-subtitle strong{color:var(--text-secondary);font-weight:600}.status-bar{max-width:100%;min-height:38px;color:var(--text-muted);background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;align-self:flex-start;align-items:center;margin-bottom:24px;padding:0 14px;font-size:13px;font-weight:500;transition:background .2s,color .2s,border-color .2s;display:flex}.status-bar.status-error{color:var(--error);background:var(--error-bg);border-color:var(--error-border)}.status-bar.status-success{color:var(--success);background:var(--success-bg);border-color:var(--success-border)}.status-bar.status-info{color:var(--text-secondary);background:var(--bg-surface);border-color:var(--btn-border)}.game-area{flex-wrap:wrap;flex:1;place-content:flex-start center;align-items:flex-start;gap:28px;display:flex;position:relative}.confetti-anchor{z-index:30;pointer-events:none;position:absolute;top:250px;left:min(50%,258px)}.board-size{aspect-ratio:1;flex-shrink:1;width:516px;min-width:0}.play-controls-stack{flex-direction:column;flex-shrink:0;gap:10px;width:196px;display:flex}.mistake-count{color:var(--text-muted);font-size:13px;font-weight:600;line-height:1.6}.controls-panel{flex-direction:column;flex-shrink:0;gap:10px;width:196px;display:flex}.play-controls-stack .controls-panel{width:100%}.completion-banner{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success);border-radius:6px;flex-shrink:0;align-self:flex-start;margin-top:20px;padding:12px 20px;font-size:14px;font-weight:600}.play-ad-placeholder{color:#7a8699;letter-spacing:.2px;text-align:center;background:linear-gradient(135deg,#ff7a1a14 0%,#ff3d0008 100%),#111b2a;border:1px dashed #ff7a1a61;border-radius:14px;justify-content:center;align-items:center;width:min(100%,980px);min-height:80px;margin:28px auto 10px;padding:14px 18px;font-size:13px;font-weight:750;display:flex}.daily-timer-row{justify-content:center;align-items:center;gap:12px;margin:-6px 0 22px;display:flex}.daily-timer{border:1px solid var(--btn-border);background:var(--bg-surface);min-height:38px;color:var(--text-primary);letter-spacing:.2px;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:17px;font-weight:800;display:inline-flex}.daily-timer svg{color:var(--accent)}.daily-pause-button{border:1px solid var(--btn-border);background:var(--btn-bg);min-height:36px;color:var(--text-secondary);border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:800;display:inline-flex}.daily-pause-button:hover:not(:disabled){background:var(--btn-bg-hover);color:var(--text-primary)}.daily-landing,.daily-leaderboard-card{background:linear-gradient(#ff7a1a0d 0%,#ff7a1a00 42%),#162236;border:1px solid #243450;border-radius:14px;max-width:780px;padding:22px;box-shadow:0 20px 48px #04091238}.daily-leaderboard-card{width:min(100%,780px);margin-top:24px}.leaderboard-page .daily-leaderboard-card{margin-left:auto;margin-right:auto}.leaderboard-page .history-empty{text-align:center;margin-left:auto;margin-right:auto}.daily-section-heading h2{color:var(--text-primary);margin-bottom:7px;font-size:20px;font-weight:800}.daily-section-heading p{color:var(--text-secondary);font-size:14px;line-height:1.6}.daily-landing-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.daily-link-button{justify-content:center;align-items:center;display:inline-flex}.daily-table-wrap{margin-top:16px;overflow-x:auto}.daily-leaderboard-table{border-collapse:collapse;width:100%;min-width:560px}.daily-leaderboard-table th,.daily-leaderboard-table td{text-align:left;border-bottom:1px solid #243450;padding:12px 10px;font-size:13px}.daily-leaderboard-table th{color:var(--text-secondary);letter-spacing:.2px;font-weight:800}.daily-leaderboard-table td{color:var(--text-primary);font-weight:650}.daily-leaderboard-empty{color:var(--text-secondary);margin-top:16px;font-size:14px}.daily-modal{width:min(100%,480px)}.num-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.bottom-nav{display:none}.placeholder-page,.profile-page,.upgrade-page,.blog-page,.history-page{min-height:100%;padding:32px 36px 40px}.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1040px;display:grid}.blog-card{text-align:left;min-height:250px;color:inherit;background:linear-gradient(#ff7a1a0f 0%,#ff7a1a00 40%),#162236;border:1px solid #243450;border-radius:18px;flex-direction:column;align-items:stretch;padding:22px;transition:transform .15s,border-color .15s,background .15s;display:flex;box-shadow:0 20px 48px #04091238}.blog-card:hover{background:linear-gradient(#ff7a1a1a 0%,#ff7a1a00 42%),#18263a;border-color:#ff7a1a85;transform:translateY(-2px)}.blog-card-locked{border-color:#ffb45c47}.blog-card-topline,.blog-card-meta{align-items:center;display:flex}.blog-card-topline{justify-content:space-between;gap:12px;margin-bottom:18px}.blog-card-icon{color:#ffb45c;background:#ff7a1a1f;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.blog-pro-pill,.blog-free-pill{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;align-items:center;gap:5px;min-height:24px;padding:0 9px;font-size:11px;font-weight:900;display:inline-flex}.blog-pro-pill{color:#06231e;background:linear-gradient(135deg,#2dd4bf 0%,#14b8a6 100%)}.blog-free-pill{color:#ffe1c7;background:#ff7a1a24}.blog-card h2{color:#e8edf5;letter-spacing:-.04em;margin-bottom:12px;font-size:24px;line-height:1.1}.blog-card p{color:#7a8699;font-size:14px;line-height:1.7}.blog-card-meta{color:#7a8699;gap:7px;margin-top:auto;padding-top:22px;font-size:13px;font-weight:750}.blog-lock-modal{width:min(100%,460px)}.blog-empty-state,.blog-locked-panel,.blog-article{max-width:820px}.blog-empty-state{margin:0 auto}.blog-locked-panel{text-align:center;background:linear-gradient(#ff7a1a12 0%,#ff7a1a00 42%),#162236;border:1px solid #243450;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;min-height:320px;margin:0 auto;padding:34px 24px;display:flex;box-shadow:0 20px 48px #04091238}.blog-locked-panel svg{color:#ffb45c;margin-bottom:15px}.blog-locked-panel h2{color:#e8edf5;margin-bottom:10px;font-size:24px}.blog-locked-panel p{color:#7a8699;max-width:480px;margin-bottom:18px;font-size:14px;line-height:1.7}.blog-article{margin:0 auto}.blog-back-link{color:#7a8699;align-items:center;gap:7px;margin-bottom:18px;font-size:13px;font-weight:800;display:inline-flex}.blog-back-link-topbar{white-space:nowrap;background:#162236;border:1px solid #243450;border-radius:12px;min-height:40px;margin-bottom:0;padding:0 12px;text-decoration:none}.blog-back-link:hover{color:#ffe1c7}.blog-article-hero,.blog-callout,.blog-rule-block,.blog-article-section,.blog-tip-box{background:#162236;border:1px solid #243450;box-shadow:0 16px 38px #0409122e}.blog-article-hero{background:linear-gradient(#ff7a1a14 0%,#ff7a1a00 48%),#162236;border-radius:22px;padding:30px}.blog-article-hero span{color:#ffb45c;letter-spacing:.1em;text-transform:uppercase;background:#ff7a1a1f;border-radius:999px;margin-bottom:12px;padding:7px 10px;font-size:11px;font-weight:900;display:inline-flex}.blog-article-hero h1{color:#e8edf5;letter-spacing:-.06em;margin-bottom:14px;font-size:clamp(34px,6vw,58px);line-height:.98}.blog-article-hero p,.blog-article-section p,.blog-tip-box p{color:#7a8699;font-size:15px;line-height:1.75}.blog-callout{color:#ffe1c7;border-left:4px solid #ff7a1a;border-radius:16px;margin-top:18px;padding:18px 22px;font-size:18px;font-weight:750;line-height:1.6}.blog-rule-block{background:#0c1525;border-radius:16px;gap:8px;margin-top:18px;padding:18px;display:grid}.blog-rule-block code{color:#c8d4e8;background:#111b2a;border-radius:10px;padding:10px 12px;font-size:13px;display:block}.blog-article-section{border-radius:16px;margin-top:16px;padding:22px}.blog-article-section h2{color:#e8edf5;margin-bottom:10px;font-size:22px}.blog-article-section ul{color:#c8d4e8;gap:8px;margin-top:14px;padding-left:18px;font-size:14px;line-height:1.6;display:grid}.blog-tip-box{background:linear-gradient(135deg,#2dd4bf1a 0%,#2dd4bf08 100%),#162236;border-color:#2dd4bf52;border-radius:16px;margin-top:18px;padding:18px 22px}.blog-tip-box strong{color:#86fff0;margin-bottom:7px;display:block}.placeholder-page{flex-direction:column;display:flex}.placeholder-body{color:#8a94a6;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:calc(100vh - 150px);display:flex}.profile-card{background:linear-gradient(#ff7a1a0d 0%,#ff7a1a00 38%),#162236;border:1px solid #243450;border-radius:18px;max-width:760px;padding:24px;box-shadow:0 20px 48px #04091247}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.profile-field{background:#0c1525e0;border:1px solid #243450;border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex}.profile-field-label{text-transform:uppercase;letter-spacing:.12em;color:#7a8699;font-size:12px}.profile-field-value{color:#e8edf5;font-size:16px;line-height:1.5}.profile-feedback{margin-top:18px}.profile-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.theme-settings-card{border:1px solid var(--btn-border);background:var(--bg-surface);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;padding:16px;display:flex}.theme-toggle{border:1px solid var(--btn-border);background:var(--bg-elevated);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:5px;display:grid}.theme-toggle-option{min-height:36px;color:var(--text-secondary);background:0 0;border-radius:9px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:800;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.theme-toggle-option-active{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);color:var(--text-inverse);box-shadow:0 8px 22px #ff7a1a38}.profile-logout,.profile-secondary-action{letter-spacing:.2px;border-radius:10px;justify-content:center;align-items:center;padding:13px 18px;font-size:14px;font-weight:700;transition:opacity .15s,transform .15s,box-shadow .15s,border-color .15s,background .15s;display:inline-flex}.profile-logout{color:#fff;background:linear-gradient(135deg,#ff7a1a 0%,#ff3d00 100%);box-shadow:0 10px 28px #ff7a1a47}.profile-secondary-action{color:#ffb3c1;background:#2b0e18;border:1px solid #ff4d6d73}.profile-logout:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 32px #ff7a1a57}.profile-secondary-action:hover:not(:disabled){background:#3a0f1c;border-color:#ff4d6db3;transform:translateY(-1px)}.profile-logout:disabled,.profile-secondary-action:disabled{opacity:.7;cursor:wait}.upgrade-hero{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:stretch;gap:24px;display:grid}.upgrade-hero-copy,.upgrade-pricing-card,.upgrade-plan-card,.upgrade-benefit{background:linear-gradient(#ff7a1a0f 0%,#ff7a1a00 44%),#162236;border:1px solid #243450;box-shadow:0 20px 48px #04091238}.upgrade-hero-copy{border-radius:22px;flex-direction:column;justify-content:center;min-height:360px;padding:34px;display:flex}.upgrade-kicker{color:#ffb45c;letter-spacing:.1em;text-transform:uppercase;background:#ff7a1a1a;border:1px solid #ff7a1a61;border-radius:999px;align-items:center;gap:8px;width:fit-content;margin-bottom:18px;padding:8px 11px;font-size:12px;font-weight:900;display:inline-flex}.upgrade-hero-copy h2{color:#e8edf5;letter-spacing:-.06em;max-width:680px;margin-bottom:18px;font-size:clamp(34px,5vw,58px);line-height:.98}.upgrade-hero-copy p,.upgrade-price-note,.upgrade-plan-card p,.upgrade-benefit p{color:#7a8699;font-size:14px;line-height:1.7}.upgrade-hero-copy p{max-width:560px;font-size:16px}.upgrade-pricing-card{border-radius:22px;padding:24px}.billing-toggle{background:#0c1525;border:1px solid #243450;border-radius:14px;grid-template-columns:repeat(2,1fr);gap:8px;padding:6px;display:grid}.billing-toggle button{color:#7a8699;background:0 0;border-radius:10px;min-height:42px;font-size:13px;font-weight:900}.billing-toggle button span{color:#2dd4bf;margin-top:2px;font-size:10px;display:block}.billing-toggle .billing-toggle-active{color:#fff;background:linear-gradient(135deg,#ff7a1a 0%,#ff3d00 100%)}.billing-toggle .billing-toggle-active span{color:#ffe1c7}.upgrade-price{align-items:flex-end;gap:8px;margin-top:30px;display:flex}.upgrade-price strong{color:#e8edf5;letter-spacing:-.06em;font-size:52px;line-height:.9}.upgrade-price span{color:#7a8699;font-size:18px;font-weight:800}.upgrade-price-note{margin-top:14px}.upgrade-primary-button,.upgrade-current-plan{border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:48px;margin-top:24px;font-size:14px;font-weight:900;display:inline-flex}.upgrade-primary-button{color:#fff;background:linear-gradient(135deg,#ff7a1a 0%,#ff3d00 100%);box-shadow:0 14px 34px #ff7a1a4d}.upgrade-current-plan{color:#86fff0;background:#2dd4bf1a;border:1px solid #2dd4bf73}.upgrade-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.upgrade-plan-card{border-radius:18px;padding:22px}.upgrade-plan-card-pro{border-color:#ff7a1a8c}.upgrade-plan-card h3,.upgrade-benefit h3{color:#e8edf5;margin-bottom:8px;font-size:18px}.upgrade-plan-card strong{color:#ffb45c;margin-top:14px;font-size:24px;display:block}.upgrade-benefits-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.upgrade-benefit{border-radius:16px;min-height:168px;padding:20px}.upgrade-benefit svg{color:#ff7a1a;margin-bottom:14px}.upgrade-modal{width:min(100%,460px)}.history-feedback{margin-bottom:18px}.history-list{flex-direction:column;gap:12px;max-width:1060px;display:flex}.history-item{background:#162236;border:1px solid #243450;border-radius:8px;align-items:center;gap:16px;width:100%;padding:16px;display:flex}.history-status-icon{color:#ff7a1a;background:#1e1508;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.history-main{flex:1;min-width:0}.history-row{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.history-row h2{color:#e8edf5;font-size:16px;font-weight:700}.history-badge{border-radius:999px;align-items:center;min-height:24px;padding:0 9px;font-size:12px;font-weight:700;display:inline-flex}.history-badge-active{color:#ffb45c;background:#ff7a1a1f}.history-badge-completed{color:#2dd4bf;background:#2dd4bf1f}.history-badge-difficulty{color:#c8d4e8;background:#c8d4e81a}.history-meta{color:#7a8699;flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;line-height:1.5;display:flex}.history-sync{color:#ffb45c;align-items:center;gap:5px;display:inline-flex}.history-action{color:#fff;letter-spacing:.2px;background:linear-gradient(135deg,#ff7a1a 0%,#ff3d00 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;min-width:90px;min-height:38px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.history-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;min-width:220px;display:flex}.history-icon-action{color:#c8d4e8;background:#1a2840;border:1px solid #243450;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.history-icon-action:hover:not(:disabled){color:#fff;background:#25384f;border-color:#35506a}.history-icon-action-danger{color:#ff7090;background:#2b0e18;border-color:#ff4d6d59}.history-icon-action-danger:hover:not(:disabled){color:#fff;background:#3a0f1c;border-color:#ff4d6da6}.modal-backdrop{z-index:200;background:#020710b8;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.history-modal{background:#162236;border:1px solid #243450;border-radius:8px;flex-direction:column;gap:14px;width:min(100%,420px);padding:22px;display:flex;box-shadow:0 24px 54px #02071075}.history-modal h2{color:#e8edf5;font-size:20px}.history-modal p{color:#7a8699;font-size:14px;line-height:1.6}.history-modal-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.history-modal-secondary,.history-modal-danger{border-radius:8px;min-height:38px;padding:0 14px;font-size:13px;font-weight:700}.history-modal-secondary{color:#c8d4e8;background:#1a2840;border:1px solid #243450}.history-modal-danger{color:#ffb3c1;background:#3a0f1c;border:1px solid #ff4d6d8c}.history-empty{color:#7a8699;border-radius:8px;max-width:520px;padding:22px}.history-empty h2{color:#e8edf5;margin-bottom:8px;font-size:18px}.history-empty p{margin-bottom:18px;font-size:14px;line-height:1.6}.auth-page{background:radial-gradient(circle at top,#ff7a1a1f 0%,#ff7a1a00 34%),linear-gradient(#0f172a 0%,#0c1525 100%);justify-content:center;align-items:center;min-height:100vh;padding:28px 18px;display:flex}.auth-panel{background:linear-gradient(#ff7a1a0d 0%,#ff7a1a00 42%),#162236;border:1px solid #243450;border-radius:22px;width:min(100%,430px);padding:28px;box-shadow:0 24px 54px #0207105c}.auth-brand{letter-spacing:-.5px;color:#e8edf5;margin-bottom:22px;font-size:24px;font-weight:800}.auth-brand span{background:linear-gradient(135deg,#ff7a1a,#ff3d00);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.auth-copy{margin-bottom:22px}.auth-title{letter-spacing:-.6px;margin-bottom:8px;font-size:28px;line-height:1.15}.auth-subtitle{color:#7a8699;font-size:14px;line-height:1.6}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:7px;display:flex}.auth-label{color:#c8d4e8;font-size:13px;font-weight:600}.auth-input{color:#e8edf5;background:#0f172a;border:1px solid #243450;border-radius:10px;width:100%;padding:13px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s,background .15s}.auth-input:focus{background:#111b2a;border-color:#ff7a1a;box-shadow:0 0 0 3px #ff7a1a24}.auth-feedback{border-radius:10px;padding:12px 14px;font-size:13px;line-height:1.5}.auth-feedback-error{color:var(--error);background:var(--error-bg);border:1px solid var(--error-border)}.auth-submit{color:#fff;letter-spacing:.2px;background:linear-gradient(135deg,#ff7a1a 0%,#ff3d00 100%);border-radius:10px;justify-content:center;align-items:center;min-height:48px;margin-top:4px;font-size:14px;font-weight:700;transition:opacity .15s,transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 10px 28px #ff7a1a47}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 32px #ff7a1a57}.auth-submit:disabled{opacity:.72;cursor:wait}.auth-footer{color:#7a8699;margin-top:20px;font-size:13px}.auth-link{color:#ff7a1a;font-weight:600}.screen-loader{color:#c8d4e8;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100vh;padding:24px;display:flex}.screen-loader-spinner{border:3px solid #ff7a1a2e;border-top-color:#ff7a1a;border-radius:50%;width:42px;height:42px;animation:.8s linear infinite spin}.screen-loader-label{color:#7a8699;font-size:14px}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=639px){.sidebar-desktop{display:none}.bottom-nav{background:var(--bg-sidebar);border-top:1px solid var(--sidebar-border);z-index:100;justify-content:stretch;align-items:stretch;height:58px;display:flex;position:fixed;bottom:0;left:0;right:0}.play-page{padding:20px 16px 78px}.placeholder-page,.profile-page,.upgrade-page,.blog-page,.history-page{padding:18px 16px 78px}.page-topbar{align-items:stretch;gap:14px;margin-bottom:18px}.status-bar{order:1;margin-bottom:14px;font-size:12px}.game-area{order:2}.completion-banner{order:5}.play-ad-placeholder{min-height:80px;margin-top:18px;margin-bottom:18px}.daily-timer-row{flex-wrap:wrap;order:1;margin:0 0 16px}.daily-leaderboard-card,.daily-landing{width:100%;padding:18px}.play-title{font-size:20px}.page-topbar-copy{order:2}.page-topbar-actions{flex-wrap:wrap;order:1;justify-content:flex-start}.history-page .page-topbar-copy,.blog-page .page-topbar-copy,.daily-challenge-page .page-topbar-copy{order:1}.history-page .page-topbar-actions,.blog-page .page-topbar-actions,.daily-challenge-page .page-topbar-actions{order:2}.sudoku-play-page .page-topbar{justify-content:flex-end;align-items:center;margin-bottom:12px}.sudoku-play-page .page-topbar-copy{display:none}.sudoku-play-page .page-topbar-actions{justify-content:flex-end;width:100%;margin-left:auto}.upgrade-topbar-cta{min-height:36px;padding:0 11px;font-size:12px}.landing-page{padding:18px 16px 34px}.landing-nav{margin-bottom:24px}.landing-logo{font-size:20px}.landing-nav-button,.landing-primary-cta,.landing-secondary-cta{min-height:40px;padding:0 13px;font-size:12px}.landing-hero{grid-template-columns:1fr;align-items:start;gap:0;min-height:clamp(450px,72vh,560px);overflow:hidden}.landing-hero-copy{z-index:4;padding:34px 0 40px}.landing-hero h1{font-size:clamp(54px,16vw,78px)}.landing-hero p{font-size:15px}.landing-board-visual{z-index:1;opacity:.16;margin:0;position:absolute;top:18px;right:50%;transform:translate(50%)}.landing-board-visual img{filter:drop-shadow(0 28px 52px #02071073)brightness(.72);width:min(425px,122vw);transform:rotate(-5deg)}.ai-coach-fab{width:50px;height:50px;bottom:74px;right:16px}.ai-coach-panel{border-radius:16px;width:auto;max-height:calc(100vh - 158px);bottom:132px;left:12px;right:12px}.auth-panel{border-radius:18px;padding:22px 18px}.auth-title{font-size:24px}.board-size{flex-shrink:0;width:min(400px,100vw - 32px)}.game-area{justify-content:center;gap:18px}.confetti-anchor{top:min(45vw,240px);left:50%}.controls-panel,.play-controls-stack{width:min(360px,100vw - 32px)}.num-grid{gap:5px;display:flex}.num-grid .num-btn{flex:1;min-width:0;width:auto!important;padding:0!important;font-size:16px!important}.placeholder-body{flex:1;min-height:auto}.profile-grid{grid-template-columns:1fr}.profile-card{border-radius:16px;padding:18px}.theme-settings-card{flex-direction:column;align-items:stretch}.theme-toggle{width:100%}.upgrade-hero,.upgrade-comparison,.upgrade-benefits-grid,.blog-grid{grid-template-columns:1fr}.upgrade-hero-copy,.upgrade-pricing-card{border-radius:18px;padding:22px 18px}.upgrade-hero-copy{min-height:auto}.upgrade-price strong{font-size:44px}.blog-card,.blog-article-hero,.blog-article-section,.blog-callout,.blog-tip-box{border-radius:16px;padding:18px}.blog-card h2{font-size:22px}.history-item{flex-wrap:wrap;align-items:flex-start}.history-actions{justify-content:flex-start;width:100%;min-width:0}.history-action{flex:1}}@media (width>=640px) and (width<=1059px){.landing-hero{grid-template-columns:1fr;align-items:center;gap:0;min-height:clamp(520px,70vh,660px);overflow:hidden}.landing-hero-copy{z-index:4;padding:42px 0 52px}.landing-hero h1{font-size:clamp(78px,14vw,118px)}.landing-board-visual{z-index:1;opacity:.18;margin:0;position:absolute;top:10px;right:50%;transform:translate(50%)}.landing-board-visual img{filter:drop-shadow(0 32px 56px #0207107a)brightness(.74);width:min(720px,112vw);transform:rotate(-5deg)}.board-size{flex-shrink:0;width:min(460px,100vw - 72px)}.controls-panel{width:196px}.play-page{padding:28px 28px 36px}.upgrade-hero{grid-template-columns:1fr}.upgrade-benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1060px){.board-size{width:516px}}:root[data-theme=light] .upgrade-topbar-cta{color:#9a3412;background:linear-gradient(135deg,#f9731624 0%,#ea580c14 100%);border-color:#f9731652}:root[data-theme=light] .upgrade-topbar-cta:hover{background:linear-gradient(135deg,#f9731633 0%,#ea580c1f 100%);border-color:#f973169e}:root[data-theme=light] .ai-coach-panel,:root[data-theme=light] .daily-landing,:root[data-theme=light] .daily-leaderboard-card,:root[data-theme=light] .blog-card,:root[data-theme=light] .blog-locked-panel,:root[data-theme=light] .blog-article-hero,:root[data-theme=light] .blog-callout,:root[data-theme=light] .blog-rule-block,:root[data-theme=light] .blog-article-section,:root[data-theme=light] .blog-tip-box,:root[data-theme=light] .profile-card,:root[data-theme=light] .upgrade-hero-copy,:root[data-theme=light] .upgrade-pricing-card,:root[data-theme=light] .upgrade-plan-card,:root[data-theme=light] .upgrade-benefit,:root[data-theme=light] .history-item,:root[data-theme=light] .history-modal,:root[data-theme=light] .auth-panel{border-color:var(--border);background:linear-gradient(180deg, #f973160f 0%, #f9731600 44%), var(--bg-surface);box-shadow:var(--surface-shadow)}:root[data-theme=light] .ai-coach-header,:root[data-theme=light] .ai-coach-input-row,:root[data-theme=light] .daily-leaderboard-table th,:root[data-theme=light] .daily-leaderboard-table td{border-color:var(--border)}:root[data-theme=light] .ai-coach-header>div,:root[data-theme=light] .blog-callout,:root[data-theme=light] .billing-toggle .billing-toggle-active span{color:var(--accent-text)}:root[data-theme=light] .ai-coach-header button,:root[data-theme=light] .history-icon-action,:root[data-theme=light] .history-modal-secondary{background:var(--btn-bg);border-color:var(--btn-border);color:var(--btn-secondary-text)}:root[data-theme=light] .ai-coach-header button:hover,:root[data-theme=light] .history-icon-action:hover:not(:disabled){background:var(--btn-bg-hover);border-color:var(--border-strong);color:var(--text-primary)}:root[data-theme=light] .ai-coach-message-assistant,:root[data-theme=light] .ai-coach-input-row textarea,:root[data-theme=light] .blog-rule-block,:root[data-theme=light] .blog-rule-block code,:root[data-theme=light] .billing-toggle,:root[data-theme=light] .profile-field,:root[data-theme=light] .auth-input{border-color:var(--border);background:var(--bg-elevated);color:var(--text-primary)}:root[data-theme=light] .ai-coach-message-user{color:#7c2d12;background:linear-gradient(135deg,#f973162e 0%,#ea580c1f 100%);border-color:#f973163d}:root[data-theme=light] .ai-coach-input-row{background:#f8fafcd1}:root[data-theme=light] .ai-coach-locked svg,:root[data-theme=light] .blog-card-icon,:root[data-theme=light] .blog-locked-panel svg,:root[data-theme=light] .blog-article-hero span,:root[data-theme=light] .upgrade-kicker,:root[data-theme=light] .upgrade-plan-card strong,:root[data-theme=light] .history-badge-active,:root[data-theme=light] .history-sync{color:#b45309}:root[data-theme=light] .landing-page{background:radial-gradient(circle at 18% 8%, #f9731621 0%, #f9731600 32%), radial-gradient(circle at 90% 14%, #14b8a614 0%, #14b8a600 30%), var(--bg-page);color:var(--text-primary)}:root[data-theme=light] .landing-logo,:root[data-theme=light] .landing-hero h1,:root[data-theme=light] .blog-card h2,:root[data-theme=light] .blog-locked-panel h2,:root[data-theme=light] .blog-article-hero h1,:root[data-theme=light] .blog-article-section h2,:root[data-theme=light] .profile-field-value,:root[data-theme=light] .upgrade-hero-copy h2,:root[data-theme=light] .upgrade-price strong,:root[data-theme=light] .upgrade-plan-card h3,:root[data-theme=light] .upgrade-benefit h3,:root[data-theme=light] .history-row h2,:root[data-theme=light] .history-modal h2,:root[data-theme=light] .history-empty h2,:root[data-theme=light] .auth-brand,:root[data-theme=light] .auth-title{color:var(--text-primary)}:root[data-theme=light] .landing-nav-link,:root[data-theme=light] .landing-hero p,:root[data-theme=light] .blog-card p,:root[data-theme=light] .blog-card-meta,:root[data-theme=light] .blog-back-link,:root[data-theme=light] .blog-locked-panel p,:root[data-theme=light] .blog-article-hero p,:root[data-theme=light] .blog-article-section p,:root[data-theme=light] .blog-tip-box p,:root[data-theme=light] .placeholder-body,:root[data-theme=light] .profile-field-label,:root[data-theme=light] .upgrade-hero-copy p,:root[data-theme=light] .upgrade-price-note,:root[data-theme=light] .upgrade-plan-card p,:root[data-theme=light] .upgrade-benefit p,:root[data-theme=light] .history-meta,:root[data-theme=light] .history-modal p,:root[data-theme=light] .history-empty,:root[data-theme=light] .auth-subtitle,:root[data-theme=light] .auth-footer,:root[data-theme=light] .screen-loader-label{color:var(--text-secondary)}:root[data-theme=light] .landing-secondary-cta,:root[data-theme=light] .blog-back-link-topbar{border-color:var(--border);background:var(--bg-surface);color:var(--btn-secondary-text)}:root[data-theme=light] .landing-secondary-cta:hover,:root[data-theme=light] .blog-back-link:hover{border-color:var(--border-strong);background:var(--bg-surface-hover);color:var(--text-primary)}:root[data-theme=light] .play-ad-placeholder{background:linear-gradient(135deg, #f9731614 0%, #ea580c08 100%), var(--bg-surface);color:var(--text-secondary);border-color:#f9731657}:root[data-theme=light] .blog-card:hover{background:linear-gradient(#f973161a 0%,#f9731600 42%),#fffdfb;border-color:#f9731670}:root[data-theme=light] .blog-free-pill,:root[data-theme=light] .blog-article-hero span,:root[data-theme=light] .upgrade-kicker,:root[data-theme=light] .history-badge-active{color:#9a3412;background:#f973161f}:root[data-theme=light] .blog-tip-box,:root[data-theme=light] .upgrade-current-plan,:root[data-theme=light] .history-badge-completed{color:var(--success-text);background:#14b8a61a;border-color:#0f766e38}:root[data-theme=light] .blog-tip-box strong,:root[data-theme=light] .billing-toggle button span,:root[data-theme=light] .history-badge-completed{color:var(--success-text)}:root[data-theme=light] .blog-article-section ul,:root[data-theme=light] .blog-rule-block code,:root[data-theme=light] .history-badge-difficulty,:root[data-theme=light] .auth-label,:root[data-theme=light] .screen-loader{color:var(--text-soft)}:root[data-theme=light] .upgrade-plan-card-pro{border-color:#f9731675}:root[data-theme=light] .billing-toggle button,:root[data-theme=light] .upgrade-price span{color:var(--text-secondary)}:root[data-theme=light] .billing-toggle .billing-toggle-active,:root[data-theme=light] .upgrade-primary-button,:root[data-theme=light] .landing-nav-button,:root[data-theme=light] .landing-primary-cta,:root[data-theme=light] .history-action,:root[data-theme=light] .profile-logout,:root[data-theme=light] .auth-submit,:root[data-theme=light] .ai-coach-upgrade,:root[data-theme=light] .ai-coach-input-row button{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);color:var(--text-inverse)}:root[data-theme=light] .history-status-icon{background:var(--nav-active-bg);color:var(--accent)}:root[data-theme=light] .history-icon-action-danger,:root[data-theme=light] .history-modal-danger,:root[data-theme=light] .profile-secondary-action{border-color:var(--error-border);background:var(--error-bg);color:var(--error-text)}:root[data-theme=light] .history-icon-action-danger:hover:not(:disabled),:root[data-theme=light] .profile-secondary-action:hover:not(:disabled){background:var(--error-bg-strong);color:var(--error-text);border-color:#e11d486b}:root[data-theme=light] .modal-backdrop{background:var(--bg-backdrop)}:root[data-theme=light] .history-modal{box-shadow:var(--modal-shadow)}:root[data-theme=light] .auth-page{background:radial-gradient(circle at top,#f973161f 0%,#f9731600 34%),linear-gradient(#f8fafc 0%,#eef3f8 100%)}:root[data-theme=light] .auth-input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px #f9731621}:root[data-theme=light] .bottom-nav{box-shadow:0 -12px 28px #0f172a14}
