.memory-page{background:radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--white) 10%, transparent) 0 3.5%, transparent 3.7%), linear-gradient(145deg, var(--purple), var(--purple-dark));min-height:100dvh;color:var(--white);overflow-x:clip}.memory-page-header{background:color-mix(in srgb, var(--purple-dark) 70%, transparent)}.memory-page-header .brand{color:var(--white)}.memory-page .skip-link{position:absolute}.memory-page .skip-link:not(:focus-visible){transform:translateY(-140%)}.memory-world{width:min(1360px,100% - 30px);padding:clamp(28px, 5vw, 56px) 0 max(68px, env(safe-area-inset-bottom));margin-inline:auto}.memory-intro{grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:24px;max-width:1120px;min-height:210px;margin:0 auto clamp(18px,3vw,30px);display:grid}.memory-intro>div{max-width:690px}.memory-intro h1{font:800 clamp(3rem, 7vw, 5rem)/.96 var(--font-display);letter-spacing:-.025em;margin:2px 0 8px}.memory-intro p:not(.eyebrow){color:color-mix(in srgb, var(--white) 92%, var(--purple));margin:0;font-size:clamp(1rem,2vw,1.2rem)}.memory-intro small{max-width:62ch;color:color-mix(in srgb, var(--white) 80%, var(--purple));margin-top:10px;font-weight:700;display:block}.memory-intro img{object-fit:contain;object-position:bottom;width:190px;height:210px;filter:drop-shadow(0 14px 11px color-mix(in srgb, var(--purple-dark) 58%, transparent))}.memory-theme-selector,.memory-game-shell{border-radius:var(--radius);background:var(--surface-content);color:var(--ink);box-shadow:0 12px 0 color-mix(in srgb, var(--purple-dark) 58%, transparent);padding:clamp(22px,4vw,44px)}.memory-game-shell-playing{margin-bottom:clamp(100px,22vh,240px)}@supports selector(:has(*)){.memory-world:has(.memory-game-shell-playing){padding-top:18px}.memory-world:has(.memory-game-shell-playing) .memory-intro{max-width:1280px;min-height:0;margin-bottom:12px;display:block}.memory-world:has(.memory-game-shell-playing) .memory-intro .eyebrow{display:none}.memory-world:has(.memory-game-shell-playing) .memory-intro p:not(.eyebrow){display:none}.memory-world:has(.memory-game-shell-playing) .memory-intro small{display:none}.memory-world:has(.memory-game-shell-playing) .memory-intro img{display:none}.memory-world:has(.memory-game-shell-playing) .memory-intro h1{margin:0;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1}}.memory-section-heading{max-width:710px;margin-bottom:28px}.memory-theme-selector-topline{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.memory-theme-selector-topline .memory-section-heading{margin-bottom:0}.memory-section-heading h2,.memory-game-heading h2{font:800 clamp(2rem, 4.5vw, 3rem)/1 var(--font-display);letter-spacing:var(--type-headline-tracking);margin:0 0 6px}.memory-section-heading p{color:var(--muted);margin:0;line-height:1.6}.memory-theme-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.memory-theme-list .memory-theme-choice{grid-column:span 2}.memory-theme-list .memory-theme-choice:nth-last-child(2):nth-child(4){grid-column:2/span 2}.memory-theme-choice.memory-theme-choice-all{border-color:color-mix(in srgb, var(--yellow) 75%, var(--purple));background:linear-gradient(135deg, color-mix(in srgb, var(--yellow) 18%, var(--white)), color-mix(in srgb, var(--purple) 9%, var(--white)));grid-template-columns:142px minmax(0,1fr) 40px;min-height:146px;margin-bottom:18px}.memory-theme-collage{border-radius:var(--radius);background:var(--white);grid-template-columns:repeat(2,1fr);gap:4px;width:132px;height:112px;padding:7px;display:grid}.memory-theme-collage .memory-theme-collage-image{object-fit:contain;width:100%;height:100%;min-height:0}.memory-theme-collage .memory-image-fallback small,.memory-theme-collage .memory-image-fallback strong{display:none}.memory-theme-copy{flex-direction:column;gap:4px;min-width:0;display:flex}.memory-theme-kicker{color:var(--pink-dark);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:900}.memory-theme-divider{color:var(--muted);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;align-items:center;gap:12px;margin:3px 0 12px;font-weight:900;display:flex}.memory-theme-divider:before,.memory-theme-divider:after{content:"";background:color-mix(in srgb, var(--purple) 14%, var(--white));flex:1;height:2px}.memory-sound-toggle{border:2px solid color-mix(in srgb, var(--purple) 22%, var(--white));border-radius:var(--radius);background:var(--white);min-height:44px;color:var(--purple-dark);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:8px 12px;font-weight:900;display:inline-flex}.memory-sound-toggle>span{background:color-mix(in srgb, var(--yellow) 55%, var(--white));border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.memory-sound-toggle[aria-pressed=false]{color:var(--muted);background:color-mix(in srgb, var(--ink) 3%, var(--white))}.memory-theme-choice{border:3px solid color-mix(in srgb, var(--purple) 18%, var(--white));border-radius:var(--radius);background:color-mix(in srgb, var(--purple) 4%, var(--white));width:100%;min-height:118px;color:var(--ink);text-align:left;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);grid-template-columns:82px minmax(0,1fr) 34px;align-items:center;gap:14px;padding:14px;display:grid}.memory-theme-choice:focus-visible{outline:4px solid var(--blue-dark);outline-offset:3px}.memory-theme-choice>span:first-of-type:not(.memory-theme-collage){flex-direction:column;gap:4px;min-width:0;display:flex}.memory-theme-choice strong{font:800 1.25rem/1.1 var(--font-display)}.memory-theme-choice small{color:var(--muted);font-size:var(--text-xs);line-height:1.35}.memory-theme-image{object-fit:contain;width:82px;height:82px}.memory-choice-state{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--purple) 17%, var(--white));width:34px;height:34px;color:var(--purple-dark);place-items:center;font-weight:900;display:grid}.memory-primary-action,.memory-secondary-action,.memory-text-action,.memory-game-controls button{border-radius:var(--radius);cursor:pointer;min-height:48px;padding:11px 18px;font-weight:900}.memory-primary-action{background:var(--pink);color:var(--white);box-shadow:0 5px 0 var(--pink-dark);border:0;margin-top:22px}.memory-primary-action:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.memory-secondary-action{border:2px solid var(--purple);background:var(--white);color:var(--purple-dark)}.memory-text-action{color:var(--purple-dark);text-underline-offset:4px;background:0 0;border:0;text-decoration:underline}a.memory-text-action{justify-content:center;align-items:center;display:inline-flex}.memory-game-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;display:flex}.memory-game-heading h2:focus{outline:none}.memory-game-heading p{color:var(--pink-dark);margin:0 0 4px;font-weight:900}.memory-game-controls{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.memory-game-controls button{border:2px solid color-mix(in srgb, var(--purple) 25%, var(--white));background:var(--white);color:var(--purple-dark)}.memory-progress{border:2px solid color-mix(in srgb, var(--purple) 18%, var(--white));border-radius:var(--radius);background:color-mix(in srgb, var(--purple) 4%, var(--white));grid-template-columns:1.2fr repeat(3,1fr);margin-bottom:clamp(16px,3vw,26px);display:grid;overflow:hidden}.memory-progress>div{border-inline-end:2px solid color-mix(in srgb, var(--purple) 18%, var(--white));flex-direction:column;min-width:0;padding:10px 14px;display:flex}.memory-progress>div:last-child{border-inline-end:0}.memory-progress span{color:var(--muted);font-size:var(--text-xs);line-height:1.2}.memory-progress strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.memory-board-stage{min-width:0;padding-block:clamp(8px,2vh,20px);position:relative}.memory-board{--memory-columns:3;--memory-rows:2;--memory-card-size:96px;--memory-gap:8px;--memory-board-width:100%;width:min(100%, var(--memory-board-width));gap:var(--memory-gap);margin-inline:auto;scroll-margin-block:clamp(28px,7vh,72px);display:grid}.memory-board-row{justify-content:center;gap:var(--memory-gap);min-width:0;display:flex}.memory-card{width:var(--memory-card-size);flex:0 0 var(--memory-card-size);aspect-ratio:1/1.04;border-radius:var(--radius);min-width:0;min-height:44px;color:var(--ink);cursor:pointer;perspective:900px;background:0 0;border:0;padding:0}.memory-card:disabled{cursor:default;opacity:1}.memory-card:focus,.memory-card:focus-visible{outline:4px solid var(--blue-dark);outline-offset:4px}.memory-card-inner{width:100%;height:100%;min-height:inherit;transform-style:preserve-3d;transition:transform .32s var(--ease-out);will-change:transform;display:block;position:relative;transform:translateZ(0)}.memory-card.is-open .memory-card-inner{transform:rotateY(180deg)}.memory-card-back,.memory-card-front{border-radius:var(--radius);backface-visibility:hidden;transform-style:preserve-3d;position:absolute;inset:0;overflow:hidden}.memory-card-back{border:3px solid color-mix(in srgb, var(--purple) 66%, var(--white));background:var(--purple);color:var(--white);box-shadow:inset 0 -6px 0 var(--purple-dark);place-content:center;gap:6px;padding:8px;display:grid;transform:rotateY(0)}.memory-card-back small{font-size:var(--text-xs);font-weight:800;line-height:1.1}.memory-card-brand{background:var(--yellow);width:clamp(34px,6vw,58px);height:clamp(34px,6vw,58px);color:var(--ink);font:800 clamp(1.3rem, 4vw, 2rem)/1 var(--font-display);border-radius:50%;place-items:center;margin-inline:auto;display:grid}.memory-card-front{border:3px solid color-mix(in srgb, var(--ink) 16%, var(--cream));background:var(--cream);box-shadow:inset 0 -5px 0 color-mix(in srgb, var(--ink) 12%, var(--cream));grid-template-rows:minmax(0,1fr) clamp(20px,24%,34px);grid-template-areas:"image""label";align-items:stretch;gap:3px;padding:clamp(4px,1vw,8px);display:grid;transform:rotateY(180deg)}.memory-card-image-area{grid-area:image;place-items:center;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.memory-card-image{object-fit:contain;object-position:center;width:calc(100% - 2px);max-width:100%;height:calc(100% - 2px);max-height:100%;position:absolute;inset:1px}.memory-card-label{z-index:1;border-radius:var(--radius-sm);background:color-mix(in srgb, var(--white) 92%, var(--cream));grid-area:label;place-items:center;min-width:0;height:100%;min-height:0;padding:2px 3px;display:grid;position:relative;overflow:hidden}.memory-card-label strong{max-width:100%;max-height:2.06em;font:800 clamp(.56rem, 1.1vw, var(--text-xs))/1.03 var(--font-display);overflow-wrap:anywhere;text-align:center;text-wrap:balance;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.memory-board[data-compact-cards=true] .memory-card-label{display:none}.memory-card.is-matched .memory-card-front{border-color:var(--feedback-success-accent);background:var(--feedback-success-surface);box-shadow:inset 0 -5px 0 color-mix(in srgb, var(--feedback-success-accent) 18%, transparent), 0 0 0 4px color-mix(in srgb, var(--feedback-success-accent) 12%, transparent);animation:memory-match .36s var(--ease-out)}.memory-match-mark{background:var(--feedback-success-accent);width:25px;height:25px;color:var(--white);border-radius:50%;place-items:center;font-weight:900;display:grid;position:absolute;top:6px;right:6px}.memory-image-fallback{width:100%;height:100%;min-height:54px;color:var(--purple-dark);text-align:center;place-content:center;justify-items:center;gap:1px;display:grid}.memory-image-fallback>span{font-size:var(--text-xl);line-height:1}.memory-image-fallback small,.memory-image-fallback strong{font-size:var(--text-xs);line-height:1.05}.memory-completion{border:3px solid var(--purple);border-radius:var(--radius);background:color-mix(in srgb, var(--purple) 10%, var(--white));width:min(800px,100% - 24px);box-shadow:0 14px 34px color-mix(in srgb, var(--purple-dark) 28%, transparent);z-index:4;grid-template-columns:58px minmax(0,1fr);gap:14px 20px;margin:0;padding:clamp(18px,3vw,28px);display:grid;position:absolute;bottom:clamp(10px,3vh,28px);left:50%;transform:translate(-50%)}.memory-completion:focus{outline:4px solid var(--blue-dark);outline-offset:4px}.memory-completion-mark{border-radius:var(--radius);background:var(--yellow);width:54px;height:54px;color:var(--ink);font-size:var(--text-xl);place-items:center;display:grid}.memory-completion h2{font:800 clamp(1.6rem, 4vw, 2.2rem)/1.05 var(--font-display);letter-spacing:-.02em;margin:0}.memory-completion p{color:var(--muted);margin:6px 0 0}.memory-completion-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.memory-completion-actions .memory-primary-action{margin-top:0}.memory-completion.is-level .memory-completion-actions{grid-template-columns:1.25fr 1fr 1fr}.memory-completion.is-final{margin:24px auto 0;position:relative;bottom:auto;left:auto;transform:none}.memory-auto-next{--memory-auto-next-ms:3s;isolation:isolate;place-items:center;gap:1px;display:grid;position:relative;overflow:hidden}.memory-auto-next>span,.memory-auto-next>small{z-index:1;position:relative}.memory-auto-next>small{opacity:.82;font-size:.68rem;font-weight:800}.memory-auto-next:after{content:"";background:color-mix(in srgb, var(--white) 72%, transparent);transform-origin:0;height:6px;animation:memory-auto-next-progress var(--memory-auto-next-ms) linear forwards;position:absolute;inset:auto 0 0;transform:scaleX(0)}@keyframes memory-match{50%{transform:scale(1.025)}}@keyframes memory-auto-next-progress{to{transform:scaleX(1)}}@media (hover:hover) and (pointer:fine){.memory-theme-choice:hover{border-color:color-mix(in srgb, var(--purple) 52%, var(--white));transform:translateY(-3px)}.memory-card:hover:not(:disabled) .memory-card-inner{transform:translateY(-3px)}.memory-card.is-open:hover:not(:disabled) .memory-card-inner{transform:rotateY(180deg)translateY(-3px)}}@media (max-width:1100px) and (min-width:701px){.memory-theme-list{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-theme-list .memory-theme-choice,.memory-theme-list .memory-theme-choice:nth-last-child(2):nth-child(4){grid-column:auto}.memory-theme-choice:last-child:nth-child(odd){grid-column:1/-1}}@media (max-width:700px){.memory-world{width:min(100% - 20px,1120px);padding-top:24px}.memory-intro{grid-template-columns:minmax(0,1fr) 130px;gap:8px;min-height:170px}.memory-intro h1{font-size:clamp(2.65rem,13vw,4rem)}.memory-intro img{width:135px;height:170px}.memory-intro small{font-size:var(--text-xs)}.memory-theme-selector-topline{flex-direction:column;align-items:stretch}.memory-theme-selector-topline .memory-sound-toggle{align-self:flex-start}.memory-theme-list{grid-template-columns:1fr}.memory-theme-list .memory-theme-choice,.memory-theme-list .memory-theme-choice:nth-last-child(2):nth-child(4){grid-column:auto}.memory-theme-choice-all{grid-template-columns:116px minmax(0,1fr) 34px}.memory-theme-collage{width:108px;height:94px}.memory-game-heading{flex-direction:column;align-items:flex-start;gap:12px}.memory-game-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;width:100%;display:grid}.memory-game-controls button{min-height:44px;font-size:var(--text-xs);padding:7px 8px}.memory-progress{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-progress>div:nth-child(2){border-inline-end:0}.memory-progress>div:nth-child(-n+2){border-bottom:2px solid color-mix(in srgb, var(--purple) 18%, var(--white))}.memory-card-back small{display:none}}@media (max-width:420px){.memory-page-header{gap:8px}.memory-page-header .brand{min-width:44px}.memory-page-header .brand-name{display:none}.memory-page-header .grownup-exit{flex-basis:auto}.memory-world{width:min(100% - 16px,1120px)}.memory-intro{grid-template-columns:minmax(0,1fr) 105px}.memory-intro img{width:112px;height:150px}.memory-intro p:not(.eyebrow){font-size:1rem}.memory-theme-selector,.memory-game-shell{padding:18px 10px}.memory-theme-choice{grid-template-columns:66px minmax(0,1fr) 30px;gap:9px;min-height:96px;padding:10px}.memory-theme-choice-all{grid-template-columns:92px minmax(0,1fr) 30px;min-height:118px}.memory-theme-collage{gap:2px;width:86px;height:78px;padding:4px}.memory-theme-image{width:64px;height:64px}.memory-theme-choice strong{font-size:var(--text-lg)}.memory-theme-choice small{font-size:var(--text-xs)}.memory-progress>div{padding:8px}.memory-progress strong{font-size:var(--text-xs)}.memory-card{min-height:44px}.memory-card-front{border-width:2px;gap:2px;padding:3px 2px}.memory-card-back{border-width:2px}.memory-card-label{min-height:0;padding:1px 2px}.memory-card-label strong{font-size:clamp(.52rem, 2.45vw, var(--text-xs))}.memory-board[data-card-size="44"] .memory-card-label strong,.memory-board[data-card-size="45"] .memory-card-label strong,.memory-board[data-card-size="46"] .memory-card-label strong{font-size:.52rem}.memory-card-brand{width:34px;height:34px}.memory-match-mark{width:20px;height:20px;font-size:var(--text-xs);top:3px;right:3px}.memory-completion{grid-template-columns:44px minmax(0,1fr);gap:12px;width:calc(100% - 12px);padding:14px;bottom:6px}.memory-completion h2{font-size:clamp(1.2rem,6vw,1.6rem)}.memory-completion p{font-size:var(--text-xs)}.memory-completion-mark{width:42px;height:42px}.memory-completion.is-level .memory-completion-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-completion.is-level .memory-auto-next{grid-column:1/-1}.memory-completion.is-final .memory-completion-actions{grid-template-columns:1fr}.memory-completion.is-final{margin-top:18px}}@media (max-width:360px){.memory-game-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-game-controls .memory-sound-toggle{grid-column:1/-1}.memory-progress>div{padding:6px}.memory-progress span{font-size:.66rem}.memory-progress strong{font-size:.72rem}}@media (max-width:340px){.memory-intro{grid-template-columns:1fr}.memory-intro img{display:none}.memory-game-controls button{flex:130px;padding-inline:10px}.memory-card-label strong{font-size:.54rem}}@media (prefers-reduced-motion:reduce){.memory-card-inner{transform-style:flat;transition:none}.memory-card-back,.memory-card-front{backface-visibility:visible;transform:none}.memory-card-front{display:none}.memory-card.is-open .memory-card-inner{transform:none}.memory-card.is-open .memory-card-back{display:none}.memory-card.is-open .memory-card-front{display:grid}.memory-card.is-matched .memory-card-front{animation:none}.memory-auto-next:after{animation:none;transform:scaleX(1)}}@media (forced-colors:active){.memory-theme-choice,.memory-card-back,.memory-card-front,.memory-primary-action,.memory-secondary-action,.memory-sound-toggle,.memory-game-controls button{box-shadow:none;border:2px solid buttontext}.memory-card.is-matched .memory-card-front{outline-offset:-5px;outline:3px solid highlight}}
