/* =====================================================================
   CORONA: the Tangled page's own layer over the memory pages (16.10.2026).
   Loaded only when the page skin has "corona" (build.py stylesheets). memory.css + event.css stay the base;
   this sheet swaps Hercules' marks (the Greek key, the blue stars) for the kingdom's: the sun of Corona,
   purple pennants, lantern light, a window of Rapunzel's tower.
   Colour order: purple is the ground, gold is the light, lilac and cream support, a little leaf green.
   ===================================================================== */
body.corona {
  --c-deep: #170a30; --c-purple: #3a1670; --c-royal: #5b2a9e; --c-gold: #f6c453; --c-amber: #ffb347;
  --c-lilac: #eaa7df; --c-cream: #fff4dc; --c-leaf: #8cc88f;
  --mm-gold: var(--c-gold); --mm-warm: var(--c-amber);
  /* the sun of Corona, small, between two pearls: the ornament line of the page */
  --mm-key: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='24' viewBox='0 0 48 24'%3E%3Cg fill='%23f6c453'%3E%3Ccircle cx='4' cy='12' r='1.6'/%3E%3Ccircle cx='44' cy='12' r='1.6'/%3E%3Cg transform='translate(24 12)'%3E%3Ccircle r='3.6'/%3E%3Cpath id='r' d='M0-10 1.4-5H-1.4z'/%3E%3Cuse href='%23r' transform='rotate(45)'/%3E%3Cuse href='%23r' transform='rotate(90)'/%3E%3Cuse href='%23r' transform='rotate(135)'/%3E%3Cuse href='%23r' transform='rotate(180)'/%3E%3Cuse href='%23r' transform='rotate(225)'/%3E%3Cuse href='%23r' transform='rotate(270)'/%3E%3Cuse href='%23r' transform='rotate(315)'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  --c-sun: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-50 -50 100 100'%3E%3Cdefs%3E%3CradialGradient id='g'%3E%3Cstop offset='0' stop-color='%23fff2c4'/%3E%3Cstop offset='1' stop-color='%23f6b93b'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cg fill='url(%23g)'%3E%3Cpath id='r' d='M0-48C4-38 4-30 0-22C-4-30-4-38 0-48z'/%3E%3Cuse href='%23r' transform='rotate(22.5)'/%3E%3Cuse href='%23r' transform='rotate(45)'/%3E%3Cuse href='%23r' transform='rotate(67.5)'/%3E%3Cuse href='%23r' transform='rotate(90)'/%3E%3Cuse href='%23r' transform='rotate(112.5)'/%3E%3Cuse href='%23r' transform='rotate(135)'/%3E%3Cuse href='%23r' transform='rotate(157.5)'/%3E%3Cuse href='%23r' transform='rotate(180)'/%3E%3Cuse href='%23r' transform='rotate(202.5)'/%3E%3Cuse href='%23r' transform='rotate(225)'/%3E%3Cuse href='%23r' transform='rotate(247.5)'/%3E%3Cuse href='%23r' transform='rotate(270)'/%3E%3Cuse href='%23r' transform='rotate(292.5)'/%3E%3Cuse href='%23r' transform='rotate(315)'/%3E%3Cuse href='%23r' transform='rotate(337.5)'/%3E%3Ccircle r='21'/%3E%3C/g%3E%3Ccircle r='13' fill='%235b2a9e'/%3E%3Ccircle r='9' fill='%23f6c453'/%3E%3C/svg%3E");
  /* the kingdom's pennants on a string: purple flags, a gold sun on each */
  --c-bunting: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='36' viewBox='0 0 64 36'%3E%3Cpath d='M0 4Q32 13 64 4' fill='none' stroke='%23f6c453' stroke-width='1.6' opacity='.85'/%3E%3Cpath d='M18 8.6L46 8.6L32 33z' fill='%235b2a9e' stroke='%23f6c453' stroke-width='1.2'/%3E%3Ccircle cx='32' cy='17' r='3.4' fill='%23f6c453'/%3E%3C/svg%3E");
  background: var(--c-deep);
}
body.corona .mm-keyline { height: 36px; background: var(--c-bunting) center top / 64px 36px repeat-x; opacity: 1; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.55)); }
body.corona .ev-back::after { background: linear-gradient(180deg, rgba(23, 10, 48, 0.6), rgba(23, 10, 48, 0.42) 40%, rgba(23, 10, 48, 0.62)); }
body.corona .ev-lantern-sky { position: fixed; inset: 0; z-index: -1; pointer-events: none; }

