.memory-game,.memory-game *{box-sizing:border-box}.memory-game{background:var(--ml-surface);border-radius:var(--radius-lg);width:100%;overflow:hidden;container-type:inline-size}.memory-hud{justify-content:space-between;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);color:var(--ml-text-secondary);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;display:flex}.memory-mission{align-items:center;gap:var(--space-lg);min-width:0;display:flex}.memory-wordmark{font-size:var(--font-size-xs);letter-spacing:.13em;color:var(--ml-text-primary);white-space:nowrap;font-weight:750}.memory-hud-right{align-items:center;gap:var(--space-sm);display:flex}#memoryPoints{white-space:nowrap;font-weight:650}.memory-lives{gap:var(--space-xs);color:var(--ml-danger);font-size:var(--font-size-sm);display:flex}.memory-lives [data-lost=true]{color:var(--ml-text-muted);opacity:.45}.memory-lives [data-hit=true]{animation:.65s ease-out memory-life-lost}.memory-world{isolation:isolate;aspect-ratio:1120/760;background:var(--ml-canvas);width:100%;min-height:540px;max-height:780px;position:relative;overflow:hidden}#memoryCanvas{width:100%;height:100%;font-family:var(--font-primary);touch-action:manipulation;display:block;position:absolute;inset:0}#memoryCanvas:focus,#memoryCanvas:focus-visible{outline:none}.memory-game[data-panel-open=true] #memoryCanvas{filter:blur(9px)}.memory-game[data-state=explore] #memoryCanvas{cursor:crosshair}.memory-scene-caption{inset:var(--space-xl) var(--space-xl) auto;justify-content:space-between;align-items:flex-start;gap:var(--space-xl);pointer-events:none;color:var(--ml-text-primary);font-size:var(--font-size-xs);display:flex;position:absolute}.memory-scene-caption>div{gap:var(--space-xs);display:grid}.memory-scene-caption span{color:var(--ml-text-secondary)}#memoryFloor{letter-spacing:.14em;font-size:10px}#memoryRoomName{letter-spacing:.07em;font-size:var(--font-size-xs)}#memoryObjective{text-align:right;max-width:45%}.memory-game:not([data-state=explore]) .memory-scene-caption{opacity:0}.memory-alert{top:var(--space-xl);pointer-events:none;text-align:center;width:130px;color:var(--ml-danger);letter-spacing:.15em;font-size:10px;font-weight:750;position:absolute;left:50%;transform:translate(-50%)}.memory-alert progress{width:100%;height:3px;margin-top:var(--space-sm);appearance:none;background:var(--ml-control-fill);color:var(--ml-danger);border:0;display:block}.memory-alert progress::-webkit-progress-bar{background:var(--ml-control-fill)}.memory-alert progress::-webkit-progress-value{background:var(--ml-danger)}.memory-alert progress::-moz-progress-bar{background:var(--ml-danger)}.memory-world:after{content:"";pointer-events:none;opacity:0;position:absolute;inset:0;box-shadow:inset 0 0 65px 12px #e12d2da6}.memory-game[data-state=caught] .memory-world:after{animation:.8s ease-out memory-hit}.memory-panels{padding:var(--space-xl);pointer-events:none;visibility:hidden;z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.memory-panels[data-open=true]{visibility:visible;pointer-events:auto;background:color-mix(in srgb,var(--ml-canvas) 38%,transparent)}.memory-panels>section{width:min(100%,420px);padding:var(--space-2xl);border-radius:var(--radius-lg);background:var(--ml-surface-solid);box-shadow:var(--ml-shadow-md);text-align:center;overscroll-behavior:contain;max-height:100%;animation:.22s ease-out memory-panel-in;overflow:auto}.memory-panels>.memory-menu{width:min(100%,400px);box-shadow:none;background:0 0}.memory-panels h2{letter-spacing:-.035em;color:var(--ml-text-primary);margin:0;font-size:clamp(28px,3.5cqw,40px);font-weight:750;line-height:1.12}.memory-panels h2:focus{outline:none}.memory-menu h2{letter-spacing:-.055em;font-size:clamp(44px,7cqw,76px);font-weight:800;line-height:.93}.memory-menu h2>span{color:var(--ml-action-ink);-webkit-text-fill-color:currentColor}.memory-title-mark{justify-content:center;align-items:center;gap:var(--space-xs);margin-bottom:var(--space-xl);height:30px;display:flex}.memory-title-mark span{background:var(--ml-action-ink);border-radius:2px;width:8px;height:20px;transform:skew(-18deg)}.memory-title-mark span:nth-child(2){height:30px}.memory-panels p{color:var(--ml-text-secondary);margin:var(--space-lg) 0;line-height:1.5;font-size:var(--font-size-sm)}.memory-menu-actions{align-items:stretch;gap:var(--space-sm);width:min(100%,240px);margin:var(--space-xl) auto 0;flex-direction:column;display:flex}.memory-menu-actions>:is(button,.ml-flat-action){justify-content:center;width:100%;min-height:44px}.memory-sector-dots{justify-content:center;gap:var(--space-lg);margin-top:var(--space-2xl);color:var(--ml-text-muted);font-variant-numeric:tabular-nums;letter-spacing:.06em;font-size:10px;display:flex}.memory-sector-dots span{padding-bottom:var(--space-sm);border-bottom:2px solid var(--ml-divider)}.memory-emblem{font-size:var(--font-size-3xl);color:var(--ml-action-ink);margin-bottom:var(--space-lg)}.memory-game[data-result=lost] .memory-emblem,.memory-game[data-result=caught] .memory-emblem{color:var(--ml-danger)}.memory-game[data-result=won] .memory-emblem,.memory-game[data-result=clear] .memory-emblem{color:var(--ml-success)}.memory-rules{text-align:left;counter-reset:rule;gap:var(--space-lg);margin:var(--space-xl) 0;padding:0;list-style:none;display:grid}.memory-rules li{column-gap:var(--space-md);row-gap:var(--space-xs);counter-increment:rule;font-size:var(--font-size-sm);grid-template-columns:auto 1fr;display:grid}.memory-rules li:before{content:counter(rule,decimal-leading-zero);font-variant-numeric:tabular-nums;color:var(--ml-text-muted);grid-row:span 2}.memory-rules strong{color:var(--ml-text-primary)}.memory-rules span{color:var(--ml-text-secondary);line-height:1.5}.memory-key-guide{gap:var(--space-sm);font-size:var(--font-size-xs);color:var(--ml-text-secondary);margin:0;display:grid}.memory-key-guide>div{justify-content:space-between;gap:var(--space-md);display:flex}.memory-key-guide dd{text-align:right;color:var(--ml-text-primary);margin:0}.memory-code{justify-content:center;gap:var(--space-xs);margin:var(--space-xl) 0;font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.memory-code>span{min-width:1.3em;min-height:1.8em;padding:var(--space-xs);background:var(--ml-control-fill);border-radius:var(--radius-md);color:var(--ml-text-primary);place-items:center;font-size:clamp(20px,3cqw,28px);animation:.25s ease-out both memory-digit-in;display:grid}.memory-code>span:nth-child(2n){animation-delay:60ms}.memory-time{align-items:center;gap:var(--space-md);color:var(--ml-text-secondary);font-size:var(--font-size-xs);font-variant-numeric:tabular-nums;margin:auto;display:flex}.memory-time>span{white-space:nowrap;flex-shrink:0;min-width:3ch}.memory-time progress{appearance:none;width:100%;height:var(--space-xs);border-radius:var(--radius-md);background:var(--ml-control-fill);color:var(--ml-action);border:0;display:block;overflow:hidden}.memory-time progress::-webkit-progress-bar{background:var(--ml-control-fill)}.memory-time progress::-webkit-progress-value{background:var(--ml-action)}.memory-time progress::-moz-progress-bar{background:var(--ml-action)}#memoryAnswer{width:100%;min-height:44px;padding:var(--space-sm) var(--space-md);text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.16em}.memory-game .ml-field-error{margin-top:var(--space-md)}.memory-score{gap:var(--space-xs);color:var(--ml-text-secondary);margin:var(--space-xl) 0;letter-spacing:.12em;font-size:10px;display:grid}.memory-score strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--ml-text-primary);font-size:clamp(42px,7cqw,64px);line-height:1}.memory-locks{justify-content:center;gap:var(--space-xl);color:var(--ml-text-muted);display:flex}.memory-locks>span{gap:var(--space-sm);font-size:var(--font-size-md);animation:.35s ease-out both memory-digit-in;display:grid}.memory-locks>span:nth-child(2){animation-delay:80ms}.memory-locks>span:nth-child(3){animation-delay:.16s}.memory-locks>span:nth-child(4){animation-delay:.24s}.memory-locks>span:nth-child(5){animation-delay:.32s}.memory-locks small{font-size:var(--font-size-xs);font-variant-numeric:tabular-nums}.memory-locks [data-open=true]{color:var(--ml-success)}.memory-game [hidden]{display:none}.memory-game:fullscreen{background:var(--ml-canvas);border-radius:0;flex-direction:column;display:flex;overflow:auto}.memory-game:fullscreen .memory-world{aspect-ratio:auto;flex:1;min-height:0;max-height:none}@container (width<=760px){.memory-mission{align-items:flex-start;gap:var(--space-xs);flex-direction:column}.memory-hud{gap:var(--space-sm)}.memory-hud-right{gap:var(--space-xs)}.memory-hud-right>.toolbar-divider{display:none}.memory-scene-caption{inset:var(--space-lg)}.memory-alert{top:72px}}@container (width<=520px){.memory-world{aspect-ratio:auto;height:560px;min-height:460px;max-height:72dvh}.memory-hud{padding:var(--space-md)}.memory-hud-right{flex-wrap:wrap;justify-content:flex-end;max-width:60%}#memoryPoints{display:none}.memory-panels{padding:var(--space-md)}.memory-panels>section{padding:var(--space-xl)}.memory-rules{gap:var(--space-md);margin:var(--space-lg) 0}#memoryAnswer{font-size:var(--font-size-base)}.memory-menu h2{font-size:56px}.memory-code{gap:3px}.memory-code>span{min-width:1.2em;font-size:20px}.memory-scene-caption{inset:var(--space-md);font-size:10px}#memoryRoomName{max-width:150px;font-size:10px}#memoryObjective{max-width:42%}}@keyframes memory-panel-in{0%{opacity:0;transform:translateY(9px)scale(.98)}to{opacity:1;transform:none}}@keyframes memory-digit-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes memory-life-lost{0%{color:var(--ml-danger);opacity:1;transform:scale(1.5)}to{opacity:.45;transform:scale(1)}}@keyframes memory-hit{0%,35%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.memory-game *,.memory-game :after{transition:none;animation:none}.memory-game[data-state=caught] .memory-world:after{opacity:.4}}
