/* ============================================================
   MxM Weekend Mode - generated by /root/mxm_weekend_refactor.py (2026-06-11).
   The MxM stylesheets reference every blue-family color through
   var(--mxm-w-<hex>, <original blue fallback>). This file redefines those
   vars under html.mxm-weekend (class added by the member-local clock script
   in container.phtml: Fri 19:00 -> Sun 03:00 device time). No class = the
   inline fallbacks render and the site is byte-identical classic blue.
   Palette rule: uniform hue rotation (r,g,b) -> (b,r,g);
   blue->crimson, violet->coral, purple->amber, navy->dark maroon.
============================================================ */
html.mxm-weekend {
    --mxm-w-0e1130: 48, 14, 17;  /* #0e1130 -> #300e11 */
    --mxm-w-141631: 49, 20, 22;  /* #141631 -> #311416 */
    --mxm-w-141832: 50, 20, 24;  /* #141832 -> #321418 */
    --mxm-w-14183c: 60, 20, 24;  /* #14183c -> #3c1418 */
    --mxm-w-1976d2: 210, 25, 118;  /* #1976d2 -> #d21976 */
    --mxm-w-1a1042: 66, 26, 16;  /* #1a1042 -> #421a10 */
    --mxm-w-1b1e3a: 58, 27, 30;  /* #1b1e3a -> #3a1b1e */
    --mxm-w-1b1f44: 68, 27, 31;  /* #1b1f44 -> #441b1f */
    --mxm-w-1d2240: 64, 29, 34;  /* #1d2240 -> #401d22 */
    --mxm-w-1e25c2: 194, 30, 37;  /* #1e25c2 -> #c21e25 */
    --mxm-w-1f2687: 135, 31, 38;  /* #1f2687 -> #871f26 */
    --mxm-w-20243f: 63, 32, 36;  /* #20243f -> #3f2024 */
    --mxm-w-2196f3: 243, 33, 150;  /* #2196f3 -> #f32196 */
    --mxm-w-2730e6: 230, 39, 48;  /* #2730e6 -> #e62730 */
    --mxm-w-283250: 80, 40, 50;  /* #283250 -> #502832 */
    --mxm-w-2a2f5a: 90, 42, 47;  /* #2a2f5a -> #5a2a2f */
    --mxm-w-2a2f63: 99, 42, 47;  /* #2a2f63 -> #632a2f */
    --mxm-w-2f3550: 80, 47, 53;  /* #2f3550 -> #502f35 */
    --mxm-w-2f38ff: 255, 47, 56;  /* #2f38ff -> #ff2f38 */
    --mxm-w-2f4462: 98, 47, 68;  /* #2f4462 -> #622f44 */
    --mxm-w-32344e: 78, 50, 52;  /* #32344e -> #4e3234 */
    --mxm-w-3b45ff: 255, 59, 69;  /* #3b45ff -> #ff3b45 */
    --mxm-w-3c4263: 99, 60, 66;  /* #3c4263 -> #633c42 */
    --mxm-w-3c5c77: 119, 60, 92;  /* #3c5c77 -> #773c5c */
    --mxm-w-4338ca: 202, 67, 56;  /* #4338ca -> #ca4338 */
    --mxm-w-4995d5: 213, 73, 149;  /* #4995d5 -> #d54995 */
    --mxm-w-4c54ff: 255, 76, 84;  /* #4c54ff -> #ff4c54 */
    --mxm-w-4c8cff: 255, 76, 140;  /* #4c8cff -> #ff4c8c */
    --mxm-w-5366ff: 255, 83, 102;  /* #5366ff -> #ff5366 */
    --mxm-w-5b2bd6: 214, 91, 43;  /* #5b2bd6 -> #d65b2b */
    --mxm-w-5b3cff: 255, 91, 60;  /* #5b3cff -> #ff5b3c */
    --mxm-w-5e6eff: 255, 94, 110;  /* #5e6eff -> #ff5e6e */
    --mxm-w-6b5cff: 255, 107, 92;  /* #6b5cff -> #ff6b5c */
    --mxm-w-6b7190: 144, 107, 113;  /* #6b7190 -> #906b71 */
    --mxm-w-6b7290: 144, 107, 114;  /* #6b7290 -> #906b72 */
    --mxm-w-6b7cff: 255, 107, 124;  /* #6b7cff -> #ff6b7c */
    --mxm-w-6c63ff: 255, 108, 99;  /* #6c63ff -> #ff6c63 */
    --mxm-w-6f4ff0: 240, 111, 79;  /* #6f4ff0 -> #f06f4f */
    --mxm-w-7c2fd4: 212, 124, 47;  /* #7c2fd4 -> #d47c2f */
    --mxm-w-7c3aed: 237, 124, 58;  /* #7c3aed -> #ed7c3a */
    --mxm-w-7c5cff: 255, 124, 92;  /* #7c5cff -> #ff7c5c */
    --mxm-w-7c84ff: 255, 124, 132;  /* #7c84ff -> #ff7c84 */
    --mxm-w-7c8cff: 255, 124, 140;  /* #7c8cff -> #ff7c8c */
    --mxm-w-7c9cff: 255, 124, 156;  /* #7c9cff -> #ff7c9c */
    --mxm-w-7d9eff: 255, 125, 158;  /* #7d9eff -> #ff7d9e */
    --mxm-w-8a6bff: 255, 138, 107;  /* #8a6bff -> #ff8a6b */
    --mxm-w-8a92ad: 173, 138, 146;  /* #8a92ad -> #ad8a92 */
    --mxm-w-8a9aff: 255, 138, 154;  /* #8a9aff -> #ff8a9a */
    --mxm-w-8b95ff: 255, 139, 149;  /* #8b95ff -> #ff8b95 */
    --mxm-w-8c9cff: 255, 140, 156;  /* #8c9cff -> #ff8c9c */
    --mxm-w-9333ea: 234, 147, 51;  /* #9333ea -> #ea9333 */
    --mxm-w-9aa1bd: 189, 154, 161;  /* #9aa1bd -> #bd9aa1 */
    --mxm-w-9aa2ff: 255, 154, 162;  /* #9aa2ff -> #ff9aa2 */
    --mxm-w-a6abc4: 196, 166, 171;  /* #a6abc4 -> #c4a6ab */
    --mxm-w-a8b6ff: 255, 168, 182;  /* #a8b6ff -> #ffa8b6 */
    --mxm-w-a9afd0: 208, 169, 175;  /* #a9afd0 -> #d0a9af */
    --mxm-w-aab2ff: 255, 170, 178;  /* #aab2ff -> #ffaab2 */
    --mxm-w-b6c0ff: 255, 182, 192;  /* #b6c0ff -> #ffb6c0 */
    --mxm-w-b76cff: 255, 183, 108;  /* #b76cff -> #ffb76c */
    --mxm-w-b8b0ff: 255, 184, 176;  /* #b8b0ff -> #ffb8b0 */
    --mxm-w-b9c0ff: 255, 185, 192;  /* #b9c0ff -> #ffb9c0 */
    --mxm-w-c4a8ff: 255, 196, 168;  /* #c4a8ff -> #ffc4a8 */
    --mxm-w-c4c9ec: 236, 196, 201;  /* #c4c9ec -> #ecc4c9 */
    --mxm-w-c4c9ff: 255, 196, 201;  /* #c4c9ff -> #ffc4c9 */
    --mxm-w-c4cdff: 255, 196, 205;  /* #c4cdff -> #ffc4cd */
    --mxm-w-c8d0ff: 255, 200, 208;  /* #c8d0ff -> #ffc8d0 */
    --mxm-w-d4b0ff: 255, 212, 176;  /* #d4b0ff -> #ffd4b0 */
    --mxm-w-d6deff: 255, 214, 222;  /* #d6deff -> #ffd6de */
    --mxm-w-d7dbff: 255, 215, 219;  /* #d7dbff -> #ffd7db */
    --mxm-w-d8defc: 252, 216, 222;  /* #d8defc -> #fcd8de */
    --mxm-w-dbe0fb: 251, 219, 224;  /* #dbe0fb -> #fbdbe0 */
    --mxm-w-e1e4ff: 255, 225, 228;  /* #e1e4ff -> #ffe1e4 */
}

