/* Mood mini-sites (inside .phone .screen). Every rule is scoped under .ms so nothing leaks into the deck. */
.ms { min-height: 100%; font-size: 13px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.ms a { cursor: default; text-decoration: none; }
.ms header { display: flex; align-items: center; justify-content: space-between; padding: 40px 18px 10px; }
.ms .burger { width: 20px; height: 9px; border-top: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; display: block; }
.ms img { width: 100%; height: 100%; object-fit: cover; }
.ms ul { list-style: none; margin: 0; padding: 0; }
.ms footer { padding: 26px 18px 30px; text-align: center; font-size: 11px; opacity: .8; }

/* ---- Violet Light ---- */
.ms.violet { background: linear-gradient(175deg, #f6e4ee 0%, #f7f3df 32%, #e5f0e6 56%, #dbe9f3 80%, #f3e9f8); color: #33213f; font-family: 'Jost', sans-serif; }
.ms.violet .logo { font: 26px/1 'Great Vibes', cursive; color: #6d2f9a; }
.ms.violet .hero { text-align: center; padding: 8px 20px 18px; }
.ms.violet .halo { width: 150px; height: 150px; margin: 6px auto 16px; border-radius: 50%; padding: 5px; background: conic-gradient(from 200deg, #cdb3e6, #f3c9da, #f6e3b3, #cdb3e6); box-shadow: 0 0 40px rgba(155,95,198,.45); animation: msb 7s ease-in-out infinite; }
.ms.violet .halo img { border-radius: 50%; object-position: 50% 15%; }
.ms.violet h1 { font: 500 27px/1.08 'Cormorant Garamond', serif; margin: 0 0 8px; color: #4a1f63; }
.ms.violet .hero p { color: #6a5873; margin: 0 0 14px; }
.ms.violet .row { display: flex; gap: 8px; justify-content: center; }
.ms.violet .b1, .ms.violet .b2 { padding: 9px 15px; border-radius: 999px; font-weight: 500; font-size: 12px; }
.ms.violet .b1 { background: linear-gradient(135deg, #9a5fc6, #6d2f9a); color: #fff; box-shadow: 0 8px 18px -8px #6d2f9a; }
.ms.violet .b2 { background: rgba(255,255,255,.7); color: #6d2f9a; }
.ms.violet .weekly { margin: 6px 14px; padding: 16px; border-radius: 22px; background: rgba(255,255,255,.65); backdrop-filter: blur(8px); }
.ms.violet h2 { font: 500 17px/1.2 'Cormorant Garamond', serif; margin: 0 0 8px; color: #4a1f63; }
.ms.violet li { display: grid; grid-template-columns: 34px 1fr auto; gap: 6px; padding: 7px 0; border-top: 1px solid #eadff2; align-items: center; }
.ms.violet li b { color: #7b3fa8; font-weight: 500; } .ms.violet li em { font-style: normal; color: #8a7a95; font-size: 11px; }
.ms.violet .listen { padding: 12px 14px; }
.ms.violet .card { display: flex; gap: 12px; align-items: center; padding: 12px; border-radius: 18px; background: #fff; box-shadow: 0 8px 20px -12px rgba(74,31,99,.4); }
.ms.violet .play { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: #efe2f7; color: #7b3fa8; font-size: 12px; }
.ms.violet .card small { display: block; color: #8a7a95; font-size: 10px; } .ms.violet .card b { font-weight: 500; }
.ms.violet .q { text-align: center; padding: 18px 26px 0; } .ms.violet .q p { font: italic 18px/1.3 'Cormorant Garamond', serif; margin: 0 0 4px; color: #4a1f63; } .ms.violet .q small { color: #8a7a95; }

/* ---- Temple Garden ---- */
.ms.temple { background: #f8f1e4; color: #23331f; font-family: 'DM Sans', sans-serif; }
.ms.temple header .logo { font: 20px/1 'DM Serif Display', serif; color: #2f5d43; }
.ms.temple .hero { padding: 4px 18px 22px; text-align: center; }
.ms.temple .arch { height: 230px; border-radius: 999px 999px 18px 18px; overflow: hidden; border: 3px solid #f8f1e4; outline: 1.5px solid #c99a45; outline-offset: 4px; margin: 6px 14px 18px; }
.ms.temple .kick { text-transform: uppercase; letter-spacing: .2em; font-size: 9.5px; color: #b3264f; margin: 0 0 4px; }
.ms.temple h1 { font: 28px/1.05 'DM Serif Display', serif; margin: 0 0 14px; color: #1f3d2c; }
.ms.temple .b1 { display: block; padding: 12px; border-radius: 12px; background: #2f5d43; color: #f8f1e4; font-weight: 500; }
.ms.temple .b2 { display: block; padding: 10px; color: #b3264f; font-size: 12px; }
.ms.temple .offer { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 0 14px 22px; }
.ms.temple .offer div { background: #fff; border-radius: 14px; padding: 12px 6px; text-align: center; box-shadow: 0 6px 14px -10px rgba(47,93,67,.5); }
.ms.temple .offer i { font-style: normal; display: block; font-size: 18px; color: #c99a45; } .ms.temple .offer b { display: block; font-weight: 500; } .ms.temple .offer small { color: #7c7a6a; font-size: 10px; }
.ms.temple .weekly { background: #2f5d43; color: #f3ead6; padding: 22px 18px; border-radius: 28px 28px 0 0; position: relative; }
.ms.temple .weekly::before { content: "✿ ✿ ✿"; position: absolute; right: 16px; top: 18px; color: #e6b8c8; letter-spacing: 4px; font-size: 10px; }
.ms.temple h2 { font: 21px/1.1 'DM Serif Display', serif; margin: 0 0 10px; }
.ms.temple li { display: grid; grid-template-columns: 38px 1fr auto; gap: 6px; padding: 8px 0; border-top: 1px solid rgba(243,234,214,.18); }
.ms.temple li b { color: #e8c77b; font-weight: 500; } .ms.temple li em { font-style: normal; opacity: .7; font-size: 11px; }
.ms.temple .q { background: #2f5d43; color: #f3ead6; padding: 6px 22px 24px; } .ms.temple .q p { font: italic 18px/1.3 'DM Serif Display', serif; margin: 0 0 4px; } .ms.temple .q small { opacity: .7; }
.ms.temple footer { background: #1f3d2c; color: #e9dcc0; opacity: 1; } .ms.temple footer .logo { display: block; font: 20px 'DM Serif Display', serif; color: #e8c77b; margin-bottom: 4px; }

/* ---- Divine Light ---- */
.ms.night { background: radial-gradient(120% 60% at 50% 0%, #3d2364, #1a0f2e 60%, #120a20); color: #efe6fa; font-family: 'Manrope', sans-serif; position: relative; overflow: hidden; }
.ms.night .stars { position: absolute; inset: 0; pointer-events: none; opacity: .9;
  background-image: radial-gradient(1px 1px at 20% 12%, #fff, transparent), radial-gradient(1px 1px at 70% 8%, #f6e3b3, transparent), radial-gradient(1.5px 1.5px at 85% 22%, #fff, transparent), radial-gradient(1px 1px at 40% 30%, #d9c2f5, transparent), radial-gradient(1px 1px at 12% 44%, #fff, transparent), radial-gradient(1px 1px at 90% 52%, #f6e3b3, transparent), radial-gradient(1.2px 1.2px at 55% 63%, #fff, transparent), radial-gradient(1px 1px at 28% 78%, #d9c2f5, transparent), radial-gradient(1px 1px at 76% 88%, #fff, transparent);
  animation: mstw 5s ease-in-out infinite alternate; }
.ms.night > * { position: relative; }
.ms.night header .logo { font: 13px/1 'Marcellus', serif; letter-spacing: .28em; color: #e8c77b; }
.ms.night .hero { text-align: center; padding: 6px 20px 22px; }
.ms.night .ring { width: 160px; height: 160px; margin: 10px auto 18px; border-radius: 50%; padding: 4px; position: relative; background: conic-gradient(#e8c77b, #9b6bff, #e8a3b8, #e8c77b); animation: msspin 14s linear infinite; box-shadow: 0 0 60px rgba(232,199,123,.35); }
.ms.night .ring img { border-radius: 50%; animation: msspin 14s linear infinite reverse; object-position: 50% 20%; }
.ms.night h1 { font: 27px/1.12 'Marcellus', serif; margin: 0 0 8px; background: linear-gradient(90deg, #fff1cf, #e8c77b, #d9b4f0); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ms.night .hero p { color: #c9b8e2; margin: 0 0 16px; }
.ms.night .b1 { display: inline-block; padding: 11px 20px; border-radius: 999px; background: linear-gradient(135deg, #f6e3b3, #e8c77b); color: #1a0f2e; font-weight: 600; font-size: 12px; box-shadow: 0 0 30px rgba(232,199,123,.4); }
.ms.night .glass { margin: 0 14px 18px; padding: 14px 16px; border-radius: 18px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); position: relative; }
.ms.night .glass small { color: #c9b8e2; font-size: 10px; display: block; } .ms.night .glass b { font-weight: 500; font-family: 'Marcellus', serif; font-size: 15px; }
.ms.night .bar { height: 3px; border-radius: 9px; background: rgba(255,255,255,.15); margin-top: 10px; } .ms.night .bar i { display: block; height: 100%; width: 38%; border-radius: 9px; background: #e8c77b; }
.ms.night .glass .play { position: absolute; right: 14px; top: 14px; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #e8c77b; color: #1a0f2e; font-size: 11px; }
.ms.night .weekly { padding: 0 18px; } .ms.night h2 { font: 16px 'Marcellus', serif; color: #e8c77b; margin: 0 0 8px; }
.ms.night li { display: grid; grid-template-columns: 34px 1fr auto; gap: 6px; padding: 8px 0; border-top: 1px solid rgba(255,255,255,.1); }
.ms.night li b { color: #e8c77b; font-weight: 500; } .ms.night li em { font-style: normal; color: #a996c6; font-size: 11px; }
.ms.night .q { text-align: center; padding: 22px 24px 0; } .ms.night .q p { font: 17px/1.35 'Marcellus', serif; margin: 0 0 4px; } .ms.night .q small { color: #a996c6; }
.ms.night footer { color: #e8c77b; letter-spacing: .1em; }

/* ---- Sacred Stillness ---- */
.ms.still { background: #f7f3ec; color: #2e2530; font-family: 'Jost', sans-serif; font-weight: 300; }
.ms.still header { border-bottom: 1px solid #e4dccf; padding-bottom: 12px; margin: 0 18px; padding-left: 0; padding-right: 0; }
.ms.still .logo { font: 500 16px 'Cormorant Garamond', serif; letter-spacing: .04em; } .ms.still .menu { font-size: 10px; letter-spacing: .24em; text-transform: uppercase; }
.ms.still .hero { padding: 28px 18px 26px; }
.ms.still .kick { font-size: 9.5px; letter-spacing: .28em; text-transform: uppercase; color: #8b7d8d; margin: 0 0 10px; }
.ms.still h1 { font: 300 34px/1.02 'Cormorant Garamond', serif; margin: 0 0 20px; color: #2e2530; } .ms.still h1 em { color: #5b3a5e; }
.ms.still .hero img { height: 210px; margin-bottom: 14px; object-position: 50% 18%; filter: saturate(.85); }
.ms.still .hero p { color: #6d6170; margin: 0 0 14px; }
.ms.still .b1 { display: inline-block; padding: 11px 20px; background: #5b3a5e; color: #f7f3ec; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }
.ms.still .list { margin: 0 18px; border-top: 1px solid #e4dccf; } .ms.still .list a { display: flex; gap: 14px; padding: 13px 0; border-bottom: 1px solid #e4dccf; color: inherit; font: 400 17px 'Cormorant Garamond', serif; }
.ms.still .list span { font: 400 10px 'Jost', sans-serif; color: #a08fa2; padding-top: 5px; }
.ms.still .weekly { padding: 24px 18px 0; } .ms.still li { display: grid; grid-template-columns: 34px 1fr auto; gap: 6px; padding: 6px 0; } .ms.still li b { font-weight: 500; } .ms.still li em { font-style: normal; color: #8b7d8d; }
.ms.still .q { padding: 22px 18px 0; } .ms.still .q p { font: italic 300 20px/1.25 'Cormorant Garamond', serif; margin: 0 0 4px; } .ms.still .q small { color: #8b7d8d; letter-spacing: .12em; text-transform: uppercase; font-size: 9px; }

@keyframes msb { 50% { box-shadow: 0 0 60px rgba(155,95,198,.7); transform: scale(1.03); } }
@keyframes msspin { to { transform: rotate(1turn); } }
@keyframes mstw { to { opacity: .45; } }
