*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:100%;-webkit-text-size-adjust:100%}body{font-family:var( --font-fontFamily, -apple-system, "SF Pro Text", "Segoe UI", "Noto Sans", sans-serif );font-size:var(--font-body, 18px);font-weight:var(--font-weightRegular, 400);line-height:var(--font-lineBody, 1.5);color:var(--color-textPrimary, #1a1a1a);background-color:var(--color-background, #fafaf8);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:focus-visible{outline:3px solid var(--color-focus, #2563eb);outline-offset:2px}:focus:not(:focus-visible){outline:none}[data-reduced-motion=true] *,[data-reduced-motion=true] *:before,[data-reduced-motion=true] *:after{animation-duration:0ms!important;animation-delay:0ms!important;transition-duration:0ms!important;transition-delay:0ms!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}@keyframes skeleton-shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.skeleton-line{border-radius:var(--radius-sm, 6px);background:var(--color-surfaceDark, #f0f0f0);animation:skeleton-shimmer 1.5s ease-in-out infinite}@keyframes snackbar-rise{0%{opacity:0;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.undo-snackbar{animation:snackbar-rise var(--motion-normal, .3s) var(--motion-ease-gentle, ease-out)}:root{--content-max-width: 600px}.app-shell{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:var(--space-lg, 24px);max-width:640px;margin:0 auto}@media(min-width:768px){.app-shell{max-width:800px}}@media(min-width:1024px){.app-shell{max-width:960px}}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:60dvh;font-size:var(--font-bodyLarge, 20px);color:var(--color-textSecondary, #5c5c5c)}.screen{width:100%;flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-xl, 32px)}.card{background-color:var(--color-surface, #ffffff);border-radius:var(--radius-md, 12px)}.card--low{box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08))}.card--mid{box-shadow:var(--elevation-mid, 0px 4px 12px 0px rgba(0, 0, 0, .1))}.card--high{box-shadow:var(--elevation-high, 0px 8px 24px 0px rgba(0, 0, 0, .14))}.card--interactive:hover{transform:translateY(-2px);box-shadow:var(--elevation-mid, 0px 4px 12px 0px rgba(0, 0, 0, .1));background-color:var(--color-surfaceHover, #f5f5f3)}.card--interactive:active{transform:translateY(0) scale(.99)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm, 8px);font-family:var(--font-fontFamily, inherit);font-weight:var(--font-weightSemibold, 600);border:none;border-radius:var(--radius-md, 12px);cursor:pointer;text-decoration:none;line-height:1.2;transition:transform var(--motion-micro, .1s) var(--motion-ease-snappy, ease-out),background-color var(--motion-micro, .1s) var(--motion-ease-snappy, ease-out),box-shadow var(--motion-micro, .1s) var(--motion-ease-snappy, ease-out);min-width:var(--touch-minimum, 48px);min-height:var(--touch-minimum, 48px);padding:8px 24px;font-size:var(--font-body, 18px);user-select:none;touch-action:manipulation}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--primary{background-color:var(--color-primary, #1a237e);color:#fff;box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08))}.btn--primary:hover:not(:disabled){background-color:var(--color-primaryLight, #534bae);box-shadow:var(--elevation-mid, 0px 4px 12px 0px rgba(0, 0, 0, .1))}.btn--primary:active:not(:disabled){box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08))}.btn--secondary{background-color:var(--color-premiumBg, #ede7f6);color:var(--color-primary, #1a237e);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08))}.btn--secondary:hover:not(:disabled){background-color:var(--color-surfaceDark, #f0f0f0);box-shadow:var(--elevation-mid, 0px 4px 12px 0px rgba(0, 0, 0, .1))}.btn--secondary:active:not(:disabled){box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08))}.btn--ghost{background-color:transparent;color:var(--color-textSecondary, #5c5c5c);border:1px solid var(--color-border, rgba(0, 0, 0, .12))}.btn--ghost:hover:not(:disabled){background-color:var(--color-surfaceDark, #f0f0f0);color:var(--color-primary, #1a237e);border-color:var(--color-primary, #1a237e)}.btn--ghost:active:not(:disabled){border-color:var(--color-textSecondary, #5c5c5c)}.btn--danger{background-color:var(--color-danger, #c62828);color:#fff}.btn--small{font-size:var(--font-body, 18px);padding:var(--space-xs, 4px) var(--space-sm, 8px);min-height:var(--touch-minimum, 48px)}.btn--medium{font-size:var(--font-body, 18px);padding:var(--space-sm, 8px) var(--space-lg, 24px);min-height:var(--touch-minimum, 48px)}.btn--large{font-size:var(--font-bodyLarge, 20px);padding:var(--space-sm, 8px) var(--space-xl, 32px);min-height:var(--touch-preferred, 56px)}.btn--full{width:100%;max-width:none}.btn-icon{flex-shrink:0;width:1.1em;height:1.1em;opacity:.75}.home-screen{display:flex;flex-direction:column;align-items:center;padding-top:var(--space-md, 16px);text-align:center;gap:var(--space-lg, 24px);width:100%;max-width:var(--content-max-width, 600px);margin:0 auto}@media(max-width:480px){.home-screen{padding-top:var(--space-md, 16px);gap:var(--space-md, 16px)}}.home-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm, 8px);width:100%}.home-header__status{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:var(--space-sm, 8px);width:auto;max-width:100%}.home-header__status:empty{display:none}.home-header__status .season-chip{flex-wrap:wrap;max-width:100%}.home-header__status .season-chip__name{overflow-wrap:break-word}.app-title{font-size:var(--font-headingLg, 44px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);letter-spacing:var(--font-trackingTight, -.02em);line-height:1.1;margin:0}.app-subtitle{font-size:var(--font-bodyLarge, 20px);color:var(--color-textSecondary, #5c5c5c);max-width:400px;margin:0 auto}.season-chip{display:inline-flex;align-items:center;gap:var(--space-xs, 6px);padding:5px 14px;border-radius:999px;background:var(--color-surface, #fff);border:1px solid var(--color-border, #d8c9b6);box-shadow:0 1px 2px #0000000a;font-size:var(--font-bodySmall, 14px);line-height:1.2}.season-chip__dot{width:8px;height:8px;border-radius:999px;background:var(--color-textSecondary, #5c5c5c);flex:0 0 auto}.season-chip__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:var(--font-weightSemibold, 600);color:var(--color-textSecondary, #5c5c5c)}.season-chip__sep{color:var(--color-textSecondary, #5c5c5c);opacity:.5}.season-chip__name{font-weight:var(--font-weightMedium, 500);color:var(--color-textPrimary, #1a1a1a)}.season-chip--summer{background:linear-gradient(135deg,#ffd66629,#81c7f524);border-color:#f5b30173}.season-chip--summer .season-chip__dot{background:#f0a500}.season-chip--autumn{background:linear-gradient(135deg,#e67e2229,#c0392b1f);border-color:#d3540066}.season-chip--autumn .season-chip__dot{background:#c0392b}.season-chip--winter{background:linear-gradient(135deg,#aed6f12e,#d5dbe629);border-color:#7fb3d580}.season-chip--winter .season-chip__dot{background:#5499c7}.season-chip--spring{background:linear-gradient(135deg,#a3d9a52e,#ffe0b229);border-color:#66bb6a73}.season-chip--spring .season-chip__dot{background:#66bb6a}.premium-chip{display:inline-flex;align-items:center;gap:var(--space-xs, 6px);padding:4px 12px;border-radius:var(--radius-full, 999px);background:var(--color-premiumBg, #ede7f6);color:var(--color-premium, #5c4f8c);font-size:var(--font-small, 14px);font-weight:var(--font-weightSemibold, 600);line-height:1.2;white-space:nowrap;user-select:none}.premium-chip__icon{display:inline-flex;color:var(--color-premium, #5c4f8c)}@media(max-width:480px){.game-header-right .premium-chip{gap:0;padding:6px}.game-header-right .premium-chip__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}.home-section{background:var(--color-surface, #ffffff);border-radius:var(--radius-lg, 20px);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));padding:var(--space-md, 16px);width:100%}.home-section h2{font-size:var(--font-headingSm, 28px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin:0}.home-section p{color:var(--color-textSecondary, #5c5c5c);font-size:var(--font-bodyLarge, 20px);margin:0}.home-section__heading{font-size:var(--font-headingMd, 32px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin:0 0 var(--space-xs, 4px);text-align:left}.home-section__subtitle{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c);margin:0 0 var(--space-lg, 24px);text-align:left}.home-screen .home-section--play{background:transparent;box-shadow:none;padding:0;width:100%}.home-play-hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-md, 16px);width:100%;padding:var(--space-lg, 24px);text-align:center;box-sizing:border-box}@media(min-width:640px){.home-play-hero{flex-direction:row;text-align:left}}.home-play-hero__icon{display:flex;align-items:center;justify-content:center;line-height:1;color:var(--color-primary, #1a237e)}.home-play-hero__body{display:flex;flex-direction:column;gap:var(--space-xs, 4px)}@media(min-width:640px){.home-play-hero__body{flex:1}}.home-play-hero__title{font-size:var(--font-headingSm, 28px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin:0;line-height:1.2;letter-spacing:var(--font-trackingTight, -.01em)}.home-play-hero__hint{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c);margin:0;line-height:1.3}.home-play-hero__cta{width:100%}@media(min-width:640px){.home-play-hero__cta{width:auto}}.home-play-secondary{display:grid;grid-template-columns:1fr;gap:var(--space-md, 16px);width:100%;align-items:stretch;margin-top:var(--space-md, 16px)}@media(min-width:640px){.home-play-secondary{grid-template-columns:repeat(2,1fr)}}.home-play-card{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-sm, 8px);padding:var(--space-md, 16px);text-align:center;height:100%;box-sizing:border-box}.home-play-card>.btn,.home-play-card>.daily-completed-badge{margin-top:auto}.home-play-card .btn{font-size:var(--font-body, 18px);font-weight:var(--font-weightMedium, 500);line-height:1.2}.home-play-card__icon{display:flex;align-items:center;justify-content:center;line-height:1;color:var(--color-primary, #1a237e)}.home-play-card__title{font-size:var(--font-body, 18px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin:0;line-height:1.2;letter-spacing:var(--font-trackingTight, -.01em);text-wrap:balance}.home-play-card__hint{font-size:var(--font-small, 14px);color:var(--color-textSecondary, #5c5c5c);margin:0;line-height:1.3}.home-play-card--done{opacity:.6}.home-play-card--resume{box-shadow:var(--elevation-mid, 0px 4px 12px 0px rgba(0, 0, 0, .1)),inset 0 0 0 2px var(--color-accent, #2e7d32)}.home-promo{display:flex;flex-direction:column;gap:var(--space-sm, 8px);width:100%;padding:var(--space-lg, 24px);margin-top:var(--space-md, 16px);box-sizing:border-box;box-shadow:var(--elevation-mid, 0px 4px 12px 0px rgba(0, 0, 0, .1)),inset 0 0 0 1px var(--color-premium, #5c4f8c)}.home-promo__eyebrow{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin:0;padding:2px 10px;border-radius:var(--radius-full, 999px);background:var(--color-premiumBg, #ede7f6);color:var(--color-premium, #5c4f8c);font-size:var(--font-caption, 12px);font-weight:var(--font-weightSemibold, 600);letter-spacing:.06em;text-transform:uppercase}.home-promo__main{display:flex;flex-direction:column;align-items:center;gap:var(--space-md, 16px);text-align:center}@media(min-width:640px){.home-promo__main{flex-direction:row;text-align:left}}.home-promo__icon{display:flex;align-items:center;justify-content:center;line-height:1;color:var(--color-premium, #5c4f8c)}.home-promo__body{display:flex;flex-direction:column;gap:var(--space-xs, 4px)}@media(min-width:640px){.home-promo__body{flex:1}}.home-promo__title{font-size:var(--font-headingSm, 28px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin:0;line-height:1.2;letter-spacing:var(--font-trackingTight, -.01em)}.home-promo__hint{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c);margin:0;line-height:1.3}.home-promo__cta{width:100%}@media(min-width:640px){.home-promo__cta{width:auto}}.mode-section{margin-bottom:var(--space-xl, 32px)}.mode-section:last-child{margin-bottom:0}.mode-section__title{font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);color:var(--color-primary, #1a237e);margin:0 0 var(--space-sm, 8px);text-align:left}.mode-section__toggle{display:block;margin:var(--space-sm, 8px) auto 0;font-size:var(--font-body, 18px)}.modes-empty-state{text-align:center;color:var(--color-textSecondary, #5c5c5c);font-size:var(--font-body, 18px);line-height:var(--font-lineBody, 1.5);padding:var(--space-xl, 32px) var(--space-md, 16px);margin:0}.mode-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-sm, 8px);width:100%}.mode-grid>*{min-width:0}@media(min-width:600px){.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md, 16px)}}.mode-card{display:flex;align-items:flex-start;gap:var(--space-md, 16px);padding:var(--space-md, 16px);text-align:left;position:relative;height:100%;min-height:var(--touch-preferred, 56px)}.mode-card__icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--color-surfaceDark, #f0f0f0);border-radius:var(--radius-md, 12px);line-height:1;color:var(--color-primary, #1a237e)}.mode-card__body{flex:1;min-width:0}.mode-card__header{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs, 4px) var(--space-sm, 8px);margin-bottom:var(--space-xs, 4px)}.mode-card__title{font-size:var(--font-body, 18px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin:0;line-height:1.3}.mode-card__desc{font-size:var(--font-small, 14px);color:var(--color-textSecondary, #5c5c5c);margin:0;line-height:var(--font-lineBody, 1.5);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.mode-card__badge{flex-shrink:0}.mode-card .mode-card__badge{display:inline-flex;align-items:center;gap:var(--space-xs, 4px);padding:3px var(--space-sm, 8px);border-radius:var(--radius-full, 999px)}.mode-card .premium-badge{background:linear-gradient(135deg,#efe9f7,#e2d8f4);box-shadow:0 1px 2px #5c4f8c29}.mode-card__badge--soon{font-size:var(--font-caption, 12px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textSecondary, #5c5c5c);background:#5c5c5c1a}.mode-card__lock{flex-shrink:0;align-self:center;opacity:.5;display:flex;color:var(--color-textSecondary, #5c5c5c)}.mode-card--carousel{flex-direction:column;align-items:center;text-align:center;gap:var(--space-sm, 8px);padding:var(--space-xl, 32px) var(--space-md, 16px) var(--space-lg, 24px);border-radius:var(--radius-lg, 20px);border:1px solid rgba(26,35,126,.06);background:linear-gradient(180deg,#fff,#fcfcff);box-shadow:0 2px 10px #1a237e0d}.mode-card--carousel .mode-card__icon{width:60px;height:60px;border-radius:18px;background:linear-gradient(150deg,#534bae2e,#1a237e12);color:var(--color-primary, #1a237e);box-shadow:0 8px 16px #1a237e1f,inset 0 1px #ffffffb3}.mode-card--carousel .mode-card__icon svg{width:28px;height:28px}.mode-card--carousel .mode-card__body{flex:none;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs, 4px)}.mode-card--carousel .mode-card__header{justify-content:center;margin-bottom:0}.mode-card--carousel .mode-card__title{font-size:var(--font-bodyLarge, 20px);letter-spacing:-.01em}.mode-card--carousel .mode-card__desc{font-size:var(--font-body, 18px);line-height:1.5;display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}.mode-card--carousel .mode-card__play-indicator{display:none}.mode-card--carousel .mode-card__badge{position:absolute;top:var(--space-sm, 8px);left:50%;transform:translate(-50%);z-index:1;max-width:calc(100% - 2 * var(--space-md, 16px));white-space:nowrap}.mode-card--carousel .mode-card__badge svg{color:var(--color-premium, #5c4f8c)}.mode-card--carousel .mode-card__lock{display:none}.mode-card--carousel.mode-card--coming-soon{background:linear-gradient(180deg,#fff,#f7f7fb)}.mode-card--carousel.mode-card--coming-soon .mode-card__icon{background:linear-gradient(150deg,#5c5c5c1f,#5c5c5c0a);color:var(--color-textSecondary, #5c5c5c);box-shadow:inset 0 1px #ffffffb3}.mode-card--carousel.mode-card--coming-soon .mode-card__title{color:var(--color-textSecondary, #5c5c5c)}button.mode-card--carousel{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}button.mode-card--carousel:hover{transform:translateY(-3px);border-color:#1a237e29;box-shadow:0 14px 28px #1a237e29}button.mode-card--carousel:active{transform:translateY(-1px) scale(.99)}.home-mode-carousel{width:100%;display:flex;flex-direction:column;gap:var(--space-md, 16px)}.home-mode-carousel__title{font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);color:var(--color-primary, #1a237e);margin:0;text-align:left}.home-mode-track{display:flex;gap:var(--space-md, 16px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--space-xs, 4px);padding:var(--space-sm, 8px) var(--space-xs, 4px);-webkit-overflow-scrolling:touch;scrollbar-width:none}.home-mode-track::-webkit-scrollbar{display:none}.home-mode-slide{flex:0 0 46%;display:flex;scroll-snap-align:start}@media(min-width:560px){.home-mode-slide{flex-basis:31%}}.btn--icon{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightMedium, 500);padding:var(--space-sm, 8px) var(--space-md, 16px);min-height:var(--touch-preferred, 56px);background:var(--color-surface, #ffffff);border-radius:var(--radius-md, 12px);color:var(--color-textPrimary, #1a1a1a);border:none;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .1s ease;box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));text-decoration:none;user-select:none}.btn--icon:hover{background:var(--color-surfaceHover, #f5f5f3);box-shadow:var(--elevation-mid, 0px 4px 12px 0px rgba(0, 0, 0, .1))}.btn--icon:active{transform:scale(.97)}.btn--icon:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.btn--icon .nav-icon{font-size:24px;line-height:1}.game-screen{padding-top:var(--space-sm, 8px);gap:var(--space-md, 16px)}@media(max-width:480px){.game-screen{gap:var(--space-sm, 8px)}}.game-focus-wrapper{width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-md, 16px)}@media(max-width:480px){.game-focus-wrapper{gap:var(--space-sm, 8px)}}.game-header{width:100%;display:grid;grid-template-columns:1fr minmax(0,auto) 1fr;align-items:center;gap:var(--space-md, 16px);padding:var(--space-md, 16px);background:var(--color-surface, #ffffff);border-radius:var(--radius-md, 12px);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08))}.game-header>:first-child{justify-self:start}.game-header>:last-child{justify-self:end}@media(max-width:480px){.game-header{gap:var(--space-sm, 8px);padding:10px var(--space-sm, 8px)}}@media(max-width:399px){.game-header{padding:8px 6px;grid-template-columns:auto minmax(0,1fr) auto}.gh-title{font-size:16px;letter-spacing:var(--trackingTight, -.01em)}}.gh-back-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;font-size:var(--font-body, 18px);font-weight:var(--font-weightMedium, 500);font-family:inherit;padding:var(--space-sm, 8px) var(--space-md, 16px);min-height:var(--touch-preferred, 56px);background:transparent;border:none;border-radius:var(--radius-md, 12px);color:var(--color-textSecondary, #5c5c5c);cursor:pointer;transition:background .15s ease,color .15s ease,transform .1s ease;user-select:none}@media(max-width:480px){.gh-back-btn{min-height:var(--touch-minimum, 48px);padding:var(--space-sm, 8px) 10px}}@media(max-width:399px){.gh-back-btn{padding:var(--space-sm, 8px);min-width:var(--touch-minimum, 48px)}.gh-back-btn span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}.gh-back-btn:hover{background:var(--color-surfaceHover, #f5f5f3);color:var(--color-textPrimary, #1a1a1a)}.gh-back-btn:active{transform:scale(.97)}.gh-back-btn .gh-chevron{flex-shrink:0;color:var(--color-textTertiary, #8c8c8c)}.gh-center{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.gh-title{font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin:0;letter-spacing:var(--trackingTight, -.01em);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}@media(max-width:480px){.gh-title{font-size:var(--font-body, 18px)}}.game-header-center{flex:1;display:flex;justify-content:center}.game-title{font-size:var(--font-headingSm, 24px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin:0;letter-spacing:var(--trackingTight, -.01em)}@media(max-width:480px){.game-title{font-size:var(--font-bodyLarge, 20px)}}.gh-mp-bar{display:flex;align-items:center;gap:var(--space-sm, 8px);flex-wrap:wrap;justify-content:center;font-size:var(--font-small, 14px);line-height:1.3}.gh-mp-mode{display:inline-flex;align-items:center;padding:1px 10px;border:1.5px solid;border-radius:var(--radius-full, 999px);font-weight:var(--font-weightSemibold, 600);font-size:var(--font-caption, 12px);letter-spacing:.03em;text-transform:uppercase;color:var(--color-textSecondary, #5c5c5c);line-height:1.6}.gh-mp-players{display:inline-flex;align-items:center;gap:4px;color:var(--color-textSecondary, #5c5c5c)}.gh-mp-p1{font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a)}.gh-mp-vs{color:var(--color-textTertiary, #8c8c8c);font-weight:var(--font-weightRegular, 400)}.gh-mp-p2{font-weight:var(--font-weightMedium, 500);color:var(--color-textPrimary, #1a1a1a)}.gh-mp-code{display:inline-flex;align-items:center;padding:1px 10px;border-radius:var(--radius-full, 999px);background:var(--color-surfaceDark, #f0f0f0);font-family:SF Mono,Cascadia Code,Consolas,monospace;font-size:var(--font-caption, 12px);font-weight:var(--font-weightSemibold, 600);letter-spacing:.06em;color:var(--color-textSecondary, #5c5c5c);line-height:1.6}.gh-mp-mode,.gh-mp-code,.gh-mp-vs{flex-shrink:0}@media(max-width:480px){.game-header--mp{grid-template-columns:auto minmax(0,1fr) auto}.game-header--mp .gh-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.game-header--mp .gh-back-btn{padding:var(--space-sm, 8px);min-width:var(--touch-minimum, 48px)}.game-header--mp .gh-back-btn span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.game-header--mp .gh-mp-code{display:none}.game-header--mp .gh-mp-bar:has(.gh-mp-players) .gh-mp-mode{display:none}.game-header--mp .gh-sync--syncing,.game-header--mp .gh-sync--synced{display:none}.game-header--mp .gh-mp-bar{flex-wrap:nowrap;max-width:100%;gap:6px}.game-header--mp .gh-mp-players{min-width:0}.game-header--mp .gh-mp-p1,.game-header--mp .gh-mp-p2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.gh-right{display:flex;align-items:center;gap:var(--space-sm, 8px);flex-shrink:0}@media(max-width:480px){.gh-right{gap:6px}}.gh-sync{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full, 999px);font-size:var(--font-caption, 12px);font-weight:var(--font-weightMedium, 500);line-height:1.5;white-space:nowrap}.gh-sync--synced{background:var(--color-statusCorrectBg, #e8f5e9);color:var(--color-statusCorrect, #2e7d32)}.gh-sync--syncing{background:var(--color-surfaceDark, #f0f0f0);color:var(--color-textSecondary, #5c5c5c)}.gh-sync--syncing .gh-sync-icon{animation:gh-sync-spin 1.5s linear infinite}.gh-sync--offline{background:#fff3e0;color:#bf360c}.gh-sync--conflict,.gh-sync--error{background:#ffebee;color:var(--color-danger, #c62828)}@keyframes gh-sync-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-reduced-motion=true] .gh-sync--syncing .gh-sync-icon{animation:none}@media(max-width:480px){.gh-sync-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}}.gh-attempts{display:inline-flex;align-items:center;gap:0;padding:4px 14px;border-radius:var(--radius-full, 999px);background:var(--color-surfaceDark, #f0f0f0);font-variant-numeric:tabular-nums;line-height:1.4;min-height:var(--touch-minimum, 48px);user-select:none}@media(max-width:480px){.gh-attempts{padding:3px 10px;min-height:44px}}.gh-attempts-used{font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a)}.gh-attempts-sep{font-size:var(--font-body, 18px);font-weight:var(--font-weightRegular, 400);color:var(--color-textTertiary, #8c8c8c);margin:0 2px}.gh-attempts-max{font-size:var(--font-body, 18px);font-weight:var(--font-weightMedium, 500);color:var(--color-textSecondary, #5c5c5c)}@media(max-width:480px){.gh-attempts-used{font-size:var(--font-body, 18px)}.gh-attempts-sep,.gh-attempts-max{font-size:var(--font-small, 14px)}}.gh-hint-btn{display:inline-flex;align-items:center;justify-content:center;min-width:var(--touch-minimum, 48px);min-height:var(--touch-minimum, 48px);padding:8px;border:none;border-radius:var(--radius-md, 12px);background:var(--color-surface, #ffffff);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));color:var(--color-textTertiary, #8c8c8c);cursor:pointer;transition:background .15s ease,box-shadow .15s ease,color .15s ease,transform .1s ease}@media(max-width:480px){.gh-hint-btn{min-width:44px;min-height:44px;padding:6px}}.gh-hint-btn:hover:not(:disabled){background:#fff8e1;box-shadow:var(--elevation-mid, 0px 4px 12px 0px rgba(0, 0, 0, .1));color:#5d4037}.gh-hint-btn:active:not(:disabled){transform:scale(.95)}.gh-hint-btn:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;background:var(--color-surfaceDark, #f0f0f0)}.gh-hint-btn .gh-bulb{display:block}.game-message{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:100;min-width:280px;max-width:420px;padding:12px 24px;border-radius:var(--radius-md, 12px);font-size:var(--font-body, 18px);font-weight:var(--font-weightSemibold, 600);text-align:center;box-shadow:var(--elevation-high, 0px 8px 24px 0px rgba(0, 0, 0, .14));animation:toast-slide-in .3s var(--motion-ease-gentle, ease-out);pointer-events:none}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%) translateY(-12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.message-error{background-color:#c62828;color:#fff}.message-info{background-color:var(--color-primary, #1a237e);color:#fff}.game-board{display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.board-row{display:flex;gap:var(--space-sm, 8px)}.game-tile{width:60px;height:60px;display:flex;align-items:center;justify-content:center;position:relative;border:2px solid var(--color-textTertiary, #8c8c8c);border-radius:var(--radius-md, 12px);font-size:var(--font-gameTile, 36px);font-weight:var(--font-weightSemibold, 600);text-transform:uppercase;user-select:none;box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08))}.tile-empty{background-color:var(--color-surface, #ffffff);border-color:var(--color-textTertiary, #8c8c8c)}.tile-correct{background-color:var(--color-statusCorrect, #2e7d32);border-color:var(--color-statusCorrect, #2e7d32);color:#fff}.tile-present{background-color:var(--color-statusPresent, #e65100);border-color:var(--color-statusPresent, #e65100);color:#fff}.tile-absent{background-color:var(--color-statusAbsent, #757575);border-color:var(--color-statusAbsent, #757575);color:#fff}.tile-melted{background-color:var(--color-surface, #ffffff);border-color:var(--color-textTertiary, #8c8c8c);border-style:dashed;color:var(--color-textTertiary, #8c8c8c);opacity:.7}.tile-letter{line-height:var(--font-lineTile, 1.2)}.tile-symbol{position:absolute;bottom:2px;right:4px;font-size:10px;opacity:.8}.tile-active{border-color:var(--color-focus, #2563eb);box-shadow:0 0 0 3px var(--color-focus, #2563eb)}button.game-tile{padding:0;margin:0;min-width:var(--touch-minimum, 48px);min-height:var(--touch-minimum, 48px);font-family:inherit;font-size:var(--font-gameTile, 36px);font-weight:var(--font-weightSemibold, 600);text-transform:uppercase;color:inherit;cursor:pointer;appearance:none}button.game-tile:focus-visible{outline:3px solid var(--color-focus, #2563eb);outline-offset:2px}.tile-flip{animation:tile-flip .3s var(--motion-ease-gentle, ease-out)}@keyframes tile-flip{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}to{transform:rotateX(0)}}.tile-shake{animation:tile-shake .3s ease-out}@keyframes tile-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.tile-bounce{animation:tile-bounce .2s var(--motion-ease-bouncy, ease-out)}@keyframes tile-bounce{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.keyboard{width:100%;max-width:600px;display:flex;flex-direction:column;gap:6px;padding:0 4px}.keyboard-row{display:flex;gap:5px;justify-content:center;width:100%}.keyboard-key{display:inline-flex;align-items:center;justify-content:center;flex:1;max-width:var(--touch-minimum, 48px);font-family:var(--font-fontFamily, inherit);font-size:var(--font-body, 18px);font-weight:var(--font-weightSemibold, 600);background-color:var(--color-surfaceDark, #f0f0f0);color:var(--color-textPrimary, #1a1a1a);border:none;border-radius:var(--radius-sm, 6px);cursor:pointer;height:var(--touch-minimum, 48px);padding:0 4px;text-transform:uppercase;box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));transition:transform var(--motion-micro, .1s) var(--motion-ease-snappy, ease-out);user-select:none}.keyboard-key:hover:not(:disabled){background-color:var(--color-textTertiary, #8c8c8c);color:#fff}.keyboard-key:active:not(:disabled){transform:scale(.92);background-color:var(--color-textSecondary, #5c5c5c)}.keyboard-key:disabled{opacity:.4;cursor:not-allowed}.key-wide{flex:1.5;max-width:64px;font-size:var(--font-small, 14px);text-transform:none}.key-correct{background-color:var(--color-statusCorrect, #2e7d32);color:#fff}.key-present{background-color:var(--color-statusPresent, #e65100);color:#fff}.key-absent{background-color:var(--color-statusAbsent, #757575);color:#fff}.game-help{width:100%;max-width:420px;padding:var(--space-md, 16px) var(--space-lg, 24px);margin-top:var(--space-sm, 8px);border-radius:var(--radius-md, 12px);background:var(--color-surface, #ffffff);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08))}.game-help-legend{display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.game-help-item{display:flex;align-items:center;gap:var(--space-md, 16px);font-size:var(--font-small, 14px);color:var(--color-textSecondary, #5c5c5c);line-height:1.4}.help-swatch{flex-shrink:0;width:24px;height:24px;border-radius:4px}.help-swatch--correct{background:var(--color-statusCorrect, #0072b2)}.help-swatch--present{background:var(--color-statusPresent, #e69f00)}.help-swatch--absent{background:var(--color-statusAbsent, #999999)}.result-screen{padding-top:var(--space-xl, 32px);text-align:center;gap:var(--space-lg, 24px)}.result-heading{font-size:var(--font-headingLg, 40px);font-weight:var(--font-weightSemibold, 600);color:var(--color-primary, #1a237e)}.result-outcome{font-size:var(--font-headingLg, 40px);font-weight:var(--font-weightSemibold, 600);margin:0}.result-outcome--won{color:var(--color-statusCorrect, #2e7d32)}.result-outcome--lost{color:var(--color-textSecondary, #5c5c5c)}.result-answer{display:flex;flex-direction:column;align-items:center;gap:4px}.result-label{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c)}.result-word{font-size:var(--font-headingMd, 32px);font-weight:var(--font-weightSemibold, 600);letter-spacing:.15em;color:var(--color-textPrimary, #1a1a1a)}.result-attempts{font-size:var(--font-bodyLarge, 20px);color:var(--color-textSecondary, #5c5c5c)}.result-explanation{max-width:46ch;margin:4px auto 0;text-align:center}.result-explanation__label{display:block;font-size:var(--font-caption, 13px);font-weight:var(--font-weightSemibold, 600);letter-spacing:.06em;text-transform:uppercase;color:var(--color-textSecondary, #5c5c5c);margin-bottom:2px}.result-explanation__text{margin:0;font-size:var(--font-body, 18px);line-height:1.45;color:var(--color-textPrimary, #1a1a1a)}.result-run-summary{display:flex;flex-direction:column;gap:var(--space-sm, 8px);align-items:center}.result-run-summary h3{margin:0;font-size:var(--font-headingSm, 24px);color:var(--color-textPrimary, #1a1a1a)}.result-run-summary__stats{display:flex;flex-wrap:wrap;gap:var(--space-md, 16px);justify-content:center;color:var(--color-textSecondary, #5c5c5c)}.result-stats{display:flex;gap:var(--space-xl, 32px);justify-content:center}.stat-item{display:flex;flex-direction:column;align-items:center;gap:4px}.stat-value{font-size:var(--font-headingSm, 24px);font-weight:var(--font-weightSemibold, 600);color:var(--color-primary, #1a237e)}.stat-label{font-size:var(--font-small, 14px);color:var(--color-textSecondary, #5c5c5c);text-transform:none;letter-spacing:0}.daily-stats{width:100%;max-width:400px;padding:var(--space-md, 16px);background-color:var(--color-surface, #ffffff);border-radius:var(--radius-md, 12px);display:flex;flex-direction:column;gap:var(--space-xs, 4px);align-items:center;text-align:center}.daily-stats p{margin:0}.daily-stats-solved{font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a)}.daily-stats-beat{font-size:var(--font-body, 18px);color:var(--color-statusCorrect, #2e7d32)}.daily-stats-played{font-size:var(--font-small, 14px);color:var(--color-textTertiary, #8a8a8a)}.daily-stats-consent{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--space-sm, 8px);align-items:center;text-align:center}.daily-stats-consent-text{margin:0;font-size:var(--font-small, 14px);color:var(--color-textSecondary, #5c5c5c)}.daily-stats-consent-actions{display:flex;gap:var(--space-sm, 8px);flex-wrap:wrap;justify-content:center}.result-nudge{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--space-xs, 4px);align-items:center;text-align:center}.result-nudge-text{margin:0;font-size:var(--font-small, 14px);color:var(--color-textSecondary, #5c5c5c)}.result-nudge-cta{font-size:var(--font-small, 14px)}.result-guesses{width:100%;max-width:400px}.result-guesses h3{font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);margin-bottom:var(--space-sm, 8px);color:var(--color-textPrimary, #1a1a1a)}.result-guess-row{display:flex;gap:var(--space-sm, 8px);justify-content:center;margin-bottom:var(--space-sm, 8px)}.result-letter{width:44px;height:44px;display:flex;align-items:center;justify-content:center;position:relative;border-radius:var(--radius-sm, 6px);font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);text-transform:uppercase;color:#fff}.result-correct{background-color:var(--color-statusCorrect, #2e7d32)}.result-present{background-color:var(--color-statusPresent, #e65100)}.result-absent{background-color:var(--color-statusAbsent, #757575)}.result-symbol{position:absolute;bottom:1px;right:3px;font-size:8px;opacity:.7}.result-actions{display:flex;flex-direction:column;gap:var(--space-md, 16px);width:100%;max-width:360px;align-items:stretch;margin-top:var(--space-md, 16px)}.result-actions .btn{width:100%}.xp-gain{display:inline-flex;align-items:center;justify-content:center;background-color:var(--color-statusCorrectBg, #e8f5e9);color:var(--color-statusCorrect, #2e7d32);border-radius:var(--radius-full, 999px);padding:var(--space-sm, 8px) var(--space-md, 16px);font-size:var(--font-headingSm, 24px);font-weight:var(--font-weightSemibold, 600);animation:xp-pop .4s var(--motion-ease-bouncy, ease-out)}@keyframes xp-pop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.error-banner{position:fixed;bottom:var(--space-md, 16px);left:50%;transform:translate(-50%);background-color:#ffebee;color:var(--color-danger, #c62828);border-radius:var(--radius-md, 12px);padding:var(--space-sm, 8px) var(--space-lg, 24px);font-weight:var(--font-weightMedium, 500);box-shadow:var(--elevation-high, 0px 8px 24px 0px rgba(0, 0, 0, .14));z-index:var(--z-toast, 500);max-width:90vw;text-align:center}.settings-screen{padding-top:var(--space-lg, 24px);gap:var(--space-md, 16px);max-width:var(--content-max-width, 600px);margin:0 auto}.settings-section{width:100%;max-width:none;background:var(--color-surface, #ffffff);border-radius:var(--radius-md, 12px);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));padding:var(--space-md, 16px) var(--space-lg, 24px);display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.settings-section h2{font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin:0}.settings-section-desc{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c);line-height:var(--font-lineBody, 1.5);margin:0}.settings-toggle{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md, 16px);padding:var(--space-sm, 8px) 0;min-height:var(--touch-minimum, 48px)}.settings-toggle+.settings-toggle{border-top:1px solid var(--color-surfaceDark, #f0f0f0)}.settings-toggle--stacked{flex-direction:column;align-items:stretch;gap:var(--space-sm, 8px)}.settings-toggle--stacked .settings-toggle-info{flex:none}.settings-toggle--stacked .settings-select{width:100%;max-width:320px}.settings-toggle-info{flex:1;min-width:0}.settings-toggle-label{display:block;font-size:var(--font-body, 18px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);cursor:pointer;line-height:var(--font-lineBody, 1.5)}.settings-toggle-desc{font-size:var(--font-small, 14px);color:var(--color-textSecondary, #5c5c5c);margin-top:var(--space-xs, 4px);line-height:var(--font-lineBody, 1.5)}.settings-select{display:block;width:auto;min-width:160px;max-width:100%;flex-shrink:0;font-family:var(--font-fontFamily, inherit);font-size:var(--font-body, 18px);font-weight:var(--font-weightMedium, 500);color:var(--color-textPrimary, #1a1a1a);background-color:var(--color-surfaceDark, #f0f0f0);border:none;border-radius:var(--radius-sm, 6px);padding:8px 12px;min-height:var(--touch-minimum, 48px);cursor:pointer;appearance:auto}.settings-select:focus-visible{outline:3px solid var(--color-focus, #2563eb);outline-offset:2px}.toggle-switch{display:inline-flex;align-items:center;gap:var(--space-sm, 8px);flex-shrink:0;background:none;border:none;cursor:pointer;padding:4px;font-family:var(--font-fontFamily, inherit);font-size:var(--font-body, 18px);min-height:var(--touch-minimum, 48px);min-width:var(--touch-minimum, 48px);border-radius:var(--radius-sm, 6px)}.toggle-switch:focus-visible{outline:3px solid var(--color-focus, #2563eb);outline-offset:2px}.toggle-track{position:relative;display:inline-block;width:56px;height:32px;background-color:var(--color-textTertiary, #8c8c8c);border-radius:var(--radius-full, 999px);flex-shrink:0;transition:background-color var(--motion-quick, .2s) var(--motion-ease-gentle, ease-out)}.toggle-thumb{position:absolute;top:4px;left:4px;width:24px;height:24px;background-color:#fff;border-radius:50%;transition:transform var(--motion-quick, .2s) var(--motion-ease-gentle, ease-out);box-shadow:0 1px 2px #00000026}.toggle-on .toggle-track{background-color:var(--color-primary, #1a237e)}.toggle-on .toggle-thumb{transform:translate(24px)}.toggle-label-text{font-size:var(--font-small, 14px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textSecondary, #5c5c5c);line-height:1}.toggle-switch--column{flex-direction:column;gap:var(--space-xs, 4px);align-self:center}.settings-footer{width:100%;max-width:none;text-align:center;padding:var(--space-sm, 8px) 0;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm, 8px)}.settings-footer p{font-size:var(--font-small, 14px);color:var(--color-textTertiary, #8c8c8c);margin:0}.stats-screen{padding-top:var(--space-lg, 24px);gap:var(--space-lg, 24px);max-width:var(--content-max-width, 600px);margin:0 auto}.stats-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm, 8px);padding:var(--space-xl, 32px) var(--space-md, 16px);text-align:center;width:100%;max-width:400px}.stats-empty-state p{font-size:var(--font-bodyLarge, 20px);color:var(--color-textPrimary, #1a1a1a);font-weight:var(--font-weightMedium, 500)}.stats-empty-hint{font-size:var(--font-bodyLarge, 20px);color:var(--color-textSecondary, #5c5c5c)!important;font-weight:var(--font-weightRegular, 400)!important}.stats-overview{width:100%;max-width:none;display:flex;flex-direction:column;gap:var(--space-md, 16px)}.stats-overview h2{font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a)}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm, 8px)}.stat-card{background:var(--color-surface, #ffffff);border-radius:var(--radius-md, 12px);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));padding:var(--space-md, 16px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.stat-card-value{font-size:var(--font-headingMd, 32px);font-weight:var(--font-weightSemibold, 600);color:var(--color-primary, #1a237e);line-height:1.1}.stat-card-label{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c);font-weight:var(--font-weightMedium, 500)}.stats-section{width:100%;max-width:none}.stats-section h2{font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin-bottom:var(--space-sm, 8px)}.stats-summary-list{list-style:none;background:var(--color-surface, #ffffff);border-radius:var(--radius-md, 12px);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));padding:var(--space-md, 16px) var(--space-lg, 24px);display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.stats-summary-list li{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-body, 18px);padding:var(--space-xs, 4px) 0}.summary-label{color:var(--color-textSecondary, #5c5c5c);font-weight:var(--font-weightRegular, 400)}.summary-value{color:var(--color-textPrimary, #1a1a1a);font-weight:var(--font-weightSemibold, 600)}.guess-distribution{width:100%;max-width:none;display:flex;flex-direction:column;gap:6px;background:var(--color-surface, #ffffff);border-radius:var(--radius-md, 12px);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));padding:var(--space-md, 16px) var(--space-lg, 24px)}.dist-row{display:flex;align-items:center;gap:var(--space-sm, 8px)}.dist-label{font-size:var(--font-body, 18px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);width:16px;text-align:right;flex-shrink:0}.dist-bar-container{flex:1;height:24px;background-color:var(--color-surfaceDark, #f0f0f0);border-radius:var(--radius-sm, 6px);overflow:hidden}.dist-bar{height:100%;background-color:var(--color-primary, #1a237e);border-radius:var(--radius-sm, 6px);display:flex;align-items:center;justify-content:flex-end;padding-right:var(--space-sm, 8px);min-width:20px;transition:width .4s var(--motion-ease-gentle, ease-out)}.dist-count{font-size:var(--font-small, 14px);font-weight:var(--font-weightSemibold, 600);color:#fff;line-height:1}.stats-footer{width:100%;max-width:none;text-align:center;padding:var(--space-sm, 8px) 0}.stats-footer p{font-size:var(--font-body, 18px);color:var(--color-textTertiary, #8c8c8c)}.collection-screen{padding-top:var(--space-lg, 24px);gap:var(--space-lg, 24px);max-width:var(--content-max-width, 600px);margin:0 auto}.collection-count{font-size:var(--font-body, 18px);font-weight:var(--font-weightMedium, 500);color:var(--color-textSecondary, #5c5c5c);text-align:center}.collection-grid{width:100%;max-width:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:var(--space-sm, 8px)}.collection-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--color-surface, #ffffff);border-radius:var(--radius-md, 12px);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));padding:var(--space-sm, 8px) var(--space-xs, 4px);min-height:72px;text-align:center}.collection-word{font-size:var(--font-body, 18px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);line-height:1.2}.collection-attempts{font-size:var(--font-caption, 12px);color:var(--color-textSecondary, #5c5c5c);line-height:1}.collection-date{font-size:10px;color:var(--color-textTertiary, #8c8c8c);line-height:1}.home-screen .settings-toggle{width:100%;max-width:400px;padding:var(--space-sm, 8px) var(--space-md, 16px);background:transparent;min-height:var(--touch-minimum, 48px);border:none}.home-screen .settings-toggle-label{font-size:var(--font-body, 18px);font-weight:var(--font-weightMedium, 500);color:var(--color-textPrimary, #1a1a1a)}.difficulty-card{width:100%;display:flex;flex-direction:column;gap:var(--space-sm, 8px);align-items:stretch}.difficulty-card .difficulty-card__heading{margin:0;text-align:center;font-size:var(--font-small, 14px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textSecondary, #5c5c5c)}.difficulty-segments{display:flex;gap:var(--space-xs, 4px);padding:var(--space-xs, 4px);background:var(--color-surfaceDark, #f0f0f0);border-radius:var(--radius-lg, 20px);width:100%}.difficulty-segment{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-xs, 4px);padding:var(--space-sm, 8px) var(--space-xs, 4px);min-height:var(--touch-minimum, 48px);border:none;border-radius:var(--radius-md, 12px);background:transparent;color:var(--color-textSecondary, #5c5c5c);font-size:var(--font-small, 14px);font-weight:var(--font-weightSemibold, 600);cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.difficulty-segment:hover:not(.difficulty-segment--selected){color:var(--color-textPrimary, #1a1a1a)}.difficulty-segment--selected{background:var(--color-primary, #1a237e);color:#fff;box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08))}.difficulty-segment:focus-visible{outline:3px solid var(--color-focus, #2563eb);outline-offset:2px}.difficulty-segment__label{line-height:1.3}.difficulty-detail{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm, 8px);max-width:420px;margin:0 auto}.difficulty-card .difficulty-detail__desc{margin:0;font-size:var(--font-small, 14px);line-height:1.4;color:var(--color-textSecondary, #5c5c5c)}.difficulty-impacts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-xs, 4px) var(--space-sm, 8px)}.difficulty-impact{display:inline-flex;align-items:center;gap:var(--space-xs, 4px);padding:4px 10px;border-radius:999px;background:var(--color-surfaceDark, #f0f0f0);color:var(--color-textSecondary, #5c5c5c);font-size:var(--font-small, 14px);font-weight:var(--font-weightMedium, 500)}.difficulty-impact--reward{color:var(--color-statusCorrect, #2e7d32);font-weight:var(--font-weightSemibold, 600)}.home-nav{display:flex;gap:var(--space-xs, 4px);width:100%;justify-content:center;padding:var(--space-xs, 4px);background:var(--color-surface, #ffffff);border-radius:var(--radius-lg, 20px);box-shadow:var(--elevation-mid, 0px 4px 12px 0px rgba(0, 0, 0, .1))}.nav-btn{flex:1;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;font-size:var(--font-caption, 12px)!important;font-weight:var(--font-weightMedium, 500)!important;padding:var(--space-sm, 8px) var(--space-xs, 4px)!important;min-height:var(--touch-preferred, 56px)!important;min-width:auto!important;border-radius:var(--radius-md, 12px)!important;color:var(--color-textSecondary, #5c5c5c)!important;background:transparent!important;white-space:nowrap}.nav-btn:hover:not(:disabled){background-color:var(--color-surfaceDark, #f0f0f0)!important;color:var(--color-primary, #1a237e)!important}.nav-btn:active:not(:disabled){transform:scale(.96)}.nav-icon{font-size:26px;line-height:1;display:block}.version-badge{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-sm, 8px);padding:var(--space-md, 16px) 0 var(--space-sm, 8px);font-size:var(--font-caption, 12px);color:var(--color-textTertiary, #8c8c8c);margin-top:auto;cursor:default;user-select:none}.version-badge span{font-size:var(--font-caption, 12px);color:var(--color-textTertiary, #8c8c8c)}.version-badge-env{display:inline-block;padding:1px 6px;border-radius:4px;background:var(--color-amberGlow, rgba(230, 81, 0, .1));color:var(--color-statusPresent, #e69f00);font-size:10px;font-weight:var(--font-weightSemibold, 600);letter-spacing:.04em}.stats-empty{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c);text-align:center;padding:var(--space-md, 16px)}.home-streak{font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightMedium, 500);color:var(--color-textSecondary, #5c5c5c);text-align:center;padding:0;margin:0}.daily-completed-badge{display:inline-flex;align-items:center;gap:var(--space-xs, 4px);font-size:var(--font-body, 18px);font-weight:var(--font-weightMedium, 500);color:var(--color-statusCorrect, #2e7d32);background:var(--color-statusCorrectBg, #e8f5e9);padding:var(--space-sm, 8px) var(--space-md, 16px);border-radius:var(--radius-full, 999px);margin-top:var(--space-sm, 8px)}.home-progression{width:100%;max-width:100%;padding:var(--space-md, 16px) 0}.premium-badge{display:inline-block;font-size:var(--font-caption, 12px);font-weight:var(--font-weightSemibold, 600);color:var(--color-premium, #5c4f8c);background:var(--color-premiumBg, #ede7f6);padding:2px var(--space-sm, 8px);border-radius:var(--radius-sm, 6px);text-transform:none;letter-spacing:0}.result-level{font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightMedium, 500);color:var(--color-textSecondary, #5c5c5c);text-align:center}.result-progression{width:100%;max-width:400px}.progression-bar-container{display:flex;flex-direction:column;gap:var(--space-sm, 8px);width:100%}.progression-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm, 8px);flex-wrap:wrap;font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c)}.progression-level{font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a)}.progression-xp{font-weight:var(--font-weightMedium, 500);font-variant-numeric:tabular-nums}.progression-track{height:10px;background-color:var(--color-surfaceDark, #f0f0f0);border-radius:var(--radius-full, 999px);overflow:hidden}.progression-fill{height:100%;background-color:var(--color-primary, #1a237e);border-radius:var(--radius-full, 999px);transition:width var(--motion-durationSlow, .6s) var(--motion-ease-standard, ease-out)}.result-achievements{width:100%;max-width:400px}.result-achievements h3{font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);margin-bottom:var(--space-sm, 8px);color:var(--color-textPrimary, #1a1a1a)}.result-achievement-list{display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.achievement-badge{display:flex;align-items:center;gap:var(--space-md, 16px);padding:var(--space-sm, 8px) var(--space-md, 16px);background-color:var(--color-surfaceDark, #f0f0f0);border-radius:var(--radius-md, 12px);border:1px solid var(--color-borderLight, #e0e0e0)}.achievement-new{border-color:var(--color-statusCorrect, #2e7d32);background-color:var(--color-statusCorrectBg, #e8f5e9)}.achievement-icon{font-size:32px;flex-shrink:0;width:40px;text-align:center}.achievement-info{display:flex;flex-direction:column;gap:2px;min-width:0}.achievement-title{font-size:var(--font-body, 18px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a)}.achievement-desc{font-size:var(--font-small, 14px);color:var(--color-textSecondary, #5c5c5c)}.achievement-new-badge{flex-shrink:0;font-size:var(--font-small, 14px);font-weight:var(--font-weightSemibold, 600);color:var(--color-statusCorrect, #2e7d32);background-color:var(--color-statusCorrectBg, #e8f5e9);border-radius:var(--radius-full, 999px);padding:2px var(--space-sm, 8px)}.achievement-empty{text-align:center;color:var(--color-textSecondary, #5c5c5c);font-size:var(--font-body, 18px)}.hardmode-section{padding:var(--space-md, 16px) var(--space-lg, 24px);width:100%;max-width:480px;align-self:center}@media(min-width:600px){.hardmode-section{max-width:560px}}@media(min-width:900px){.hardmode-section{max-width:640px}}.hardmode-section .settings-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md, 16px)}.home-section--modes{padding:var(--space-lg, 24px);text-align:left}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{width:260px;background-color:var(--color-primary, #1a237e);color:#fff;padding:var(--space-lg, 24px) var(--space-md, 16px);display:flex;flex-direction:column;flex-shrink:0}.admin-sidebar-header h1{font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);margin-bottom:var(--space-xl, 32px);padding-bottom:var(--space-md, 16px);border-bottom:1px solid rgba(255,255,255,.2)}.admin-nav-list{list-style:none;display:flex;flex-direction:column;gap:4px}.admin-nav-link{display:flex;align-items:center;color:#fffc;text-decoration:none;font-size:var(--font-body, 18px);padding:var(--space-sm, 8px) var(--space-md, 16px);border-radius:var(--radius-md, 12px);min-height:var(--touch-minimum, 48px);transition:background-color var(--motion-quick, .2s) var(--motion-ease-gentle, ease-out)}.admin-nav-link:hover{background-color:#ffffff4d;color:#fff}.admin-main{flex:1;padding:var(--space-xl, 32px);overflow-y:auto}.admin-page-header{margin-bottom:var(--space-xl, 32px)}.admin-page-header h1{font-size:var(--font-headingMd, 32px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a)}.admin-page-header p{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c);margin-top:var(--space-sm, 8px)}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md, 16px);margin-bottom:var(--space-xl, 32px)}.admin-stat-card{background-color:var(--color-surface, #ffffff);border-radius:var(--radius-md, 12px);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));padding:var(--space-lg, 24px);text-align:center}.admin-stat-value{font-size:var(--font-headingMd, 32px);font-weight:var(--font-weightSemibold, 600);color:var(--color-primary, #1a237e)}.admin-stat-label{font-size:var(--font-small, 14px);color:var(--color-textSecondary, #5c5c5c);margin-top:4px}.admin-card{background-color:var(--color-surface, #ffffff);border-radius:var(--radius-md, 12px);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));padding:var(--space-lg, 24px);margin-bottom:var(--space-md, 16px)}.admin-card h2{font-size:var(--font-headingSm, 24px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin-bottom:var(--space-md, 16px)}.admin-empty{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c);padding:var(--space-lg, 24px);text-align:center}.admin-table{width:100%;border-collapse:collapse;font-size:var(--font-body, 18px)}.admin-table th{text-align:left;font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);padding:var(--space-sm, 8px) var(--space-md, 16px);border-bottom:2px solid var(--color-surfaceDark, #f0f0f0)}.admin-table td{padding:var(--space-sm, 8px) var(--space-md, 16px);color:var(--color-textPrimary, #1a1a1a);border-bottom:1px solid var(--color-surfaceDark, #f0f0f0)}.admin-badge{display:inline-block;padding:2px var(--space-sm, 8px);border-radius:var(--radius-sm, 6px);font-size:var(--font-small, 14px);font-weight:var(--font-weightSemibold, 600)}.badge-active{background-color:var(--color-statusCorrectBg, #e8f5e9);color:var(--color-statusCorrect, #2e7d32)}.badge-inactive{background-color:var(--color-surfaceDark, #f0f0f0);color:var(--color-textSecondary, #5c5c5c)}@media(max-width:399px){.app-shell{padding:var(--space-sm, 8px)}.game-tile{width:44px;height:44px;font-size:28px}.keyboard-row{gap:4px}.keyboard-key{min-height:var(--touch-minimum, 48px);min-width:24px;padding:var(--space-xs, 4px) 4px;font-size:var(--font-small, 14px)}.home-section,.home-section--modes{padding:var(--space-md, 16px)}.mode-card{padding:var(--space-sm, 8px) var(--space-md, 16px)}}@media(max-width:600px)and (max-height:700px){.game-screen{gap:var(--space-sm, 8px)}.game-board,.board-row{gap:6px}.game-tile{width:48px;height:48px;font-size:28px}.multiplayer-disconnect-area{margin-top:0;padding:var(--space-sm, 8px) var(--space-md, 16px)}}@media(min-width:600px){.home-screen{padding-top:var(--space-lg, 24px)}}@media(min-width:768px){.app-shell{padding:var(--space-xl, 32px)}.game-tile{width:64px;height:64px}.home-section,.home-section--modes{padding:var(--space-xl, 32px)}}@media(min-width:1024px){.home-screen{padding-top:var(--space-xl, 32px)}}.multiplayer-hub-screen{padding-top:var(--space-xl, 32px);gap:var(--space-lg, 24px)}.multiplayer-hub-header{text-align:center;display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.multiplayer-hub-title{font-size:var(--font-headingLg, 40px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin:0}.multiplayer-hub-subtitle{font-size:var(--font-bodyLarge, 20px);color:var(--color-textSecondary, #5c5c5c);margin:0}.multiplayer-option-card{display:flex;align-items:center;gap:var(--space-md, 16px);width:100%;max-width:480px;padding:var(--space-lg, 24px);background:var(--color-surface, #ffffff);border:none;border-radius:var(--radius-lg, 20px);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));cursor:pointer;font-family:var(--font-fontFamily, inherit);text-align:left;min-height:var(--touch-preferred, 56px);transition:transform .1s ease,box-shadow .15s ease,background .15s ease;user-select:none}.multiplayer-option-card:hover{transform:translateY(-2px);box-shadow:var(--elevation-mid, 0px 4px 12px 0px rgba(0, 0, 0, .1));background:var(--color-surfaceHover, #f5f5f3)}.multiplayer-option-card:active{transform:scale(.98)}.multiplayer-option-card:focus-visible{outline:3px solid var(--color-focus, #2563eb);outline-offset:2px}.multiplayer-option-icon{font-size:40px;flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center}.multiplayer-option-content{flex:1;display:flex;flex-direction:column;gap:4px}.multiplayer-option-title{font-size:var(--font-headingSm, 24px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);line-height:1.2}.multiplayer-option-desc{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c);line-height:1.4}.multiplayer-option-arrow{font-size:24px;color:var(--color-textTertiary, #8c8c8c);flex-shrink:0}.multiplayer-section-title{font-size:var(--font-headingMd, 32px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin:0;text-align:center}.multiplayer-hint{font-size:var(--font-bodyLarge, 20px);color:var(--color-textSecondary, #5c5c5c);text-align:center;max-width:400px;line-height:1.5}.create-room-screen{padding-top:var(--space-xl, 32px);gap:var(--space-lg, 24px)}.lobby-card{width:100%;max-width:480px;padding:var(--space-lg, 24px);display:flex;flex-direction:column;align-items:center;gap:var(--space-md, 16px)}.lobby-card-title{font-size:var(--font-headingSm, 24px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin:0;text-align:center}.lobby-field{width:100%;max-width:480px;display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.lobby-card .lobby-field{max-width:100%}.lobby-name-input{font-family:var(--font-fontFamily, inherit);font-size:var(--font-bodyLarge, 20px);color:var(--color-textPrimary, #1a1a1a);background:var(--color-surface, #ffffff);border:2px solid var(--color-inputBorder, #e0e0e0);border-radius:var(--radius-md, 12px);padding:12px 16px;min-height:var(--touch-preferred, 56px);width:100%}.lobby-name-input:focus{border-color:var(--color-focus, #2563eb);outline:none;box-shadow:0 0 0 3px #2563eb33}.room-variant-picker{width:100%;max-width:560px;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-lg, 24px)}.room-variant-intro{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs, 4px)}.room-variant-subtitle{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c);text-align:center;margin:0;line-height:1.4}.room-variant-carousel{width:100%}.room-variant-track{list-style:none;margin:0;padding:var(--space-sm, 8px) var(--space-xs, 4px);display:flex;gap:var(--space-md, 16px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--space-md, 16px);-webkit-overflow-scrolling:touch;scrollbar-width:none}.room-variant-track::-webkit-scrollbar{display:none}.room-variant-card{flex:0 0 auto;width:clamp(220px,74%,260px);scroll-snap-align:center;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-sm, 8px);padding:var(--space-lg, 24px) var(--space-md, 16px);cursor:pointer;border:2px solid transparent;transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease}.room-variant-card:hover{background-color:var(--color-surfaceHover, #f5f5f3)}.room-variant-card:active{transform:scale(.99)}.room-variant-card:focus-visible{outline:3px solid var(--color-focus, #2563eb);outline-offset:2px}.room-variant-card--selected,.room-variant-card--selected:hover{border-color:var(--color-primary, #1a237e);background-color:var(--color-surfaceHover, #f5f5f3)}.room-variant-card__icon{flex-shrink:0;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--color-surfaceDark, #f0f0f0);border-radius:var(--radius-md, 12px);color:var(--color-primary, #1a237e);line-height:1}.room-variant-card--selected .room-variant-card__icon{background:var(--color-primary, #1a237e);color:var(--color-surface, #ffffff)}.room-variant-card__label{font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);line-height:1.3}.room-variant-card__desc{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c);line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.room-variant-card__check{position:absolute;top:var(--space-sm, 8px);right:var(--space-sm, 8px);width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full, 999px);background:var(--color-primary, #1a237e);color:var(--color-surface, #ffffff)}.carousel-nav{display:flex;align-items:center;justify-content:center;gap:var(--space-md, 16px)}.carousel-nav__arrow{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--color-surface, #ffffff);color:var(--color-primary, #1a237e);border:2px solid var(--color-inputBorder, #e0e0e0);border-radius:var(--radius-full, 999px);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.carousel-nav__arrow:hover:not(:disabled){border-color:var(--color-primary, #1a237e)}.carousel-nav__arrow:focus-visible{outline:3px solid var(--color-focus, #2563eb);outline-offset:2px}.carousel-nav__arrow:disabled{opacity:.4;cursor:not-allowed}.carousel-dots{display:flex;align-items:center;gap:var(--space-sm, 8px)}.carousel-dot{width:10px;height:10px;border-radius:var(--radius-full, 999px);background:var(--color-inputBorder, #e0e0e0);transition:background-color .15s ease,width .15s ease}.carousel-dot--active{width:26px;background:var(--color-primary, #1a237e)}.room-variant-stepper{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md, 16px);padding:var(--space-sm, 8px) var(--space-md, 16px);background:var(--color-surfaceDark, #f0f0f0);border-radius:var(--radius-md, 12px)}.room-variant-stepper__label{font-size:var(--font-body, 18px);font-weight:var(--font-weightMedium, 500);color:var(--color-textPrimary, #1a1a1a)}.room-variant-stepper__control{display:flex;align-items:center;gap:var(--space-sm, 8px)}.room-variant-stepper__btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--color-surface, #ffffff);color:var(--color-primary, #1a237e);border:2px solid var(--color-inputBorder, #e0e0e0);border-radius:var(--radius-md, 12px);cursor:pointer;transition:border-color .15s ease,background-color .15s ease}.room-variant-stepper__btn:hover:not(:disabled){border-color:var(--color-primary, #1a237e)}.room-variant-stepper__btn:focus-visible{outline:3px solid var(--color-focus, #2563eb);outline-offset:2px}.room-variant-stepper__btn:disabled{opacity:.4;cursor:not-allowed}.room-variant-stepper__value{min-width:2ch;text-align:center;font-size:var(--font-headingSm, 24px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);font-variant-numeric:tabular-nums}.room-code-block{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm, 8px)}.room-code-label{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c);font-weight:var(--font-weightMedium, 500)}.room-code-tiles{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-sm, 8px)}.room-code-tile{width:52px;height:60px;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:var(--font-weightSemibold, 600);text-transform:uppercase;color:var(--color-primary, #1a237e);background:var(--color-premiumBg, #ede7f6);border-radius:var(--radius-md, 12px);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));user-select:none}.room-code-tile--group{margin-left:var(--space-sm, 8px)}@media(max-width:480px){.room-code-tile{width:42px;height:50px;font-size:26px}.room-code-tiles{gap:6px}.room-code-tile--group{margin-left:6px}}.qr-code-container{display:flex;align-items:center;justify-content:center;padding:var(--space-md, 16px);background:#fff;border-radius:var(--radius-lg, 20px);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08))}.qr-code-image{display:block;width:240px;height:240px}.qr-code-fallback{width:240px;height:240px;display:flex;align-items:center;justify-content:center;background:var(--color-surfaceDark, #f0f0f0);border-radius:var(--radius-md, 12px)}.qr-code-fallback-text{font-size:28px;font-weight:var(--font-weightSemibold, 600);text-align:center;line-height:1.3;color:var(--color-textPrimary, #1a1a1a)}.room-share-hint{font-size:var(--font-bodyLarge, 20px);color:var(--color-textSecondary, #5c5c5c);text-align:center;max-width:420px;line-height:1.5}.room-actions{display:flex;flex-direction:column;gap:var(--space-sm, 8px);width:100%;max-width:480px}.room-actions .btn{gap:var(--space-sm, 8px)}.room-actions--row{flex-direction:row}.room-actions--row .btn{flex:1;padding-left:var(--space-md, 16px);padding-right:var(--space-md, 16px)}@media(max-width:480px){.room-actions--row{flex-direction:column}}.lobby-players{align-items:stretch}.lobby-players .lobby-card-title{text-align:left}.lobby-player-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.lobby-player{display:flex;align-items:center;gap:var(--space-md, 16px);padding:var(--space-sm, 8px) var(--space-md, 16px);background:var(--color-background, #fafaf8);border-radius:var(--radius-md, 12px);min-height:var(--touch-preferred, 56px);animation:lobby-player-in var(--motion-normal, .3s) var(--motion-ease-gentle, ease-out) both}@keyframes lobby-player-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.lobby-player-avatar{width:40px;height:40px;border-radius:var(--radius-full, 999px);display:flex;align-items:center;justify-content:center;font-size:var(--font-body, 18px);font-weight:var(--font-weightSemibold, 600);text-transform:uppercase;flex-shrink:0}.lobby-player-avatar--1{background:var(--color-premiumBg, #ede7f6);color:var(--color-premium, #5c4f8c)}.lobby-player-avatar--2{background:var(--color-statusPresentBg, #fff3e0);color:var(--color-statusPresent, #e65100)}.lobby-player-avatar--3{background:var(--color-statusCorrectBg, #e8f5e9);color:var(--color-statusCorrect, #2e7d32)}.lobby-player-avatar--4{background:var(--color-statusInfoBg, #e3f2fd);color:var(--color-statusInfo, #1565c0)}.lobby-player-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightMedium, 500);color:var(--color-textPrimary, #1a1a1a)}.lobby-player-host{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;font-size:var(--font-small, 14px);font-weight:var(--font-weightSemibold, 600);color:var(--color-premium, #5c4f8c);background:var(--color-premiumBg, #ede7f6);padding:4px 10px;border-radius:var(--radius-full, 999px)}.lobby-player-pill{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;font-size:var(--font-small, 14px);font-weight:var(--font-weightMedium, 500);padding:4px 10px;border-radius:var(--radius-full, 999px)}.lobby-player-pill--online{color:var(--color-statusCorrect, #2e7d32);background:var(--color-statusCorrectBg, #e8f5e9)}.lobby-player-pill--offline{color:var(--color-statusAbsent, #757575);background:var(--color-statusAbsentBg, #eeeeee)}.lobby-player-pill--left{color:var(--color-statusAbsent, #757575);background:var(--color-statusAbsentBg, #eeeeee);text-decoration:line-through}.lobby-player-dot{width:8px;height:8px;border-radius:var(--radius-full, 999px);background:currentColor}.lobby-player-pill--online .lobby-player-dot{animation:lobby-dot-pulse 2s ease-in-out infinite}@keyframes lobby-dot-pulse{0%,to{opacity:1}50%{opacity:.35}}.lobby-player--empty{background:transparent;border:2px dashed var(--color-inputBorder, #e0e0e0)}.lobby-player-avatar--empty{background:var(--color-surfaceDark, #f0f0f0);color:var(--color-textTertiary, #8c8c8c)}.lobby-player-waiting{display:inline-flex;align-items:center;font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c)}.lobby-wait-dots{display:inline-flex;gap:3px;margin-left:6px}.lobby-wait-dots span{width:6px;height:6px;border-radius:var(--radius-full, 999px);background:var(--color-textSecondary, #5c5c5c);opacity:.4;animation:lobby-dot-wave 1.4s ease-in-out infinite}.lobby-wait-dots span:nth-child(2){animation-delay:.2s}.lobby-wait-dots span:nth-child(3){animation-delay:.4s}@keyframes lobby-dot-wave{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.lobby-waiting-note{display:inline-flex;align-items:center;gap:var(--space-sm, 8px);font-size:var(--font-bodyLarge, 20px);color:var(--color-textSecondary, #5c5c5c);margin:0;text-align:center}.lobby-loading{flex-direction:column;gap:var(--space-md, 16px)}.lobby-spinner{display:inline-flex;color:var(--color-primary, #1a237e);animation:lobby-spin 1.2s linear infinite}@keyframes lobby-spin{to{transform:rotate(360deg)}}.lobby-cta{max-width:480px}.join-room-screen{padding-top:var(--space-xl, 32px);gap:var(--space-lg, 24px)}.join-code-label{font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a)}.join-code-input{font-family:var(--font-fontFamily, inherit);font-size:36px;font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);background:var(--color-surface, #ffffff);border:2px solid var(--color-textTertiary, #8c8c8c);border-radius:var(--radius-md, 12px);padding:16px 20px;text-align:center;letter-spacing:.2em;text-transform:uppercase;min-height:var(--touch-preferred, 56px);width:100%}.join-code-input:focus{border-color:var(--color-focus, #2563eb);outline:none;box-shadow:0 0 0 3px #2563eb33}.join-code-input::placeholder{color:var(--color-textTertiary, #8c8c8c);font-size:24px;letter-spacing:.1em}.join-code-hint{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c);text-align:center;line-height:1.5}.join-scan-section{width:100%;max-width:480px;text-align:center;padding:var(--space-md, 16px);background:var(--color-surfaceDark, #f0f0f0);border-radius:var(--radius-md, 12px)}.join-scan-hint{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c);margin-bottom:var(--space-sm, 8px)}.join-scan-note{font-size:var(--font-small, 14px);color:var(--color-textTertiary, #8c8c8c)}.pass-and-play-screen{padding-top:var(--space-xl, 32px);gap:var(--space-lg, 24px)}.passplay-name-inputs{display:flex;flex-direction:column;gap:var(--space-md, 16px);width:100%;max-width:400px}.passplay-name-label{display:flex;flex-direction:column;gap:var(--space-sm, 8px);font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a)}.passplay-name-input{font-family:var(--font-fontFamily, inherit);font-size:var(--font-bodyLarge, 20px);color:var(--color-textPrimary, #1a1a1a);background:var(--color-surface, #ffffff);border:2px solid var(--color-textTertiary, #8c8c8c);border-radius:var(--radius-md, 12px);padding:12px 16px;min-height:var(--touch-preferred, 56px);width:100%}.passplay-name-input:focus{border-color:var(--color-focus, #2563eb);outline:none;box-shadow:0 0 0 3px #2563eb33}.passplay-handover{justify-content:center;text-align:center;min-height:70dvh}.passplay-handover-title{font-size:var(--font-headingLg, 40px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin:0}.passplay-handover-icon{font-size:80px;line-height:1}.passplay-handover-message{font-size:var(--font-bodyLarge, 20px);color:var(--color-textSecondary, #5c5c5c);max-width:380px;line-height:1.6;margin:0 auto}.passplay-handover-next{font-size:var(--font-headingSm, 24px);font-weight:var(--font-weightSemibold, 600);color:var(--color-primary, #1a237e);margin:0}.passplay-results{padding-top:var(--space-xl, 32px);gap:var(--space-lg, 24px)}.passplay-winner{text-align:center;padding:var(--space-md, 16px)}.passplay-winner-text{font-size:var(--font-headingMd, 32px);font-weight:var(--font-weightSemibold, 600);color:var(--color-primary, #1a237e);margin:0;animation:xp-pop .4s var(--motion-ease-bouncy, ease-out)}.passplay-result-card{width:100%;max-width:400px;padding:var(--space-lg, 24px);background:var(--color-surface, #ffffff);border-radius:var(--radius-md, 12px);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.passplay-result-card h2{font-size:var(--font-headingSm, 24px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin:0}.passplay-result-card p{font-size:var(--font-bodyLarge, 20px);color:var(--color-textSecondary, #5c5c5c);margin:0}.passplay-hints{font-size:var(--font-body, 18px)!important;color:var(--color-textTertiary, #8c8c8c)!important}.passplay-result-actions{display:flex;gap:var(--space-md, 16px);width:100%;max-width:400px;justify-content:center;flex-wrap:wrap}.passplay-answer-reveal{width:100%;max-width:400px;text-align:center;padding:var(--space-md, 16px);background:var(--color-surfaceDark, #f0f0f0);border-radius:var(--radius-md, 12px);font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightMedium, 500);color:var(--color-textPrimary, #1a1a1a)}.error-text{font-size:var(--font-body, 18px);color:var(--color-danger, #c62828);text-align:center;margin:0}.multiplayer-presence-banner{display:flex;align-items:flex-start;gap:var(--space-sm, 8px);padding:var(--space-md, 12px) var(--space-md, 16px);margin:0 var(--space-md, 16px);background:var(--color-warningBg, #fff8e1);border-radius:var(--radius-md, 12px);border-left:4px solid var(--color-warning, #f9a825)}.multiplayer-presence-banner p{flex:1;margin:0;font-size:var(--font-body, 18px);color:var(--color-textPrimary, #1a1a1a);line-height:1.5;text-align:center}.multiplayer-instructions{display:flex;align-items:flex-start;gap:var(--space-sm, 8px);padding:var(--space-md, 12px) var(--space-md, 16px);margin:0 var(--space-md, 16px);background:var(--color-surfaceDark, #f0f0f0);border-radius:var(--radius-md, 12px);border-left:4px solid var(--color-primary, #1a237e)}.multiplayer-instructions p{flex:1;margin:0;font-size:var(--font-body, 18px);color:var(--color-textPrimary, #1a1a1a);line-height:1.5;text-align:center}.shared-clock-banner{display:inline-flex;align-items:center;gap:var(--space-sm, 8px);align-self:center;padding:var(--space-xs, 6px) var(--space-md, 16px);margin:0 auto;background:var(--color-surfaceDark, #f0f0f0);border-radius:var(--radius-pill, 999px);color:var(--color-textPrimary, #1a1a1a);font-variant-numeric:tabular-nums}.shared-clock-banner__time{font-size:var(--font-h3, 22px);font-weight:700;letter-spacing:.02em}.shared-clock-banner--up{background:var(--color-statusAbsent, #c62828);color:#fff}.multiplayer-result-collective{margin:var(--space-sm, 8px) 0 0;font-size:var(--font-h3, 22px);font-weight:700;text-align:center;color:var(--color-textPrimary, #1a1a1a)}.mp-instructions-dismiss{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;margin:-4px -6px -4px 0;padding:0;border:none;border-radius:var(--radius-full, 999px);background:transparent;color:var(--color-textTertiary, #8c8c8c);cursor:pointer;transition:background .15s ease,color .15s ease}.mp-instructions-dismiss:hover{background:#0000000f;color:var(--color-textPrimary, #1a1a1a)}@media(max-width:480px){.multiplayer-instructions{padding:var(--space-sm, 8px) var(--space-sm, 8px) var(--space-sm, 8px) var(--space-md, 16px);margin:0}.multiplayer-instructions p{font-size:var(--font-small, 14px);line-height:1.4;text-align:left}}.mode-help{display:flex;align-items:flex-start;gap:var(--space-sm, 8px);padding:var(--space-md, 12px) var(--space-md, 16px);margin:0 var(--space-md, 16px);background:var(--color-surfaceDark, #f0f0f0);border-radius:var(--radius-md, 12px);border-left:4px solid var(--color-focus, #2563eb)}.reverse-target{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs, 4px)}.reverse-target__label{font-size:var(--font-bodySm, 14px);color:var(--color-textSecondary, #5c5c5c)}.reverse-target__pattern{font-size:var(--font-headingSm, 24px);letter-spacing:2px}.mode-help__icon{display:inline-flex;flex-shrink:0;color:var(--color-focus, #2563eb)}.mode-help__desc{flex:1;margin:0;font-size:var(--font-body, 18px);color:var(--color-textPrimary, #1a1a1a);line-height:1.5}.mode-help__dismiss{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;margin:-4px -6px -4px 0;padding:0;border:none;border-radius:var(--radius-full, 999px);background:transparent;color:var(--color-textTertiary, #8c8c8c);cursor:pointer;transition:background .15s ease,color .15s ease}.mode-help__dismiss:hover{background:#0000000f;color:var(--color-textPrimary, #1a1a1a)}@media(max-width:480px){.mode-help{padding:var(--space-sm, 8px) var(--space-sm, 8px) var(--space-sm, 8px) var(--space-md, 16px);margin:0}.mode-help__desc{font-size:var(--font-small, 14px);line-height:1.4}}.multiplayer-disconnect-area{display:flex;justify-content:center;padding:var(--space-lg, 24px) var(--space-md, 16px);margin-top:var(--space-md, 16px)}.multiplayer-disconnect-area .btn{min-width:200px;min-height:48px;font-size:var(--font-body, 18px)}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;background:#0006;backdrop-filter:blur(4px);animation:modal-fade-in .2s ease-out}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-dialog{display:flex;flex-direction:column;width:100%;max-height:90dvh;background:var(--color-background, #fafaf8);border-radius:var(--radius-xl, 28px) var(--radius-xl, 28px) 0 0;box-shadow:var(--elevation-float, 0px 16px 48px 0px rgba(0, 0, 0, .18));outline:none;overflow:hidden;animation:modal-slide-up .3s var(--motion-ease-gentle, ease-out)}@keyframes modal-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(min-width:600px){.modal-backdrop{align-items:center}.modal-dialog{max-width:640px;max-height:85dvh;border-radius:var(--radius-xl, 28px);margin:var(--space-lg, 24px);animation:modal-scale-in .25s var(--motion-ease-gentle, ease-out)}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.95) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}}@media(min-width:900px){.modal-dialog{max-width:760px}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg, 24px) var(--space-lg, 24px) var(--space-md, 16px);flex-shrink:0}.modal-title{font-size:var(--font-headingSm, 24px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);margin:0}.modal-close-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-preferred, 56px);height:var(--touch-preferred, 56px);border:none;border-radius:var(--radius-md, 12px);background:var(--color-surfaceDark, #f0f0f0);color:var(--color-textSecondary, #5c5c5c);font-size:24px;cursor:pointer;flex-shrink:0;transition:background .15s ease,color .15s ease}.modal-close-btn:hover{background:var(--color-textPrimary, #1a1a1a);color:#fff}.modal-close-btn:active{transform:scale(.95)}.modal-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 var(--space-lg, 24px) var(--space-xl, 32px);-webkit-overflow-scrolling:touch}.modal-subtitle{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c);margin:0 0 var(--space-lg, 24px);line-height:var(--font-lineBody, 1.5)}.whats-new-dialog{max-width:480px}.whats-new-list{margin:0 0 var(--space-lg, 24px);padding-left:var(--space-lg, 24px);display:flex;flex-direction:column;gap:var(--space-sm, 8px);font-size:var(--font-body, 18px);line-height:var(--font-lineBody, 1.5)}.home-more-modes-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm, 8px);font-size:var(--font-bodyLarge, 20px);min-height:var(--touch-preferred, 56px);border:none;background:var(--color-premiumBg, #ede7f6);color:var(--color-primary, #1a237e);border-radius:var(--radius-lg, 20px);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));cursor:pointer;transition:background .15s ease,transform .1s ease}.home-more-modes-btn:hover{background:var(--color-primaryLight, #534bae);color:#fff}.home-more-modes-btn:active{transform:scale(.98)}[data-reduced-motion=true] .modal-backdrop,[data-reduced-motion=true] .modal-dialog{animation:none}.season-backdrop{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.season-backdrop__field{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(80px);opacity:.35;animation:season-drift 60s ease-in-out infinite alternate}.season-backdrop__field--a{top:-20vmax;left:-15vmax}.season-backdrop__field--b{bottom:-25vmax;right:-15vmax;animation-delay:-30s}@keyframes season-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(6vmax,4vmax,0) scale(1.15)}}.season-backdrop--summer .season-backdrop__field--a{background:radial-gradient(circle,rgba(255,214,102,.5),transparent 70%)}.season-backdrop--summer .season-backdrop__field--b{background:radial-gradient(circle,rgba(129,199,245,.45),transparent 70%)}.season-backdrop--autumn .season-backdrop__field--a{background:radial-gradient(circle,rgba(230,126,34,.4),transparent 70%)}.season-backdrop--autumn .season-backdrop__field--b{background:radial-gradient(circle,rgba(192,57,43,.3),transparent 70%)}.season-backdrop--winter .season-backdrop__field--a{background:radial-gradient(circle,rgba(174,214,241,.45),transparent 70%)}.season-backdrop--winter .season-backdrop__field--b{background:radial-gradient(circle,rgba(213,219,230,.4),transparent 70%)}.season-backdrop--spring .season-backdrop__field--a{background:radial-gradient(circle,rgba(163,217,165,.45),transparent 70%)}.season-backdrop--spring .season-backdrop__field--b{background:radial-gradient(circle,rgba(255,224,178,.4),transparent 70%)}[data-reduced-motion=true] .season-backdrop__field{animation:none}.season-scene{position:absolute;inset:auto 0 0;height:38vh;color:var(--color-textSecondary, #5c5c5c);--scene-accent: var(--color-primaryLight, #534bae);opacity:min(var(--scene-opacity, .18),.5);transition:opacity var(--motion-normal, .3s) ease}.season-scene svg{width:100%;height:100%;display:block}.season-backdrop__scrim{position:absolute;inset:0;background:var(--color-background, #fafaf8);opacity:.35}.season-pattern{position:absolute;inset:0;transition:opacity var(--motion-normal, .3s) ease}.season-pattern__particle{position:absolute;top:-8vh;left:var(--p-left, 50%);width:10px;height:10px;border-radius:50%;background:color-mix(in srgb,var(--color-textSecondary, #5c5c5c) 35%,transparent);opacity:calc(.15 + .5 * var(--pattern-intensity, .5));transform:scale(var(--p-scale, 1));animation:season-fall var(--p-duration, 20s) linear var(--p-delay, 0s) infinite}@keyframes season-fall{0%{transform:translateZ(0) scale(var(--p-scale, 1)) rotate(0)}to{transform:translate3d(var(--p-sway, 2vw),120vh,0) scale(var(--p-scale, 1)) rotate(200deg)}}.season-pattern--snow .season-pattern__particle{background:color-mix(in srgb,var(--color-textSecondary, #5c5c5c) 40%,transparent);filter:blur(1px)}.season-pattern--falling-leaves .season-pattern__particle{width:14px;height:14px;border-radius:0 50% 50%;background:color-mix(in srgb,#b15e2a 45%,transparent)}.season-pattern--petals .season-pattern__particle{width:11px;height:11px;border-radius:50% 50% 50% 0;background:color-mix(in srgb,#d98aa8 45%,transparent)}.season-pattern--soft-rain .season-pattern__particle{width:2px;height:14px;border-radius:2px;background:color-mix(in srgb,var(--color-primaryLight, #534bae) 35%,transparent);animation-name:season-rain}@keyframes season-rain{0%{transform:translateZ(0) scale(var(--p-scale, 1))}to{transform:translate3d(calc(var(--p-sway, 2vw) * .25),120vh,0) scale(var(--p-scale, 1))}}.season-pattern--sun-rays .season-pattern__particle{top:-30vmax;right:-30vmax;left:auto;width:80vmax;height:80vmax;border-radius:50%;filter:blur(40px);background:radial-gradient(circle,rgba(255,214,102,.55),transparent 65%);opacity:calc(.1 + .3 * var(--pattern-intensity, .5));animation:season-glow var(--p-duration, 50s) ease-in-out var(--p-delay, 0s) infinite alternate}.season-pattern--sun-rays .season-pattern__particle:nth-child(2){width:55vmax;height:55vmax}.season-pattern--sun-rays .season-pattern__particle:nth-child(3){width:32vmax;height:32vmax;background:radial-gradient(circle,rgba(255,236,179,.6),transparent 65%)}@keyframes season-glow{0%{transform:scale(1)}to{transform:scale(1.12)}}.season-pattern--ocean-waves .season-pattern__particle{top:auto;left:-25vw;width:150vw;height:16vh;border-radius:45%;background:color-mix(in srgb,var(--color-primaryLight, #534bae) 22%,transparent);opacity:calc(.15 + .4 * var(--pattern-intensity, .5));animation:season-wave var(--p-duration, 40s) ease-in-out var(--p-delay, 0s) infinite alternate}.season-pattern--ocean-waves .season-pattern__particle:nth-child(1){bottom:-12vh}.season-pattern--ocean-waves .season-pattern__particle:nth-child(2){bottom:-9vh;opacity:calc(.1 + .3 * var(--pattern-intensity, .5))}.season-pattern--ocean-waves .season-pattern__particle:nth-child(3){bottom:-6vh;opacity:calc(.05 + .2 * var(--pattern-intensity, .5))}@keyframes season-wave{0%{transform:translate3d(-5vw,0,0)}to{transform:translate3d(5vw,0,0)}}.season-pattern--static .season-pattern__particle{animation:none}.season-pattern--fall.season-pattern--static .season-pattern__particle{top:var(--p-top, 40%)}.season-pattern--ocean-waves.season-pattern--static .season-pattern__particle{bottom:auto}.season-pattern--ocean-waves.season-pattern--static .season-pattern__particle:nth-child(1){bottom:8vh}.season-pattern--ocean-waves.season-pattern--static .season-pattern__particle:nth-child(2){bottom:4vh}.season-pattern--ocean-waves.season-pattern--static .season-pattern__particle:nth-child(3){bottom:0}.season-pattern--sun-rays.season-pattern--static .season-pattern__particle{top:-5vmax;right:-5vmax}.season-pattern--sun-rays.season-pattern--static .season-pattern__particle:nth-child(2){top:-2vmax;right:-8vmax}.season-pattern--sun-rays.season-pattern--static .season-pattern__particle:nth-child(3){top:2vmax;right:-4vmax}@media(prefers-reduced-motion:reduce){.season-pattern__particle{animation:none}.season-pattern--fall .season-pattern__particle{top:var(--p-top, 40%)}.season-pattern--ocean-waves .season-pattern__particle{bottom:auto}.season-pattern--ocean-waves .season-pattern__particle:nth-child(1){bottom:8vh}.season-pattern--ocean-waves .season-pattern__particle:nth-child(2){bottom:4vh}.season-pattern--ocean-waves .season-pattern__particle:nth-child(3){bottom:0}.season-pattern--sun-rays .season-pattern__particle{top:-5vmax;right:-5vmax}.season-pattern--sun-rays .season-pattern__particle:nth-child(2){top:-2vmax;right:-8vmax}.season-pattern--sun-rays .season-pattern__particle:nth-child(3){top:2vmax;right:-4vmax}}[data-high-contrast=true] .season-scene{opacity:calc(min(var(--scene-opacity, .18),.5)/2)}[data-high-contrast=true] .season-pattern{opacity:.5}[data-gameplay=true] .season-scene{opacity:calc(min(var(--scene-opacity, .18),.5)/2)}[data-gameplay=true] .season-pattern{opacity:.4}.theme-picker{display:flex;flex-wrap:wrap;gap:var(--space-sm, 8px)}.theme-option{display:inline-flex;align-items:center;gap:var(--space-sm, 8px);min-height:var(--touch-minimum, 48px);padding:var(--space-sm, 8px) var(--space-md, 16px);border:none;border-radius:var(--radius-md, 12px);background:var(--color-surface, #ffffff);color:var(--color-textPrimary, #1a1a1a);font-size:var(--font-body, 18px);cursor:pointer;box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));transition:box-shadow .15s ease}.theme-option--selected{box-shadow:0 0 0 3px var(--color-focus, #2563eb),var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08))}.theme-option--locked{opacity:.55;cursor:default}.theme-option__lock{display:flex;color:var(--color-textSecondary, #5c5c5c)}.theme-swatch{width:28px;height:28px;border-radius:var(--radius-sm, 6px);flex-shrink:0;box-shadow:inset 0 0 0 1px #0000001f}.theme-swatch--light{background:linear-gradient(135deg,#fafaf8 50%,#fff 50%)}.theme-swatch--hav{background:linear-gradient(135deg,#f0f5f7 50%,#aec6d4 50%)}.theme-swatch--dark{background:linear-gradient(135deg,#000 50%,#2a2a2a 50%)}.settings-theme-note{margin-top:var(--space-sm, 8px)}.paywall-dialog .modal-body{display:flex;flex-direction:column;gap:var(--space-md, 16px)}.paywall-expired-notice{padding:var(--space-sm, 8px) var(--space-md, 16px);background:var(--color-premiumBg, #ede7f6);color:var(--color-textPrimary, #1a1a1a);border-left:4px solid var(--color-premium, #5c4f8c);border-radius:var(--radius-sm, 6px)}.paywall-benefits{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.paywall-benefit{display:flex;align-items:flex-start;gap:var(--space-sm, 8px);color:var(--color-textPrimary, #1a1a1a)}.paywall-benefit__check{color:var(--color-statusCorrect, #2e7d32);flex-shrink:0;margin-top:2px}.paywall-packages{display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.paywall-package{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md, 16px);width:100%;min-height:56px;padding:var(--space-sm, 8px) var(--space-md, 16px);background:var(--color-surface, #ffffff);border:2px solid var(--color-borderLight, #e0e0e0);border-radius:var(--radius-md, 12px);cursor:pointer;font:inherit;text-align:left}.paywall-package:focus-visible{outline:3px solid var(--color-focus, #2563eb);outline-offset:2px}.paywall-package--selected{border-color:var(--color-premium, #5c4f8c);background:var(--color-premiumBg, #ede7f6)}.paywall-package--selected .paywall-package__price{font-weight:var(--font-weightSemibold, 600)}.paywall-package__title{font-weight:var(--font-weightMedium, 500);color:var(--color-textPrimary, #1a1a1a)}.paywall-package__price{color:var(--color-textSecondary, #5c5c5c);white-space:nowrap}.paywall-purchase-btn{min-height:48px}.paywall-error{color:var(--color-danger, #c62828);margin:0}.paywall-status{color:var(--color-textSecondary, #5c5c5c);margin:0}.paywall-success{display:flex;flex-direction:column;gap:var(--space-md, 16px);align-items:flex-start}.paywall-fineprint{font-size:var(--font-caption, 12px);color:var(--color-textTertiary, #8c8c8c);margin:0}.premium-status-banner{display:flex;flex-direction:column;gap:var(--space-sm, 8px);margin:var(--space-sm, 8px) auto;max-width:640px;padding:var(--space-md, 16px);background:var(--color-premiumBg, #ede7f6);border:1px solid var(--color-premium, #5c4f8c);border-radius:var(--radius-md, 12px)}.premium-status-banner__text{margin:0;color:var(--color-textPrimary, #1a1a1a)}.premium-status-banner__actions{display:flex;gap:var(--space-sm, 8px);flex-wrap:wrap}.magic-link-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm, 8px);margin:var(--space-sm, 8px) auto;max-width:640px;padding:var(--space-sm, 8px) var(--space-md, 16px);border-radius:var(--radius-md, 12px)}.magic-link-banner--success{background:var(--color-statusCorrectBg, #e8f5e9);border:1px solid var(--color-statusCorrect, #2e7d32)}.magic-link-banner--error{background:#ffebee;border:1px solid var(--color-danger, #c62828)}.magic-link-banner__text{margin:0;color:var(--color-textPrimary, #1a1a1a)}.offline-banner,.pwa-update-banner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm, 8px);margin:var(--space-sm, 8px) auto;max-width:640px;padding:var(--space-sm, 8px) var(--space-md, 16px);border-radius:var(--radius-md, 12px)}.offline-banner{background:var(--color-surfaceDark, #f0f0f0);border:1px solid var(--color-border, #d8c9b6);justify-content:center;text-align:center}.pwa-update-banner{background:var(--color-statusPresentBg, #fff8e1);border:1px solid var(--color-statusPresent, #f9a825)}.offline-banner__text,.pwa-update-banner__text{margin:0;color:var(--color-textPrimary, #1a1a1a)}.missions-screen{align-items:stretch;gap:var(--space-xl, 32px);text-align:left;max-width:var(--content-max-width, 600px);margin:0 auto}.missions-intro{margin:0;text-align:center;color:var(--color-textSecondary, #5c5c5c)}.missions-loading,.missions-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-xl, 32px) var(--space-lg, 24px);color:var(--color-textSecondary, #5c5c5c);text-align:center}.missions-section{display:flex;flex-direction:column;gap:var(--space-md, 16px);width:100%}.missions-section__heading{margin:0;font-size:1.25rem;font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a)}.missions-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-md, 16px);align-items:stretch}.mission-card{display:flex;flex-direction:column;gap:var(--space-sm, 8px);padding:var(--space-md, 16px);border:1px solid var(--color-border, #d8c9b6);border-radius:var(--radius-md, 12px);background:var(--color-surface, #fff);box-shadow:0 1px 2px #0000000a}.mission-card--ready{border-color:var(--color-accent, #2e7d32);box-shadow:0 1px 3px #2e7d322e}.mission-card--claimed{opacity:.72}.mission-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm, 8px)}.mission-card__heading{display:flex;flex-direction:column;gap:2px;min-width:0}.mission-card__type{display:inline-flex;align-items:center;gap:6px;font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;font-weight:var(--font-weightSemibold, 600);color:var(--color-textSecondary, #5c5c5c)}.mission-card__title{margin:0;font-size:1rem;font-weight:var(--font-weightMedium, 500)}.mission-card__premium-badge{font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:999px;background:var(--color-statusPresentBg, #fff8e1);color:var(--color-statusPresent, #f9a825)}.mission-card__desc{margin:0;font-size:.9rem;color:var(--color-textSecondary, #5c5c5c)}.mission-card__claimed,.mission-card__reward{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.mission-card__claimed{font-weight:600;color:var(--color-statusCorrect, #2e7d32)}.mission-card__reward{font-weight:500;color:var(--color-textSecondary, #5c5c5c)}.mission-card__progress{display:flex;align-items:center;gap:var(--space-sm, 8px);margin-top:auto;padding-top:var(--space-xs, 6px)}.mission-card__progress-track,.missions-track-panel__bar{flex:1;height:8px;border-radius:999px;background:var(--color-surfaceDark, #f0f0f0);overflow:hidden}.mission-card__progress-fill,.missions-track-panel__fill{height:100%;background:var(--color-accent, #2e7d32);border-radius:999px}.mission-card__progress-text{font-size:.82rem;color:var(--color-textSecondary, #5c5c5c);white-space:nowrap}.mission-card__auto{font-style:italic}.missions-track-panel__header{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:var(--space-xs, 6px) var(--space-md, 16px)}.missions-track-panel__summary{margin:0;display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:var(--space-sm, 8px)}.missions-track-panel__season{font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a)}.missions-track-panel__meta{color:var(--color-textSecondary, #5c5c5c)}.missions-track-panel__bar{max-width:360px}.missions-tracks{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-md, 16px);align-items:start}.reward-track{border:1px solid var(--color-border, #d8c9b6);border-radius:var(--radius-md, 12px);padding:var(--space-md, 16px);background:var(--color-surface, #fff);box-shadow:0 1px 2px #0000000a}.reward-track--premium{border-color:#f9a82599}.reward-track--locked .reward-step{opacity:.5}.reward-track__head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm, 8px);margin-bottom:var(--space-sm, 8px);padding-bottom:var(--space-sm, 8px);border-bottom:1px solid var(--color-surfaceDark, #f0f0f0)}.reward-track__tier{display:inline-flex;align-items:center;gap:6px;font-weight:700}.reward-track__unlock{white-space:nowrap}.reward-track__steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.reward-step{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:4px 0}.reward-step+.reward-step{border-top:1px solid var(--color-surfaceDark, #f4f4f4)}.reward-step__level{flex:0 0 auto;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--color-surfaceDark, #f0f0f0);font-weight:700;font-size:.8rem}.reward-step--unlocked .reward-step__level{background:var(--color-accent, #2e7d32);color:#fff}.reward-step__desc{flex:1;min-width:0;font-size:.9rem}.reward-step__claimed{color:var(--color-statusCorrect, #2e7d32)}.reward-step__locked{color:var(--color-textSecondary, #999)}.settings-premium-actions{display:flex;gap:var(--space-sm, 8px);flex-wrap:wrap}.privacy-action{display:flex;flex-direction:column;gap:var(--space-sm, 8px);padding-top:var(--space-sm, 8px);border-top:1px solid var(--color-surfaceDark, #f0f0f0)}.privacy-action .settings-toggle-desc{margin-top:0}.privacy-action .btn{align-self:flex-start}.privacy-delete-confirm{display:flex;flex-direction:column;gap:var(--space-sm, 8px);background:var(--color-surfaceDark, #f0f0f0);border-radius:var(--radius-sm, 6px);padding:var(--space-md, 16px)}.privacy-delete-warning{font-size:var(--font-body, 18px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);line-height:var(--font-lineBody, 1.5);margin:0}.privacy-policy{border-top:1px solid var(--color-surfaceDark, #f0f0f0);padding-top:var(--space-sm, 8px)}.privacy-policy summary{font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a);cursor:pointer;min-height:var(--touch-minimum, 48px);display:flex;align-items:center}.privacy-policy summary:focus-visible{outline:3px solid var(--color-focus, #2563eb);outline-offset:2px;border-radius:var(--radius-sm, 6px)}.privacy-policy-body{display:flex;flex-direction:column;gap:var(--space-sm, 8px);padding:var(--space-sm, 8px) 0}.privacy-policy-body p{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c);line-height:var(--font-lineBody, 1.5);margin:0}button.mode-card{font:inherit;text-align:left;cursor:pointer}button.mode-card:focus-visible{outline:3px solid var(--color-focus, #2563eb);outline-offset:2px}.auth-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0}.alias-manager{margin:12px 0}.alias-current{font-size:var(--font-h3, 22px);font-weight:700;margin:8px 0 12px}.alias-options{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.alias-notice{color:var(--color-statusError, #b3261e)}.leaderboard-screen{display:flex;flex-direction:column;gap:var(--space-md, 16px);max-width:var(--content-max-width, 600px);margin:0 auto}.leaderboard-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm, 8px)}.leaderboard-placement{display:inline-flex;align-items:center;gap:var(--space-sm, 8px);margin:0;padding:var(--space-sm, 8px) var(--space-md, 16px);font-weight:var(--font-weightSemibold, 600);color:var(--color-primary, #1a237e);background:var(--color-surfaceDark, #f0f0f0);border-radius:var(--radius-full, 999px)}.leaderboard-placement__icon{display:flex}.leaderboard-signin-notice{width:100%;max-width:none;display:flex;flex-direction:column;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-md, 16px);text-align:center;background:var(--color-surfaceDark, #f0f0f0);border-radius:var(--radius-md, 12px)}.leaderboard-signin-notice__icon{display:flex;color:var(--color-primary, #1a237e)}.leaderboard-signin-notice__text{margin:0;color:var(--color-textSecondary, #5c5c5c)}.leaderboard-board{width:100%;max-width:none;max-height:min(62vh,560px);background:var(--color-surface, #ffffff);border-radius:var(--radius-md, 12px);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}.leaderboard-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.leaderboard-row{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:var(--space-sm, 8px);padding:10px var(--space-md, 16px);min-height:var(--touch-minimum, 48px)}.leaderboard-row+.leaderboard-row{border-top:1px solid var(--color-surfaceDark, #f0f0f0)}.leaderboard-row--me{background:var(--color-premiumBg, #ede7f6);font-weight:var(--font-weightSemibold, 600)}.leaderboard-row--pinned{border-top:2px dashed var(--color-border, #e2e2e2);position:sticky;bottom:0;z-index:1}.leaderboard-more{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs, 4px);padding:var(--space-sm, 8px) var(--space-md, 16px) var(--space-md, 16px)}.leaderboard-more__count{color:var(--color-textTertiary, #8c8c8c);font-size:var(--font-small, 14px)}.leaderboard-rank{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full, 999px);font-variant-numeric:tabular-nums;font-weight:var(--font-weightBold, 700);color:var(--color-textSecondary, #5c5c5c)}.leaderboard-rank--top1{background:#f4e3a1;color:#6b5200}.leaderboard-rank--top2{background:#e6e6e6;color:#4d4d4d}.leaderboard-rank--top3{background:#ecccab;color:#6e4a1f}.leaderboard-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-country{color:var(--color-textTertiary, #8c8c8c);font-size:var(--font-small, 14px);font-weight:var(--font-weightRegular, 400)}.leaderboard-score{font-variant-numeric:tabular-nums;font-weight:var(--font-weightSemibold, 600)}.leaderboard-empty{color:var(--color-textSecondary, #5c5c5c);margin:0;padding:var(--space-lg, 24px);text-align:center}.leaderboard-empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs, 4px);padding:var(--space-xl, 32px) var(--space-lg, 24px)}.leaderboard-empty-state .leaderboard-empty{padding:0}.leaderboard-empty-state__icon{display:flex;color:var(--color-textTertiary, #8c8c8c)}.leaderboard-footnote{color:var(--color-textTertiary, #8c8c8c);font-size:var(--font-small, 14px);text-align:center;max-width:460px;margin:0 auto}.leaderboard-locked{padding:var(--space-xl, 32px) var(--space-lg, 24px);display:flex;flex-direction:column;gap:var(--space-md, 16px);align-items:center;text-align:center}.leaderboard-locked p{margin:0;color:var(--color-textSecondary, #5c5c5c)}.auth-divider{margin:4px 0}.magic-link-form{display:flex;flex-direction:column;gap:8px;margin:8px 0}.magic-link-label{font-weight:600}.magic-link-row{display:flex;flex-wrap:wrap;gap:8px}.magic-link-row input{flex:1 1 220px;padding:10px 14px;font:inherit;border-radius:var(--radius-md, 12px);border:1px solid var(--color-border, #e2e2e2);background:var(--color-surface, #fff);color:inherit}.magic-link-row input:focus-visible{outline:3px solid var(--color-focus, #2563eb);outline-offset:2px}.about-version-list{display:grid;grid-template-columns:auto 1fr;gap:var(--space-xs, 4px) var(--space-lg, 24px);margin:0}.about-version-list dt{font-size:var(--font-body, 18px);color:var(--color-textSecondary, #5c5c5c)}.about-version-list dd{margin:0;font-size:var(--font-body, 18px);color:var(--color-textPrimary, #1a1a1a);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.policy-updated{font-size:var(--font-small, 14px);color:var(--color-textTertiary, #8c8c8c);margin:0}.info-link{display:inline-flex;align-items:center;min-height:var(--touch-minimum, 48px);font-size:var(--font-body, 18px);font-weight:var(--font-weightSemibold, 600);color:var(--color-primary, #1a237e);border-radius:var(--radius-sm, 6px);overflow-wrap:anywhere}.info-link:focus-visible{outline:3px solid var(--color-focus, #2563eb);outline-offset:2px}.opponent-rail{width:100%;max-width:var(--board-max-width, 360px);margin:.5rem auto 0}.opponent-rail__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.opponent-bar{display:flex;align-items:center;gap:.4rem;font-size:.85rem;padding:.25rem .4rem;border-radius:8px;background:var(--color-surfaceSubtle, rgba(0, 0, 0, .04))}.opponent-bar__name{flex:0 0 6.5rem;max-width:6.5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.opponent-bar__attempts{display:inline-flex;gap:2px}.opponent-attempt-seg{width:6px;height:12px;border-radius:2px;background:var(--color-borderSubtle, rgba(0, 0, 0, .15))}.opponent-attempt-seg--filled{background:var(--color-textSecondary, #6b7280)}.opponent-pips{display:inline-flex;gap:2px}.opponent-pip{width:8px;height:8px;border-radius:50%}.opponent-pip--green{background:var(--color-statusCorrect, #2e7d32)}.opponent-pip--yellow{background:var(--color-statusPresent, #e65100)}.opponent-bar--solved{background:var(--color-statusCorrectBg, #e8f5e9)}.opponent-bar__solved{margin-left:auto;color:var(--color-statusCorrect, #2e7d32);font-weight:700}.translate-content{width:100%;max-width:var(--content-max-width, 600px);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:var(--space-lg, 24px)}.translate-picker{width:100%;display:flex;flex-direction:column;gap:var(--space-md, 16px)}.translate-picker__title{margin:0;text-align:center;font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightSemibold, 600);color:var(--color-textPrimary, #1a1a1a)}.translate-lang-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-sm, 8px);width:100%}.translate-lang-option{display:flex;align-items:center;gap:var(--space-md, 16px);width:100%;min-height:var(--touch-minimum, 48px);padding:var(--space-md, 16px);border:1px solid var(--color-border, rgba(0, 0, 0, .12));border-radius:var(--radius-md, 12px);background:var(--color-surface, #ffffff);color:var(--color-textPrimary, #1a1a1a);font-size:var(--font-body, 18px);font-weight:var(--font-weightSemibold, 600);text-align:left;cursor:pointer;transition:background-color var(--motion-micro, .1s) ease-out,border-color var(--motion-micro, .1s) ease-out}.translate-lang-option:hover{background:var(--color-surfaceHover, #f5f5f3)}.translate-lang-option.is-active{border-color:var(--color-primary, #1a237e)}.translate-lang-option__flag{font-size:1.5em;line-height:1}.translate-lang-option__name{flex:1}.translate-lang-option__chevron{display:inline-flex;color:var(--color-textTertiary, #8c8c8c)}.translate-hub{width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-lg, 24px)}.translate-hub-lang{display:inline-flex;align-items:center;gap:var(--space-sm, 8px);min-height:var(--touch-minimum, 48px);padding:var(--space-sm, 8px) var(--space-lg, 24px);border:1px solid var(--color-border, rgba(0, 0, 0, .12));border-radius:var(--radius-full, 999px);background:var(--color-surface, #ffffff);cursor:pointer}.translate-hub-lang__flag{font-size:1.4em;line-height:1}.translate-hub-lang__name{font-size:var(--font-body, 18px);font-weight:var(--font-weightBold, 700);color:var(--color-textPrimary, #1a1a1a)}.translate-hub-lang__change{font-size:var(--font-small, 14px);color:var(--color-primary, #1a237e)}.translate-hub-modes{width:100%;display:flex;flex-direction:column;gap:var(--space-sm, 8px)}.translate-mode-btn{display:flex;align-items:center;gap:var(--space-md, 16px);width:100%;min-height:var(--touch-minimum, 48px);padding:var(--space-md, 16px) var(--space-lg, 24px);border:1px solid var(--color-border, rgba(0, 0, 0, .12));border-radius:var(--radius-lg, 20px);background:var(--color-surface, #ffffff);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));text-align:left;cursor:pointer;transition:background-color var(--motion-micro, .1s) ease-out,transform var(--motion-micro, .1s) ease-out}.translate-mode-btn:hover{background:var(--color-surfaceHover, #f5f5f3)}.translate-mode-btn:active{transform:scale(.99)}.translate-mode-btn__text{flex:1;display:flex;flex-direction:column;gap:2px}.translate-mode-btn__title{display:inline-flex;align-items:center;gap:var(--space-sm, 8px);font-size:var(--font-bodyLarge, 20px);font-weight:var(--font-weightBold, 700);color:var(--color-textPrimary, #1a1a1a)}.translate-mode-btn__desc{font-size:var(--font-small, 14px);color:var(--color-textSecondary, #5c5c5c)}.translate-mode-btn__chevron{display:inline-flex;color:var(--color-primary, #1a237e)}.translate-mode-btn.is-disabled{cursor:default;opacity:.55;box-shadow:none;background:var(--color-surfaceDark, #f0f0f0)}.translate-mode-btn.is-disabled:hover{background:var(--color-surfaceDark, #f0f0f0)}.translate-mode-btn__badge{display:inline-flex;align-items:center;min-width:22px;height:22px;padding:0 8px;border-radius:var(--radius-full, 999px);background:var(--color-primary, #1a237e);color:#fff;font-size:var(--font-tiny, 12px);font-weight:var(--font-weightBold, 700);line-height:1}.translate-mode-btn__badge.is-premium{background:var(--color-premiumBg, #ede7f6);color:var(--color-premium, #5e35b1)}.translate-review{width:100%;display:flex;flex-direction:column;gap:var(--space-md, 16px)}.translate-review__caughtup{margin:0;text-align:center;color:var(--color-textSecondary, #5c5c5c);font-size:var(--font-body, 18px)}.translate-words-controls{display:flex;align-items:center;gap:var(--space-sm, 8px)}.translate-words-search{flex:1 1 auto;min-width:0;min-height:var(--touch-minimum, 48px);padding:0 var(--space-md, 16px);border:1px solid var(--color-border, rgba(0, 0, 0, .12));border-radius:var(--radius-full, 999px);background:var(--color-surface, #ffffff);color:var(--color-textPrimary, #1a1a1a);font-size:var(--font-body, 18px)}.translate-words-search:focus-visible{outline:2px solid var(--color-primary, #1a237e);outline-offset:2px}.translate-words-filter{flex:0 0 auto;white-space:nowrap;min-height:var(--touch-minimum, 48px);padding:0 var(--space-md, 16px);border:1px solid var(--color-border, rgba(0, 0, 0, .12));border-radius:var(--radius-full, 999px);background:var(--color-surface, #ffffff);color:var(--color-textSecondary, #5c5c5c);font-size:var(--font-small, 14px);font-weight:var(--font-weightSemibold, 600);cursor:pointer}.translate-words-filter.is-active{background:var(--color-primary, #1a237e);border-color:var(--color-primary, #1a237e);color:#fff}.translate-words{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-xs, 6px)}.translate-word{display:flex;align-items:center;gap:var(--space-sm, 8px);padding:var(--space-sm, 8px) var(--space-md, 16px);border-radius:var(--radius-md, 12px);background:var(--color-surface, #ffffff);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));font-size:var(--font-body, 18px)}.translate-word__sv{color:var(--color-textPrimary, #1a1a1a);font-weight:var(--font-weightSemibold, 600)}.translate-word__arrow{color:var(--color-textTertiary, #8c8c8c)}.translate-word__target{flex:1;color:var(--color-textSecondary, #5c5c5c)}.translate-word__chip{flex-shrink:0;padding:2px 10px;border-radius:var(--radius-full, 999px);font-size:var(--font-tiny, 12px);font-weight:var(--font-weightBold, 700);white-space:nowrap}.translate-word__chip.is-mastered{background:var(--color-statusCorrectBg, #e8f5e9);color:var(--color-statusCorrect, #2e7d32)}.translate-word__chip.is-learning{background:var(--color-surfaceDark, #f0f0f0);color:var(--color-textSecondary, #5c5c5c)}.translate-word__chip.is-hard{background:var(--color-statusPresentBg, #fff3e0);color:var(--color-statusPresent, #e65100)}.translate-words-empty{margin:0;padding:var(--space-lg, 24px);text-align:center;color:var(--color-textSecondary, #5c5c5c)}.translate-words-pager{display:flex;align-items:center;justify-content:center;gap:var(--space-md, 16px)}.translate-words-pageinfo{color:var(--color-textSecondary, #5c5c5c);font-size:var(--font-small, 14px);font-variant-numeric:tabular-nums}.translate-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md, 16px) var(--space-lg, 24px);color:var(--color-textSecondary, #5c5c5c);font-size:var(--font-small, 14px)}.translate-stats span{white-space:nowrap}.translate-panel{display:flex;flex-direction:column;align-items:center;gap:var(--space-md, 16px);width:100%;padding:var(--space-xl, 32px) var(--space-lg, 24px);text-align:center;background:var(--color-surface, #ffffff);border-radius:var(--radius-lg, 20px);box-shadow:var(--elevation-low, 0px 1px 3px 0px rgba(0, 0, 0, .08));color:var(--color-textSecondary, #5c5c5c)}.translate-panel p{margin:0;font-size:var(--font-bodyLarge, 20px);color:var(--color-textSecondary, #5c5c5c)}.translate-panel__actions{display:flex;flex-wrap:wrap;gap:var(--space-sm, 8px);justify-content:center}.translate-board{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg, 24px);width:100%}.translate-prompt{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs, 6px)}.translate-prompt-word{font-size:var(--font-headingMd, 32px);font-weight:var(--font-weightBold, 700);color:var(--color-textPrimary, #1a1a1a);line-height:1.1}.translate-prompt-target{font-size:var(--font-small, 14px);color:var(--color-textSecondary, #5c5c5c);text-transform:uppercase;letter-spacing:.04em}.translate-message{margin:0;min-height:1.4em;color:var(--color-danger, #c62828);font-size:var(--font-body, 18px)}.translate-board .keyboard{position:sticky;bottom:0;z-index:2;width:100%;padding-top:var(--space-sm, 8px);padding-bottom:var(--space-sm, 8px);background:var(--color-background, #fafaf8)}@media(max-width:480px){.translate-content,.translate-hub{gap:var(--space-md, 16px)}.translate-board{gap:var(--space-sm, 8px)}.translate-prompt-word{font-size:var(--font-headingSm, 24px)}}