/* ==== MXM-WEEKEND-HAND-AUTHORED (preserved across regens by mxm_weekend_refactor.py;
        everything below survives a re-run — keep it below this marker) ====
   Component polish that can't be expressed as a palette-var swap. */

/* ── Vendor theme vars (defined :root in layout/style.phtml from the admin Colors
      settings). One override flips every vendor-blue surface — primary buttons,
      the header background, the header message/notification counter pills
      (.new-update-alert uses var(--main)), verified ticks, mobile bars. ── */
html.mxm-weekend {
    --main: #cc2b32;               /* btn_background_color #2b32cc rotated */
    --main-hover: #cc2b32;         /* btn_hover_background_color #2b32cc rotated */
    --header-background: #a21b20;  /* header_background #1b20a2 rotated */
}

/* ── Header counter pills, explicit belt-and-suspenders (the glassy mobile block
      also touches .new-update-alert). ── */
html.mxm-weekend .new-update-alert {
    background-color: #cc2b32 !important;
    color: #fff !important;
}

/* ── Launcher featured trio (Nearby · Explore · Travel Plans): drop Explore's
      gold ring + shimmer entirely, give ALL THREE the same thin, bright,
      slow-pulsing red glow hugging the tile edges. The pulse rule out-specifies
      the --gold ::after kill below, so Explore inherits the identical pulse. ── */
