.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}.memory{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:16px;--memory-grid-w: clamp(260px, calc(100vh - 280px) , 480px)}.memory-caption{font-family:Onest,sans-serif;font-size:22px;line-height:30px;color:var(--text);opacity:.7;text-align:left;margin:0;width:100%}.memory-caption-link{color:var(--text-accent);transition:opacity .15s}@media(hover:hover)and (pointer:fine){.memory-caption-link:hover{opacity:.7}}.memory-card{background:var(--bg-case);border-radius:8px;padding:40px;width:100%;display:flex;flex-direction:column;gap:24px;position:relative;overflow:hidden}.memory-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.memory-hint{font-size:22px;line-height:30px;color:var(--text)}.memory-meta{font-size:22px;line-height:30px;color:var(--text);opacity:.6;display:flex;align-items:center;gap:12px}.memory-btn--dev{font-size:16px;line-height:1;opacity:.6;border:1px dashed currentColor;border-radius:6px;padding:4px 8px}.memory-btn{font-family:Onest,sans-serif;font-weight:500;font-size:22px;line-height:30px;color:var(--text);background:none;border:none;padding:0;cursor:pointer;white-space:nowrap;transition:opacity .15s}@media(hover:hover)and (pointer:fine){.memory-btn:hover{opacity:.7}}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;width:100%;max-width:var(--memory-grid-w);margin:0 auto}.memory-cell{perspective:600px;cursor:pointer;aspect-ratio:1 / 1;-webkit-tap-highlight-color:transparent;touch-action:manipulation;user-select:none;-webkit-user-select:none}.memory-cell-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .4s ease}.memory-cell.flipped .memory-cell-inner,.memory-cell.matched .memory-cell-inner{transform:rotateY(180deg)}.memory-face{position:absolute;inset:0;border-radius:50%;backface-visibility:hidden;display:grid;place-items:center;font-size:clamp(40px,7vw,64px);user-select:none}.memory-face.back{background:#1f2125}.memory-face.front{background:#3a3d44;transform:rotateY(180deg)}.memory-cell.matched .memory-face.front{background:var(--text-accent)}.memory-cell.shake .memory-cell-inner{animation:memShake .45s ease}@keyframes memShake{0%,to{transform:rotateY(180deg) translate(0)}25%{transform:rotateY(180deg) translate(-5px)}75%{transform:rotateY(180deg) translate(5px)}}.memory-cell.glow .memory-face.back{animation:memGlow 1.2s ease}@keyframes memGlow{0%,to{box-shadow:0 0 #c9ec1800}50%{box-shadow:0 0 18px 2px #c9ec188c}}.memory-status{min-height:30px;font-size:22px;line-height:30px;color:var(--text-accent);opacity:0;transition:opacity .2s}.memory-status.show{opacity:1}.memory-sticker{position:absolute;top:50%;left:50%;pointer-events:none;z-index:5;--sticker-dx: 0px;--sticker-dy: -80px;animation:memStickerFlight 3.8s cubic-bezier(.22,1,.36,1) forwards}.memory-sticker__inner{width:clamp(140px,28vmin,220px);height:clamp(140px,28vmin,220px);transform-origin:center;opacity:0;animation:memStickerFade 3.8s ease-out forwards}.memory-sticker video{width:100%;height:100%;object-fit:contain;display:block;background:transparent}@keyframes memStickerFlight{0%{transform:translate(calc(-50% + 0px),calc(-50% + 0px))}to{transform:translate(calc(-50% + var(--sticker-dx)),calc(-50% + var(--sticker-dy)))}}@keyframes memStickerFade{0%{opacity:0;transform:scale(.4)}20%{opacity:1;transform:scale(1)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.7)}}@media(prefers-reduced-motion:reduce){.memory-sticker,.memory-sticker__inner{animation:none}.memory-sticker__inner{opacity:1}}@media(max-width:768px){.memory{--memory-grid-w: clamp(240px, calc(100vh - 220px) , 420px)}.memory-card{padding:24px;gap:20px}}@media(max-width:480px){.memory-hint,.memory-meta,.memory-btn,.memory-status,.memory-caption{font-size:18px;line-height:26px}}:root{--bg: #17181c;--bg-case: #2d2f35;--text: #c4c9d4;--text-accent: #c9ec18;--article-gap: 16px;--article-max-width: 700px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:Onest,-apple-system,BlinkMacSystemFont,sans-serif;font-size:22px;line-height:30px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img,video{display:block;max-width:100%}p{margin:0}.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease;will-change:opacity,transform}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}.video-wrap{position:relative;width:100%;height:100%}.video-wrap video{width:100%;height:100%;object-fit:cover;display:block}.video-toggle{position:absolute;right:12px;bottom:12px;width:36px;height:36px;border-radius:50%;background:#17181ca6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text);opacity:0;transition:opacity .2s ease,background .2s ease;z-index:2;padding:0}.video-toggle:focus-visible{opacity:1}@media(hover:hover)and (pointer:fine){.video-wrap:hover .video-toggle{opacity:1}.video-toggle:hover{background:#17181cd9}}@media(hover:none),(pointer:coarse){.video-toggle{display:none}}.media-modal-content .video-toggle{display:none}.video-toggle svg{width:16px;height:16px;display:block}.video-toggle .icon-play{display:none}.video-toggle.is-paused .icon-play{display:block}.video-toggle.is-paused .icon-pause{display:none}.case-content .media-block{cursor:zoom-in}.media-modal{position:fixed;inset:0;z-index:1000;background:#0000;display:flex;align-items:center;justify-content:center;padding:40px;pointer-events:none;transition:background-color .36s cubic-bezier(.22,1,.36,1);cursor:zoom-out}.media-modal.is-open{background:#000000d9;pointer-events:auto}.media-modal-close{opacity:0;transition:opacity .25s ease .1s,background .2s ease}.media-modal.is-open .media-modal-close{opacity:1}.media-modal-content{max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center;cursor:default}.media-modal-content>img{max-width:100%;max-height:calc(100vh - 80px);width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 20px 60px #00000080;display:block}.media-modal-content>.video-wrap{width:min(100%,calc((100vh - 80px) * 16 / 9));aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;box-shadow:0 20px 60px #00000080}.media-modal-content>.video-wrap video{object-fit:contain;background:#000}.media-modal-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}@media(hover:hover)and (pointer:fine){.media-modal-close:hover{background:#fff3}}.media-modal-close svg{width:18px;height:18px}body.has-modal{overflow:hidden}@media(max-width:768px){.media-modal{padding:16px}.media-modal-content>img{max-height:calc(100vh - 32px)}.media-modal-content>.video-wrap{width:min(100%,calc((100vh - 32px) * 16 / 9))}}
