:root{--map-paper:var(--sp-ink);--map-ink:var(--sp-ivory);--map-muted:var(--sp-muted);--map-rule:var(--sp-line);--map-line:var(--sp-line);--map-wine:var(--sp-glow);--map-gold:var(--sp-amber);--map-live:var(--sp-amber);--map-night:var(--sp-ink);--map-panel:var(--sp-ink-2);--map-cream:var(--sp-ivory);--map-glow:var(--sp-glow)}
body:has(.memory-map-page){margin:0;background:var(--sp-ink);color:var(--map-ink)}
.memory-map-page{min-height:100vh;background:radial-gradient(circle at 85% 8%,rgb(196 123 85/.09),transparent 32rem),linear-gradient(165deg,var(--sp-ink-2),var(--sp-ink));color:var(--map-ink);font:400 14px/1.55 var(--sp-sans)}
.memory-map-shell{width:min(100%,1180px);margin:auto;padding:0 clamp(20px,4.2vw,52px) 42px}
.memory-map-header{min-height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid var(--map-rule);gap:24px}
.memory-map-wordmark{color:var(--map-ink);font:400 29px/1 var(--sp-serif);letter-spacing:.25em;text-decoration:none}
.memory-map-header nav{display:flex;gap:4px}.memory-map-header nav a{color:var(--map-muted);text-decoration:none;padding:7px 10px;border-radius:999px;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.memory-map-header nav a[aria-current=page]{background:rgb(225 179 141/.1);color:var(--map-wine)}
.memory-map-header>p{justify-self:end;color:var(--map-muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.memory-map-header>p span{display:inline-block;width:6px;height:6px;background:var(--map-live);border-radius:50%;margin-right:7px}
.memory-map-hero{position:relative;padding:72px 0 50px;text-align:center;border-bottom:1px solid var(--map-rule);overflow:hidden}.memory-map-hero::before{position:absolute;inset:auto 0 -.45em;color:rgb(225 179 141/.045);content:"2026";font:400 clamp(10rem,27vw,22rem)/.8 var(--sp-serif);pointer-events:none}.memory-map-kicker{position:relative;margin:0 0 12px;color:var(--map-gold);font-size:.64rem;font-weight:650;letter-spacing:.2em;text-transform:uppercase}.memory-map-hero h1{position:relative;margin:0;font:400 clamp(3rem,7vw,5.6rem)/.95 var(--sp-serif);letter-spacing:-.025em}.memory-map-hero h1 em{color:var(--map-wine);font-weight:400}.memory-map-hero>p:last-child{position:relative;max-width:620px;margin:24px auto 0;color:var(--map-muted);line-height:1.7}
.memory-map-controls{display:grid;gap:0;border-bottom:1px solid var(--map-rule)}.memory-map-primary-modes{display:flex;justify-content:center;gap:8px;padding:22px 0}.memory-map-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));border-block:1px solid var(--map-rule)}
.memory-map-controls button,.memory-map-stage-heading button{border:0;background:transparent;color:var(--map-muted);font:inherit;cursor:pointer}.memory-map-primary-modes button,.memory-map-stage-heading button{min-height:40px;padding:8px 15px;border:1px solid var(--map-rule);border-radius:999px;font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.memory-map-primary-modes button:is(.is-active,:hover,:focus-visible),.memory-map-stage-heading button:hover{border-color:var(--map-wine);color:var(--map-wine);background:rgb(214 154 114/.08)}.memory-map-months button{position:relative;padding:20px 2px 17px;font-size:.62rem;font-weight:650;letter-spacing:.14em}.memory-map-months button::after{position:absolute;right:22%;bottom:-1px;left:22%;height:2px;background:var(--map-wine);content:"";opacity:0}.memory-map-months button:is(.is-active,:hover){color:var(--map-wine)}.memory-map-months button.is-active::after{opacity:1}
.memory-map-calendar{width:100%;padding:34px 0 40px}.memory-map-calendar-heading{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;margin-bottom:20px}.memory-map-calendar-heading>button:not(.memory-map-whole-month){display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--map-rule);border-radius:50%;color:var(--map-wine);font-size:1rem}.memory-map-calendar-heading>button:last-child{justify-self:end}.memory-map-whole-month{justify-self:center;color:var(--map-ink)!important}.memory-map-whole-month span{display:block;font:400 31px/1 var(--sp-serif)}.memory-map-whole-month small{display:block;margin-top:6px;color:var(--map-gold);font-size:.58rem;font-weight:650;letter-spacing:.14em;text-transform:uppercase}.memory-map-weekdays,.memory-map-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.memory-map-weekdays span{padding:7px;text-align:center;color:var(--map-muted);font-size:.58rem;letter-spacing:.12em}.memory-map-days button,.memory-map-day-blank{min-height:54px}.memory-map-days button{border:1px solid transparent;border-radius:7px;color:var(--map-ink);font:400 19px/1 var(--sp-serif)}.memory-map-days button:not(:disabled):is(:hover,:focus-visible){border-color:rgb(225 179 141/.24);background:rgb(255 255 255/.035)}.memory-map-days button.is-active{border-color:var(--map-wine);background:rgb(214 154 114/.08);color:var(--map-wine)}.memory-map-days button:disabled{color:var(--sp-dim);cursor:default}
.memory-map-stage{padding:46px 0 20px}.memory-map-stage-heading,.memory-map-results-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.memory-map-stage h2,.memory-map-results h2{margin:0;font:400 clamp(2rem,4vw,3.4rem)/1 var(--sp-serif)}.memory-map-canvas{position:relative;margin-top:22px;min-height:520px;border:1px solid var(--map-line);border-radius:9px;overflow:hidden;background:radial-gradient(circle at 50% 45%,var(--sp-ink-3),var(--sp-ink) 72%);touch-action:none}.memory-map-canvas svg{display:block;width:100%;height:clamp(520px,58vw,690px);cursor:grab;outline:none}.memory-map-canvas svg:active{cursor:grabbing}.memory-map-canvas svg:focus-visible{outline:3px solid var(--map-gold);outline-offset:-5px}.memory-map-country{fill:#0d1924;stroke:rgb(225 179 141/.5);stroke-width:.38;vector-effect:non-scaling-stroke}.memory-map-city-boundary{fill:#101d28;stroke:rgb(225 179 141/.72);stroke-width:.75;vector-effect:non-scaling-stroke}.memory-map-light-core{fill:var(--map-glow);stroke:#fff1c4;stroke-width:.6;filter:drop-shadow(0 0 3px rgba(225,179,141,.78));pointer-events:none;vector-effect:non-scaling-stroke}.memory-map-light-halo{fill:rgb(225 179 141/.18);stroke:none;filter:drop-shadow(0 0 4px rgba(225,179,141,.42));pointer-events:none}.memory-map-light-hit{fill:transparent;stroke:none;cursor:pointer;outline:none;pointer-events:all}.memory-map-light-hit:focus-visible{stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}.memory-map-light.is-selected .memory-map-light-core,.memory-map-light:focus-within .memory-map-light-core{fill:#fff4c7;stroke:#fff;stroke-width:1.2}.memory-map-light.is-selected .memory-map-light-halo{fill:rgb(255 241 196/.3)}.memory-map-light.is-new .memory-map-light-core,.memory-map-light.is-new .memory-map-light-halo{animation:memory-arrival 1s ease-in-out 4 alternate}@keyframes memory-arrival{to{fill:#fff0ab;filter:drop-shadow(0 0 7px #fff0a8)}}
.memory-map-zoom-controls{position:absolute;z-index:2;top:16px;right:16px;display:grid;grid-template-columns:40px 40px auto;gap:6px}.memory-map-zoom-controls button{min-width:40px;min-height:40px;padding:0 12px;border:1px solid rgb(225 179 141/.42);border-radius:5px;background:rgb(7 17 27/.88);color:var(--map-ink);font:600 14px var(--sp-sans);cursor:pointer}.memory-map-zoom-controls button:last-child{font-size:.62rem;letter-spacing:.09em;text-transform:uppercase}.memory-map-zoom-controls button:focus-visible{outline:3px solid var(--map-glow);outline-offset:2px}.memory-map-loading,.memory-map-error{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);color:var(--map-muted)}.memory-map-arrival{position:absolute;top:20px;left:50%;transform:translateX(-50%);max-width:min(90%,520px);background:var(--sp-ink-2);color:var(--map-ink);padding:12px 18px;border:1px solid var(--map-gold);border-radius:999px;box-shadow:0 12px 40px #0008}.memory-map-note{color:var(--map-muted);font-size:.72rem;line-height:1.55}
.memory-map-results{padding:35px 0 70px}.memory-map-cards{display:grid;grid-template-columns:1fr;gap:0}.memory-map-card-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.memory-map-card{display:flex;min-height:310px;flex-direction:column;align-items:center;padding:25px;border:1px solid rgb(225 179 141/.32);border-radius:9px;background:radial-gradient(circle at 50% 18%,rgb(214 154 114/.08),transparent 45%),linear-gradient(155deg,rgb(255 255 255/.05),rgb(255 255 255/.018)),var(--sp-ink-2);color:var(--map-ink);text-align:center;text-decoration:none;box-shadow:0 22px 56px -42px #000}.memory-map-card:hover,.memory-map-card:focus-visible{border-color:var(--map-glow);transform:translateY(-2px);outline:none}.memory-map-card.is-selected{grid-column:1/-1;min-height:345px;border-color:var(--map-glow);box-shadow:inset 0 0 0 1px rgb(225 179 141/.18),0 22px 60px -38px #000}.memory-map-card-seal{display:grid;width:48px;height:48px;place-items:center;border:1px solid rgb(225 179 141/.55);border-radius:50%;color:var(--map-ink);font:italic 400 25px/1 var(--sp-serif)}.memory-map-card-state,.memory-map-card-opening{color:var(--map-gold);font-size:.58rem;font-weight:700;letter-spacing:.16em}.memory-map-card-state{margin-top:12px}.memory-map-card-meta{display:flex;justify-content:center;gap:6px 13px;flex-wrap:wrap;margin-top:20px;color:var(--map-muted);font-size:.69rem}.memory-map-card-meta>span::before{padding-right:13px;color:var(--map-gold);content:"·"}.memory-map-card strong{max-width:24ch;margin:18px 0 10px;font:400 clamp(1.65rem,3vw,2.35rem)/1.05 var(--sp-serif);overflow-wrap:anywhere}.memory-map-card-copy{max-width:56ch;color:var(--map-muted);font:400 1.02rem/1.5 var(--sp-serif)}.memory-map-card-opening{margin-top:auto;padding-top:20px}.memory-map-empty{color:var(--map-muted)}.memory-map-scroll-status{min-height:1.5em;margin-top:14px;color:var(--map-muted);font-size:.68rem}.memory-map-card-sentinel{min-height:1px;pointer-events:none}
.memory-map-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--map-rule);padding:25px 0 35px;color:var(--map-muted);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase}.memory-map-footer a{color:inherit}
.sac-view-nav{display:flex;gap:4px}.sac-view-nav a{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:inherit;text-decoration:none;padding:7px 10px;border-radius:999px}.sac-view-nav-active{background:rgba(0,0,0,.07)}
@media(max-width:760px){.memory-map-shell{padding-inline:15px}.memory-map-header{grid-template-columns:1fr auto}.memory-map-header>p{display:none}.memory-map-header nav a{padding:7px 8px}.memory-map-hero{padding-top:50px}.memory-map-months{grid-template-columns:repeat(6,1fr)}.memory-map-months button{padding-block:14px}.memory-map-calendar{padding-block:28px}.memory-map-weekdays,.memory-map-days{gap:2px}.memory-map-days button,.memory-map-day-blank{min-height:46px}.memory-map-canvas{min-height:440px}.memory-map-canvas svg{height:440px}.memory-map-card-page{grid-template-columns:1fr}.memory-map-card.is-selected{grid-column:auto}.memory-map-footer{flex-direction:column}.memory-map-stage-heading{align-items:start;flex-direction:column}.memory-map-zoom-controls{top:10px;right:10px}.memory-map-results-heading{display:block}.memory-map-results-heading h2{margin-top:7px}}
@media(max-width:390px){.memory-map-wordmark{font-size:24px}.memory-map-header{gap:10px}.memory-map-header nav a{font-size:.58rem}.memory-map-primary-modes{justify-content:stretch}.memory-map-primary-modes button{flex:1}.memory-map-day-blank,.memory-map-days button{min-height:42px}.memory-map-calendar-heading{grid-template-columns:40px 1fr 40px}.memory-map-whole-month span{font-size:27px}.memory-map-card{min-height:280px;padding:19px}}
@media(prefers-reduced-motion:reduce){.memory-map-light.is-new{animation:none}.memory-map-card{transition:none}}
