:root{color-scheme:dark;--bg: #070b17;--bg-soft: #12182a;--ink: #f7f1e8;--muted: #b9c0d6;--line: rgba(255, 255, 255, .16);--line-strong: rgba(255, 255, 255, .28);--rose: #f6a6ba;--gold: #f3d386;--cyan: #94d7e4;--violet: #9582f2;--paper: #fff6ea;--paper-ink: #243042;--shadow: 0 24px 80px rgba(0, 0, 0, .42);--dock-mobile-height: 5.5rem;--dock-desktop-width: 7rem;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}html,body{width:100%;min-height:100%;margin:0;background:var(--bg);color:var(--ink)}body{overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}#ambientCanvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;background:radial-gradient(circle at 18% 22%,rgba(148,215,228,.16),transparent 26rem),radial-gradient(circle at 80% 16%,rgba(246,166,186,.18),transparent 28rem),radial-gradient(circle at 62% 78%,rgba(149,130,242,.14),transparent 30rem),radial-gradient(circle at 40% 50%,rgba(243,211,134,.06),transparent 22rem),linear-gradient(145deg,#06091a,#0f1630 48%,#1a1130)}.app{position:relative;z-index:1;min-height:100vh}.screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;min-height:100vh;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .52s ease,visibility 0s linear .52s}.screen.is-active{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .52s ease}.landing-screen{position:relative;align-items:center;justify-content:center;padding:2rem;text-align:center}.dashboard-screen,.randomizer-screen{overflow:auto;padding:2rem 2rem calc(2rem + var(--dock-mobile-height))}.dashboard-screen{align-items:flex-start;justify-content:center}.dashboard-shell{width:min(68rem,100%)}.dashboard-header{max-width:42rem;margin-bottom:2rem}.dashboard-header h1,.randomizer-header h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.3rem,7vw,4.6rem);font-weight:500;letter-spacing:0}.dashboard-header p:last-child{margin:.85rem 0 0;color:#f7f1e8c7;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;line-height:1.7}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.important-dates-panel{display:grid;gap:1rem;margin-top:1.2rem;padding:1.15rem;border:1px solid rgba(255,255,255,.12);border-radius:.8rem;background:radial-gradient(circle at top right,rgba(246,166,186,.14),transparent 15rem),#070b1785;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.important-dates-header{display:flex;justify-content:space-between;gap:1rem;align-items:end}.important-dates-header h2{margin:.2rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,3vw,2.4rem);font-weight:500}.important-dates-copy,.important-dates-empty,.today-picks-empty{margin:0;color:#f7f1e8b8;line-height:1.55}.important-dates-list{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.dashboard-tile{min-height:20rem;padding:1.4rem;border:1px solid var(--line);border-radius:.5rem;background:linear-gradient(145deg,#ffffff1c,#ffffff0a),#070b1794;color:var(--ink);text-align:left;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:border-color .18s ease,transform .18s ease,background .18s ease}.dashboard-tile:hover,.dashboard-tile:focus-visible{border-color:#f6a6ba85;background:linear-gradient(145deg,#f6a6ba29,#94d7e412),#070b17a3;transform:translateY(-.18rem)}.dashboard-tile-stars{background:radial-gradient(circle at 78% 18%,rgba(243,211,134,.24),transparent 11rem),radial-gradient(circle at 30% 74%,rgba(148,215,228,.16),transparent 12rem),#070b179e}.dashboard-tile-random{background:radial-gradient(circle at 80% 26%,rgba(246,166,186,.24),transparent 12rem),radial-gradient(circle at 28% 78%,rgba(149,130,242,.16),transparent 12rem),#070b179e}.dashboard-tile-wishlist{background:radial-gradient(circle at 78% 24%,rgba(246,166,186,.22),transparent 11rem),radial-gradient(circle at 24% 76%,rgba(243,211,134,.17),transparent 12rem),#070b179e}.dashboard-tile-dates{background:radial-gradient(circle at 72% 22%,rgba(148,215,228,.2),transparent 11rem),radial-gradient(circle at 24% 76%,rgba(243,211,134,.15),transparent 12rem),#070b179e}.dashboard-tile-anniversary{background:radial-gradient(circle at 78% 20%,rgba(255,199,220,.24),transparent 10rem),radial-gradient(circle at 18% 78%,rgba(243,211,134,.18),transparent 12rem),linear-gradient(145deg,#270c24c7,#0f1630c2)}.dashboard-tile-anniversary .dashboard-tile-title{margin-top:8.5rem}.dashboard-tile-kicker,.dashboard-tile-title,.dashboard-tile-copy{display:block}.dashboard-tile-kicker{color:var(--gold);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.dashboard-tile-title{margin-top:6.5rem;font-family:Georgia,Times New Roman,serif;font-size:2.2rem}.dashboard-tile-copy{max-width:24rem;margin-top:.65rem;color:#f7f1e8c2;line-height:1.6}.randomizer-screen{align-items:flex-start;justify-content:center;overflow:hidden}.wishlist-screen,.anniversary-screen,.dates-screen{align-items:flex-start;justify-content:center;overflow:auto;padding:2rem 2rem calc(2rem + var(--dock-mobile-height))}.wishlist-shell{display:grid;width:min(78rem,100%);gap:1rem;padding-bottom:5rem}.dates-shell{display:grid;width:min(72rem,100%);gap:1rem;padding-bottom:5rem}.anniversary-shell{display:grid;width:min(78rem,100%);gap:1rem;padding-bottom:5rem}.wishlist-header,.wishlist-panel-heading{display:flex;align-items:center;gap:1rem}.dates-header,.dates-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.anniversary-header{display:flex;align-items:center;gap:1rem}.wishlist-header h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,4rem);font-weight:500}.dates-header h1,.dates-section-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500}.dates-header h1{font-size:clamp(2rem,5vw,4rem)}.anniversary-header h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,4rem);font-weight:500}.dates-section-heading h2{margin-top:.2rem;font-size:clamp(1.5rem,3vw,2.3rem)}.dates-creator,.dates-list-section{display:grid;gap:1rem;padding:1.15rem;border:1px solid rgba(255,255,255,.12);border-radius:.9rem;background:#080c1885;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.dashboard-gate-panel{display:grid;width:min(34rem,calc(100% - 2rem));margin:auto}.dashboard-gate-card{display:grid;gap:1rem;padding:1.4rem;border:1px solid rgba(255,255,255,.12);border-radius:1.1rem;background:radial-gradient(circle at top right,rgba(246,166,186,.18),transparent 18rem),radial-gradient(circle at bottom left,rgba(243,211,134,.12),transparent 16rem),#080c18a3;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);text-align:center}.dashboard-gate-card h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,5vw,3.5rem);font-weight:500}.dashboard-gate-subtitle,.dashboard-lock-hint{margin:0;color:#f7f1e8bd;line-height:1.7}.dashboard-pin-dots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem}.dashboard-pin-dot{aspect-ratio:1;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0a;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.dashboard-pin-dot.is-filled{background:radial-gradient(circle at 35% 30%,#ffffffbf,#f3d386d1 58%,#f6a6bae0);box-shadow:0 0 24px #f3d3863d;transform:scale(1.06)}.dashboard-pin-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.dashboard-pin-button{min-height:4.25rem;border:1px solid rgba(255,255,255,.14);border-radius:1rem;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.22),transparent 2.5rem),#070b17d6;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1.4rem;transition:transform .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease}.dashboard-pin-button:hover,.dashboard-pin-button:focus-visible{border-color:#f3d3866b;box-shadow:0 0 24px #f3d3861f}.dashboard-pin-button:active,.dashboard-pin-button.is-pressed{transform:scale(.96);background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.26),transparent 2rem),#f3d3862e}.dashboard-pin-button.is-utility{font-size:.95rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.anniversary-lock-panel,.anniversary-main-panel{display:grid;gap:1rem;padding:1.35rem;border:1px solid rgba(255,255,255,.12);border-radius:1rem;background:radial-gradient(circle at top right,rgba(246,166,186,.18),transparent 18rem),radial-gradient(circle at bottom left,rgba(243,211,134,.12),transparent 16rem),#080c1894;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.anniversary-lock-panel{grid-template-columns:minmax(18rem,1.1fr) minmax(18rem,.9fr);align-items:center}.anniversary-subtitle,.anniversary-intro,.anniversary-main-copy p{margin:0;color:#f7f1e8bd;line-height:1.7}.anniversary-lock-copy h2,.anniversary-main-copy h2{margin:.2rem 0 .7rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:500}.anniversary-tumbler{display:grid;gap:1rem;padding:1.2rem;border:1px solid rgba(255,255,255,.12);border-radius:1rem;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.15),transparent 12rem),#ffffff0f}.anniversary-tumbler-digits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.anniversary-tumbler-digit{min-height:5rem;border:1px solid rgba(255,255,255,.16);border-radius:1rem;background:linear-gradient(180deg,#ffffff29,#ffffff0a),#070b17d6;display:grid;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:2rem}.anniversary-tumbler-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.anniversary-tumbler-step{min-height:3rem;border:1px solid rgba(255,255,255,.14);border-radius:.85rem;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.22),transparent 2.5rem),#070b17d6;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:1rem;transition:transform .12s ease,border-color .12s ease,background .12s ease,box-shadow .12s ease}.anniversary-tumbler-step:hover,.anniversary-tumbler-step:focus-visible{border-color:#f6a6ba66;box-shadow:0 0 24px #f6a6ba1f}.anniversary-tumbler-step:active{transform:scale(.96);background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.26),transparent 2rem),#f6a6ba2e}.anniversary-tumbler-actions{display:flex;flex-wrap:wrap;gap:.65rem}.anniversary-lock-hint,.anniversary-progress-chip,.anniversary-card-clue{color:var(--muted)}.anniversary-progress-chip{margin-left:auto;padding:.4rem .75rem;border:1px solid rgba(246,166,186,.24);border-radius:999px;background:#f6a6ba1f;font-size:.82rem;font-weight:700}.anniversary-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.anniversary-card{display:grid;gap:0;border:1px solid rgba(255,255,255,.12);border-radius:1rem;overflow:hidden;background:#ffffff0d;transition:transform .18s ease,border-color .18s ease,opacity .18s ease}.anniversary-card.is-unlocked{border-color:#f3d3866b;box-shadow:0 0 0 1px #f3d3861f,0 22px 48px #0000002e}.anniversary-card.is-locked{opacity:.62}.anniversary-card-media{min-height:14rem;background:radial-gradient(circle at 28% 18%,rgba(246,166,186,.22),transparent 8rem),radial-gradient(circle at 72% 76%,rgba(243,211,134,.16),transparent 9rem),#0a0e1beb;background-position:center;background-size:cover}.anniversary-card-placeholder{display:grid;align-content:center;justify-items:center;min-height:14rem;text-align:center}.anniversary-card-placeholder span{color:var(--gold);font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.anniversary-card-placeholder strong{margin-top:.45rem;font-family:Georgia,Times New Roman,serif;font-size:1.6rem;font-weight:500}.anniversary-card-copy{display:grid;gap:.65rem;padding:1rem}.anniversary-level-pill{width:fit-content;padding:.25rem .55rem;border-radius:999px;background:#9582f229;color:#d9d1ff;font-size:.72rem;font-weight:800;text-transform:uppercase}.anniversary-card-copy h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.4rem;font-weight:500}.anniversary-card-challenge,.anniversary-reward p{margin:0;line-height:1.6}.anniversary-answer-form{display:grid;gap:.7rem}.anniversary-answer-form input{width:100%;min-height:3rem;border:1px solid var(--line);border-radius:.75rem;background:#ffffff14;color:var(--ink);padding:0 .85rem}.anniversary-reward{display:grid;gap:.35rem;padding:.9rem;border:1px solid rgba(243,211,134,.24);border-radius:.85rem;background:#f3d38614}.anniversary-reward span{color:var(--gold);font-size:.74rem;font-weight:900;text-transform:uppercase}.anniversary-reward strong{font-size:1.05rem}.anniversary-game-modal{z-index:38}.anniversary-game-card{position:absolute;top:50%;left:50%;display:grid;gap:1rem;width:min(52rem,calc(100% - 2rem));max-height:calc(100vh - 2rem);overflow:auto;padding:1.4rem;border:1px solid var(--line-strong);border-radius:1rem;background:radial-gradient(circle at top right,rgba(246,166,186,.12),transparent 16rem),#0a0e1bf5;box-shadow:var(--shadow);transform:translate(-50%,-50%)}.anniversary-game-card.is-matching-game{width:min(82rem,calc(100% - 1.5rem));max-width:82rem}.anniversary-game-card h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:500}.anniversary-game-description,.anniversary-game-message{margin:0;color:var(--muted);line-height:1.65}.anniversary-game-hud{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.anniversary-snake-hudbar{display:flex;flex:1 1 100%;flex-wrap:wrap;gap:.55rem;align-items:center;justify-content:space-between}.anniversary-snake-mini-stats{display:flex;flex:1 1 0;gap:.45rem;min-width:0;align-items:center}.anniversary-snake-mini-stat{display:grid;gap:.08rem;min-width:0;padding:.35rem .55rem;border:1px solid rgba(255,255,255,.08);border-radius:.8rem;background:#ffffff0d}.anniversary-snake-mini-stat span{color:var(--muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}.anniversary-snake-mini-stat strong{font-size:.95rem;line-height:1.1}.anniversary-snake-hud-actions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.anniversary-snake-stat{display:grid;gap:.18rem;min-width:5.25rem;padding:.6rem .8rem;border:1px solid rgba(255,255,255,.08);border-radius:.85rem;background:#ffffff0d}.anniversary-snake-stat span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.anniversary-snake-stat strong{font-size:1.05rem}.anniversary-snake-restart{margin-left:auto}.anniversary-snake-mode-toggle{min-width:5.7rem}.anniversary-snake-hud-actions .secondary-button{min-height:2.55rem;padding:.58rem .82rem;border-radius:.82rem;font-size:.94rem}.anniversary-game-rotate-notice{display:none;gap:.45rem;justify-items:center;padding:1rem;border:1px solid rgba(243,211,134,.24);border-radius:.9rem;background:#f3d38614;text-align:center}.anniversary-game-rotate-notice span{font-size:1.35rem}.anniversary-game-rotate-notice p,.anniversary-game-rotate-notice strong{margin:0}.anniversary-game-board.is-matching{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:.7rem}.anniversary-game-board.is-matching.is-celebrating{display:block;min-height:26rem}.anniversary-game-board.is-snake,.anniversary-game-board.is-anagram,.anniversary-game-board.is-runner,.anniversary-game-board.is-timing{display:block}.anniversary-memory-tile{position:relative;min-height:0;aspect-ratio:1 / 1;border:1px solid rgba(255,255,255,.12);border-radius:.9rem;background:#ffffff0f;color:var(--ink);isolation:isolate;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;will-change:transform}.anniversary-memory-tile:hover,.anniversary-memory-tile:focus-visible{transform:translateY(-2px) scale(1.01);border-color:#f3d3863d;box-shadow:0 12px 26px #0408143d}.anniversary-memory-tile:active{transform:scale(.96)}.anniversary-memory-tile.is-revealed{border-color:#f3d38647;box-shadow:0 0 0 1px #f3d3861f;animation:anniversaryTilePop .18s ease}.anniversary-memory-tile.is-matched{border-color:#6ed69cb3;background:#347a4d57;box-shadow:0 0 0 1px #6ed69c4d,0 0 22px #48a36638}.anniversary-memory-tile-face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:.6rem;border-radius:inherit}.anniversary-memory-tile-back{background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.16),transparent 2.5rem),#070b17d6;font-family:Georgia,Times New Roman,serif;font-size:2rem}.anniversary-memory-tile-front{background:#ffffff1a;opacity:0;z-index:1}.anniversary-memory-tile-front.has-image{padding:.22rem;background:#ffffff0a}.anniversary-memory-tile.is-revealed .anniversary-memory-tile-front,.anniversary-memory-tile.is-matched .anniversary-memory-tile-front{opacity:1}.anniversary-memory-tile.is-matched .anniversary-memory-tile-front{background:linear-gradient(180deg,#5cac7752,#224d2f80)}.anniversary-memory-tile.is-matched .anniversary-memory-tile-front.has-image{background:#224d2f2e}.anniversary-memory-tile.is-revealed .anniversary-memory-tile-back,.anniversary-memory-tile.is-matched .anniversary-memory-tile-back{opacity:0}.anniversary-memory-photo{width:100%;height:100%;border-radius:.7rem;display:block;background-position:center;background-repeat:no-repeat;background-size:cover}.anniversary-memory-floating-preview{position:absolute;left:var(--preview-left, 0);top:var(--preview-top, 0);width:var(--preview-width, 10rem);height:var(--preview-height, 7rem);padding:.24rem;border:1px solid rgba(243,211,134,.26);border-radius:.9rem;background:#0a0e1bfa;box-shadow:0 18px 34px #00000057;z-index:12;pointer-events:none}.anniversary-memory-floating-preview .anniversary-memory-photo{border-radius:.7rem}body.is-anniversary-matching-open .global-dock,body.is-anniversary-matching-open .music-player{display:none!important}.anniversary-memory-tile-front strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(.95rem,1.4vw,1.15rem);line-height:1.2;text-align:center}.anniversary-memory-celebration{position:relative;display:grid;gap:1.2rem;min-height:28rem;padding:.9rem .6rem 1.2rem;justify-items:center;align-content:start}.anniversary-memory-stack{position:relative;width:6.4rem;height:5.6rem;margin-top:.3rem}.anniversary-memory-stack-card{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(243,211,134,.2);border-radius:1rem;background:radial-gradient(circle at 30% 22%,rgba(255,255,255,.16),transparent 2.5rem),#070b17e6;box-shadow:0 10px 24px #0000003d;opacity:0;animation:anniversaryMemoryStackShuffle 3s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--memory-delay, 0s)}@keyframes anniversaryMemoryStackShuffle{0%{opacity:0;transform:translate(var(--memory-from-x, 0),var(--memory-from-y, 0)) rotate(var(--memory-from-rotate, 0deg))}8%{opacity:.92;transform:translate(var(--memory-from-x, 0),var(--memory-from-y, 0)) rotate(var(--memory-from-rotate, 0deg))}to{opacity:1;transform:translateY(var(--memory-end-y, 0)) rotate(0)}}.anniversary-memory-celebration-copy{display:grid;gap:.35rem;justify-items:center;text-align:center;opacity:0;animation:anniversaryMemoryRevealIn 1.1s ease forwards;animation-delay:4s}.anniversary-memory-celebration-copy.is-overlay{position:relative;top:auto;left:auto;z-index:3;width:min(100%,34rem);margin-top:.35rem;padding:0 1.2rem;transform:none;text-shadow:0 0 2rem rgba(0,0,0,.45)}.anniversary-memory-celebration-copy strong{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.05}.anniversary-memory-celebration-copy p{margin:0;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.08rem,2vw,1.42rem);max-width:24rem}.anniversary-memory-celebration-gallery{display:grid;grid-template-columns:repeat(3,minmax(7.5rem,1fr));gap:.85rem;width:min(100%,34rem);margin-top:.2rem;overflow:visible}.anniversary-memory-celebration-photo{aspect-ratio:4 / 5;width:100%;padding:.24rem;border:1px solid rgba(255,255,255,.12);border-radius:.85rem;background:#ffffff0a;opacity:0;animation:anniversaryMemoryPhotoFadeIn 2s ease forwards}.anniversary-memory-celebration-photo .anniversary-memory-photo{border-radius:.7rem}@keyframes anniversaryMemoryPhotoFadeIn{0%{opacity:0;transform:translateY(.8rem)}to{opacity:1;transform:translateY(0)}}.anniversary-memory-claim-button{min-width:12rem;margin-top:.2rem;opacity:0;animation:anniversaryMemoryRevealIn .9s ease forwards;animation-delay:5s}.anniversary-memory-celebration-grid{position:absolute;inset:4rem 0 auto 0;z-index:1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;opacity:1;animation:anniversaryMemoryGridFade .6s ease forwards;animation-delay:3s}.anniversary-memory-celebration-grid-card{display:grid;aspect-ratio:1 / 1;place-items:center;padding:.18rem;border:1px solid rgba(110,214,156,.48);border-radius:.85rem;background:#347a4d57;box-shadow:0 0 0 1px #6ed69c2e;overflow:hidden}.anniversary-memory-celebration-grid-card strong{color:#effff3;font-size:.82rem;text-align:center;line-height:1.2}.anniversary-memory-celebration-grid-card .anniversary-memory-photo{border-radius:.68rem}@keyframes anniversaryMemoryGridFade{to{opacity:0}}@keyframes anniversaryMemoryRevealIn{0%{opacity:0;transform:translateY(.7rem)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.anniversary-game-card.is-matching-celebration{width:min(24rem,calc(100% - 1rem));max-height:calc(100vh - 1rem);padding:1rem .85rem}.anniversary-memory-celebration{min-height:24rem;gap:.9rem}.anniversary-memory-stack{width:5.4rem;height:4.7rem}.anniversary-memory-celebration-copy strong{font-size:1.95rem}.anniversary-memory-celebration-copy p{font-size:1.08rem}.anniversary-memory-celebration-gallery{grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,19.5rem);gap:.55rem;margin-top:.1rem}.anniversary-memory-claim-button{min-width:10.5rem}.anniversary-memory-celebration-grid{inset:4.1rem 0 auto 0;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}}.anniversary-anagram-shell{display:grid;gap:.85rem}.anniversary-anagram-letters{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:.45rem}.anniversary-anagram-letter{display:grid;width:100%;min-height:clamp(2.65rem,7.2vw,3.35rem);padding:0;place-items:center;border:1px solid rgba(243,211,134,.28);border-radius:999px;background:linear-gradient(180deg,#ffffff14,#f3d38614);color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.05rem,2.8vw,1.45rem);font-weight:700;letter-spacing:.04em}.anniversary-anagram-letter.is-used{opacity:.32;transform:scale(.9)}.anniversary-anagram-builder{display:grid;gap:.7rem}.anniversary-anagram-current-word{display:grid;min-height:3.3rem;padding:.8rem 1rem;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:1rem;background:#ffffff0a;color:var(--muted);font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,2vw,1.3rem);letter-spacing:.14em;text-transform:uppercase}.anniversary-anagram-current-word.has-word{color:var(--ink)}.anniversary-anagram-current-word.is-success{border-color:#6ed69c9e;background:#347a4d57;box-shadow:0 0 0 .16rem #6ed69c2e}.anniversary-anagram-current-word.is-error{border-color:#ff84848a;background:#79303047}.anniversary-anagram-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.anniversary-anagram-stats{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(2,minmax(0,1fr));gap:.75rem}.anniversary-anagram-stat{display:grid;gap:.35rem;padding:.7rem .75rem;border:1px solid rgba(255,255,255,.08);border-radius:.9rem;background:#ffffff0d;text-align:center;align-content:start}.anniversary-anagram-stat span{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.anniversary-anagram-stat strong{font-size:1.05rem}.anniversary-anagram-stat small{color:#f7f1e8bd;font-size:.72rem;justify-self:end}.anniversary-anagram-stat--progress{gap:.55rem;text-align:left}.anniversary-anagram-stat-labels{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.anniversary-anagram-progress{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;align-items:center}.anniversary-anagram-progress-box{display:grid;min-height:1.75rem;border:1px solid rgba(255,255,255,.12);border-radius:.5rem;background:#ffffff0a}.anniversary-anagram-progress-box.is-complete{border-color:#6ed69c9e;background:#347a4d5c}.anniversary-anagram-stat.is-complete{border-color:#6ed69c8c;background:#347a4d42}.anniversary-anagram-found{display:grid;gap:.8rem;padding:1rem;border:1px solid rgba(255,255,255,.08);border-radius:1rem;background:#04081485}.anniversary-anagram-found p{margin:0;color:var(--muted)}.anniversary-anagram-found ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.55rem;margin:0;padding:0;list-style:none}.anniversary-anagram-found li{padding:.55rem .7rem;border:1px solid rgba(255,255,255,.08);border-radius:.8rem;background:#ffffff0a;text-align:center;text-transform:lowercase}.anniversary-anagram-found li.is-pangram{border-color:#f3d3866b;background:#f3d38624;color:#ffe6a8}.anniversary-anagram-found li.is-new{border-color:#6ed69c9e;background:#347a4d57}.anniversary-anagram-found li.is-empty{grid-column:1 / -1;color:var(--muted)}.anniversary-anagram-celebration{position:relative;display:grid;gap:1rem;min-height:24rem;padding:1.2rem .8rem 1.4rem;place-items:center;overflow:hidden;border-radius:1.25rem;background:radial-gradient(circle at 50% 20%,rgba(255,192,220,.18),transparent 12rem),radial-gradient(circle at 50% 75%,rgba(246,166,186,.14),transparent 14rem),linear-gradient(180deg,#160c1ef5,#0a0a1afa)}.anniversary-anagram-heart-burst{position:relative;display:grid;width:100%;min-height:10rem;place-items:center}.anniversary-anagram-heart-core{position:relative;z-index:2;display:grid;width:7.5rem;height:7.5rem;place-items:center;border-radius:50%;color:#ffd4e2;font-size:4rem;line-height:1;background:radial-gradient(circle at 35% 30%,#fff8fbeb,#ffc0dcd1 42%,#f6a6bae0);box-shadow:0 0 0 .35rem #ffc0dc1a,0 0 2.2rem #f6a6ba52,0 0 4rem #ffc0dc2e;animation:anniversaryAnagramHeartPulse 2.4s ease-in-out infinite}.anniversary-anagram-falling-heart{position:absolute;top:-1.5rem;left:var(--heart-left, 50%);z-index:1;color:#ffbbd6d1;font-size:1.1rem;text-shadow:0 0 1rem rgba(246,166,186,.35);animation:anniversaryAnagramHeartFall var(--heart-duration, 5s) linear infinite;animation-delay:var(--heart-delay, 0s)}.anniversary-anagram-celebration-copy{position:relative;z-index:2;width:min(100%,24rem);animation-delay:.2s}.anniversary-anagram-celebration-copy strong{color:#fff4f8}.anniversary-anagram-celebration-copy p{color:#ffeef4eb}@keyframes anniversaryAnagramHeartPulse{0%,to{transform:scale(1);box-shadow:0 0 0 .35rem #ffc0dc1a,0 0 2.2rem #f6a6ba52,0 0 4rem #ffc0dc2e}50%{transform:scale(1.06);box-shadow:0 0 0 .45rem #ffc0dc24,0 0 2.8rem #f6a6ba66,0 0 5rem #ffc0dc3d}}@keyframes anniversaryAnagramHeartFall{0%{opacity:0;transform:translateY(-1rem) scale(.8)}12%{opacity:.9}to{opacity:0;transform:translateY(18rem) scale(1.08)}}.anniversary-timing-shell{display:grid;gap:1rem;width:100%;padding:1.15rem;border:1px solid rgba(255,255,255,.08);border-radius:1.25rem;background:radial-gradient(circle at 50% 22%,rgba(243,211,134,.12),transparent 12rem),radial-gradient(circle at 50% 75%,rgba(246,166,186,.08),transparent 14rem),linear-gradient(180deg,#101628fa,#080c18fa);color:var(--ink);text-align:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.anniversary-timing-ring-wrap{display:grid;place-items:center}.anniversary-timing-ring{--timing-ring-size: min(24rem, 76vw);--timing-ring-radius: calc(var(--timing-ring-size) / 2 - .7rem);position:relative;width:var(--timing-ring-size);height:var(--timing-ring-size);border-radius:50%;background:radial-gradient(circle at center,rgba(255,255,255,.03) 0 47%,transparent 48%),radial-gradient(circle at center,rgba(243,211,134,.18),transparent 68%);box-shadow:inset 0 0 0 1px #f3d3861f,0 20px 48px #00000042}.anniversary-timing-segment{position:absolute;top:50%;left:50%;width:.34rem;height:1.15rem;border-radius:999px;background:#ffffff1f;box-shadow:0 0 0 1px #ffffff05;transform:translate(-50%,-50%) rotate(var(--timing-angle)) translateY(calc(var(--timing-ring-radius) * -1))}.anniversary-timing-segment.is-target{width:.42rem;height:1.45rem;background:linear-gradient(180deg,#ffe7a8,#f3d386);box-shadow:0 0 .85rem #f3d38673}.anniversary-timing-segment.is-active{width:.42rem;height:1.55rem;background:linear-gradient(180deg,#ffd9e3,#f6a6ba);box-shadow:0 0 1rem #f6a6ba8c}.anniversary-timing-segment.is-hit{background:linear-gradient(180deg,#fff7d7,#ffe2a0);box-shadow:0 0 1.1rem #ffecaae6}.anniversary-timing-center{position:absolute;top:22%;right:22%;bottom:22%;left:22%;display:grid;place-items:center;border:1px solid rgba(243,211,134,.18);border-radius:50%;background:radial-gradient(circle at 50% 35%,rgba(255,250,241,.08),transparent 45%),linear-gradient(180deg,#141b2ff5,#0a0e1bfa);box-shadow:inset 0 0 0 1px #ffffff0a}.anniversary-timing-center-copy{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;align-content:center;justify-items:center;gap:.28rem;padding-top:4.8rem}.anniversary-timing-center-copy span{color:#f7f1e8ad;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.anniversary-timing-center-copy strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.6rem,4vw,2.15rem);font-weight:500}.anniversary-timing-center-copy em{color:#f7f1e8bd;font-size:.84rem;font-style:normal}.anniversary-timing-clover{position:relative;width:6rem;height:6rem;margin-top:-1rem}.anniversary-timing-clover-petal,.anniversary-timing-clover-core{position:absolute;background:radial-gradient(circle at 35% 28%,#fffcf5d1,#ffe9b2a6 35%,#f3d386eb);box-shadow:inset 0 -.08rem .18rem #9a72252e,0 0 1rem #f3d3863d}.anniversary-timing-clover-petal{width:2.5rem;height:2.5rem;border-radius:.8rem 50%}.anniversary-timing-clover-petal.is-top{top:.1rem;left:1.75rem;transform:rotate(45deg)}.anniversary-timing-clover-petal.is-right{top:1.75rem;right:.1rem;transform:rotate(135deg)}.anniversary-timing-clover-petal.is-bottom{bottom:.1rem;left:1.75rem;transform:rotate(225deg)}.anniversary-timing-clover-petal.is-left{top:1.75rem;left:.1rem;transform:rotate(315deg)}.anniversary-timing-clover-core{top:50%;left:50%;width:1rem;height:1rem;border-radius:.28rem;transform:translate(-50%,-50%) rotate(45deg)}.anniversary-timing-center-photo{width:3.35rem;height:3.35rem;border-radius:50%;background-position:center;background-size:cover;box-shadow:0 0 0 .2rem #f3d3862e}.anniversary-timing-center-gem{font-size:1.25rem;color:#ffe7a8}.anniversary-timing-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.anniversary-timing-stat{display:grid;gap:.2rem;padding:.8rem .9rem;border:1px solid rgba(255,255,255,.08);border-radius:.95rem;background:#ffffff0d}.anniversary-timing-stat span{color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.anniversary-timing-stat strong{font-size:1.02rem}.anniversary-timing-overlay{display:grid;gap:.28rem;pointer-events:none}.anniversary-timing-overlay strong{font-size:clamp(1.2rem,2.6vw,1.55rem);font-family:Georgia,Times New Roman,serif;font-weight:500}.anniversary-timing-overlay span{color:var(--muted);font-size:.92rem;line-height:1.45}.anniversary-timing-win-popup{position:absolute;top:50%;left:50%;z-index:4;display:grid;gap:.45rem;width:min(22rem,calc(100% - 2rem));padding:1.1rem 1rem;border:1px solid rgba(243,211,134,.28);border-radius:1.1rem;background:radial-gradient(circle at top center,rgba(243,211,134,.18),transparent 9rem),#0a0e1bf7;box-shadow:0 22px 50px #00000057;transform:translate(-50%,-50%)}.anniversary-timing-win-kicker{color:#f7f1e8ad;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.anniversary-timing-win-popup strong{font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,3vw,1.8rem);font-weight:500}.anniversary-timing-win-popup p{margin:0;color:var(--ink);line-height:1.45}.anniversary-timing-shell.is-won{box-shadow:0 0 0 1px #f3d3861f,0 0 2rem #f3d38629}.anniversary-timing-shell.is-hit{animation:anniversaryTimingHitFlash .55s ease-in-out 2;box-shadow:0 0 0 .18rem #6ed69c6b,0 0 2.1rem #6ed69c33}.anniversary-timing-shell.is-hit .anniversary-timing-ring{box-shadow:inset 0 0 0 .14rem #6ed69c6b,0 0 2rem #6ed69c33}.anniversary-timing-shell.is-hit .anniversary-timing-overlay strong{color:#c9f6dc}@keyframes anniversaryTimingHitFlash{0%,to{background:radial-gradient(circle at 50% 22%,rgba(243,211,134,.12),transparent 12rem),radial-gradient(circle at 50% 75%,rgba(246,166,186,.08),transparent 14rem),linear-gradient(180deg,#101628fa,#080c18fa)}50%{background:radial-gradient(circle at 50% 22%,rgba(110,214,156,.22),transparent 12rem),radial-gradient(circle at 50% 75%,rgba(110,214,156,.14),transparent 14rem),linear-gradient(180deg,#122a21fa,#081812fa)}}.anniversary-runner-shell{position:relative;display:block;width:100%;min-height:15rem;overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:1.1rem;background:radial-gradient(circle at 25% 22%,rgba(255,255,255,.12),transparent 18rem),linear-gradient(180deg,#181f3afa,#0a0f1cfa);text-align:left}.anniversary-runner-sky,.anniversary-runner-track,.anniversary-runner-player,.anniversary-runner-obstacle,.anniversary-runner-overlay{position:absolute}.anniversary-runner-sky{top:0;right:0;bottom:28%;left:0;background:radial-gradient(circle at 75% 18%,rgba(243,211,134,.16),transparent 12rem),linear-gradient(180deg,#242b4fe0,#12182cbd)}.anniversary-runner-track{inset:auto 0 0 0;height:28%;border-top:.24rem solid rgba(243,211,134,.28);background:linear-gradient(180deg,#1e2330f5,#12141dfa)}.anniversary-runner-track:before{position:absolute;top:46%;left:0;width:100%;height:.22rem;content:"";background:repeating-linear-gradient(90deg,rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 1rem,transparent 1rem,transparent 1.7rem)}.anniversary-runner-player{left:14%;z-index:2;font-size:clamp(2.2rem,4vw,3rem);line-height:1;filter:drop-shadow(0 .35rem .5rem rgba(0,0,0,.35))}.anniversary-runner-obstacle{bottom:1.15rem;z-index:2;display:grid;place-items:center;min-width:1.6rem;font-size:clamp(1.45rem,2.6vw,2rem);line-height:1;filter:drop-shadow(0 .28rem .42rem rgba(0,0,0,.35))}.anniversary-runner-obstacle:after{content:none}.anniversary-runner-overlay{left:1rem;right:1rem;top:2.8rem;z-index:3;display:grid;gap:.18rem;justify-items:start;color:#f7f1e8eb;pointer-events:none}.anniversary-runner-statsbar{position:absolute;left:.95rem;right:.95rem;top:.8rem;z-index:4;display:flex;gap:.65rem;align-items:center;justify-content:space-between;color:#f7f1e8e0;font-size:.72rem;font-weight:700;letter-spacing:.02em;pointer-events:none}.anniversary-runner-overlay strong{font-size:.95rem}.anniversary-runner-overlay span{color:var(--muted);font-size:.82rem}.anniversary-runner-shell.is-finished{box-shadow:inset 0 0 0 1px #f3d38624}.anniversary-runner-shell.is-stumbled{box-shadow:inset 0 0 0 .18rem #ff5c76c7,0 0 1.5rem #ff527038}.anniversary-runner-shell.is-stumbled:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:#ff486038;animation:anniversaryRunnerStumbleFlash .56s ease 2;pointer-events:none}@keyframes anniversaryRunnerStumbleFlash{0%,to{opacity:0}20%,65%{opacity:1}}.anniversary-runner-stumble-center{position:absolute;inset:50% auto auto 50%;z-index:5;display:grid;gap:.35rem;justify-items:center;min-width:min(15rem,calc(100% - 3rem));padding:1rem 1.15rem;border:1px solid rgba(255,102,132,.4);border-radius:1rem;background:#1f0913d1;color:#fff2f5;text-align:center;transform:translate(-50%,-50%);box-shadow:0 0 2rem #ff52702e;pointer-events:none}.anniversary-runner-stumble-center strong{font-size:clamp(1.2rem,3vw,1.7rem);line-height:1}.anniversary-runner-stumble-center span{color:#ffe7ecd6;font-size:.92rem}.anniversary-runner-shell.is-won:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:radial-gradient(circle at 50% 45%,rgba(255,120,170,.24),transparent 38%);animation:anniversaryRunnerHeartFlash 1s ease-in-out 1;pointer-events:none}@keyframes anniversaryRunnerHeartFlash{0%,to{opacity:0}35%,70%{opacity:1}}.anniversary-runner-win-burst{position:absolute;inset:50% auto auto 50%;z-index:4;font-size:clamp(2.8rem,7vw,4.8rem);line-height:1;transform:translate(-50%,-50%);filter:drop-shadow(0 0 1rem rgba(255,110,170,.5));animation:anniversaryRunnerHeartPulse 1.4s ease-in-out infinite;pointer-events:none}.anniversary-runner-win-center{position:absolute;inset:50% auto auto 50%;z-index:5;transform:translate(-50%,-50%);pointer-events:none}.anniversary-runner-win-photo-shell{display:grid;width:clamp(8.8rem,22vw,12rem);aspect-ratio:1 / 1;place-items:center;border-radius:50%;box-shadow:0 0 0 .24rem #ffbcda73,0 0 1.6rem #ff76b073;background:radial-gradient(circle,#ffb9d638,#ffffff05);animation:anniversaryRunnerHeartPulse 1.4s ease-in-out infinite}.anniversary-runner-win-photo-shell.is-placeholder{background:radial-gradient(circle,#ffb9d647,#ffffff0d)}.anniversary-runner-win-photo{width:calc(100% - .9rem);aspect-ratio:1 / 1;border-radius:50%;background-position:center;background-repeat:no-repeat;background-size:cover;box-shadow:inset 0 0 0 1px #ffffff24}.anniversary-runner-win-photo-placeholder{display:grid;width:calc(100% - .9rem);aspect-ratio:1 / 1;place-items:center;border-radius:50%;background:#ffffff14;color:#ffe7f1;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.2rem,3vw,1.6rem);text-transform:uppercase;letter-spacing:.08em}@keyframes anniversaryRunnerHeartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.anniversary-catcher-shell{display:grid;gap:1rem}.anniversary-catcher-stats{display:grid;gap:.8rem;grid-template-columns:repeat(3,minmax(0,1fr))}.anniversary-catcher-stats--four{grid-template-columns:repeat(4,minmax(0,1fr))}.anniversary-catcher-stat{border:1px solid rgba(255,255,255,.12);border-radius:1rem;background:linear-gradient(180deg,#ffffff14,#ffffff08),#080b1bb8;padding:.85rem .95rem;display:grid;gap:.25rem}.anniversary-catcher-stat span{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#f5f0e7ad}.anniversary-catcher-stat strong{font-size:1.18rem;color:#fff7eb}.anniversary-catcher-lives{display:flex;gap:.28rem;align-items:center;flex-wrap:wrap}.anniversary-catcher-life{font-size:1rem;line-height:1;color:#ff7ba7;text-decoration:none;opacity:1}.anniversary-catcher-life.is-lost{color:#dce0ec57;text-decoration:line-through}.anniversary-catcher-playfield{position:relative;min-height:28rem;overflow:hidden;border-radius:1.6rem;border:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at 20% 18%,rgba(255,224,127,.16),transparent 24%),radial-gradient(circle at 78% 14%,rgba(122,163,255,.18),transparent 26%),linear-gradient(180deg,#121b3cf2,#080a16fa);box-shadow:inset 0 -4rem 5rem #00000047;touch-action:none;-webkit-user-select:none;user-select:none}.anniversary-catcher-sky,.anniversary-catcher-glow,.anniversary-catcher-item,.anniversary-catcher-basket,.anniversary-catcher-overlay{position:absolute}.anniversary-catcher-sky{top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 12% 24%,rgba(255,255,255,.3),transparent 1.2%),radial-gradient(circle at 26% 11%,rgba(255,255,255,.2),transparent 1%),radial-gradient(circle at 72% 19%,rgba(255,255,255,.22),transparent 1.1%),radial-gradient(circle at 86% 10%,rgba(255,255,255,.18),transparent .9%);opacity:.95}.anniversary-catcher-glow{inset:auto 0 0;height:32%;background:linear-gradient(180deg,#17274600,#21304cad 34%,#354969eb)}.anniversary-catcher-item{transform:translate(-50%,-50%);font-size:clamp(1.5rem,2vw,2rem);filter:drop-shadow(0 0 10px rgba(255,221,112,.55));will-change:top,left,transform}.anniversary-catcher-miss-line{position:absolute;left:7%;right:7%;bottom:12.5%;height:.2rem;border-radius:999px;background:linear-gradient(90deg,#ffaac229,#ffaac2eb,#ffaac229);box-shadow:0 0 .85rem #ff91b559}.anniversary-catcher-basket{bottom:6%;transform:translate(-50%);width:6rem;height:2.7rem;border-radius:.8rem .8rem 1rem 1rem;background:linear-gradient(180deg,#ffffff24,#ffffff0a),linear-gradient(180deg,#6f85b2f5,#3a496cfa);border:1px solid rgba(220,232,255,.22);box-shadow:0 1rem 1.8rem #00000042,inset 0 .1rem #ffffff3d,inset 0 -.3rem #090c1a2e;display:grid;place-items:center;transition:background .12s ease,box-shadow .12s ease,transform .12s ease}.anniversary-catcher-basket-box{display:block;width:calc(100% - .8rem);height:calc(100% - .8rem);border-radius:.55rem .55rem .8rem .8rem;background:linear-gradient(180deg,#ffffff3d,#ffffff08),linear-gradient(180deg,#849ac9f2,#495b87fa);box-shadow:inset 0 0 0 1px #ffffff29,inset 0 -.28rem #151c3152}.anniversary-catcher-basket.is-flashing{background:linear-gradient(180deg,#d9ffddf2,#59db83eb);box-shadow:0 0 0 .22rem #62ff9538,0 1rem 2rem #43b86557}.anniversary-catcher-overlay{inset:1rem 1rem auto;display:grid;gap:.35rem;padding:.95rem 1rem;border-radius:1rem;background:#080a168f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.anniversary-catcher-overlay.is-playing{opacity:.92}.anniversary-catcher-overlay strong{font-size:1.15rem;color:#fff7eb}.anniversary-catcher-overlay span{color:#f5f0e7cc}.anniversary-catcher-winnings{display:block;margin-top:.35rem;font-style:normal;font-size:clamp(2.6rem,8vw,4.8rem);font-weight:700;line-height:1;letter-spacing:.04em;color:#fff3b0;text-shadow:0 0 .35rem rgba(255,238,164,.95),0 0 1rem rgba(255,209,102,.72),0 0 2rem rgba(255,178,84,.45);animation:anniversaryCatcherWinningsGlow 1.25s ease-in-out infinite alternate}.anniversary-catcher-restart-button{width:100%}@keyframes anniversaryCatcherWinningsGlow{0%{transform:scale(.98);opacity:.88}to{transform:scale(1.03);opacity:1}}.anniversary-snake-shell{display:grid;gap:.8rem}.anniversary-snake-grid{position:relative;display:grid;grid-template-columns:repeat(var(--snake-grid-size, 12),minmax(0,1fr));gap:.28rem;width:100%;padding:.6rem;overflow:hidden;border:.34rem solid rgba(86,171,255,.92);border-radius:1rem;background:linear-gradient(180deg,#070e1ff2,#050a16eb);box-shadow:inset 0 0 0 .14rem #9ad4ff47,0 16px 32px #0000003d;text-align:left}.anniversary-snake-grid.is-crashed:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";background:#ff445757;animation:anniversarySnakeCrashFlash .48s ease 2;pointer-events:none;z-index:2}.anniversary-snake-cell{position:relative;aspect-ratio:1 / 1;border-radius:.4rem;background:#ffffff0b}.anniversary-snake-start-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:grid;gap:.3rem;align-content:center;justify-items:center;background:#060a148f;color:var(--ink);text-align:center;pointer-events:none}.anniversary-snake-start-overlay strong{font-size:clamp(1.05rem,2.3vw,1.4rem)}.anniversary-snake-start-overlay span{color:var(--muted);font-size:.86rem}.anniversary-snake-start-overlay.is-win{background:radial-gradient(circle at top center,rgba(246,166,186,.18),transparent 10rem),#060a14b8}.anniversary-snake-start-overlay.is-win strong{font-size:clamp(1.3rem,2.8vw,1.8rem)}.anniversary-snake-start-overlay.is-win span{max-width:14rem;color:#f7f1e8d1;font-size:.95rem;line-height:1.45}.anniversary-snake-cell.is-snake{background:linear-gradient(135deg,#f6a6baeb,#f3d386eb);box-shadow:0 0 12px #f6a6ba38}.anniversary-snake-cell.is-head{background:linear-gradient(135deg,#ffdde4fa,#ffebb0fa)}.anniversary-snake-tail-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#0a0e1bd1;font-size:clamp(.34rem,.92vw,.5rem);font-weight:800;letter-spacing:.03em;text-transform:lowercase;white-space:nowrap;pointer-events:none}.anniversary-snake-cell.is-heart:before{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;content:"💗";font-size:clamp(.9rem,2.2vw,1.2rem);line-height:1;filter:drop-shadow(0 0 10px rgba(255,124,165,.5))}.anniversary-snake-controls{display:grid;justify-items:center;gap:.7rem}.anniversary-snake-instructions{color:var(--muted);font-size:.88rem;text-align:center}.anniversary-snake-joystick{position:relative;display:grid;width:min(11rem,42vw);aspect-ratio:1 / 1;place-items:center;touch-action:none}.anniversary-snake-joystick-ring,.anniversary-snake-joystick:before{position:absolute;border-radius:50%;content:""}.anniversary-snake-joystick:before{top:0;right:0;bottom:0;left:0;border:1px solid rgba(243,211,134,.18);background:radial-gradient(circle at center,rgba(255,255,255,.08),transparent 52%),#ffffff0a}.anniversary-snake-joystick-ring{top:18%;right:18%;bottom:18%;left:18%;border:1px solid rgba(255,255,255,.1)}.anniversary-snake-joystick-thumb{position:relative;z-index:1;width:34%;aspect-ratio:1 / 1;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:linear-gradient(135deg,#f6a6baf5,#f3d386eb);box-shadow:0 10px 28px #00000042;transition:transform 90ms linear}.anniversary-snake-pad{display:grid;grid-template-columns:repeat(3,minmax(0,3rem));grid-template-rows:repeat(3,minmax(0,3rem));gap:.35rem;align-items:center;justify-items:center}.anniversary-snake-pad-button{display:grid;width:3rem;min-height:3rem;padding:0;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:.8rem;background:#ffffff0f;color:var(--ink);font-size:1.15rem;line-height:1;touch-action:manipulation}.anniversary-snake-pad-button.is-up{grid-column:2;grid-row:1}.anniversary-snake-pad-button.is-left{grid-column:1;grid-row:2}.anniversary-snake-pad-button.is-right{grid-column:3;grid-row:2}.anniversary-snake-pad-button.is-down{grid-column:2;grid-row:3}.anniversary-snake-pad-button:hover,.anniversary-snake-pad-button:focus-visible,.anniversary-snake-pad-button:active{border-color:#f3d38647;background:#f3d3861f}@keyframes anniversarySnakeCrashFlash{0%,to{opacity:0}18%,62%{opacity:1}}@keyframes anniversaryTilePop{0%{transform:scale(.94)}to{transform:scale(1)}}.anniversary-game-form{display:grid;gap:.75rem}.anniversary-game-form input{width:100%;min-height:3rem;padding:0 .85rem;border:1px solid rgba(255,255,255,.16);border-radius:.7rem;background:#ffffff0f;color:var(--ink)}.anniversary-game-gift{display:grid;gap:.35rem;padding:.95rem;border:1px solid rgba(243,211,134,.24);border-radius:.85rem;background:#f3d38614}.anniversary-game-gift span{color:var(--gold);font-size:.74rem;font-weight:900;text-transform:uppercase}.date-creator-form{display:grid;gap:.85rem}.date-creator-form[hidden]{display:none}.date-creator-form label{display:grid;gap:.42rem;color:#f7f1e8db}.date-creator-form input,.date-editor-field select{min-height:3rem;padding:0 .85rem;border:1px solid rgba(255,255,255,.16);border-radius:.7rem;background:#ffffff0f;color:var(--ink)}.date-plan-heading{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex-wrap:wrap}.date-plan-category-chip{display:inline-flex;align-items:center;justify-content:center;padding:.22rem .6rem;border-radius:999px;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;background:#ffffff14;color:#f7f1e8d1}.date-plan-category-chip.is-shopping-date{background:#f5c1632e;color:#f5d691}.date-plan-category-chip.is-food-date{background:#ef79922e;color:#ffc1d0}.date-plan-category-chip.is-small-trip{background:#7bbfff2e;color:#b8deff}.date-plan-category-chip.is-outing{background:#a791ff2e;color:#d5c9ff}.anniversary-reward-plan-summary{display:grid;gap:.25rem;margin-top:.7rem;padding:.8rem .9rem;border:1px solid rgba(255,255,255,.12);border-radius:.85rem;background:#ffffff0a}.anniversary-reward-plan-summary span{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:#f7f1e89e}.anniversary-reward-plan-summary em{color:#f7f1e8b8}.dates-list{display:grid;gap:.8rem}.wishlist-tabs{display:flex;gap:.5rem;padding:.35rem;border:1px solid var(--line);border-radius:.55rem;background:#ffffff0e}.wishlist-tab{flex:1;min-height:2.65rem;border:0;border-radius:.42rem;background:transparent;color:var(--muted);font-weight:800}.wishlist-tab.is-active{background:#f6a6ba29;color:var(--ink);box-shadow:inset 0 0 0 1px #f6a6ba3d}.wishlist-panel{display:none}.wishlist-panel.is-active{display:grid;gap:1rem}.wishlist-form{display:grid;gap:.85rem;max-width:42rem;padding:1rem;border:1px solid var(--line);border-radius:.6rem;background:#070b1794;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.wishlist-form label{display:grid;gap:.35rem;color:var(--muted);font-size:.88rem}.wishlist-form input{width:100%;border:1px solid var(--line);border-radius:.45rem;background:#ffffff14;color:var(--ink);padding:.7rem .75rem}.wishlist-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.wishlist-card,.wishlist-check-row{border:1px solid var(--line);border-radius:.6rem;background:#070b1794;box-shadow:var(--shadow);overflow:hidden}.wishlist-card.is-purchased{opacity:.62}.wishlist-preview{display:block;position:relative;height:14rem;overflow:hidden;color:inherit;cursor:pointer;text-decoration:none;background:radial-gradient(circle at 30% 20%,rgba(246,166,186,.18),transparent 10rem),#ffffff0f}.wishlist-preview iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:150%;height:150%;border:0;opacity:0;pointer-events:none;transform:scale(.67);transform-origin:0 0;transition:opacity .35s ease}.wishlist-preview.has-preview iframe{opacity:1}.wishlist-preview.is-preview-blocked iframe{opacity:0}.wishlist-preview-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;align-content:center;gap:.5rem;padding:1rem;background:radial-gradient(circle at 28% 18%,rgba(246,166,186,.22),transparent 8rem),radial-gradient(circle at 72% 72%,rgba(243,211,134,.16),transparent 8rem),#070b17d1;color:var(--ink);text-align:center;transition:opacity .35s ease}.wishlist-preview.has-preview:not(.is-preview-blocked) .wishlist-preview-placeholder{opacity:0;pointer-events:none}.wishlist-preview-placeholder strong{font-family:Georgia,Times New Roman,serif;font-size:1.2rem;font-weight:600;line-height:1.15}.wishlist-preview-placeholder span{color:var(--gold);font-size:.78rem;font-weight:800}.wishlist-preview-fallback{position:absolute;inset:auto 0 0;z-index:2;padding:.6rem;background:#070b17bd;color:var(--gold);display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.78rem;font-weight:800}.wishlist-preview-fallback.is-static{position:static;inset:auto;padding:.75rem .85rem;border:1px solid rgba(255,255,255,.1);border-radius:.7rem;background:#ffffff0d}.wishlist-card-copy{display:grid;gap:.45rem;padding:.85rem}.wishlist-card-copy h3{margin:0;font-size:1rem}.wishlist-item-note,.date-plan-note{margin:0;color:#f7f1e8ad;font-size:.82rem;line-height:1.5}.wishlist-empty-link{color:#f7f1e88c;font-size:.82rem}.wishlist-card-copy a,.wishlist-check-row a{color:var(--cyan);font-size:.82rem}.wishlist-open-link{width:fit-content;border-radius:999px;background:#ade6f31f;padding:.32rem .6rem;text-decoration:none}.wishlist-person-tags{display:flex;flex-wrap:wrap;gap:.35rem}.wishlist-person-tag{border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#ffffff0d;color:#f5f2eb6b;padding:.2rem .5rem;font-size:.7rem;font-weight:900;letter-spacing:.02em}.wishlist-person-tag.is-active{border-color:#f6a6ba94;background:radial-gradient(circle at 28% 20%,rgba(255,255,255,.22),transparent 1.4rem),#f6a6ba33;color:var(--ink);box-shadow:0 0 1.2rem #f6a6ba4d}.wishlist-badge{width:fit-content;padding:.22rem .45rem;border-radius:999px;background:#f3d38624;color:var(--gold);font-size:.72rem;font-weight:800;text-transform:uppercase}.wishlist-check-list{display:grid;gap:.65rem}.wishlist-check-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem}.wishlist-check-row strong,.wishlist-check-row a{display:block}.wishlist-purchased-toggle{display:flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.86rem}.wishlist-empty{margin:0;color:var(--muted)}.randomizer-shell{display:grid;width:min(76rem,100%);min-height:calc(100vh - 4rem);grid-template-rows:auto 1fr auto;gap:.5rem}.randomizer-header,.activity-panel-header{display:flex;align-items:center;gap:1rem}.randomizer-header{position:relative;z-index:4}.randomizer-header h1{font-size:clamp(1.8rem,4.6vw,3.4rem)}.randomizer-list-button{margin-left:auto;min-width:4rem}.activity-panel{border:1px solid var(--line);border-radius:.5rem;background:#070b17a3;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.randomizer-visual{position:relative;display:grid;min-height:min(72vw,39rem);place-items:center;overflow:hidden}.heart-photo-frame{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.heart-glow-line{position:absolute;left:50%;top:50%;width:min(43rem,78vw);height:min(35rem,62vw);pointer-events:none;transform:translate(-50%,-50%);overflow:visible}.heart-glow-line path{fill:none;stroke:#f6a6ba75;stroke-width:1.15;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(246,166,186,.72)) drop-shadow(0 0 16px rgba(246,166,186,.36))}.heart-photo-tile{position:absolute;display:block;width:clamp(5.2rem,11vw,9rem);aspect-ratio:4 / 5;border:2px solid rgba(255,246,234,.74);border-radius:.5rem;background:radial-gradient(circle at 28% 24%,rgba(255,255,255,.45),transparent 31%),linear-gradient(135deg,color-mix(in srgb,var(--tile-accent) 82%,white),#ffffff1f);box-shadow:0 18px 42px #00000047,0 0 34px color-mix(in srgb,var(--tile-accent) 38%,transparent);opacity:.78;overflow:hidden;transform:translate(-50%,-50%) rotate(var(--tile-rotation)) scale(.98);animation:heartPhotoFade 8s ease-in-out infinite;animation-delay:var(--tile-delay)}.heart-photo-tile img{width:100%;height:100%;object-fit:cover}.heart-photo-tile:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent,rgba(7,11,23,.18));content:""}.randomizer-stage{position:relative;z-index:2;display:grid;justify-items:center;align-content:center;gap:.8rem;width:min(18rem,calc(100% - 2rem));min-height:12rem;padding:0;text-align:center;pointer-events:none}.randomizer-stage:before,.randomizer-stage:after{display:none}.randomizer-stage.is-shuffling{animation:none}.randomizer-meta,.activity-count{margin:0;color:var(--muted);font-size:.9rem}.randomizer-meta{color:#fff6eaad}.randomizer-stage h2{width:min(18rem,100%);min-height:2.8rem;margin:0;padding:.35rem .7rem;border-radius:999px;background:#070b1733;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,2.8vw,2.1rem);font-weight:500;line-height:1.22;text-shadow:0 0 32px rgba(246,166,186,.18)}.randomizer-task{max-width:min(18rem,100%);margin:-.2rem 0 0;padding:.35rem .65rem;border:1px solid rgba(255,246,234,.13);border-radius:999px;background:#070b1738;color:#fff6eab8;font-size:.78rem;line-height:1.35;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.important-date-card,.date-plan-chip,.date-plan-card,.today-pick-card,.selected-date-note{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:grid;gap:.28rem;width:100%;padding:.85rem .95rem;border:1px solid rgba(255,255,255,.12);border-radius:.8rem;background:#0b101fc7;color:var(--ink);text-align:left;box-shadow:0 14px 36px #00000029;transition:border-color .18s ease,transform .18s ease,background .18s ease}.important-date-card:hover,.important-date-card:focus-visible,.date-plan-chip:hover,.date-plan-chip:focus-visible,.date-plan-card:hover,.today-pick-card:hover,.today-pick-card:focus-visible,.selected-date-note:hover,.selected-date-note:focus-visible{border-color:#f3d3866b;transform:translateY(-.08rem);background:#101629e6}.important-date-card.is-incomplete,.date-plan-card.is-incomplete,.date-plan-chip.is-incomplete{border-color:#f3d38652}.important-date-card.is-today,.date-plan-card.is-today,.date-plan-chip.is-today{animation:todayPlanPulse 1.9s ease-in-out infinite}.important-date-card span,.date-plan-chip span,.date-plan-card span,.today-pick-card span,.selected-date-note span{color:var(--gold);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.important-date-card strong,.date-plan-chip strong,.date-plan-card strong,.today-pick-card strong,.selected-date-note strong{font-size:.96rem;line-height:1.35}.important-date-card em,.date-plan-chip em,.date-plan-card em,.today-pick-card em,.selected-date-note em{color:#f7f1e8b8;font-size:.82rem;font-style:normal}.selected-date-note{max-width:min(20rem,100%);padding:.7rem .9rem;border-color:#f3d3862e}.date-plan-card,.important-date-card,.date-plan-chip{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem}.date-plan-card-copy{display:grid;gap:.28rem}.date-plan-meta{margin:0;color:#f3d386d9;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.date-plan-edit-button{flex:0 0 auto;min-height:2.4rem;padding-inline:.8rem}.date-plan-links{display:grid;gap:.35rem;margin-top:.2rem}.date-plan-link-row,.date-editor-map-links{display:flex;flex-wrap:wrap;gap:.45rem}.date-plan-link-row a,.date-editor-map-links a{color:var(--cyan);text-decoration:none;font-size:.8rem;font-weight:700}.date-plan-link-row a:hover,.date-editor-map-links a:hover{text-decoration:underline}@keyframes todayPlanPulse{0%,to{box-shadow:0 14px 36px #00000029}50%{box-shadow:0 0 1rem #f6a6ba57,0 16px 38px #00000038}}.spin-orb-button{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:grid;width:clamp(7.5rem,15vw,10.5rem);height:clamp(7.5rem,15vw,10.5rem);min-width:0;min-height:0;padding:0;flex:0 0 auto;aspect-ratio:1;place-items:center;border:0;outline:0;border-radius:9999px;background:radial-gradient(circle at 34% 25%,rgba(255,250,243,.7),transparent .85rem),radial-gradient(circle at 64% 72%,rgba(255,246,234,.34),transparent 3.2rem),linear-gradient(135deg,#f7c6d2,#f2dcaa)!important;box-shadow:0 14px 34px #f6a6ba2e,0 0 46px #f3d3861f,inset 0 0 18px #fff6ea38;color:#3a2635;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,3vw,1.9rem);font-weight:700;line-height:1;text-align:center;transition:transform .22s ease,box-shadow .22s ease;pointer-events:auto}.spin-orb-button:hover,.spin-orb-button:focus-visible{outline:2px solid rgba(255,246,234,.22);outline-offset:4px;transform:scale(1.035) rotate(-3deg);box-shadow:0 18px 42px #f6a6ba38,0 0 58px #f3d38629,inset 0 0 20px #fff6ea47}.spin-orb-button.is-spinning{animation:spinOrb .72s ease-in-out infinite}.mark-selected-button{min-height:2.15rem;padding:0 .7rem;border-radius:999px;font-size:.78rem;pointer-events:auto}.next-date-log{display:grid;gap:.18rem;width:min(42rem,100%);margin:-.2rem auto 0;padding:.65rem .8rem;border:1px solid rgba(246,166,186,.22);border-radius:.6rem;background:#070b175c;color:#fff6eac7;box-shadow:0 12px 32px #0000002e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.next-date-log-list,.today-picks-list{display:grid;gap:.7rem}.today-picks-shell{display:grid;gap:.75rem;width:min(42rem,100%);margin:0 auto}.today-picks-header{display:flex;align-items:end;justify-content:space-between;gap:1rem}.today-picks-header h2{margin:.2rem 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.1rem;font-weight:500}.today-pick-card.is-active{border-color:#f6a6ba85;background:radial-gradient(circle at top right,rgba(246,166,186,.12),transparent 9rem),#0f1424eb}.today-pick-card.is-complete{border-color:#94d7e457}.today-pick-select{display:grid;gap:.28rem;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left}.today-pick-actions{display:flex;justify-content:flex-end;gap:.45rem}.today-pick-complete-button,.today-pick-remove-button,.today-pick-undo-button{min-height:2rem;padding:0 .7rem;border-radius:999px;font-size:.74rem}.today-pick-status{display:inline-flex;align-items:center;min-height:2rem;padding:0 .7rem;border-radius:999px;background:#94d7e424;color:var(--cyan);font-size:.74rem;font-weight:800}.next-date-log span{color:var(--gold);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.next-date-log-item{gap:0;padding:.7rem .85rem}.next-date-log strong,.next-date-log em{display:block}.next-date-log strong{font-size:.92rem}.next-date-log em{color:var(--muted);font-size:.82rem;font-style:normal}.love-progress-shell{position:relative;z-index:5;display:grid;gap:.45rem;padding:.75rem .25rem 0}.love-progress-labels{display:flex;justify-content:space-between;gap:1rem;color:#fff6eab8;font-size:.82rem;font-weight:700}.love-progress-track{position:relative;overflow-x:auto;overflow-y:hidden;min-height:3.9rem;border:1px solid rgba(255,246,234,.2);border-radius:.6rem;background:#ffffff14;box-shadow:inset 0 0 18px #00000040,0 14px 32px #0003;scrollbar-width:none}.love-progress-track::-webkit-scrollbar{display:none}.love-progress-fill{position:absolute;left:.75rem;bottom:.63rem;width:0;height:.34rem;border-radius:999px;background:linear-gradient(90deg,#f6a6ba,#f3d386,#94d7e4);transition:width .32s ease}.love-progress-stars{position:relative;z-index:2;display:flex;gap:.65rem;width:max-content;min-width:100%;padding:.55rem .75rem .95rem}.love-progress-star{display:grid;flex:0 0 clamp(5.6rem,18vw,7rem);gap:.12rem;place-items:center;min-height:2.55rem;border:1px solid rgba(255,246,234,.18);border-radius:.48rem;background:#070b176b;color:#fff6eaad;box-shadow:0 10px 24px #0000002e}.love-progress-star-note{font-size:.62rem;line-height:1.2;color:#f7f1e8b8}.love-progress-star.is-claimed{border-color:#f3d38657}.love-progress-star-icon{font-size:1rem;line-height:1;text-shadow:0 0 14px rgba(246,166,186,.35)}.love-progress-star-label{font-size:.72rem;font-weight:800;line-height:1}.love-progress-star.is-complete{border-color:#f3d38670;background:#f3d3861f;color:var(--gold);text-shadow:0 0 18px rgba(243,211,134,.8)}.activity-panel{position:relative;width:min(46rem,calc(100vw - 2rem));max-height:min(42rem,calc(100vh - 4rem));overflow:hidden}.activity-panel-header{justify-content:space-between;padding:1rem;border-bottom:1px solid var(--line)}.activity-panel-header h2{margin:0;font-size:1.25rem}.activity-list{display:grid;max-height:min(34rem,calc(100vh - 12rem));overflow:auto}.activity-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;width:100%;min-height:3.15rem;padding:.75rem 1rem;border:0;border-bottom:1px solid rgba(255,255,255,.08);background:transparent;color:var(--ink);text-align:left}.activity-row:hover,.activity-row:focus-visible,.activity-row.is-selected{background:#f6a6ba1a}.activity-row.is-marked{color:#f7f1e875;text-decoration:line-through}.activity-tag{padding:.24rem .45rem;border:1px solid var(--line);border-radius:999px;color:var(--gold);font-size:.72rem;font-weight:800;text-transform:uppercase}@keyframes heartPhotoFade{0%,to{opacity:.64;transform:translate(-50%,-50%) rotate(var(--tile-rotation)) scale(.96)}38%,62%{opacity:1;transform:translate(-50%,-50%) rotate(calc(var(--tile-rotation) * -.35)) scale(1.03)}}@keyframes shuffleCard{0%{transform:translate(-.18rem) rotate(-.7deg)}50%{transform:translate(.22rem) rotate(.8deg)}to{transform:translate(-.08rem) rotate(-.35deg)}}@keyframes spinOrb{0%{transform:rotate(0) scale(1)}55%{transform:rotate(240deg) scale(1.07)}to{transform:rotate(360deg) scale(1)}}.landing-screen:before{position:absolute;top:0;right:0;bottom:0;left:0;background:#05081347;-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px);content:""}.landing-screen:after{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,#070b170a,#070b176b 68%),linear-gradient(180deg,#070b171f,#070b1757);content:""}.love-trail-canvas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;pointer-events:none}.landing-content{position:relative;z-index:2;max-width:46rem;animation:landingFloat 8s ease-in-out infinite}.overline{margin:0 0 .75rem;color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.landing-content .overline{animation:landingRise .9s ease both}.landing-content h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:4.5rem;font-weight:500;letter-spacing:.04em;text-shadow:0 0 60px rgba(246,166,186,.32),0 0 120px rgba(243,211,134,.14);animation:landingRise 1s ease .16s both}.landing-subtext{margin:1.25rem auto 0;max-width:32rem;color:#f7f1e8d1;font-family:Georgia,Times New Roman,serif;font-size:1.22rem;font-style:italic;line-height:1.75;animation:landingRise 1s ease .32s both}.landing-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.85rem;margin-top:2rem;animation:landingRise 1s ease .5s both}.landing-actions .primary-button{animation:enterGlow 3.8s ease-in-out infinite}@keyframes landingRise{0%{opacity:0;transform:translateY(.85rem)}to{opacity:1;transform:translateY(0)}}@keyframes landingFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-.35rem)}}@keyframes enterGlow{0%,to{box-shadow:0 14px 36px #f6a6ba2e}50%{box-shadow:0 18px 48px #f6a6ba52}}.opening-screen{align-items:center;justify-content:center;padding:1.5rem}.opening-shell{display:grid;justify-items:center;gap:1.25rem;width:min(42rem,100%)}.opening-letter{position:relative;width:100%;min-height:24rem;padding:3rem;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:.5rem;background:linear-gradient(#fff8f0e6,#fff8f0e0),radial-gradient(circle at 20% 10%,rgba(246,166,186,.08),transparent 18rem);box-shadow:0 24px 72px #00000057;color:var(--paper-ink);transform-origin:center top}.opening-letter:before,.opening-letter:after{position:absolute;left:0;right:0;height:50%;background:#fff8f033;content:"";pointer-events:none}.opening-letter:before{top:0;border-bottom:1px solid rgba(36,48,66,.1);transform-origin:top}.opening-letter:after{bottom:0;border-top:1px solid rgba(36,48,66,.1);transform-origin:bottom}.opening-letter.is-unfolding{animation:openingCardCycle 6.3s ease both}.opening-letter.is-unfolding:before{animation:unfoldTop 1.2s ease both}.opening-letter.is-unfolding:after{animation:unfoldBottom 1.2s ease both}.opening-letter .overline{position:relative;z-index:1;color:#9e6b2f}.opening-letter h2{position:relative;z-index:1;margin:0;font-family:Georgia,Times New Roman,serif;font-size:2.5rem;font-weight:500;letter-spacing:0}.opening-line{position:relative;z-index:1;margin:1.25rem 0 0;color:var(--paper-ink);font-family:Georgia,Times New Roman,serif;font-size:1.2rem;line-height:1.85}.opening-progress{position:absolute;left:1.2rem;right:1.2rem;bottom:1.15rem;z-index:1;height:.18rem;overflow:hidden;border-radius:999px;background:#24304224}.opening-progress span{display:block;width:100%;height:100%;background:#9e6b2f;transform:scaleX(0);transform-origin:left;animation:openingProgressFill var(--opening-progress-duration, 6.3s) linear both}@keyframes openingCardCycle{0%{opacity:0;transform:translateY(.8rem) scale(.99)}16%{opacity:1;transform:translateY(0) scale(1)}78%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-.45rem) scale(.995)}}@keyframes unfoldTop{0%{transform:rotateX(0)}to{opacity:0;transform:rotateX(42deg)}}@keyframes unfoldBottom{0%{transform:rotateX(0)}to{opacity:0;transform:rotateX(-42deg)}}@keyframes openingProgressFill{to{transform:scaleX(1)}}.primary-button,.secondary-button,.ghost-button,.icon-button{min-height:2.75rem;border:1px solid transparent;border-radius:.5rem;color:var(--ink);transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.primary-button{padding:0 1.35rem;background:linear-gradient(135deg,#f6a6baf0,#f3d386db);color:#22142a;font-weight:800;box-shadow:0 14px 36px #f6a6ba2e}.primary-button:disabled{opacity:1;background:#ffffff14;border-color:#ffffff14;color:#f7f1e873;box-shadow:none}.secondary-button,.ghost-button{padding:0 1rem;background:#ffffff12;border-color:var(--line)}.ghost-button{color:var(--muted)}.icon-button{display:inline-grid;width:2.75rem;padding:0;place-items:center;background:#ffffff12;border-color:var(--line);color:var(--ink);font-size:1.2rem}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.icon-button:hover{transform:translateY(-1px);border-color:var(--line-strong)}.primary-button:focus-visible,.secondary-button:focus-visible,.ghost-button:focus-visible,.icon-button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(148,215,228,.42);outline-offset:2px}.constellation-screen{overflow:hidden}.constellation-lines,.stars-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.constellation-lines{pointer-events:none}.constellation-lines line{stroke:#f6a6ba2e;stroke-width:1}.star-button{position:absolute;display:grid;width:3rem;height:3rem;margin:-1.5rem 0 0 -1.5rem;padding:0;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--ink);transition:transform .24s ease}.star-button:before,.star-button:after{position:absolute;inset:50% auto auto 50%;width:.9rem;height:.9rem;border:1px solid rgba(246,166,186,.34);border-radius:50%;content:"";opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.5)}.star-button:hover,.star-button:focus-visible{transform:translateY(-.18rem)}.star-button:hover:before,.star-button:focus-visible:before{animation:starRipple .92s ease-out infinite}.star-button:hover:after,.star-button:focus-visible:after{animation:starRipple .92s ease-out .18s infinite}.star-core{position:relative;display:block;width:.7rem;height:.7rem;border-radius:50%;background:#fffaf0;box-shadow:0 0 10px #fffaf0fa,0 0 26px #f6a6ba61,0 0 50px #94d7e438;animation:starPulse 3.8s ease-in-out infinite;transition:box-shadow .18s ease}.star-core:before,.star-core:after{position:absolute;inset:50% auto auto 50%;width:1.15rem;height:1px;background:#fffaf094;content:"";transform:translate(-50%,-50%)}.star-core:after{width:1px;height:1.15rem}.star-button.is-found .star-core{background:var(--cyan);box-shadow:0 0 14px #94d7e4eb,0 0 32px #9582f252}.star-button.has-heart:before,.star-button.has-heart:after{border-color:#9582f280;opacity:.28;animation:heartRingPulse 4s ease-in-out infinite;transform:translate(-50%,-50%) scale(1.4)}.star-button.has-heart:after{width:1.35rem;height:1.35rem;animation-delay:2s}.star-button.has-heart:hover:before,.star-button.has-heart:focus-visible:before{opacity:1;animation:starRipple .92s ease-out infinite;transform:translate(-50%,-50%) scale(.45)}.star-button.has-heart:hover:after,.star-button.has-heart:focus-visible:after{width:.9rem;height:.9rem;opacity:1;animation:starRipple .92s ease-out .18s infinite;transform:translate(-50%,-50%) scale(.45)}@keyframes heartRingPulse{0%,to{opacity:.14;transform:translate(-50%,-50%) scale(1.2)}50%{opacity:.42;transform:translate(-50%,-50%) scale(1.9)}}.star-button:hover .star-core,.star-button:focus-visible .star-core{box-shadow:0 0 16px #fffaf0,0 0 42px #f6a6ba75,0 0 70px #94d7e438;animation:starHoverPulse .76s ease-in-out infinite}.hidden-heart{position:absolute;right:.1rem;bottom:.15rem;display:grid;width:1rem;height:1rem;place-items:center;opacity:0;transform:scale(.82);transition:opacity .18s ease,transform .18s ease}.hidden-heart:before{width:.62rem;height:.62rem;background:var(--rose);content:"";transform:rotate(45deg);box-shadow:0 0 14px #f6a6bad1}.hidden-heart:after{position:absolute;width:.62rem;height:.62rem;border-radius:50%;background:radial-gradient(circle at 28% 28%,var(--rose) 0 42%,transparent 44%),radial-gradient(circle at 72% 28%,var(--rose) 0 42%,transparent 44%);content:""}.star-button:hover .hidden-heart,.star-button:focus-visible .hidden-heart,.star-button.is-heart-found .hidden-heart{opacity:1;transform:scale(1)}@keyframes starPulse{0%,to{opacity:.72;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}}@keyframes starHoverPulse{0%,to{opacity:.9;transform:scale(1.16) translate(0)}45%{opacity:1;transform:scale(1.42) translate(.04rem,-.03rem)}70%{opacity:.96;transform:scale(1.24) translate(-.03rem,.03rem)}}@keyframes starRipple{0%{opacity:.72;transform:translate(-50%,-50%) scale(.45)}to{opacity:0;transform:translate(-50%,-50%) scale(3.4)}}.top-bar{position:fixed;top:1rem;left:1rem;right:1rem;z-index:5;display:flex;align-items:center;gap:.85rem}.progress-stack{display:grid;gap:.1rem;min-width:13rem;padding:.55rem .85rem;border:1px solid var(--line);border-radius:.5rem;background:#070b1794;color:var(--muted);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font-size:.88rem}.top-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.55rem;margin-left:auto}.constellation-hint{position:fixed;left:50%;bottom:1.2rem;z-index:2;padding:.55rem .75rem;border:1px solid var(--line);border-radius:.5rem;background:#070b176b;color:var(--muted);font-size:.9rem;transform:translate(-50%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.music-player{position:fixed;right:1rem;bottom:1rem;z-index:20;display:flex;align-items:center;gap:.6rem;max-width:min(31rem,calc(100% - 2rem));padding:.55rem;border:1px solid var(--line);border-radius:.5rem;background:#070b17a8;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.today-plan-banner{position:fixed;top:.85rem;left:50%;z-index:60;max-width:min(34rem,calc(100% - 2rem));padding:.68rem 1rem;border:1px solid rgba(243,211,134,.28);border-radius:999px;background:radial-gradient(circle at top left,rgba(255,255,255,.16),transparent 30%),#0e1322eb;box-shadow:0 16px 36px #00000047;color:var(--ink);font-size:.86rem;font-weight:800;text-align:center;transform:translate(-50%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}body[data-screen=dashboard] .music-player,body[data-screen=dates] .music-player,body[data-screen=randomizer] .music-player{display:none}.music-player .icon-button{width:auto;min-width:3.8rem;padding:0 .7rem;font-size:.82rem;font-weight:800}.track-label,.volume-control{display:flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.82rem}.track-label{min-height:2.45rem;max-width:9rem;padding:0 .75rem;border:1px solid var(--line);border-radius:.42rem;background:#ffffff12;color:var(--ink);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.volume-control input{width:7rem}.date-editor-card{position:relative;width:min(28rem,calc(100% - 2rem));margin:auto;padding:1.3rem;border:1px solid rgba(255,255,255,.12);border-radius:1rem;background:linear-gradient(180deg,#12182afa,#0a0e1afa);box-shadow:var(--shadow)}.anniversary-date-reward-card{position:absolute;top:50%;left:50%;width:min(24rem,calc(100% - 2rem));transform:translate(-50%,-50%)}.anniversary-date-reward-photo{width:min(12rem,100%);aspect-ratio:1 / 1;margin:0 auto .25rem;border:1px solid rgba(255,255,255,.12);border-radius:50%;background-position:center;background-repeat:no-repeat;background-size:cover;box-shadow:0 0 0 .24rem #ffbcda4d,0 0 1.3rem #ff76b038}.anniversary-date-reward-intro-actions{grid-template-columns:1fr}.anniversary-date-reward-form-fields{display:grid;gap:.9rem;opacity:0;transform:translateY(.8rem) scale(.985)}.anniversary-date-reward-form-fields.is-revealed{animation:anniversaryDateRewardFormReveal .36s ease forwards}@keyframes anniversaryDateRewardFormReveal{0%{opacity:0;transform:translateY(.8rem) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.date-editor-item-name{margin:.4rem 0 1rem;color:#f7f1e8c7;line-height:1.55}.date-editor-field,.date-editor-actions{display:grid;gap:.55rem}.date-editor-field input,.date-editor-field select{min-height:3rem;padding:0 .85rem;border:1px solid rgba(255,255,255,.16);border-radius:.7rem;background:#ffffff0f;color:var(--ink)}.date-editor-map-links span{color:#f7f1e8a8;font-size:.82rem}.milestone-reward-fields[hidden]{display:none}.global-dock{position:fixed;right:.9rem;bottom:.9rem;left:.9rem;z-index:45;display:flex;align-items:stretch;gap:.55rem;padding:.65rem;border:1px solid rgba(255,255,255,.12);border-radius:1.1rem;background:#070b17d6;box-shadow:0 18px 44px #00000057;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dock-toggle,.dock-link{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:grid;justify-items:center;gap:.3rem;flex:1;min-height:4rem;padding:.55rem .45rem;border:1px solid transparent;border-radius:.9rem;background:transparent;color:var(--ink);text-align:center}.dock-link{position:relative}.dock-link-icon{font-size:1rem}.dock-link>span:nth-child(2),.dock-toggle span:last-child{font-size:.72rem;font-weight:700}.dock-link.is-active{border-color:#f3d3863d;background:#ffffff14}.dock-link[data-dock-target=anniversary]{flex:0 0 9.5rem;min-height:2.3rem;align-self:center;padding:.35rem .8rem;border-radius:999px;border-color:#f6a6ba47;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.14),transparent 2rem),linear-gradient(135deg,#f6a6ba1f,#f3d3861a);box-shadow:0 0 18px #f6a6ba29}.dock-link[data-dock-target=anniversary] .dock-link-icon{display:none}.dock-link[data-dock-target=anniversary]>span:nth-child(2),.dock-link[data-dock-target=anniversary]>span:first-child{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dock-link[data-dock-target=anniversary].is-active{border-color:#f3d3866b;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.2),transparent 2rem),linear-gradient(135deg,#f6a6ba2e,#f3d3862e);box-shadow:0 0 22px #f3d3862e}.dock-flower-badge{position:absolute;top:-.05rem;right:-.02rem;display:grid;place-items:center;min-width:1.25rem;height:1.25rem;padding:0 .28rem;border-radius:999px;background:linear-gradient(135deg,#ffb8c9,#f3d386);box-shadow:0 10px 22px #00000042;color:#231426;font-size:.66rem;font-weight:900;line-height:1;letter-spacing:-.02em;z-index:1}.dock-flower-badge[hidden]{display:none!important}.dock-flower-badge:before{position:absolute;top:-.14rem;right:-.14rem;bottom:-.14rem;left:-.14rem;border-radius:999px;background:radial-gradient(circle at 18% 50%,rgba(247,182,200,.72) 0 18%,transparent 19%),radial-gradient(circle at 50% 18%,rgba(247,182,200,.72) 0 18%,transparent 19%),radial-gradient(circle at 82% 50%,rgba(247,182,200,.72) 0 18%,transparent 19%),radial-gradient(circle at 50% 82%,rgba(247,182,200,.72) 0 18%,transparent 19%);opacity:.9;content:"";z-index:-1}.dock-flower-badge:after{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff47,0 0 0 1px #23142614;content:""}.quick-reward-options{display:grid;gap:.75rem}.quick-reward-option{display:grid;gap:.25rem;padding:.9rem 1rem;border:1px solid rgba(255,255,255,.14);border-radius:.9rem;background:#ffffff0d;color:var(--ink);text-align:left}.quick-reward-option strong,.quick-reward-option span{position:relative;z-index:1}.quick-reward-option span{color:#f7f1e8b3;font-size:.85rem;line-height:1.45}.quick-reward-option:hover,.quick-reward-option:focus-visible{border-color:#f6a6ba6b;background:#f6a6ba1f}.modal,.admin-panel{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30}.modal[hidden],.admin-panel[hidden]{display:none}.modal-backdrop,.admin-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#03050b94;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.memory-card{position:absolute;top:50%;left:50%;display:grid;grid-template-columns:minmax(18rem,27rem) minmax(18rem,28rem);width:min(58rem,calc(100% - 2rem));max-height:calc(100vh - 3rem);overflow:hidden;border:1px solid rgba(246,166,186,.22);border-radius:.5rem;background:#0c101ef5;box-shadow:var(--shadow),0 0 60px #f6a6ba12;transform:translate(-50%,-50%)}.modal-close{position:absolute;top:.75rem;right:.75rem;z-index:2}.memory-image{position:relative;display:grid;min-height:0;aspect-ratio:4 / 5;place-items:center;overflow:hidden;background-color:#060914;background-position:center;background-repeat:no-repeat;background-size:contain}.memory-image.video-memory{background:#060914}.memory-image.video-memory video{width:100%;height:100%;object-fit:contain;background:#060914}.memory-image.fallback-image{display:grid;place-items:center;padding:1.5rem;color:#ffffffb8;font-family:Georgia,Times New Roman,serif;font-size:2rem;text-align:center}.memory-copy{display:flex;flex-direction:column;justify-content:center;min-height:0;padding:2.5rem}.context-line{margin:0 0 .8rem;color:var(--gold);font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.memory-copy h2{margin:0 0 1rem;font-family:Georgia,Times New Roman,serif;font-size:2.4rem;font-weight:500;letter-spacing:.01em}.memory-copy p{color:var(--muted);font-size:1rem;line-height:1.75}.love-note{margin-top:1.5rem;padding:1rem;border:1px solid rgba(246,166,186,.32);border-radius:.5rem;background:#f6a6ba14}.love-note span{color:var(--rose);font-size:.82rem;font-weight:800;text-transform:uppercase}.love-note p{margin:.45rem 0 0;color:var(--ink)}.sc-stamp{position:absolute;z-index:4;display:grid;width:2.35rem;height:2rem;padding:0;place-items:center;border:1px solid rgba(246,166,186,.45);border-radius:.28rem;background:#fff6ea33;color:#fff6eab8;font-family:Georgia,Times New Roman,serif;font-size:.78rem;font-weight:800;letter-spacing:0;opacity:.24;transform:rotate(-7deg);transition:opacity .18s ease,transform .18s ease,background .18s ease,color .18s ease}.sc-stamp:hover,.sc-stamp:focus-visible,.sc-stamp.is-found{background:#f6a6ba38;color:var(--ink);opacity:1;transform:rotate(-3deg) scale(1.04)}.hidden-memory-modal{z-index:36}.album-modal{z-index:34}.hidden-memory-card,.album-card{position:absolute;top:50%;left:50%;overflow:hidden;border:1px solid var(--line-strong);border-radius:.5rem;background:radial-gradient(circle at 18% 12%,rgba(246,166,186,.12),transparent 16rem),radial-gradient(circle at 82% 10%,rgba(148,215,228,.09),transparent 18rem),#0d1221f5;box-shadow:var(--shadow);transform:translate(-50%,-50%)}.hidden-memory-card{width:min(27rem,calc(100% - 2rem))}.hidden-memory-media,.album-media{display:grid;min-height:0;place-items:center;overflow:hidden;background:#060914}.hidden-memory-media{aspect-ratio:4 / 3}.hidden-memory-media img,.album-media img{width:100%;height:100%;object-fit:contain}.hidden-memory-media.video-memory video,.album-media.video-memory video{width:100%;height:100%;object-fit:contain;background:#060914}.hidden-memory-media.fallback-image,.album-media.fallback-image{padding:1.25rem;color:#ffffffc7;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;text-align:center}.hidden-memory-copy{padding:1.35rem;text-align:center}.hidden-memory-copy h2,.album-copy h2{margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500;letter-spacing:0}.hidden-memory-copy h2{font-size:1.65rem}.hidden-memory-copy p:not(.overline),.album-copy p{color:var(--muted);line-height:1.7}.album-unlock-button{border-color:#f3d3865c;background:radial-gradient(circle at 18% 20%,rgba(246,166,186,.2),transparent 4rem),#ffffff14;color:var(--ink)}.album-card{display:grid;grid-template-columns:minmax(20rem,1.15fr) minmax(18rem,.85fr);width:min(68rem,calc(100% - 2rem));max-height:calc(100vh - 3rem)}.album-media{aspect-ratio:4 / 3}.album-copy{display:flex;flex-direction:column;justify-content:center;min-height:0;padding:2.25rem}.album-copy h2{margin-bottom:.85rem;font-size:2.25rem}.album-copy .context-line,.album-copy .album-context{margin-top:0;color:var(--gold);font-size:.86rem;font-weight:700;text-transform:uppercase}.album-actions{display:flex;gap:.65rem;margin-top:1.25rem}.tool-shell{width:min(76rem,calc(100% - 2rem));margin:auto;padding:1rem}.screen-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.screen-header h2,.admin-header h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:2.2rem;font-weight:500;letter-spacing:0}.header-actions{display:flex;flex-wrap:wrap;gap:.55rem}.reveal-shell{display:flex;flex-direction:column;width:100%;height:100%;padding:1.25rem;gap:1rem}.reveal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0}.reveal-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;gap:1.25rem;min-height:0}.reveal-container{position:relative;width:min(38rem,100%);height:min(calc(100vh - 12rem),56vw,34rem);border-radius:.5rem;overflow:hidden;background:linear-gradient(135deg,#0d0920,#130c28);box-shadow:var(--shadow),0 0 60px #9582f21f;cursor:none}.reveal-photo{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;-webkit-user-select:none;user-select:none;pointer-events:none}.reveal-canvas{position:absolute;top:0;right:0;bottom:0;left:0;cursor:none;touch-action:none}.reveal-letter-button{animation:landingRise .6s ease both}.puzzle-layout{display:grid;grid-template-columns:minmax(20rem,34rem) minmax(17rem,1fr);gap:1.2rem;align-items:stretch}.puzzle-board{display:grid;width:min(34rem,100%);aspect-ratio:1;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);overflow:hidden;border:1px solid var(--line-strong);border-radius:.5rem;background:#ffffff0f;box-shadow:var(--shadow)}.puzzle-tile{min-width:0;min-height:0;border:1px solid rgba(255,255,255,.12);background-repeat:no-repeat;color:transparent}.puzzle-tile.is-selected{outline:3px solid var(--gold);outline-offset:-4px}.puzzle-panel{display:flex;flex-direction:column;justify-content:center;padding:1.35rem;border:1px solid var(--line);border-radius:.5rem;background:#ffffff12;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.puzzle-panel h3{margin:0 0 .7rem;font-size:1.25rem}.puzzle-panel p{margin:0 0 1.2rem;color:var(--muted);line-height:1.65}.letter-screen{align-items:center;justify-content:center;padding:1rem;overflow:auto}.letter-paper{position:relative;width:min(46rem,100%);max-height:calc(100vh - 2rem);overflow:auto;padding:3rem 3rem 7rem;border-radius:.5rem;background:linear-gradient(#fff8ecc7,#fff4e6c7),repeating-linear-gradient(0deg,transparent 0 1.65rem,rgba(36,48,66,.055) 1.68rem);color:var(--paper-ink);box-shadow:var(--shadow),0 0 80px #f6a6ba14}.letter-paper:before{position:absolute;top:0;left:0;right:0;height:3px;border-radius:.5rem .5rem 0 0;background:linear-gradient(90deg,transparent 0%,rgba(243,211,134,.55) 25%,rgba(246,166,186,.7) 50%,rgba(243,211,134,.55) 75%,transparent 100%);content:"";pointer-events:none}.letter-close{position:absolute;top:.85rem;right:.85rem;background:#24304214;border-color:#24304224;color:var(--paper-ink)}.letter-paper .overline{color:#9e6b2f}.letter-paper h2{margin:0 0 1.5rem;font-family:Georgia,Times New Roman,serif;font-size:2.5rem;font-weight:500;cursor:pointer;transition:color .3s ease;letter-spacing:0}.letter-paper h2:hover{color:#9e6b2f}.letter-body{display:grid;gap:1rem;color:var(--paper-ink);font-family:Georgia,Times New Roman,serif;font-size:1.1rem;line-height:1.85}.letter-body p{margin:0}.letter-photo{margin:.55rem 0 .9rem;overflow:hidden;border:1px solid rgba(36,48,66,.12);border-radius:.5rem;background:#2430420f}.letter-photo img{display:block;width:100%;max-height:24rem;object-fit:contain;background:#24304214}.letter-signature{justify-self:end;margin-top:1.4rem!important;font-size:1.25rem;font-style:italic;line-height:1.7;text-align:right}.letter-corner-note{justify-self:end;max-width:18rem;margin-top:.35rem!important;color:#9e6b2fb8;font-size:.92rem;font-style:italic;line-height:1.55;text-align:right}.admin-panel{z-index:40}.admin-drawer{position:absolute;top:0;right:0;display:grid;gap:1rem;width:min(64rem,100%);height:100%;overflow:auto;padding:1rem;border-left:1px solid var(--line-strong);background:#0a0e1bfa;box-shadow:var(--shadow)}.admin-header,.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-save-bar{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem;border:1px solid rgba(246,166,186,.28);border-radius:.5rem;background:#0a0e1bf0;box-shadow:0 16px 36px #0000003d;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.admin-save-bar span{color:var(--muted);font-size:.84rem}.admin-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;padding:.35rem;border:1px solid var(--line);border-radius:.5rem;background:#ffffff0e}.admin-tab{min-height:2.55rem;border:0;border-radius:.38rem;background:transparent;color:var(--muted);font-weight:800}.admin-tab.is-active{background:#f6a6ba29;color:var(--ink);box-shadow:inset 0 0 0 1px #f6a6ba3d}.admin-tab-panel{display:none;gap:1rem}.admin-tab-panel.is-active{display:grid}.admin-section{display:grid;gap:.85rem;padding:1rem;border:1px solid var(--line);border-radius:.5rem;background:#ffffff0e}.admin-section h3{margin:0;font-size:1rem}.admin-status{margin:0;color:var(--muted);font-size:.9rem;line-height:1.55}.admin-section label,.memory-editor label{display:grid;gap:.35rem;color:var(--muted);font-size:.86rem}.admin-section input[type=text],.admin-section input[type=email],.admin-section input[type=password],.admin-section input[type=number],.admin-section input[type=url],.admin-section select,.admin-section textarea,.memory-editor input[type=text],.memory-editor input[type=number],.memory-editor select,.memory-editor textarea{width:100%;border:1px solid var(--line);border-radius:.42rem;background:#ffffff14;color:var(--ink);padding:.65rem .7rem}.admin-section textarea,.memory-editor textarea{resize:vertical}.memory-editor-list{display:grid;gap:.75rem}.memory-editor{display:grid;gap:.7rem;padding:.85rem;border:1px solid var(--line);border-radius:.5rem;background:#00000024}.memory-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.checkbox-row{display:flex;align-items:center;gap:.55rem;color:var(--muted)}.memory-editor-actions,.admin-actions{display:flex;flex-wrap:wrap;gap:.55rem}.anniversary-pair-library-preview{display:flex;align-items:center;justify-content:center;min-height:6rem;border:1px solid var(--line);border-radius:1rem;background:#ffffff0a;overflow:hidden;color:var(--muted);text-align:center;padding:.85rem}.anniversary-pair-library-preview.has-image{padding:.65rem}.anniversary-pair-preview-tile{width:min(100%,12rem);aspect-ratio:16 / 9;border:1px solid rgba(255,255,255,.08);border-radius:1rem;background:#ffffff0a;overflow:hidden}.anniversary-pair-preview-tile .anniversary-memory-photo{border-radius:0}.media-library-copy{margin-top:0;color:var(--muted)}.anniversary-admin-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.anniversary-admin-editor-pane{display:grid;gap:1rem;min-width:0}.anniversary-admin-card-editor{min-height:100%}.anniversary-admin-card-tabs{position:sticky;bottom:0;z-index:3;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;padding:.8rem;border:1px solid rgba(243,211,134,.16);border-radius:1rem 1rem 0 0;background:linear-gradient(180deg,#111627e0,#0a0e1bf7);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 -12px 30px #0000002e}.anniversary-admin-card-tab{display:grid;gap:.2rem;min-height:4rem;padding:.7rem .75rem;border:1px solid rgba(255,255,255,.08);border-radius:1rem 1rem .55rem .55rem;background:#ffffff0d;color:var(--ink);text-align:left;transition:transform .16s ease,border-color .16s ease,background .16s ease}.anniversary-admin-card-tab span{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.anniversary-admin-card-tab strong{font-size:.88rem;line-height:1.3}.anniversary-admin-card-tab:hover,.anniversary-admin-card-tab:focus-visible{transform:translateY(-.08rem);border-color:#f3d38666}.anniversary-admin-card-tab.is-active{border-color:#f6a6ba66;background:linear-gradient(180deg,#f6a6ba38,#ffffff0f);box-shadow:inset 0 0 0 1px #f6a6ba2e}.anniversary-admin-workspace.is-library-open{grid-template-columns:minmax(20rem,24rem) minmax(0,1fr);align-items:start}.media-library-rail{position:sticky;top:.5rem;display:grid;gap:.85rem;padding:1rem;border:1px solid rgba(243,211,134,.22);border-radius:1rem;background:linear-gradient(180deg,#12182afa,#0a0e1afa);box-shadow:0 20px 50px #0000003d}.media-library-rail[hidden]{display:none}.media-library-rail-header{align-items:start}.media-library-grid{display:grid;grid-template-columns:1fr;gap:.9rem;max-height:min(68vh,42rem);overflow:auto;padding-right:.25rem}.media-library-item{display:grid;gap:.55rem;padding:.75rem;border:1px solid rgba(243,211,134,.18);border-radius:1rem;background:#ffffff0d;color:var(--ink);text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.media-library-item:hover,.media-library-item:focus-visible{transform:translateY(-2px);border-color:#f3d3866b;box-shadow:0 18px 35px #080a1433}.media-library-item img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:.85rem;background:#ffffff0f}.media-library-item-name{font-weight:700}.media-library-item-source{color:var(--muted);font-size:.92rem}@media(max-width:1079px){.anniversary-admin-workspace.is-library-open{grid-template-columns:1fr}.media-library-rail{position:static}.anniversary-admin-card-tabs{grid-auto-flow:column;grid-auto-columns:minmax(10.5rem,1fr);grid-template-columns:none;overflow-x:auto}}.file-button{display:inline-flex;align-items:center;justify-content:center}.file-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.danger-button{border-color:#f6a6ba5c;color:#ffd0dc}.toast-host{position:fixed;right:1rem;bottom:5.25rem;z-index:60;display:grid;gap:.55rem;width:min(24rem,calc(100% - 2rem))}.toast{padding:.85rem 1rem;border:1px solid var(--line-strong);border-radius:.5rem;background:#0d1221f0;box-shadow:var(--shadow);color:var(--ink);line-height:1.45}.toast span{display:block;margin-bottom:.15rem;color:var(--rose);font-size:.78rem;font-weight:800;text-transform:uppercase}@media(max-width:760px){body{overflow:auto}.landing-content h1{font-size:2.9rem}.dashboard-screen,.randomizer-screen{padding:1rem 1rem max(5.1rem,calc(env(safe-area-inset-bottom) + 4.4rem))}.randomizer-screen{display:block;min-height:100dvh;max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:max(5.1rem,calc(env(safe-area-inset-bottom) + 4.4rem))}.randomizer-shell{min-height:auto;padding-bottom:max(3.75rem,calc(env(safe-area-inset-bottom) + 2.9rem))}.dashboard-grid{grid-template-columns:1fr}.important-dates-header,.today-picks-header{display:grid}.wishlist-screen,.dates-screen,.anniversary-screen{padding:1rem 1.35rem max(5rem,calc(env(safe-area-inset-bottom) + 4rem)) 1.1rem}.wishlist-shell,.dates-shell,.anniversary-shell{max-width:calc(100vw - 2.45rem)}.wishlist-tabs{flex-direction:column}.wishlist-grid{grid-template-columns:1fr}.wishlist-preview{height:13rem}.wishlist-check-row{align-items:flex-start;flex-direction:column}.date-plan-card,.important-date-card,.date-plan-chip{display:grid}.dashboard-tile{min-height:14rem}.dashboard-tile-title{margin-top:3.5rem;font-size:1.9rem}.anniversary-header,.anniversary-lock-panel{display:grid}.anniversary-tumbler{padding:1rem;gap:.8rem}.anniversary-tumbler-controls,.anniversary-tumbler-digits{gap:.45rem}.anniversary-tumbler-step{min-height:2.65rem;padding:0;border-radius:.7rem;font-size:.92rem}.anniversary-tumbler-digit{min-height:4rem;border-radius:.8rem;font-size:1.55rem}.anniversary-tumbler-actions{display:grid;grid-template-columns:1fr}.anniversary-tumbler-actions .primary-button,.anniversary-tumbler-actions .secondary-button{width:100%}.anniversary-game-card{width:calc(100% - 1.4rem);padding:1.1rem}.anniversary-game-board.is-matching{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.anniversary-memory-tile{min-height:7rem}.anniversary-progress-chip{margin-left:0;width:fit-content}.anniversary-cards,.admin-tabs,.memory-editor-grid,.anniversary-anagram-stats{grid-template-columns:1fr}.global-dock{right:.75rem;bottom:.75rem;left:.75rem}.randomizer-header{align-items:flex-start}.randomizer-header h1{font-size:1.9rem}.randomizer-list-button{align-self:center}.randomizer-visual{min-height:min(132vw,34rem);margin-inline:-.5rem}.heart-photo-tile{width:clamp(2.55rem,12.5vw,3.65rem);border-width:1px;border-radius:.42rem}.heart-glow-line{top:45.5%;width:min(21.5rem,82vw);height:min(26rem,98vw)}.randomizer-stage{width:min(13.2rem,calc(100% - 5.5rem));min-height:10.6rem;gap:.5rem;padding:0}.randomizer-stage h2{width:100%;min-height:2.15rem;padding:.25rem .5rem;font-size:1.02rem}.randomizer-task{max-width:12.5rem;padding:.28rem .5rem;font-size:.68rem}.randomizer-meta{font-size:.76rem}.spin-orb-button{width:clamp(4.8rem,22vw,5.8rem);height:clamp(4.8rem,22vw,5.8rem);border-radius:9999px;font-size:.98rem}.mark-selected-button{min-height:1.85rem;padding:0 .55rem;font-size:.68rem}.love-progress-shell{padding-top:.25rem;padding-bottom:max(.65rem,env(safe-area-inset-bottom))}.global-dock{right:.45rem;bottom:max(.2rem,env(safe-area-inset-bottom));left:.45rem;padding:.55rem}.next-date-log{padding:.55rem .65rem}.next-date-log strong{font-size:.8rem}.next-date-log em,.love-progress-labels{font-size:.72rem}.love-progress-star{flex-basis:5.25rem}.activity-panel-header{align-items:flex-start;flex-direction:column}.activity-row{grid-template-columns:1fr;gap:.45rem}.landing-subtext{font-size:1rem}.opening-letter{min-height:22rem;padding:2.25rem 1.35rem}.opening-letter h2{font-size:2rem}.opening-line{font-size:1.05rem}.top-bar{align-items:flex-start;flex-wrap:wrap}.progress-stack{min-width:0;flex:1}.top-actions{width:100%;justify-content:flex-start;margin-left:0}.constellation-hint{display:none}.memory-card{grid-template-columns:1fr;overflow:auto}.memory-image{aspect-ratio:16 / 11}.memory-copy{min-height:0}.memory-copy{padding:1.5rem}.memory-copy h2{font-size:1.85rem}.hidden-memory-card{max-height:calc(100vh - 2rem);overflow:auto}.album-card{grid-template-columns:1fr;overflow:auto}.album-media{aspect-ratio:16 / 11}.album-copy{padding:1.5rem}.album-copy h2{font-size:1.85rem}.album-actions{flex-wrap:wrap}.album-actions .secondary-button{flex:1}.reveal-container{height:min(calc(100vh - 14rem),70vw,28rem)}.puzzle-layout{grid-template-columns:1fr}.screen-header{align-items:flex-start;flex-direction:column}.tool-shell{margin-top:7rem;margin-bottom:6rem}.letter-paper{padding:2.2rem 1.25rem 9rem}.letter-paper h2{font-size:2rem}.music-player{left:1rem;right:1rem;flex-wrap:wrap}.volume-control{flex:1}.volume-control input{width:100%}.memory-editor-grid{grid-template-columns:1fr}}@media(min-width:961px){.dashboard-screen,.randomizer-screen,.wishlist-screen,.dates-screen,.anniversary-screen{padding-right:2.5rem;padding-bottom:2rem;padding-left:calc(2rem + var(--dock-desktop-width))}.global-dock{top:50%;right:auto;bottom:auto;left:1rem;width:calc(var(--dock-desktop-width) - 1rem);flex-direction:column;transform:translateY(-50%)}.dock-link[data-dock-target=anniversary]{flex:0 0 auto;width:100%;min-height:3.35rem;padding:.55rem .45rem;border-radius:1rem;justify-items:center}.dock-link[data-dock-target=anniversary]>span:first-child,.dock-link[data-dock-target=anniversary]>span:nth-child(2){display:block;font-size:.8rem;line-height:1.15;word-break:break-word}}.landscape-warning{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:none;align-items:center;justify-content:center;background:#06091af7;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center}@media(orientation:landscape)and (max-height:520px){body.is-entered .landscape-warning{display:flex}}.landscape-warning-inner{display:grid;gap:1.25rem;padding:2rem}.landscape-rotate-icon{display:block;color:var(--rose);font-size:4rem;line-height:1;animation:rotateHint 2.4s ease-in-out infinite}.landscape-message{margin:0;color:#f7f1e8cc;font-family:Georgia,Times New Roman,serif;font-size:1.1rem;line-height:1.8}.landscape-message strong{color:var(--rose);font-style:italic}@keyframes rotateHint{0%,to{transform:rotate(0)}40%{transform:rotate(90deg)}60%{transform:rotate(90deg)}}@media(max-width:900px)and (orientation:portrait){.anniversary-game-card.is-matching-game{width:calc(100% - 1.2rem);max-height:calc(100vh - 1.2rem)}.anniversary-game-card.is-matching-game .anniversary-game-rotate-notice{display:grid}.anniversary-game-card.is-matching-game .anniversary-game-board,.anniversary-game-card.is-matching-game .anniversary-game-message{display:none}}@media(max-width:900px)and (orientation:landscape){.anniversary-game-card.is-matching-game{width:calc(100% - 1rem);max-height:calc(100vh - 1rem);padding:.55rem;gap:.2rem;overflow:hidden;align-content:start}.anniversary-game-card.is-matching-game .anniversary-game-board.is-matching{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,16vh));gap:.16rem;margin-top:.1rem}.anniversary-game-card.is-matching-game .overline,.anniversary-game-card.is-matching-game h2,.anniversary-game-card.is-matching-game .anniversary-game-description,.anniversary-game-card.is-matching-game .anniversary-game-message{display:none}.anniversary-game-card.is-matching-game .modal-close{width:1.85rem;min-height:1.85rem;font-size:.9rem;justify-self:end}.anniversary-game-card.is-matching-game .anniversary-memory-tile{aspect-ratio:auto;min-height:0;border-radius:.6rem}.anniversary-game-card.is-matching-game .anniversary-memory-tile-face{padding:.16rem}.anniversary-game-card.is-matching-game .anniversary-memory-tile-back{font-size:1.1rem}.anniversary-game-card.is-matching-game .anniversary-memory-tile-front strong{font-size:.55rem;line-height:1.1}.anniversary-game-card.is-matching-game .anniversary-memory-tile-front img{border-radius:.38rem}body.is-anniversary-matching-open .global-dock,body.is-anniversary-matching-open .music-player,body.is-anniversary-runner-open .global-dock,body.is-anniversary-runner-open .music-player,body.is-anniversary-catcher-open .global-dock,body.is-anniversary-catcher-open .music-player,body.is-anniversary-timing-open .global-dock,body.is-anniversary-timing-open .music-player,body.is-anniversary-snake-open .global-dock,body.is-anniversary-snake-open .music-player{display:none}}@media(max-width:900px)and (orientation:portrait){.anniversary-game-card.is-runner-game{width:min(28rem,calc(100% - 1.2rem))}.anniversary-game-card.is-runner-game .anniversary-game-rotate-notice{display:grid}.anniversary-game-card.is-runner-game .anniversary-game-board,.anniversary-game-card.is-runner-game .anniversary-game-hud,.anniversary-game-card.is-runner-game .anniversary-game-message{display:none}.anniversary-game-card.is-snake-game{width:min(28rem,calc(100% - .9rem));max-height:calc(100vh - .9rem);gap:.55rem;padding:.85rem .85rem 1rem}.anniversary-game-card.is-snake-game .overline{font-size:.82rem;letter-spacing:.13em}.anniversary-game-card.is-snake-game h2{font-size:clamp(1.18rem,7vw,1.75rem);line-height:1.06}.anniversary-game-card.is-snake-game .anniversary-game-description{font-size:.88rem;line-height:1.34}.anniversary-game-card.is-snake-game .anniversary-game-message{display:none}.anniversary-game-card.is-snake-game .modal-close{width:2.5rem;min-height:2.5rem}}@media(max-width:900px)and (orientation:landscape){.anniversary-game-card.is-snake-game .anniversary-game-rotate-notice{display:grid}.anniversary-game-card.is-snake-game .anniversary-game-board,.anniversary-game-card.is-snake-game .anniversary-game-hud,.anniversary-game-card.is-snake-game .anniversary-game-message{display:none}}@media(max-width:900px){body.is-anniversary-snake-open .global-dock,body.is-anniversary-snake-open .music-player,body.is-anniversary-catcher-open .global-dock,body.is-anniversary-catcher-open .music-player{display:none}.anniversary-anagram-letter{min-height:clamp(2.45rem,7.7vw,3rem);font-size:clamp(.98rem,3.7vw,1.35rem)}.anniversary-catcher-stats{grid-template-columns:1fr}.anniversary-catcher-stats--four{grid-template-columns:1fr 1fr}.anniversary-catcher-playfield{min-height:23rem}.anniversary-catcher-basket{width:2.65rem;height:1.3rem}.anniversary-catcher-basket-box{width:calc(100% - .32rem);height:calc(100% - .32rem);border-radius:.38rem .38rem .52rem .52rem}.anniversary-anagram-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.anniversary-anagram-progress{grid-template-columns:repeat(5,minmax(0,1fr))}.anniversary-anagram-progress-box{min-height:1.95rem}.anniversary-anagram-found ul{grid-template-columns:repeat(2,minmax(0,1fr))}.anniversary-timing-shell{padding:.85rem;gap:.8rem}.anniversary-timing-ring{--timing-ring-size: min(20rem, 82vw)}.anniversary-timing-clover{width:5rem;height:5rem}.anniversary-timing-clover-petal{width:2.05rem;height:2.05rem}.anniversary-timing-clover-petal.is-top,.anniversary-timing-clover-petal.is-bottom{left:1.45rem}.anniversary-timing-clover-petal.is-right,.anniversary-timing-clover-petal.is-left{top:1.45rem}.anniversary-timing-center-copy{padding-top:3.95rem}.anniversary-timing-panel{grid-template-columns:1fr}.anniversary-game-card.is-snake-game .anniversary-game-hud{gap:.45rem}.anniversary-game-card.is-snake-game .anniversary-snake-hudbar{gap:.42rem;align-items:stretch}.anniversary-game-card.is-snake-game .anniversary-snake-mini-stats{gap:.34rem}.anniversary-game-card.is-snake-game .anniversary-snake-mini-stat{flex:1 1 0;padding:.28rem .42rem;border-radius:.68rem}.anniversary-game-card.is-snake-game .anniversary-snake-mini-stat span{font-size:.58rem}.anniversary-game-card.is-snake-game .anniversary-snake-mini-stat strong{font-size:.9rem}.anniversary-game-card.is-snake-game .anniversary-snake-hud-actions{width:100%;justify-content:stretch}.anniversary-game-card.is-snake-game .anniversary-snake-hud-actions .secondary-button{flex:1 1 0;min-width:0;min-height:2.15rem;padding:.48rem .55rem;font-size:.86rem}.anniversary-snake-shell{gap:.58rem}.anniversary-snake-grid{gap:.22rem;padding:.38rem}.anniversary-snake-controls{gap:.5rem}.anniversary-snake-instructions{font-size:.78rem;line-height:1.25}.anniversary-snake-joystick{width:min(8.75rem,36vw)}.anniversary-snake-pad{grid-template-columns:repeat(3,minmax(0,2.25rem));grid-template-rows:repeat(3,minmax(0,2.25rem));gap:.22rem}.anniversary-snake-pad-button{width:2.25rem;min-height:2.25rem;border-radius:.58rem;font-size:.9rem}}@media(max-width:900px)and (orientation:landscape){.anniversary-game-card:has(.anniversary-game-board.is-anagram){width:calc(100% - 1rem);max-height:calc(100vh - 1rem);padding:.65rem;gap:.35rem;overflow:hidden}.anniversary-game-card:has(.anniversary-game-board.is-anagram) .overline{font-size:.7rem;margin-bottom:0}.anniversary-game-card:has(.anniversary-game-board.is-anagram) h2{font-size:1.45rem}.anniversary-game-card:has(.anniversary-game-board.is-anagram) .anniversary-game-description,.anniversary-game-card:has(.anniversary-game-board.is-anagram) .anniversary-game-message{font-size:.84rem;line-height:1.35}.anniversary-game-card:has(.anniversary-game-board.is-anagram) .anniversary-anagram-shell{gap:.65rem}.anniversary-game-card:has(.anniversary-game-board.is-anagram) .anniversary-anagram-letter{min-height:2.45rem;font-size:1rem}body.is-anniversary-anagram-open .global-dock,body.is-anniversary-anagram-open .music-player{display:none!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;scroll-behavior:auto!important;transition-duration:1ms!important}}