html.mxm-weekend .mxm-launcher-tile--gold::before,
html.mxm-weekend .mxm-launcher-tile--gold::after {
    content: none;
    animation: none;
}
html.mxm-weekend .mxm-launcher-tile--gold {
    box-shadow: none !important;
    border-color: rgba(255, 47, 56, 0.30) !important;
}
html.mxm-weekend .mxm-launcher-featured .mxm-launcher-tile--feature {
    position: relative;
}
html.mxm-weekend .mxm-launcher-featured .mxm-launcher-tile--feature::after {
    content: '';
    position: absolute;
    inset: -2px;
    border-radius: 18px;          /* tile 16px + 2px outset */
    box-shadow:
        0 0 0 1.5px rgba(255, 47, 56, 0.85),   /* thin bright ring */
        0 0 14px 1px rgba(255, 47, 56, 0.40);  /* soft outer glow */
    animation: mxmWkndTilePulse 3.6s ease-in-out infinite;   /* slow pulse */
    pointer-events: none;
}
@keyframes mxmWkndTilePulse {
    0%, 100% { opacity: 0.30; }
    50%      { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    html.mxm-weekend .mxm-launcher-featured .mxm-launcher-tile--feature::after { animation: none; }
}

/* ── Outgoing message bubbles (/messages): the bubble colour is an INLINE
      per-conversation style, so no palette var can reach it — force the weekend
      gradient. Selector mirrors the shipped glassy rule (`outgoing` sits on an
      ANCESTOR; PHP and node templates place it on different elements). ── */
html.mxm-weekend .tag_messages .messages-container .outgoing .message-text:not(.tag_reply_msg_text) {
    background: linear-gradient(135deg, #ff2f38 0%, #ff6b7c 100%) !important;
    box-shadow: 0 4px 14px rgba(255, 47, 56, 0.20), inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
}

/* ── Messages composer / send / attach bar: the conversation-colour JS in
      messages/content.phtml paints these with INLINE styles (data.color, or the
      literal vendor blue from btn_background_color) every time a chat opens —
      so the palette vars never reach them. !important wins over inline. ── */
html.mxm-weekend .tag_msg_write .message-option-btn,
html.mxm-weekend .tag_msg_write .tag_msg_select_clr {
    color: #cc2b32 !important;             /* vendor #2b32cc rotated */
}
html.mxm-weekend .tag_messages .send-button,
html.mxm-weekend .text-sender-container .send-button {
    background: linear-gradient(135deg, #ff2f38 0%, #ff7c5c 100%) !important;
    background-color: #ff2f38 !important;  /* fallback if the gradient is ever overridden */
    color: #fff !important;
}
html.mxm-weekend .text-sender-container .red-list {
    background: #ff2f38 !important;
}

/* ── Launcher greeting swap: "Good evening, X" → "Have fun this weekend, X".
      Both spans are server-rendered (weekend state is client-side); the weekend
      span ships inline-hidden, so !important is needed to reveal it. ── */
html.mxm-weekend .mxm-launcher-greet-std { display: none; }
html.mxm-weekend .mxm-launcher-greet-wknd { display: inline !important; }

/* ── Welcome-screen title swap: "Welcome back." → "It's the weekend. ;)"
      (the h2.tag_wel_title on the login screen, content-startup.phtml). Weekend
      span ships inline-hidden, so the reveal needs !important. Inherits the
      title's size; goes crimson with a soft glow pulse. ── */
html.mxm-weekend .mxm-wel-title-std { display: none; }
html.mxm-weekend .mxm-wel-title-wknd {
    display: inline !important;
    /* White against the red weekend wash — holds in BOTH day and night mode
       (the crimson glow supplies the weekend accent instead of the fill). */
    color: #fff;
    text-shadow: 0 0 24px rgba(255, 47, 56, 0.65), 0 1px 2px rgba(0, 0, 0, 0.25);
    animation: mxmWkndWink 4s ease-in-out infinite;
}
html.mxm-weekend body.mxm-glassy-dark .mxm-wel-title-wknd {
    text-shadow: 0 0 28px rgba(255, 47, 56, 0.85), 0 1px 2px rgba(0, 0, 0, 0.45);
}
@keyframes mxmWkndWink {
    0%, 100% { opacity: 0.78; }
    50%      { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    html.mxm-weekend .mxm-wel-title-wknd { animation: none; }
}