/* ---------- hero: a window of the tower on a lantern night ---------- */
.mm-hero.arch { display: block; min-height: min(100svh, 960px); padding: calc(var(--header-h, 80px) + clamp(24px, 4vw, 54px)) 0 0; overflow: hidden; }
.mm-hero.arch::before { background:
  radial-gradient(60% 55% at 22% 40%, rgba(255, 179, 71, 0.22), transparent 70%),
  radial-gradient(70% 60% at 85% 20%, rgba(91, 42, 158, 0.55), transparent 70%),
  linear-gradient(180deg, rgba(23, 10, 48, 0.2), rgba(23, 10, 48, 0.35) 55%, var(--c-deep) 98%); }
.mm-hero.arch::after { display: none; }
.mm-moon { position: absolute; z-index: -1; width: clamp(280px, 38vw, 560px); aspect-ratio: 1; inset-inline-end: 4%; top: 8%; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(255, 214, 140, 0.32), rgba(255, 170, 70, 0.12) 55%, transparent); filter: blur(4px); animation: c-breathe 9s ease-in-out infinite alternate; }
@keyframes c-breathe { to { opacity: 0.7; transform: scale(1.06); } }
/* Rapunzel's tower, drawn: stone, the room on top, a lit window, a purple roof */
.mm-tower { position: absolute; z-index: -1; bottom: 0; inset-inline-start: max(-30px, calc(50% - 760px)); width: clamp(120px, 12vw, 190px); aspect-ratio: 190 / 620; opacity: 0.5; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 190 620'%3E%3Cpath d='M95 0L30 120H160z' fill='%234a1f86'/%3E%3Cpath d='M20 118H170V128H20z' fill='%23271046'/%3E%3Cpath d='M30 128H160V250H30z' fill='%23271046'/%3E%3Cpath d='M78 160Q95 138 112 160V210H78z' fill='%23ffcf6a'/%3E%3Cpath d='M78 160Q95 138 112 160V210H78z' fill='none' stroke='%23f6c453' stroke-width='3'/%3E%3Cpath d='M48 250H142L132 620H58z' fill='%231e0c38'/%3E%3Cpath d='M30 250H160L142 268H48z' fill='%23271046'/%3E%3C/svg%3E") center bottom / contain no-repeat;
  filter: drop-shadow(0 0 30px rgba(255, 190, 90, 0.18)); }
.mm-arch-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); align-items: center; gap: clamp(26px, 4.4vw, 70px); min-height: calc(min(100svh, 960px) - var(--header-h, 80px) - 110px); padding-bottom: clamp(26px, 4vw, 50px); }
.mm-hero.arch .mm-hero-in { text-align: start; padding: 0; }
.mm-hero.arch .mm-kicker { display: inline-block; margin: 0 0 14px; padding: 7px 18px 8px; border-radius: 999px; font-size: clamp(1rem, 1.4vw, 1.15rem); color: var(--c-cream);
  background: linear-gradient(90deg, rgba(91, 42, 158, 0.75), rgba(58, 22, 112, 0.6)); box-shadow: inset 0 0 0 1px rgba(246, 196, 83, 0.55); text-shadow: none; }
