:root{--primary: #0f1c33;--on-primary: #ffffff;--primary-container: #1a2b48;--on-primary-container: #e8eef8;--secondary: #0b57a8;--on-secondary: #ffffff;--secondary-fixed: #d4e3fc;--on-secondary-fixed: #041e42;--secondary-fixed-dim: #8ab4f0;--error: #b3261e;--on-error: #ffffff;--error-container: #f9dedc;--on-error-container: #410e0b;--surface: #f5f6f8;--surface-container-lowest: #ffffff;--surface-container-low: #eef0f3;--surface-container: #e8eaee;--surface-container-high: #e1e4e9;--surface-container-highest: #dbdee4;--on-surface: #111418;--on-surface-variant: #3c434d;--outline: #5a6270;--outline-variant: #c4c9d2;--tertiary-fixed: #b8e6c9;--on-tertiary-fixed: #0a2f18;--board-bg: #0f1c33;--board-gap: 2px;--box-gap: rgba(100, 110, 130, .45);--cell-related-bg: #d6dbe4;--completed-bg: #b8e6c9;--completed-fg: #0a2f18;--completed-color: var(--completed-bg);--chrome-bg: rgba(245, 246, 248, .92);--chrome-border: rgba(17, 20, 24, .1);--nav-bg: rgba(255, 255, 255, .96);--landing-hero-from: #e8eef6;--landing-hero-to: #f5f6f8;--landing-glow: rgba(11, 87, 168, .12);--landing-cta-from: #0f1c33;--landing-cta-to: #1a2b48;--landing-cta-on: #ffffff;--landing-cta-muted: rgba(255, 255, 255, .85);--landing-cta-accent: #b8d0f5;--shadow-sm: 0 1px 2px rgba(17, 20, 24, .06);--shadow-md: 0 8px 24px rgba(17, 20, 24, .08);--shadow-lg: 0 20px 48px rgba(17, 20, 24, .12);--radius-lg: 16px;--radius-xl: 20px}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;font-size:1.5rem;line-height:1;-webkit-user-select:none;user-select:none}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,Segoe UI,sans-serif;background:var(--surface);color:var(--on-surface);min-width:320px;line-height:1.5}h1,h2,h3{font-family:Manrope,sans-serif}button,input{font:inherit;cursor:pointer;border:0;background:none}.app-header{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--chrome-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--chrome-border);padding:14px 24px}.app-header-inner{display:flex;justify-content:space-between;align-items:center;max-width:1280px;margin:0 auto}.app-title-btn{background:none;border:0;cursor:pointer;padding:0;font:inherit;color:inherit}.app-title{font-family:Manrope,sans-serif;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--primary)}.header-settings-btn{color:var(--on-surface-variant);display:flex;align-items:center;transition:opacity .15s;padding:4px}.header-settings-btn:hover{opacity:.7}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:50;display:flex;justify-content:space-around;align-items:center;padding:12px 16px 20px;background:var(--surface-container-low);box-shadow:0 -4px 24px #1a1c1d0a;border-radius:16px 16px 0 0}.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 20px;border-radius:12px;font-size:.6875rem;font-weight:500;color:var(--on-surface-variant);text-decoration:none;transition:all .2s;gap:2px;background:none;border:0;cursor:pointer}.nav-item.active{background:var(--secondary-fixed);color:var(--on-secondary-fixed)}.nav-item .material-symbols-outlined{font-size:1.5rem}.page-shell{max-width:720px;margin:0 auto;padding:96px 20px 120px}.page-hero{margin-bottom:28px}.page-title{font-family:Manrope,sans-serif;font-size:clamp(1.65rem,4vw,2rem);font-weight:800;letter-spacing:-.03em;color:var(--primary);line-height:1.15;margin:0 0 10px}.page-lead{font-size:.975rem;color:var(--on-surface-variant);line-height:1.55;margin:0;max-width:36rem}.home-kicker{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--secondary);margin:0 0 8px}.text-link{background:none;border:0;color:var(--secondary);font-weight:600;font-size:.875rem;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:2px}.text-link:hover{text-decoration:underline}.home-shell{max-width:1280px;margin:0 auto;padding:88px 24px 100px}.home-shell--clean{max-width:560px;padding:96px 20px 120px;display:flex;flex-direction:column;gap:16px}.home-hero{display:flex;flex-direction:column;gap:16px;margin-bottom:4px}.home-title{font-family:Manrope,sans-serif;font-size:clamp(1.75rem,5vw,2.1rem);font-weight:800;letter-spacing:-.03em;color:var(--primary);margin:0;line-height:1.1}.home-stats-strip{display:flex;align-items:center;gap:4px;padding:10px 12px;background:var(--surface-container-lowest);border:1px solid var(--chrome-border);border-radius:14px;box-shadow:var(--shadow-sm)}.home-stat{flex:1;text-align:center;min-width:0}.home-stat-value{display:block;font-family:Manrope,sans-serif;font-weight:800;font-size:1.1rem;color:var(--primary);letter-spacing:-.02em}.home-stat-label{display:block;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--on-surface-variant);margin-top:2px}.home-stats-link{display:inline-flex;align-items:center;gap:0;background:none;border:0;border-left:1px solid var(--chrome-border);padding:4px 4px 4px 10px;margin-left:4px;color:var(--secondary);font-size:.75rem;font-weight:700;cursor:pointer;white-space:nowrap}.home-stats-link .material-symbols-outlined{font-size:1.1rem}.home-continue{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,var(--landing-cta-from) 0%,var(--landing-cta-to) 100%);color:var(--landing-cta-on);box-shadow:var(--shadow-md)}.home-continue-badge{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--landing-cta-accent);margin-bottom:4px}.home-continue h2{font-family:Manrope,sans-serif;font-size:1.1rem;font-weight:800;margin:0 0 4px;letter-spacing:-.02em;color:var(--landing-cta-on)}.home-continue p{margin:0;font-size:.85rem;color:var(--landing-cta-muted)}.home-continue .btn-primary{background:var(--surface-container-lowest);color:var(--primary);box-shadow:none}.home-continue .btn-primary:hover{background:var(--secondary-fixed);color:var(--on-secondary-fixed)}.home-panel{background:var(--surface-container-lowest);border:1px solid var(--chrome-border);border-radius:18px;padding:20px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:16px}.home-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-panel-head h2{font-family:Manrope,sans-serif;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;color:var(--primary);margin:0}.mode-segment{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}@media(max-width:420px){.mode-segment{grid-template-columns:repeat(3,1fr)}}.mode-segment-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:12px;border:1px solid transparent;background:var(--surface-container-low);cursor:pointer;transition:background .12s,border-color .12s,box-shadow .12s;min-width:0}.mode-segment-item:hover{background:var(--surface-container)}.mode-segment-item.active{background:var(--secondary-fixed);border-color:var(--secondary);box-shadow:var(--shadow-sm)}.mode-segment-item.active .mode-segment-glyphs,.mode-segment-item.active .mode-segment-name{color:var(--on-secondary-fixed)}.mode-segment-glyphs{display:flex;gap:1px;font-size:.85rem;line-height:1.2}.mode-segment-name{font-size:.62rem;font-weight:700;color:var(--on-surface-variant);text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diff-row{display:flex;flex-wrap:wrap;gap:8px}.diff-pill{flex:1;min-width:64px;padding:10px 12px;border-radius:999px;border:1px solid var(--chrome-border);background:var(--surface);color:var(--on-surface-variant);font-weight:700;font-size:.85rem;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.diff-pill:hover{border-color:#1a5fad4d;color:var(--primary)}.diff-pill.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.diff-pill:disabled{opacity:.5;cursor:not-allowed}.home-start-btn{width:100%;justify-content:center;padding:14px 20px}.home-actions{display:flex;flex-direction:column;gap:10px}.home-action-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:14px 16px;border-radius:16px;border:1px solid var(--chrome-border);background:var(--surface-container-lowest);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .12s,box-shadow .12s}.home-action-card:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.home-action-card:disabled{opacity:.6;cursor:not-allowed}.home-action-icon{width:40px;height:40px;border-radius:12px;background:var(--secondary-fixed);color:var(--on-secondary-fixed);display:grid;place-items:center;font-size:1.25rem!important;flex-shrink:0}.home-action-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.home-action-label{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary)}.home-action-title{font-family:Manrope,sans-serif;font-weight:800;font-size:1rem;color:var(--primary);letter-spacing:-.02em}.home-action-meta{font-size:.8rem;color:var(--on-surface-variant)}.home-action-chevron{color:var(--outline);font-size:1.35rem!important}.home-action-card--tourney{display:block;padding:0;cursor:default;overflow:hidden}.home-action-card--tourney:hover{transform:none}.home-action-card--tourney .tournament-card{margin:0;border:0;box-shadow:none;background:transparent;padding:16px}.home-action-card--tourney .tournament-card--empty{background:transparent}.home-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 4px;padding:8px 0 16px}.home-footer-dot{width:3px;height:3px;border-radius:50%;background:var(--outline-variant);margin:0 6px}.home-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-top:32px}@media(min-width:1024px){.home-grid{grid-template-columns:7fr 5fr}}.section-label{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--on-surface-variant);margin-bottom:8px}.section-heading{font-family:Manrope,sans-serif;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;color:var(--primary);margin-bottom:24px}.section-heading--tight{font-size:1.05rem;margin-bottom:14px;margin-top:8px}.resume-card{position:relative;overflow:hidden;background:var(--surface-container-low);border-radius:12px;padding:32px;display:flex;flex-direction:column;gap:24px;margin-bottom:32px}@media(min-width:640px){.resume-card{flex-direction:row;align-items:center;justify-content:space-between}}.resume-card-bg{position:absolute;top:-64px;right:-64px;width:256px;height:256px;background:#d4e3ff33;filter:blur(80px);border-radius:50%;pointer-events:none}.resume-title{font-family:Manrope,sans-serif;font-size:1.875rem;font-weight:800;letter-spacing:-.02em;color:var(--primary);margin-bottom:8px}.resume-subtitle{font-size:.875rem;color:var(--on-surface-variant)}.btn-primary{background:var(--primary);color:var(--on-primary);padding:14px 28px;border-radius:12px;font-weight:600;font-size:.95rem;letter-spacing:.01em;display:inline-flex;align-items:center;gap:8px;transition:transform .12s,box-shadow .16s,background .12s;white-space:nowrap;border:0;cursor:pointer;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--primary-container);box-shadow:var(--shadow-md)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn-secondary-outline{background:transparent;color:var(--primary);padding:12px 22px;border-radius:12px;font-weight:600;font-size:.95rem;border:1.5px solid var(--outline-variant);cursor:pointer;transition:background .12s,border-color .12s}.btn-secondary-outline:hover{background:var(--surface-container-lowest);border-color:var(--primary)}.btn-ghost{background:var(--surface-container-low);color:var(--primary);padding:4px 12px;border-radius:9999px;font-size:.75rem;font-weight:600;transition:opacity .12s,transform .12s;border:0;cursor:pointer}.btn-ghost:hover{opacity:.8}.btn-ghost:active{transform:scale(.96)}.btn-pill{background:var(--secondary-fixed);color:var(--on-secondary-fixed);padding:10px 24px;border-radius:9999px;font-weight:700;font-size:.875rem;transition:filter .15s,background .15s;display:inline-block;border:0;cursor:pointer}.btn-pill:hover{filter:brightness(1.05)}.difficulty-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media(min-width:480px){.difficulty-grid{grid-template-columns:repeat(4,1fr)}}.difficulty-card{background:var(--surface-container-lowest);border-radius:12px;padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:12px;transition:all .15s;border:0;cursor:pointer}.difficulty-card:hover{background:var(--surface-container)}.difficulty-card:active{transform:scale(.96)}.difficulty-card:disabled{opacity:.5;cursor:not-allowed}.difficulty-card.active{background:var(--primary-container)}.difficulty-card .material-symbols-outlined{color:var(--secondary)}.difficulty-card.active .material-symbols-outlined{color:var(--on-primary-container)}.difficulty-label{font-weight:600;color:var(--primary);font-size:.9375rem}.difficulty-card.active .difficulty-label{color:var(--on-primary-container)}.stats-card{background:var(--surface-container-low);border-radius:12px;padding:32px;margin-bottom:32px}.stats-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 16px}.stat-value{font-family:Manrope,sans-serif;font-size:1.875rem;font-weight:800;letter-spacing:-.02em;color:var(--primary)}.stat-label{font-size:.6875rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--on-surface-variant);margin-top:4px}.stats-footer{margin-top:32px;padding-top:32px;border-top:1px solid rgba(198,198,206,.2)}.link-btn{display:flex;align-items:center;justify-content:space-between;width:100%;color:var(--secondary);font-weight:600;transition:opacity .15s;border:0;background:none;cursor:pointer}.link-btn:hover{opacity:.8}.daily-card{position:relative;overflow:hidden;background:var(--primary);color:var(--on-primary);border-radius:12px;padding:32px}.daily-card-grid-bg{position:absolute;inset:0;opacity:.1;display:grid;grid-template-columns:repeat(6,48px);gap:8px;transform:rotate(12deg) translate(48px,-48px);pointer-events:none}.daily-card-grid-cell{width:48px;height:48px;border:1px solid rgba(255,255,255,.4);border-radius:2px}.daily-card-content{position:relative;z-index:1}.daily-badge{display:flex;align-items:center;gap:8px;margin-bottom:16px}.daily-badge .material-symbols-outlined{color:var(--on-primary);font-size:1.25rem;opacity:.95}.daily-badge-text{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--on-primary);opacity:.9}.daily-title{font-family:Manrope,sans-serif;font-size:1.5rem;font-weight:700;margin-bottom:8px}.daily-desc{font-size:.875rem;color:var(--on-primary-container);margin-bottom:24px}.game-layout{display:grid;grid-template-columns:1fr;width:100%;max-width:100vw;box-sizing:border-box;overflow-x:clip;min-height:0}@media(min-width:1100px){.game-layout{grid-template-columns:minmax(0,160px) minmax(0,720px) minmax(0,160px);justify-content:center;align-items:start;gap:16px;padding:0 12px;max-width:1200px;margin:0 auto}.game-layout--side{grid-template-columns:minmax(0,140px) minmax(0,920px) minmax(0,140px);max-width:1280px}}.game-ad-rail{display:none;position:sticky;top:88px;padding-top:80px;justify-content:center}@media(min-width:1100px){.game-ad-rail{display:flex}}.game-ad--desktop-only{display:none}@media(min-width:769px){.game-ad--desktop-only{display:flex;justify-content:center;width:100%;margin-bottom:12px}}.game-ad--mobile-only{display:none}@media(max-width:768px){.game-ad--mobile-only{display:flex;justify-content:center;width:100%;margin-top:48px;padding-bottom:24px}}.game-ad-slot{width:100%;max-width:100%}.game-ad-rail .ad-slot--rectangle,.game-ad-rail .ad-slot--active{max-width:160px}.game-shell{max-width:480px;margin:0 auto;padding:80px 16px 100px;display:flex;flex-direction:column;align-items:stretch;width:100%;box-sizing:border-box;overflow-x:clip;min-width:0}@media(min-width:1100px){.game-shell{margin:0;max-width:none;width:100%}}.game-main{width:100%;display:flex;flex-direction:column;align-items:stretch;min-width:0;gap:0}.game-board-col{width:100%;display:flex;flex-direction:column;align-items:stretch;min-width:0}.game-controls{width:100%;display:flex;flex-direction:column;align-items:stretch;min-width:0;box-sizing:border-box}.game-shell--side{max-width:min(960px,100%);padding:80px 20px 40px;align-items:stretch}.game-shell--side .game-info-bar{margin-bottom:14px}.game-shell--side .game-main{flex-direction:row;align-items:flex-start;justify-content:center;gap:16px}.game-shell--side .game-board-col{flex:1 1 auto;min-width:0;max-width:min(520px,calc(100vh - 210px),calc(100% - 208px))}.game-shell--side .board-wrapper{width:100%;max-width:100%;aspect-ratio:1;max-height:min(520px,calc(100vh - 210px));height:auto;margin-bottom:10px}.game-shell--side .game-controls{flex:0 0 192px;width:192px;max-width:192px;position:sticky;top:88px;gap:10px}.game-shell--side .toolbar{flex-direction:column;margin-bottom:0;gap:6px;width:100%}.game-shell--side .tool-btn{flex-direction:row;justify-content:flex-start;padding:10px 12px;gap:10px;width:100%;box-sizing:border-box}.game-shell--side .tool-btn-label{font-size:.7rem;letter-spacing:.06em}.game-shell--side .num-pad{grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.game-shell--side .num-key{aspect-ratio:1;font-size:1.15rem}.game-shell--side .num-key.hint-key{grid-column:1 / -1;aspect-ratio:auto;min-height:44px}.game-layout--side+.bottom-nav,.game-layout:has(.game-shell--side)+.bottom-nav{display:none}.game-info-bar{width:100%;max-width:100%;display:grid;grid-template-columns:minmax(0,1.2fr) auto auto;align-items:center;gap:10px 12px;margin-bottom:16px;box-sizing:border-box;min-width:0}@media(max-width:420px){.game-info-bar{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"meta actions" "metrics metrics"}.game-info-meta{grid-area:meta}.game-info-metrics{grid-area:metrics;justify-content:flex-start}.game-info-actions{grid-area:actions}}.game-info-meta{min-width:0;overflow:hidden}.game-mode-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--on-surface-variant);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-mode-title{font-family:Manrope,sans-serif;font-size:1.15rem;font-weight:800;letter-spacing:-.02em;color:var(--primary);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-info-metrics{display:flex;gap:14px;align-items:center;flex-shrink:0}.game-stat{text-align:center;min-width:3.25rem}.game-stat-label{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;color:var(--on-surface-variant);font-weight:600}.game-stat-value{font-family:Manrope,sans-serif;font-weight:700;font-size:.95rem;color:var(--primary);font-variant-numeric:tabular-nums;line-height:1.2}.game-info-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.game-info-btn{padding:6px 12px!important;font-size:.75rem!important;border-radius:999px!important;white-space:nowrap}.game-info-icon{padding:6px!important;display:inline-flex;align-items:center;justify-content:center;border-radius:999px!important}.game-info-icon .material-symbols-outlined{font-size:1.15rem}.board-wrapper{width:100%;max-width:100%;aspect-ratio:1;background:var(--surface-container-lowest);padding:4px;border-radius:8px;box-shadow:0 2px 16px #1a1c1d0f;margin-bottom:14px;position:relative;box-sizing:border-box}.game-shell--side .board-wrapper{width:min(100%,calc(100vh - 210px));max-height:calc(100vh - 210px);margin-left:auto;margin-right:auto}.board{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:var(--board-gap);background:var(--board-bg);border-radius:4px;overflow:hidden;height:100%}.box-group{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:1px;background:var(--box-gap)}.cell{display:flex;align-items:center;justify-content:center;background:var(--surface-container-lowest);color:var(--on-surface);font-family:Inter,sans-serif;font-size:clamp(1rem,3.5vw,1.25rem);font-weight:600;position:relative;transition:background-color 80ms;border:0;cursor:pointer}.cell.given{color:var(--on-surface);font-weight:700}.cell.user-entry{color:var(--secondary);font-weight:600}.cell.related,.cell.given.related{background:var(--cell-related-bg)}.cell.matching{background:color-mix(in srgb,var(--secondary-fixed) 70%,var(--surface-container-lowest))}.cell.selected{background:var(--secondary-fixed)!important;color:var(--on-secondary-fixed)!important}.cell.selected.user-entry{color:var(--on-secondary-fixed)!important}.cell.conflict{background:var(--error-container)!important;color:var(--on-error-container)!important}.cell.mistake{color:var(--error)!important}.notes-grid{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:2px}.notes-grid small{display:flex;align-items:center;justify-content:center;font-size:clamp(.45rem,1.2vw,.6rem);color:var(--on-surface-variant);font-family:Inter,sans-serif;font-weight:600}.pause-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--on-surface) 55%,transparent);color:var(--surface);font-family:Manrope,sans-serif;font-size:1.5rem;font-weight:700;border-radius:4px;letter-spacing:.1em;text-transform:uppercase;z-index:2}.toolbar{width:100%;max-width:100%;display:flex;gap:8px;margin-bottom:14px;box-sizing:border-box}.tool-btn{flex:1;background:var(--surface-container-low);border-radius:12px;padding:12px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:all .15s;color:var(--primary);border:0;cursor:pointer}.tool-btn:hover{background:var(--surface-container-high)}.tool-btn:active{transform:scale(.96)}.tool-btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.tool-btn.notes-on{background:var(--primary);color:var(--on-primary)}.tool-btn .material-symbols-outlined{font-size:1.25rem}.tool-btn-label{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:inherit}.mode-picker-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.mode-chip{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;border-radius:12px;border:1px solid var(--outline-variant, rgba(0, 0, 0, .08));background:var(--surface-container-low);cursor:pointer;min-width:96px;transition:background .12s,box-shadow .12s}.mode-chip.active{background:var(--secondary-fixed);box-shadow:0 0 0 2px var(--primary);color:var(--on-secondary-fixed)}.mode-chip-preview{display:flex;gap:2px;font-size:1rem;line-height:1.2}.mode-chip-label{font-size:.7rem;font-weight:700;color:var(--on-surface-variant);text-align:left;max-width:110px}.mode-chip.active .mode-chip-label{color:var(--on-secondary-fixed)}.mode-hint{margin-top:12px;font-size:.8rem;color:var(--on-surface-variant)}.mode-hint .link-btn.inline{display:inline;padding:0;vertical-align:baseline}.symbol-legend{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;width:100%;max-width:100%;margin:0 0 12px;padding:8px 10px;background:var(--surface-container-low);border-radius:12px;box-sizing:border-box}.symbol-legend-item{display:flex;align-items:center;gap:4px;font-size:.75rem}.symbol-legend-glyph{font-size:1rem;line-height:1}.symbol-legend-key{color:var(--on-surface-variant);font-weight:600;font-family:Inter,sans-serif}.cell.cell-symbol{font-size:clamp(.95rem,3.2vw,1.15rem)}.notes-grid small{line-height:1}.play-shell{max-width:720px;margin:0 auto;padding:88px 16px 32px}.mode-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.mode-card-grid--pro{gap:14px}.mode-card{text-align:left;padding:16px;border-radius:16px;border:0;background:var(--surface-container-low);cursor:pointer;display:flex;flex-direction:column;gap:8px;transition:transform .12s,box-shadow .12s}.mode-card--pro{background:var(--surface-container-lowest);border:1px solid var(--chrome-border);box-shadow:var(--shadow-sm);padding:18px 16px;gap:10px}.mode-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.mode-card-symbols{display:flex;gap:4px;font-size:1.25rem}.mode-card-name{font-family:Manrope,sans-serif;font-weight:800;font-size:1rem;color:var(--primary);letter-spacing:-.015em}.mode-card-cta{font-size:.8rem;font-weight:600;color:var(--secondary);display:inline-flex;align-items:center;gap:4px}.mode-card-cta .material-symbols-outlined{font-size:1rem}.play-mode-panel{background:var(--surface-container-lowest);border:1px solid var(--chrome-border);border-radius:20px;padding:24px 20px;box-shadow:var(--shadow-sm)}.play-mode-preview{display:grid;grid-template-columns:repeat(9,1fr);gap:4px;max-width:320px;margin-bottom:16px}.play-mode-preview--pro{max-width:100%;gap:3px;margin-bottom:18px;padding:10px;background:var(--board-bg);border-radius:12px}.play-mode-preview-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--surface-container-lowest);border-radius:6px;font-size:clamp(.85rem,2.5vw,1.1rem)}.play-mode-preview--pro .play-mode-preview-cell{border-radius:4px;font-size:clamp(.75rem,2.2vw,1rem)}.play-start-btn{width:100%;justify-content:center;margin-top:20px}.num-pad{width:100%;max-width:100%;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;box-sizing:border-box}.num-key{aspect-ratio:1;background:var(--primary);color:var(--on-primary);border-radius:12px;font-family:Manrope,sans-serif;font-size:clamp(1.25rem,4vw,1.5rem);font-weight:700;display:flex;align-items:center;justify-content:center;transition:opacity .12s,transform .12s;border:0;cursor:pointer}.num-key.num-key-symbol{font-size:clamp(1.1rem,3.5vw,1.35rem)}.num-key:hover{opacity:.9}.num-key:active{transform:scale(.92)}.num-key.hint-key{background:var(--surface-container-high);color:var(--primary)}.num-key.num-key-done{background:var(--surface-container-high);color:var(--on-surface-variant);opacity:.45;cursor:not-allowed}.num-key.hint-key .material-symbols-outlined{font-size:1.25rem}.game-over-banner,.completed-banner{width:100%;max-width:100%;box-sizing:border-box;border-radius:12px;padding:16px 18px;text-align:center;margin-bottom:14px;font-family:Manrope,sans-serif;font-weight:700;font-size:1.05rem;display:flex;flex-direction:column;align-items:center;gap:10px}.game-over-banner{background:var(--error-container);color:var(--on-error-container)}.completed-banner{background:var(--completed-bg);color:var(--completed-fg)}.completed-banner-actions{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.completed-banner-error{color:var(--error);font-size:.85rem;font-weight:600}.completed-rank{font-weight:700;font-size:1.05rem}.completed-banner .guest-upgrade-prompt{color:inherit;opacity:.92;font-weight:600;margin-top:2px}.completed-banner .guest-upgrade-prompt .material-symbols-outlined{color:inherit;opacity:.9}.completed-banner .auth-link{color:inherit;font-weight:800;text-decoration:underline;text-underline-offset:2px}.completed-banner .auth-link:hover{opacity:.85;color:inherit}.game-over-banner .guest-upgrade-prompt,.game-over-banner .auth-link{color:inherit;font-weight:700}.tournament-card{background:var(--surface-container-lowest);border:1px solid var(--chrome-border);border-radius:16px;padding:20px;margin-top:16px;color:var(--on-surface);box-shadow:var(--shadow-sm)}.tournament-card--empty{background:var(--surface-container-low);color:var(--on-surface-variant)}.tournament-card--empty .tournament-badge,.tournament-card--empty .tournament-title{color:inherit}.tournament-badge{display:flex;align-items:center;gap:6px;font-family:Manrope,sans-serif;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--on-surface-variant);margin-bottom:10px}.tournament-status-badge{padding:2px 8px;border-radius:99px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.tournament-status-badge--active{background:var(--completed-bg);color:var(--completed-fg)}.tournament-status-badge--upcoming{background:var(--secondary-fixed);color:var(--on-secondary-fixed)}.tournament-status-badge--ended{background:var(--outline-variant);color:var(--on-surface-variant)}.tournament-title{font-family:Manrope,sans-serif;font-size:1.1rem;font-weight:800;color:var(--on-surface);margin-bottom:8px}.tournament-countdown-row{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--on-surface-variant);margin-bottom:14px}.tournament-clock-icon{font-size:1rem}.tournament-countdown{font-variant-numeric:tabular-nums}.tournament-card-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tournament-empty-text{font-size:.9rem;color:var(--on-surface-variant);margin-top:4px}.leaderboard-table{width:100%;border-radius:12px;overflow:hidden;border:1px solid var(--outline-variant)}.leaderboard-header{display:grid;grid-template-columns:40px 1fr 70px 60px 60px;gap:8px;padding:10px 16px;background:var(--surface-container-high);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--on-surface-variant)}.leaderboard-row{display:grid;grid-template-columns:40px 1fr 70px 60px 60px;gap:8px;padding:12px 16px;align-items:center;border-top:1px solid var(--outline-variant);font-size:.9rem;transition:background .15s}.leaderboard-row:hover{background:var(--surface-container-low)}.leaderboard-rank{font-family:Manrope,sans-serif;font-weight:800;font-size:1rem;color:var(--primary)}.leaderboard-name{font-weight:600;color:var(--on-surface)}.leaderboard-score{font-weight:700;color:var(--secondary);text-align:right}.leaderboard-time,.leaderboard-mistakes{text-align:right;color:var(--on-surface-variant);font-variant-numeric:tabular-nums}.score-breakdown{background:var(--surface-container-low);border-radius:16px;padding:24px}.score-breakdown-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.score-rank-badge{width:56px;height:56px;border-radius:50%;background:var(--primary);color:var(--on-primary);display:flex;align-items:center;justify-content:center;font-family:Manrope,sans-serif;font-size:1.25rem;font-weight:800;flex-shrink:0}.score-breakdown-title{font-family:Manrope,sans-serif;font-size:1.1rem;font-weight:700;color:var(--on-surface)}.score-best-tag{display:inline-block;margin-top:4px;padding:2px 10px;border-radius:99px;background:var(--completed-bg);color:var(--completed-fg);font-size:.75rem;font-weight:700}.score-breakdown-lines{display:flex;flex-direction:column;gap:8px}.score-line{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:8px;background:var(--surface-container);font-size:.9rem}.score-line--penalty{color:var(--error)}.score-line--total{background:var(--primary);color:var(--on-primary);font-family:Manrope,sans-serif;font-weight:800;font-size:1rem;margin-top:4px}.modal-backdrop{position:fixed;inset:0;background:#1a1c1d99;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}.modal-card{background:var(--surface);border-radius:16px;padding:24px;width:100%;max-width:400px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000040}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.modal-title{font-family:Manrope,sans-serif;font-size:1.25rem;font-weight:700;color:var(--primary);margin:0}.modal-close{padding:4px;color:var(--on-surface-variant)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:.8rem;font-weight:600;color:var(--on-surface-variant);margin-bottom:4px;font-family:Manrope,sans-serif}.form-input{width:100%;padding:10px 12px;border:1.5px solid var(--outline-variant);border-radius:8px;font-size:.95rem;font-family:Manrope,sans-serif;color:var(--on-surface);background:var(--surface);transition:border-color .15s;box-sizing:border-box}.form-input:focus{outline:none;border-color:var(--secondary)}.form-input:disabled{background:var(--surface-container-low);color:var(--on-surface-variant)}.form-error{color:var(--error);font-size:.8rem;margin-bottom:12px}.form-success{color:var(--on-tertiary-fixed);font-size:.85rem;margin-bottom:12px}.form-submit{width:100%;margin-top:4px}.auth-switch{text-align:center;font-size:.85rem;color:var(--on-surface-variant);margin-top:16px}.auth-link{background:none;border:none;color:var(--secondary);font-weight:600;cursor:pointer;padding:0;font-size:inherit;font-family:inherit;text-decoration:underline}.auth-link:hover{color:var(--on-surface);filter:brightness(1.05)}.guest-upgrade-prompt{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;margin-top:12px;font-size:.8rem;color:var(--on-surface-variant)}.sync-indicator{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-weight:600;color:var(--on-surface-variant);font-family:Manrope,sans-serif}.sync-indicator--synced,.sync-indicator--syncing{color:var(--secondary)}.sync-indicator--offline{color:var(--error)}.theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.theme-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 12px;border-radius:12px;border:2px solid var(--outline-variant);background:var(--surface-container-low);transition:border-color .15s;cursor:pointer}.theme-card:hover{border-color:var(--outline)}.theme-card--active{border-color:var(--primary)}.theme-card-swatches{display:flex;gap:6px}.theme-swatch{width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.1)}.theme-card-label{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:600;color:var(--on-surface)}.theme-card-check{position:absolute;top:8px;right:8px;font-size:1.1rem;color:var(--primary)}.stats-overview--pro{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:28px}.stats-overview--pro .stats-overview-card{background:var(--surface-container-lowest);border:1px solid var(--chrome-border);border-radius:14px;padding:14px 12px;box-shadow:var(--shadow-sm);text-align:center}.stats-overview--pro .stat-value{font-size:1.35rem}.stats-shell{max-width:600px;margin:0 auto;padding:80px 24px 100px}.stats-overview{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}.stats-overview-card{background:var(--surface-container-low);border-radius:12px;padding:16px;text-align:center}.stats-difficulty-list{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.stats-difficulty-row{display:flex;align-items:center;gap:12px;background:var(--surface-container-low);border-radius:10px;padding:12px 16px}.stats-difficulty-label{font-weight:700;font-size:.9rem;min-width:70px;color:var(--on-surface)}.stats-difficulty-stat{display:flex;flex-direction:column;align-items:center;flex:1}.stat-value-sm{font-family:Manrope,sans-serif;font-weight:700;font-size:.95rem;color:var(--on-surface)}.stats-chart{display:flex;align-items:flex-end;gap:2px;height:80px;background:var(--surface-container-low);border-radius:10px;padding:12px 8px}.stats-chart-col{flex:1;display:flex;align-items:flex-end;height:100%}.stats-chart-bar{width:100%;min-height:2px;background:var(--primary);border-radius:2px 2px 0 0;transition:height .2s}.legal-footer{text-align:center;padding:16px 0 8px;font-size:.75rem;color:var(--on-surface-variant)}.legal-footer button{background:none;border:none;color:var(--on-surface-variant);font-size:.75rem;cursor:pointer;padding:0;text-decoration:underline}.legal-footer button:hover{color:var(--on-surface)}.legal-footer-sep{margin:0 8px;opacity:.5}.legal-shell.page-shell{max-width:720px}.legal-content{background:var(--surface-container-lowest);border:1px solid var(--chrome-border);border-radius:16px;padding:24px 20px;box-shadow:var(--shadow-sm)}.legal-shell{max-width:640px;margin:0 auto;padding:72px 20px 40px;overflow-y:auto}.legal-content h2{font-size:1.1rem;font-weight:600;margin:24px 0 8px;color:var(--on-surface)}.legal-content h3{font-size:.95rem;font-weight:600;margin:16px 0 6px;color:var(--on-surface)}.legal-content p{font-size:.875rem;line-height:1.6;margin:0 0 12px;color:var(--on-surface-variant)}.legal-content ul{font-size:.875rem;line-height:1.6;margin:0 0 12px;padding-left:20px;color:var(--on-surface-variant)}.legal-content li{margin-bottom:4px}.legal-date{font-style:italic;opacity:.7}.help-shell.page-shell{max-width:720px}.help-content .page-hero{margin-bottom:32px}.help-shell{max-width:720px;margin:0 auto;overflow-y:auto}.help-content{color:var(--on-surface-variant);font-size:.925rem;line-height:1.6}.help-section{background:var(--surface-container-lowest);border:1px solid var(--chrome-border);border-radius:16px;padding:20px 18px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.help-section h2{font-size:1.1rem;font-weight:700;color:var(--primary);margin:0 0 10px;display:flex;align-items:center;gap:8px;font-family:Manrope,sans-serif;letter-spacing:-.015em}.help-section h3{font-size:.95rem;font-weight:600;color:var(--on-surface);margin:16px 0 6px}.help-section p{margin:0 0 10px}.help-section-icon{font-size:1.25rem}.help-rule-grid{display:flex;flex-direction:column;gap:10px;margin:14px 0}.help-rule-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:var(--surface-container-low);border-radius:12px}.help-rule-card strong{display:block;margin-bottom:2px;color:var(--on-surface);font-size:.85rem}.help-rule-card p{margin:0;font-size:.8rem}.help-rule-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--primary-container);color:var(--on-primary-container)}.help-rule-icon .material-symbols-outlined{font-size:20px}.help-demo-row{display:flex;align-items:center;gap:8px;margin:14px 0;flex-wrap:wrap}.help-digit-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--primary);color:#fff;font-weight:700;font-size:1.1rem;font-family:inherit}.help-icon-btn{display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;border-radius:10px;background:var(--surface-container-high);color:var(--on-surface);font-size:.7rem}.help-icon-btn .material-symbols-outlined{font-size:22px}.help-icon-btn.hint{background:var(--surface-container-highest);color:var(--primary)}.help-icon-btn.notes-active{background:var(--primary);color:#fff}.help-icon-label{font-weight:500}.help-arrow{font-size:1.2rem;color:var(--on-surface-variant);opacity:.6}.help-dots{font-size:1rem;color:var(--on-surface-variant);opacity:.5;letter-spacing:2px}.help-info-box{padding:14px 16px;border-radius:12px;margin:12px 0;font-size:.85rem}.help-info-box strong{display:block;margin-bottom:4px}.help-info-box p{margin:0}.help-info-box.error{background:var(--error-container);color:var(--on-surface)}.help-tip{padding:8px 12px;background:var(--surface-container-low);border-radius:8px;font-size:.8rem}.help-tip kbd{display:inline-block;padding:2px 7px;background:var(--surface-container-highest);border-radius:4px;font-family:inherit;font-size:.8rem;font-weight:600;border:1px solid var(--outline-variant)}.help-tips-list{padding-left:20px;margin:10px 0}.help-tips-list li{margin-bottom:8px}.help-link-btn{display:inline-flex;align-items:center;gap:4px;background:none;border:none;color:var(--on-surface-variant);font-size:.8rem;font-family:inherit;cursor:pointer;padding:6px 10px;border-radius:8px;text-decoration:underline;text-underline-offset:2px}.help-link-btn:hover{color:var(--on-surface);background:var(--surface-container-low)}.help-link-btn .material-symbols-outlined{font-size:18px}@media(max-width:480px){.game-layout+.bottom-nav{display:none}.game-shell{padding:60px 12px 16px}.game-info-bar{margin-bottom:10px;gap:8px}.game-mode-title{font-size:1.05rem}.game-info-metrics{gap:12px}.board-wrapper{margin-bottom:10px}.toolbar{gap:6px;margin-bottom:10px;width:100%}.tool-btn{padding:7px 4px;border-radius:10px;gap:2px}.tool-btn .material-symbols-outlined{font-size:1.1rem}.tool-btn-label{font-size:.5625rem;letter-spacing:.06em}.num-pad{gap:6px;width:100%}.num-key{aspect-ratio:1.45;border-radius:10px;font-size:clamp(1.05rem,4.5vw,1.25rem)}.num-key.hint-key .material-symbols-outlined{font-size:1.1rem}.symbol-legend{width:100%;max-width:100%;box-sizing:border-box}}.landing{position:relative;min-height:100dvh;background:var(--surface);color:var(--on-surface);overflow-x:hidden}.landing-bg{position:absolute;inset:0 0 auto;height:520px;background:radial-gradient(ellipse 80% 60% at 70% -10%,var(--landing-glow),transparent 55%),radial-gradient(ellipse 50% 40% at 10% 20%,var(--chrome-border),transparent 50%),linear-gradient(180deg,var(--landing-hero-from) 0%,var(--landing-hero-to) 100%);pointer-events:none;z-index:0}.landing-header{position:sticky;top:0;z-index:40;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:var(--chrome-bg);border-bottom:1px solid var(--chrome-border)}.landing-header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1080px;margin:0 auto;padding:14px 24px}.landing-brand{display:flex;align-items:center;gap:10px}.landing-mark{width:32px;height:32px;border-radius:9px;background:var(--primary);display:grid;place-items:center;box-shadow:var(--shadow-sm)}.landing-mark-grid{width:14px;height:14px;border:1.5px solid rgba(255,255,255,.9);border-radius:2px;box-shadow:4px 0 0 -.5px #ffffff8c,0 4px 0 -.5px #ffffff8c,4px 4px 0 -.5px #fff6}.landing-logo{font-family:Manrope,sans-serif;font-weight:800;font-size:1.05rem;letter-spacing:-.02em;color:var(--primary)}.landing-nav{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.landing-nav-link{background:none;border:0;color:var(--on-surface-variant);font-weight:600;font-size:.875rem;cursor:pointer;padding:8px 12px;border-radius:8px;transition:background .12s,color .12s}.landing-nav-link:hover{background:color-mix(in srgb,var(--on-surface) 6%,transparent);color:var(--primary)}.landing-nav-cta{padding:10px 18px;font-size:.875rem;margin-left:6px}.landing-hero{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:48px 24px 40px;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}@media(max-width:840px){.landing-hero{grid-template-columns:1fr;padding-top:32px}.landing-hero-visual{order:-1;max-width:280px;margin:0 auto}.landing-nav-link{display:none}.landing-nav-link:last-of-type{display:inline}}.landing-eyebrow{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);margin-bottom:14px}.landing-h1{font-family:Manrope,sans-serif;font-size:clamp(2rem,4.5vw,2.85rem);font-weight:800;letter-spacing:-.035em;color:var(--primary);line-height:1.12;margin-bottom:18px}.landing-lead{font-size:1.0625rem;color:var(--on-surface-variant);line-height:1.6;margin-bottom:28px;max-width:34rem}.landing-cta-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:20px}.landing-cta-main{padding:14px 26px;font-size:1rem}.landing-trust{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:0;font-size:.8125rem;font-weight:600;color:var(--on-surface-variant)}.landing-trust li{display:flex;align-items:center;gap:6px}.landing-trust li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--secondary);flex-shrink:0}.landing-board-mock{display:grid;grid-template-columns:repeat(9,1fr);gap:1px;background:var(--board-bg);padding:10px;border-radius:14px;box-shadow:var(--shadow-lg);aspect-ratio:1}.landing-board-cell{background:var(--surface-container-lowest);aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-family:Manrope,sans-serif;font-weight:700;font-size:clamp(.55rem,1.6vw,.85rem);color:var(--primary)}.landing-board-cell.filled{color:var(--primary)}.landing-board-cell.edge-r{border-right:2px solid rgba(15,28,51,.35)}.landing-board-cell.edge-b{border-bottom:2px solid rgba(15,28,51,.35)}.landing-ad-wrap{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:8px 24px 24px;display:flex;justify-content:center}.landing-ad-wrap--footer{padding-bottom:8px}.landing-modes,.landing-features,.landing-learn-cta{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding:16px 24px 48px}.landing-section-head{margin-bottom:20px;max-width:36rem}.landing-h2{font-family:Manrope,sans-serif;font-size:1.5rem;font-weight:800;letter-spacing:-.02em;color:var(--primary);margin-bottom:8px}.landing-section-lead{color:var(--on-surface-variant);font-size:.975rem;line-height:1.55}.landing-mode-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px}.landing-mode-card{text-align:left;padding:18px 16px;border-radius:var(--radius-lg);border:1px solid var(--chrome-border);background:var(--surface-container-lowest);cursor:pointer;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-sm);transition:transform .14s,box-shadow .14s,border-color .14s}.landing-mode-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#1a5fad40}.landing-mode-glyphs{display:flex;gap:4px;font-size:1.2rem;min-height:1.4em}.landing-mode-name{font-weight:800;font-family:Manrope,sans-serif;color:var(--primary);font-size:.975rem;letter-spacing:-.01em}.landing-mode-go{font-size:.8rem;font-weight:600;color:var(--secondary);display:inline-flex;align-items:center;gap:4px}.landing-mode-go .material-symbols-outlined{font-size:1rem}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.landing-feature{background:var(--surface-container-lowest);border-radius:var(--radius-lg);padding:22px 20px;border:1px solid var(--chrome-border);box-shadow:var(--shadow-sm)}.landing-feature-icon{width:40px;height:40px;border-radius:10px;background:var(--secondary-fixed);color:var(--secondary);display:grid;place-items:center;margin-bottom:14px}.landing-feature-icon .material-symbols-outlined{font-size:1.25rem}.landing-feature h3{font-family:Manrope,sans-serif;font-size:1.05rem;font-weight:800;margin-bottom:8px;color:var(--primary);letter-spacing:-.01em}.landing-feature p{font-size:.9rem;color:var(--on-surface-variant);line-height:1.55}.landing-learn-cta{padding-bottom:56px}.landing-learn-card{background:linear-gradient(135deg,var(--landing-cta-from) 0%,var(--landing-cta-to) 100%);color:var(--landing-cta-on);border-radius:var(--radius-xl);padding:36px 32px;box-shadow:var(--shadow-lg);text-align:left}.landing-learn-card .landing-h2{color:var(--landing-cta-on)}.landing-learn-card p{color:var(--landing-cta-muted);margin-bottom:20px;max-width:32rem;line-height:1.55}.landing-learn-card .btn-secondary-outline{border-color:color-mix(in srgb,var(--landing-cta-on) 35%,transparent);color:var(--landing-cta-on)}.landing-learn-card .btn-secondary-outline:hover{background:color-mix(in srgb,var(--landing-cta-on) 12%,transparent);border-color:var(--landing-cta-on)}.landing-learn-card .link-btn{color:var(--landing-cta-accent)}.landing-footer{border-top:1px solid var(--chrome-border);background:var(--surface-container-lowest);padding:40px 24px 48px}.landing-footer-inner{max-width:1080px;margin:0 auto;display:flex;flex-wrap:wrap;gap:24px 40px;justify-content:space-between;align-items:flex-start}.landing-footer-brand p{margin-top:8px;font-size:.85rem;color:var(--on-surface-variant);max-width:240px;line-height:1.45}.landing-footer-links{display:flex;flex-wrap:wrap;gap:8px 18px}.landing-footer-links button{background:none;border:0;color:var(--on-surface-variant);cursor:pointer;font-size:.875rem;font-weight:600;padding:4px 0}.landing-footer-links button:hover{color:var(--primary)}.ad-slot{width:100%;margin:0 auto}.ad-slot--inactive{display:none}.ad-slot--active{border:1px solid var(--chrome-border);border-radius:12px;background:var(--surface-container-lowest);overflow:hidden;box-shadow:var(--shadow-sm)}.ad-slot-chrome{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 10px 0}.ad-slot-label{font-size:.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);opacity:.9}.ad-slot-label--muted{opacity:.65;margin-left:auto}.ad-slot-body{display:flex;align-items:stretch;justify-content:stretch;padding:8px 10px 10px;width:100%;box-sizing:border-box}.ad-slot-setup{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:14px 12px;border-radius:8px;border:1px dashed var(--outline-variant);background:var(--surface-container-low);text-align:center}.ad-slot-setup-title{font-size:.8rem;font-weight:700;color:var(--on-surface)}.ad-slot-setup-sub{font-size:.7rem;color:var(--on-surface-variant)}.ad-slot-setup-sub code{font-size:.65rem;background:var(--surface-container);padding:1px 4px;border-radius:4px}.amazon-creative{display:flex;align-items:center;gap:12px;width:100%;text-decoration:none;color:inherit;border-radius:10px;padding:10px 12px;background:linear-gradient(135deg,var(--surface-container-low) 0%,var(--surface-container-lowest) 55%,color-mix(in srgb,var(--secondary-fixed) 35%,var(--surface-container-lowest)) 100%);border:1px solid var(--chrome-border);transition:transform .12s,box-shadow .12s,border-color .12s;box-sizing:border-box;min-height:64px}.amazon-creative:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:color-mix(in srgb,var(--secondary) 35%,var(--chrome-border))}.amazon-creative-emoji{font-size:1.75rem;line-height:1;flex-shrink:0;width:2.25rem;text-align:center}.amazon-creative-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left}.amazon-creative-badge{align-self:flex-start;font-size:.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--on-secondary-fixed);background:var(--secondary-fixed);padding:2px 6px;border-radius:999px;margin-bottom:2px}.amazon-creative-title{font-family:Manrope,sans-serif;font-weight:800;font-size:.95rem;color:var(--on-surface);letter-spacing:-.015em;line-height:1.25}.amazon-creative-blurb{font-size:.78rem;color:var(--on-surface-variant);line-height:1.35}.amazon-creative-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:700;color:var(--on-primary);background:var(--primary);padding:8px 12px;border-radius:999px;white-space:nowrap}.amazon-creative-cta .material-symbols-outlined{font-size:.95rem}.amazon-creative:hover .amazon-creative-cta{filter:brightness(1.06)}.amazon-creative--rectangle{flex-direction:column;text-align:center;padding:16px 12px;min-height:220px;justify-content:center;gap:10px}.amazon-creative--rectangle .amazon-creative-emoji{font-size:2.25rem;width:auto}.amazon-creative--rectangle .amazon-creative-copy{align-items:center;text-align:center}.amazon-creative--rectangle .amazon-creative-badge{align-self:center}.amazon-creative--rectangle .amazon-creative-cta{width:100%;justify-content:center}.amazon-creative--leaderboard{padding:12px 16px;min-height:72px}.amazon-creative--mobile-sticky{padding:8px 10px;min-height:56px;gap:8px}.amazon-creative--mobile-sticky .amazon-creative-emoji{font-size:1.35rem;width:1.75rem}.amazon-creative--mobile-sticky .amazon-creative-title{font-size:.85rem}.amazon-creative--mobile-sticky .amazon-creative-cta{padding:6px 10px;font-size:.7rem}.affiliate-disclosure{font-size:.7rem;color:var(--on-surface-variant);line-height:1.4;max-width:40rem;margin:0 auto;text-align:center;opacity:.9}.home-ad-wrap,.learn-ad-inline,.learn-ad-bottom{display:flex;justify-content:center;margin:20px 0;width:100%}.learn-shell{max-width:720px;margin:0 auto;padding:96px 20px 120px}.learn-hub-intro{color:var(--on-surface-variant);margin-bottom:24px;font-size:1rem;line-height:1.55}.learn-card-list{display:flex;flex-direction:column;gap:12px}.learn-card{text-align:left;padding:20px;border-radius:var(--radius-lg);border:1px solid var(--chrome-border);background:var(--surface-container-lowest);cursor:pointer;display:flex;flex-direction:column;gap:8px;box-shadow:var(--shadow-sm);transition:transform .12s,box-shadow .12s}.learn-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.learn-card-meta{font-size:.7rem;font-weight:700;color:var(--secondary);text-transform:uppercase;letter-spacing:.06em}.learn-card-title{font-family:Manrope,sans-serif;font-weight:800;color:var(--primary);font-size:1.1rem;letter-spacing:-.02em}.learn-card-desc{font-size:.9rem;color:var(--on-surface-variant);line-height:1.5}.learn-article .learn-h1{font-family:Manrope,sans-serif;font-size:clamp(1.6rem,4vw,2rem);font-weight:800;color:var(--primary);margin:0 0 12px;line-height:1.2;letter-spacing:-.025em}.learn-meta{font-size:.75rem;font-weight:700;color:var(--secondary);margin-bottom:10px;letter-spacing:.04em;text-transform:uppercase}.learn-lead{font-size:1.05rem;color:var(--on-surface-variant);margin-bottom:28px;line-height:1.6}.learn-section{margin-bottom:28px}.learn-section h2{font-family:Manrope,sans-serif;font-size:1.2rem;font-weight:800;color:var(--primary);margin-bottom:10px;letter-spacing:-.015em}.learn-section p{color:var(--on-surface-variant);margin-bottom:12px;line-height:1.6}.learn-sticky-cta{position:fixed;left:0;right:0;bottom:0;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(transparent,color-mix(in srgb,var(--surface) 95%,transparent) 35%);display:flex;justify-content:center;z-index:20}.learn-sticky-cta .btn-primary{width:min(420px,100%);justify-content:center}.consent-banner{position:fixed;left:0;right:0;bottom:0;z-index:100;padding:16px;pointer-events:none}.consent-banner-inner{pointer-events:auto;max-width:640px;margin:0 auto;background:var(--primary-container);color:var(--on-primary-container);border-radius:18px;padding:20px 22px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:14px;border:1px solid var(--chrome-border)}.consent-title{font-family:Manrope,sans-serif;font-size:1.05rem;font-weight:800;margin:0 0 6px;letter-spacing:-.02em;color:var(--on-primary-container)}.consent-banner-text{font-size:.875rem;line-height:1.5;color:color-mix(in srgb,var(--on-primary-container) 88%,transparent);margin:0}.consent-banner-text a{color:var(--landing-cta-accent);text-decoration:underline}.consent-customize{display:flex;flex-direction:column;gap:10px}.consent-check{display:flex;gap:10px;align-items:flex-start;font-size:.85rem;line-height:1.4;cursor:pointer}.consent-check input{margin-top:3px;accent-color:var(--secondary)}.consent-banner-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.consent-btn{font-size:.85rem;padding:10px 14px}.consent-banner .btn-ghost{background:color-mix(in srgb,var(--on-primary-container) 12%,transparent);color:var(--on-primary-container)}.consent-banner .btn-primary{background:var(--secondary-fixed);color:var(--on-secondary-fixed);box-shadow:none}.consent-banner .btn-primary:hover{filter:brightness(1.06)}@media(max-width:480px){.bottom-nav .nav-item span:not(.material-symbols-outlined){font-size:.65rem}.landing-header-inner{padding:12px 16px}.landing-hero{padding-left:16px;padding-right:16px}}.mode-chip{box-shadow:var(--shadow-sm);border:1px solid var(--chrome-border)!important}.mode-chip.active{border-color:transparent!important}.bottom-nav{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--nav-bg);border-top:1px solid var(--chrome-border)}