.mm-hero.arch .ev-logo { width: min(100%, 540px); margin: 0; filter: drop-shadow(0 0 40px rgba(255, 190, 90, 0.35)) drop-shadow(0 14px 30px rgba(10, 4, 24, 0.9)); }
.mm-hero.arch .mm-hero-line { margin: 14px 0 18px; font-size: clamp(1.9rem, 3.6vw, 3rem); color: var(--c-cream); text-wrap: balance; }
.mm-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; animation: mm-up 0.9s var(--ease-out) 0.9s both; }
.mm-chips li { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border-radius: 999px; font-weight: 700; font-size: clamp(0.98rem, 1.3vw, 1.08rem); color: #fff;
  background: rgba(23, 10, 48, 0.55); box-shadow: inset 0 0 0 1px rgba(246, 196, 83, 0.4); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.mm-chips li::before { content: ''; width: 16px; height: 16px; flex: none; background: var(--c-sun) center / contain no-repeat; }
.mm-hero-btns { margin-top: 24px; animation: mm-up 0.9s var(--ease-out) 1.1s both; }
/* the window: an arch framed in gold, a sun over its crown */
.mm-arch { position: relative; margin: 0; justify-self: center; width: min(100%, 470px); animation: mm-logo 1.4s var(--ease-spring) 0.4s both; }
.mm-arch::before { content: ''; position: absolute; inset: -9% -14% -6%; z-index: -1; border-radius: 50%; background: radial-gradient(closest-side, rgba(255, 186, 90, 0.4), rgba(234, 167, 223, 0.12) 60%, transparent); filter: blur(10px); }
.mm-arch-win { position: relative; display: block; width: 100%; aspect-ratio: 4 / 5; padding: 9px; border: 0; cursor: zoom-in; border-radius: 50% 50% 28px 28px / 40% 40% 28px 28px;
  background: linear-gradient(160deg, #fff1c2, var(--c-gold) 30%, #b97a17 60%, var(--c-gold) 85%, #fff1c2);
  box-shadow: 0 0 0 1px rgba(255, 241, 194, 0.6), 0 0 70px -10px rgba(255, 186, 90, 0.75), 0 46px 70px -38px rgba(0, 0, 0, 0.95); transition: transform 0.6s var(--ease-spring); }
.mm-arch-win::after { content: ''; position: absolute; inset: 9px; border-radius: inherit; box-shadow: inset 0 0 0 2px rgba(23, 10, 48, 0.65), inset 0 0 0 6px rgba(246, 196, 83, 0.35), inset 0 -60px 60px -30px rgba(23, 10, 48, 0.55); pointer-events: none; }
.mm-arch-win img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 50% 50% 21px 21px / 40% 40% 21px 21px; }
.mm-arch-win:hover, .mm-arch-win:focus-visible { transform: translateY(-6px); }
.mm-arch-sun { position: absolute; z-index: 2; top: -38px; left: 50%; width: 84px; height: 84px; translate: -50% 0; background: var(--c-sun) center / contain no-repeat;
  filter: drop-shadow(0 0 18px rgba(255, 196, 90, 0.85)); animation: c-turn 60s linear infinite; }
@keyframes c-turn { to { rotate: 360deg; } }
.mm-arch figcaption { margin-top: 12px; text-align: center; font-family: var(--font-hand); font-weight: 700; font-size: 1.05rem; color: var(--c-cream); text-shadow: 0 2px 12px rgba(0, 0, 0, 0.9); }

/* ---------- the album is on its way ---------- */
.mm-soon { padding: clamp(26px, 4vw, 54px) 0 clamp(10px, 2vw, 20px); }
.mm-soon-card { position: relative; isolation: isolate; max-width: 940px; margin-inline: auto; padding: clamp(30px, 4.6vw, 56px) clamp(22px, 5vw, 70px); text-align: center; border-radius: 34px; overflow: hidden;
  background: radial-gradient(70% 90% at 50% 0%, rgba(255, 186, 90, 0.22), transparent 70%), linear-gradient(160deg, rgba(91, 42, 158, 0.92), rgba(40, 14, 78, 0.95));
  box-shadow: inset 0 0 0 2px rgba(246, 196, 83, 0.7), inset 0 0 0 9px rgba(23, 10, 48, 0.45), inset 0 0 0 10px rgba(246, 196, 83, 0.35), 0 40px 70px -40px rgba(0, 0, 0, 0.95), 0 0 90px -30px rgba(255, 186, 90, 0.55); }
.mm-soon-card::before, .mm-soon-card::after { content: ''; position: absolute; z-index: -1; width: clamp(120px, 16vw, 190px); aspect-ratio: 1; background: var(--c-sun) center / contain no-repeat; opacity: 0.16; }
.mm-soon-card::before { top: -40px; inset-inline-start: -40px; } .mm-soon-card::after { bottom: -50px; inset-inline-end: -50px; }
.mm-soon-ico { display: inline-grid; place-items: center; width: 74px; height: 74px; margin-bottom: 10px; border-radius: 50%; font-size: 2.3rem; background: rgba(23, 10, 48, 0.55); box-shadow: inset 0 0 0 2px rgba(246, 196, 83, 0.65), 0 0 40px -6px rgba(255, 186, 90, 0.7); animation: mm-bob 5s ease-in-out infinite; }
.mm-soon-k { margin: 0; font-family: var(--font-hand); font-weight: 700; font-size: clamp(1.1rem, 1.8vw, 1.35rem); color: var(--c-lilac); }
.mm-soon .mm-soon-card h2 { margin: 4px 0 12px; font-family: var(--font-hand); font-weight: 800; font-size: clamp(2.2rem, 5.6vw, 4.2rem); line-height: 1.08; text-wrap: balance; color: #ffe08a; -webkit-text-fill-color: #ffe08a; background: none; text-shadow: 0 0 28px rgba(255, 186, 90, 0.55), 0 4px 18px rgba(10, 4, 24, 0.85); filter: none; }
  text-shadow: none; background: linear-gradient(180deg, #fffbe9, #ffe08a 45%, var(--c-gold) 70%, #e9a23b); -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 6px 22px rgba(10, 4, 24, 0.7)); }
.mm-soon-t { margin: 0 auto; max-width: 36em; font-size: clamp(1.05rem, 1.6vw, 1.22rem); line-height: 1.7; color: var(--c-cream); }
.mm-soon-btns { justify-content: center; margin-top: 22px; }

/* ---------- chapters: one night, lit differently ---------- */
body.corona .mm-chapter::before { background: radial-gradient(70% 70% at var(--gx, 70%) 50%, rgba(23, 10, 48, 0.86), rgba(23, 10, 48, 0.5) 60%, transparent 86%); }
body.corona .mm-chapter.lilac::before { background: radial-gradient(70% 70% at var(--gx, 30%) 50%, rgba(46, 16, 82, 0.9), rgba(120, 60, 140, 0.32) 62%, transparent 88%); }
body.corona .mm-chapter.night::before { background: radial-gradient(40% 50% at 70% 40%, rgba(255, 179, 71, 0.16), transparent 70%), radial-gradient(80% 80% at 50% 50%, rgba(10, 4, 24, 0.94), rgba(10, 4, 24, 0.7) 60%, transparent 90%); }
body.corona .mm-chapter.plaza::before { background: radial-gradient(60% 60% at 30% 60%, rgba(255, 179, 71, 0.14), transparent 70%), radial-gradient(70% 70% at 70% 50%, rgba(23, 10, 48, 0.88), rgba(23, 10, 48, 0.5) 60%, transparent 86%); }
body.corona .mm-water { -webkit-text-stroke: 1.5px rgba(234, 167, 223, 0.32); opacity: 0.6; }
body.corona .mm-num { color: var(--c-gold); }
body.corona .mm-ch-text h2 { color: var(--c-cream); }
body.corona .mm-prose p { color: #fbf3ff; }
body.corona .mm-prose p:first-child { color: var(--c-cream); }
/* the first photo of a chapter: the top of a window arch */
body.corona .mm-ph.lead { clip-path: inset(0 0 100% 0 round 140px 140px 22px 22px); box-shadow: 0 0 0 2px rgba(246, 196, 83, 0.6), 0 44px 70px -40px rgba(0, 0, 0, 0.95), 0 0 80px -30px rgba(255, 186, 90, 0.6); border-radius: 140px 140px 22px 22px; }
body.corona .mm-chapter.in .mm-ph.lead { clip-path: inset(0 0 0 0 round 140px 140px 22px 22px); }
body.corona .mm-ph:not(.lead) { box-shadow: 0 0 0 1px rgba(246, 196, 83, 0.35), 0 30px 50px -30px rgba(0, 0, 0, 0.95); }
body.corona .mm-chapter.night .mm-ph.lead { box-shadow: 0 0 0 2px rgba(255, 196, 90, 0.85), 0 0 120px -10px rgba(255, 170, 60, 0.75); }

/* ---------- the stories ---------- */
body.corona .clips-sec .section-head h2, body.corona .clips-sec h2 { font-family: var(--font-hand); color: var(--c-cream); }
body.corona .clips .clip { border-radius: 20px; overflow: hidden; box-shadow: 0 0 0 2px rgba(246, 196, 83, 0.5), 0 30px 50px -30px rgba(0, 0, 0, 0.95); }
body.corona .clips .clip figcaption { padding: 4px 12px; border-radius: 999px; background: rgba(23, 10, 48, 0.72); font-family: var(--font-hand); font-size: 1rem; color: var(--c-cream); }

/* ---------- keepsake, partners, the end ---------- */
body.corona .mm-flyer::before { background: rgba(234, 167, 223, 0.75); }
body.corona .mm-facts dt { color: var(--c-gold); }
body.corona .mm-keep h2, body.corona .mm-end h2 { color: var(--c-cream); }
body.corona .mm-end .wrap-narrow { position: relative; isolation: isolate; }
body.corona .mm-end .wrap-narrow::before { content: ''; position: absolute; z-index: -1; top: 0; left: 50%; width: clamp(300px, 40vw, 520px); aspect-ratio: 1; translate: -50% -14%; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(255, 186, 90, 0.35), rgba(234, 167, 223, 0.12) 60%, transparent); }
body.corona .mm-stars { animation: mm-bob 6s ease-in-out infinite; filter: drop-shadow(0 0 40px rgba(255, 186, 90, 0.55)) drop-shadow(0 20px 26px rgba(0, 0, 0, 0.6)); }
body.corona .mm-next { border-top-color: rgba(246, 196, 83, 0.35); }
body.corona .logo-cloud .logo { background: rgba(255, 244, 220, 0.06); border-radius: 18px; box-shadow: inset 0 0 0 1px rgba(246, 196, 83, 0.25); }

/* ---------- tablets and phones: a vertical composition, not a squeezed one ---------- */
@media (max-width: 900px) {
  .mm-hero.arch { min-height: auto; padding-top: calc(var(--header-h, 70px) + 22px); }
  .mm-arch-grid { display: flex; flex-direction: column; align-items: center; min-height: 0; gap: 0; padding-bottom: 26px; text-align: center; }
  .mm-hero.arch .mm-hero-in { display: contents; text-align: center; }
  .mm-hero.arch .mm-kicker { order: 1; }
  .mm-hero.arch .ev-logo { order: 2; width: min(84vw, 420px); margin: 0 auto; }
  .mm-hero.arch .mm-hero-line { order: 3; margin: 10px 0 22px; font-size: clamp(1.55rem, 6.4vw, 2.2rem); }
  .mm-chips { order: 4; justify-content: center; }
  .mm-hero-btns { order: 5; justify-content: center; margin-top: 18px; width: 100%; }
  .mm-arch { order: 6; width: min(78vw, 360px); margin-top: 52px; }
  .mm-tower { width: 92px; opacity: 0.32; inset-inline-start: -16px; }
  .mm-moon { width: 80vw; inset-inline-end: -20vw; top: 30%; }
  body.corona .mm-ph.lead { clip-path: inset(0 0 100% 0 round 90px 90px 18px 18px); border-radius: 90px 90px 18px 18px; }
  body.corona .mm-chapter.in .mm-ph.lead { clip-path: inset(0 0 0 0 round 90px 90px 18px 18px); }
}
@media (max-width: 520px) {
  .mm-arch-win { aspect-ratio: 4 / 4.6; padding: 7px; }
  .mm-arch-win::after { inset: 7px; }
  .mm-arch-sun { width: 66px; height: 66px; top: -30px; }
  .mm-chips { gap: 8px; } .mm-chips li { min-height: 38px; padding: 0 13px; font-size: 0.95rem; }
  .mm-hero-btns .btn { flex: 1 1 100%; justify-content: center; }
  .mm-soon-card { border-radius: 26px; }
  .mm-soon-ico { width: 62px; height: 62px; font-size: 1.9rem; }
  .mm-soon-btns .btn { flex: 1 1 100%; justify-content: center; }
  body.corona .mm-keyline { background-size: 52px 30px; height: 30px; }
}
@media (prefers-reduced-motion: reduce) { .mm-arch-sun, .mm-moon, .mm-soon-ico { animation: none; } }
/* no lone word at the end of a paragraph or a title */
body.corona .mm-prose p, body.corona .mm-soon-t, body.corona .mm-end p { text-wrap: pretty; }
body.corona .mm-ch-text h2, body.corona .mm-hero-line, body.corona .mm-end h2, body.corona .mm-keep h2 { text-wrap: balance; }
