/* Mountain Vortex — site stylesheet.
   Extracted from the page <helmet> so the HTML stays small and this file can be cached.
   A few critical rules (resets + hiding raw template blocks) stay inline in the page. */

  * { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; }
  body { background: #eef1fb; }
  .mv-root{
    --bg-grad: radial-gradient(55% 45% at 12% 8%, rgba(120,160,255,.30), transparent 62%), radial-gradient(50% 42% at 88% 14%, rgba(255,168,192,.26), transparent 62%), radial-gradient(55% 50% at 78% 92%, rgba(140,232,206,.26), transparent 60%), linear-gradient(160deg,#eef1fb 0%,#f5eef8 52%,#e9f8f3 100%);
    --surface: rgba(255,255,255,.55);
    --surface-strong: rgba(255,255,255,.70);
    --header-solid: #ffffff;
    --border: rgba(255,255,255,.65);
    --divider: rgba(30,41,59,.09);
    --chip: rgba(255,255,255,.42);
    --accent-soft: rgba(20,120,184,.10);
    --icon-hover: #4a9fd4;
    --accent-border: rgba(20,120,184,.35);
    --photo: linear-gradient(135deg, rgba(120,160,255,.20), rgba(255,168,192,.18));
    --card-shadow: 0 14px 40px -18px rgba(40,52,84,.35);
    --text: #1b2432;
    --muted: #5a6675;
    --sheet: #eef1f8;
    --footer-grad: radial-gradient(130% 105% at 86% -18%, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 50%), linear-gradient(158deg,#1478b8 0%,#0f5f92 55%,#0b4a72 100%);
  }
  .mv-root[data-theme="dark"]{
    --bg-grad: radial-gradient(55% 45% at 12% 8%, rgba(96,126,224,.24), transparent 62%), radial-gradient(50% 42% at 88% 14%, rgba(190,96,148,.20), transparent 62%), radial-gradient(55% 50% at 78% 92%, rgba(64,158,158,.18), transparent 60%), linear-gradient(160deg,#0f1220 0%,#141327 55%,#0e1a22 100%);
    --surface: rgba(32,38,58,.55);
    --surface-strong: rgba(18,22,36,.72);
    --header-solid: #121624;
    --border: rgba(255,255,255,.10);
    --divider: rgba(255,255,255,.09);
    --chip: rgba(255,255,255,.06);
    --accent-soft: rgba(80,170,235,.16);
    --icon-hover: #1478b8;
    --accent-border: rgba(80,170,235,.30);
    --photo: linear-gradient(135deg, rgba(96,126,224,.26), rgba(190,96,148,.22));
    --card-shadow: 0 16px 44px -18px rgba(0,0,0,.6);
    --text: #e7ecf4;
    --muted: #9aa6b7;
    --sheet: #161a26;
    --footer-grad: radial-gradient(130% 105% at 86% -18%, rgba(255,255,255,.05) 0%, rgba(255,255,255,0) 50%), linear-gradient(158deg,#0e405f 0%,#0a3049 55%,#071f30 100%);
  }
  a { color: #1478b8; text-decoration: none; transition: color .15s ease; }
  a:hover { color: #0f5f93; }
  a:active { color: #0a4870; }
  a:focus-visible { outline: 2px solid #1478b8; outline-offset: 2px; border-radius: 3px; }
  ::selection { background: #cfeafb; }
  input, textarea, button { font-family: inherit; }
  button { transition: filter .15s ease, transform .08s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease; }
  button:hover { filter: brightness(1.06); }
  button:active { transform: translateY(1px); filter: brightness(.96); }
  button:focus-visible { outline: 2px solid #1478b8; outline-offset: 2px; }
  select, input, textarea { transition: border-color .15s ease, box-shadow .15s ease; border-color: #cbd2da !important; }
  select:hover { border-color: #1478b8 !important; }
  input:focus, textarea:focus, select:focus { border-color: #1478b8 !important; box-shadow: 0 0 0 3px rgba(20,120,184,.18); }
  a:focus-visible, button:focus-visible, select:focus-visible, [role="button"]:focus-visible, .mv-adnav-item:focus-visible { outline: 2px solid #1478b8; outline-offset: 2px; border-radius: 4px; }
  @keyframes mvpulse { 0%,100% { opacity: 1; } 50% { opacity: .35; } }
  @keyframes mv-drawerin { from{transform:translateX(-100%)} to{transform:translateX(0)} }
  @keyframes mv-drawerout { from{transform:translateX(0)} to{transform:translateX(-100%)} }
  @keyframes mv-fadein { from{opacity:0} to{opacity:1} }
  @keyframes mv-fadeout { from{opacity:1} to{opacity:0} }
  .mv-drawer-panel { animation:mv-drawerin .3s cubic-bezier(.4,0,.2,1) both; }
  .mv-drawer-panel.mv-closing { animation:mv-drawerout .27s ease forwards; }
  .mv-drawer-bd { animation:mv-fadein .25s ease both; }
  .mv-drawer-bd.mv-closing { animation:mv-fadeout .27s ease forwards; }
  /* animated stat-card icons (lucide) — animate on card hover, like animate-ui */
  .mv-stat-icon svg { overflow: visible; }
  @keyframes mv-cablecar { 0%{transform:translateX(0) rotate(0)} 25%{transform:translateX(-1.2px) rotate(-4deg)} 75%{transform:translateX(1.2px) rotate(4deg)} 100%{transform:translateX(0) rotate(0)} }
  @keyframes mv-flagwave { 0%,100%{transform:scaleY(1) skewX(0)} 30%{transform:scaleY(.94) skewX(-6deg)} 70%{transform:scaleY(1.03) skewX(6deg)} }
  @keyframes mv-sunspin { from{transform:rotate(0)} to{transform:rotate(360deg)} }
  @keyframes mv-sunpulse { 0%,100%{transform:scale(1)} 50%{transform:scale(1.14)} }
  @keyframes mv-alertshake { 0%,100%{transform:translateX(0)} 20%{transform:translateX(-2px)} 40%{transform:translateX(2px)} 60%{transform:translateX(-1.5px)} 80%{transform:translateX(1.5px)} }
  @keyframes mv-alertblink { 0%,45%,100%{opacity:1} 55%,80%{opacity:.15} }
  .mv-piste-link { transition: transform .25s cubic-bezier(.34,1.56,.64,1), box-shadow .25s ease; }
  .mv-piste-link:hover { transform: translateY(-3px); box-shadow: 0 16px 40px -14px rgba(20,120,184,.8) !important; }
  .mv-piste-link:hover .mv-piste-arrow { transform: translateX(5px); }
  .mv-statcard:hover .mv-i-cablecar > g { animation: mv-cablecar .9s ease-in-out; transform-origin:12px 8px; }
  .mv-statcard:hover .mv-i-flag .mv-flag-cloth { animation: mv-flagwave .9s ease-in-out; transform-origin:4px 4px; }
  .mv-statcard:hover .mv-i-sun .mv-sun-rays { animation: mv-sunspin 2.4s linear; transform-origin:12px 12px; }
  .mv-statcard:hover .mv-i-sun .mv-sun-core { animation: mv-sunpulse 1.1s ease-in-out; transform-origin:12px 12px; }
  .mv-statcard:hover .mv-i-alert { animation: mv-alertshake .55s ease-in-out; transform-origin:12px 12px; }
  .mv-statcard:hover .mv-i-alert .mv-alert-mark { animation: mv-alertblink 1s ease-in-out; }
  @keyframes mv-chatpop { 0%{transform:scale(1)} 30%{transform:scale(1.15) rotate(-6deg)} 60%{transform:scale(.96) rotate(4deg)} 100%{transform:scale(1) rotate(0)} }
  @keyframes mv-chatdot { 0%,100%{opacity:.25;transform:translateY(0)} 50%{opacity:1;transform:translateY(-1.5px)} }
  .mv-chatbtn .mv-i-chat { transition: transform .2s ease; }
  .mv-chatbtn:hover .mv-i-chat { animation: mv-chatpop .55s ease-in-out; transform-origin:12px 12px; }
  .mv-chatbtn:hover .mv-chat-d1 { animation: mv-chatdot .9s ease-in-out infinite; }
  .mv-chatbtn:hover .mv-chat-d2 { animation: mv-chatdot .9s ease-in-out .15s infinite; }
  .mv-chatbtn:hover .mv-chat-d3 { animation: mv-chatdot .9s ease-in-out .3s infinite; }
  @keyframes mv-logout { 0%{transform:translateX(0);opacity:1} 40%{transform:translateX(5px);opacity:0} 41%{transform:translateX(-6px);opacity:0} 100%{transform:translateX(0);opacity:1} }
  .mv-flag-btn span{ transition:transform .18s ease, box-shadow .18s ease; }
  .mv-flag-btn:hover span, .mv-flag-btn:focus-visible span{ transform:scale(1.06); box-shadow:0 0 0 2px rgba(255,255,255,.6); }
  .mv-crumb-back svg, .mv-crumb-back-lt svg{ transition: transform .22s cubic-bezier(.34,1.56,.64,1); }
  .mv-crumb-back-lt:hover{ border-color:#1478b8 !important; color:#1478b8 !important; }
  .mv-crumb-back-lt:hover svg{ transform: translateX(-3px); }
  .mv-crumb-back-lt:active svg{ transform: translateX(-5px) scale(.9); }
  .mv-crumb-back:hover{ background:rgba(255,255,255,.16) !important; border-color:rgba(255,255,255,.5) !important; }
  .mv-crumb-back:hover svg{ transform: translateX(-3px); }
  .mv-crumb-back:active svg{ transform: translateX(-5px) scale(.9); }
  .mv-logout-btn .mv-logout-arrow { transition: transform .18s ease; }
  .mv-logout-btn:hover .mv-logout-arrow, .mv-logout-btn:active .mv-logout-arrow { animation: mv-logout .55s ease-in-out; }
  .mv-logout-btn:hover { border-color:#e5342b; color:#e5342b; }
  @keyframes mv-bellring { 0%{transform:rotate(0)} 10%{transform:rotate(-11deg)} 20%{transform:rotate(11deg)} 30%{transform:rotate(-9deg)} 40%{transform:rotate(9deg)} 50%{transform:rotate(-7deg)} 60%{transform:rotate(7deg)} 70%{transform:rotate(-4deg)} 80%{transform:rotate(4deg)} 90%{transform:rotate(-2deg)} 100%{transform:rotate(0)} }
  .mv-bell-btn .mv-i-bell { transform-origin:12px 2px; }
  .mv-vortex-swirl{ transform-origin:189px 188px; transform-box:view-box; }
  .mv-bell-btn:hover .mv-i-bell, .mv-bell-btn:active .mv-i-bell { animation: mv-bellring 1s ease-in-out; }
  .mv-bell-live .mv-i-bell { animation: mv-bellring 1.8s ease-in-out infinite; }
  .mv-adnav-item svg { overflow:visible; transform-origin:center; transition:transform .15s ease; }
  .mv-adnav-item:active svg { transform:scale(.86); }
  .mv-ic-members .mv-user2 { transform-origin:center; }
  .mv-adnav-item:hover .mv-ic-members .mv-user2, .mv-adnav-item:active .mv-ic-members .mv-user2 { animation: mv-user2in .55s ease-out; }
  @keyframes mv-user2in { 0%{transform:translateX(-5px);opacity:0} 60%{opacity:1} 100%{transform:translateX(0);opacity:1} }
  .mv-ic-content .mv-line1, .mv-ic-content .mv-line2 { transform-origin:left center; }
  .mv-adnav-item:hover .mv-ic-content .mv-line1, .mv-adnav-item:active .mv-ic-content .mv-line1 { animation: mv-linewipe .5s ease-out; }
  .mv-adnav-item:hover .mv-ic-content .mv-line2, .mv-adnav-item:active .mv-ic-content .mv-line2 { animation: mv-linewipe .5s ease-out .12s both; }
  @keyframes mv-linewipe { 0%{transform:scaleX(0)} 100%{transform:scaleX(1)} }
  .mv-adnav-item:hover .mv-ic-resorts, .mv-adnav-item:active .mv-ic-resorts { animation: mv-bounceY .6s ease; }
  .mv-adnav-item:hover .mv-ic-home, .mv-adnav-item:active .mv-ic-home { animation: mv-bounceY .6s ease; }
  @keyframes mv-bounceY { 0%,100%{transform:translateY(0)} 30%{transform:translateY(-3px)} 55%{transform:translateY(1px)} 75%{transform:translateY(-1px)} }
  .mv-adnav-item:hover .mv-ic-pages, .mv-adnav-item:active .mv-ic-pages { animation: mv-flip .6s ease; }
  @keyframes mv-flip { 0%{transform:perspective(90px) rotateY(0)} 50%{transform:perspective(90px) rotateY(-42deg)} 100%{transform:perspective(90px) rotateY(0)} }
  .mv-adnav-item:hover .mv-ic-reviews, .mv-adnav-item:active .mv-ic-reviews { animation: mv-starspin .6s cubic-bezier(.34,1.56,.64,1); }
  @keyframes mv-starspin { 0%{transform:rotate(0) scale(1)} 55%{transform:rotate(72deg) scale(1.22)} 100%{transform:rotate(72deg) scale(1)} }
  .mv-ic-log .mv-hand { transform-origin:12px 12px; }
  .mv-adnav-item:hover .mv-ic-log .mv-hand, .mv-adnav-item:active .mv-ic-log .mv-hand { animation: mv-sweep .75s ease-in-out; }
  @keyframes mv-sweep { 0%{transform:rotate(0)} 100%{transform:rotate(360deg)} }
  .mv-star-pop{ transform-origin:center; animation: mv-starpop .5s cubic-bezier(.34,1.56,.64,1) both, mv-starshine 1s ease-out both; }
  .mv-star-pop:nth-child(1){ animation-delay:.04s, .34s; }
  .mv-star-pop:nth-child(2){ animation-delay:.12s, .42s; }
  .mv-star-pop:nth-child(3){ animation-delay:.2s, .5s; }
  .mv-star-pop:nth-child(4){ animation-delay:.28s, .58s; }
  .mv-star-pop:nth-child(5){ animation-delay:.36s, .66s; }
  @keyframes mv-starpop{ 0%{transform:scale(.2) rotate(-40deg);opacity:0} 60%{transform:scale(1.22) rotate(8deg);opacity:1} 100%{transform:scale(1) rotate(0);opacity:1} }
  @keyframes mv-starshine{ 0%{filter:none} 30%{filter:brightness(1.7) drop-shadow(0 0 5px rgba(240,180,41,.85))} 100%{filter:none} }
  @media (prefers-reduced-motion: reduce){ .mv-star-pop{ animation:none !important; } }
  .mv-adnav-item:hover .mv-ic-perms, .mv-adnav-item:active .mv-ic-perms { animation: mv-shieldpulse .55s ease; }
  .mv-ic-trash .mv-trash-lid { transform-origin:12px 6px; }
  .mv-adnav-item:hover .mv-ic-trash .mv-trash-lid, .mv-adnav-item:active .mv-ic-trash .mv-trash-lid { animation: mv-lidlift .6s ease-in-out; }
  .mv-adnav-item:hover .mv-ic-ads, .mv-adnav-item:active .mv-ic-ads { animation: mv-shout .65s ease-in-out; }
  @keyframes mv-shout { 0%,100%{transform:rotate(0) translateX(0)} 25%{transform:rotate(-11deg) translateX(-1px)} 55%{transform:rotate(7deg) translateX(1px)} 80%{transform:rotate(-3deg)} }
  .mv-ic-brand .mv-brand-sun { transform-origin:8.5px 8.5px; }
  .mv-ic-brand .mv-brand-peak { transform-origin:center bottom; }
  .mv-adnav-item:hover .mv-ic-brand .mv-brand-sun, .mv-adnav-item:active .mv-ic-brand .mv-brand-sun { animation: mv-sunpop .55s cubic-bezier(.34,1.56,.64,1); }
  .mv-adnav-item:hover .mv-ic-brand .mv-brand-peak, .mv-adnav-item:active .mv-ic-brand .mv-brand-peak { animation: mv-peakrise .55s ease-out; }
  @keyframes mv-sunpop { 0%{transform:scale(1)} 45%{transform:scale(1.65)} 100%{transform:scale(1)} }
  @keyframes mv-peakrise { 0%{transform:translateY(3px);opacity:.35} 100%{transform:translateY(0);opacity:1} }
  @keyframes mv-shieldpulse { 0%,100%{transform:scale(1)} 45%{transform:scale(1.15)} }
  @keyframes mv-themein { 0%{transform:rotate(-120deg) scale(.3);opacity:0} 60%{transform:rotate(10deg) scale(1.08);opacity:1} 100%{transform:rotate(0) scale(1);opacity:1} }
  .mv-theme-btn svg, .mv-theme-menu-ico svg { transform-origin:center; animation: mv-themein .5s cubic-bezier(.34,1.56,.64,1); }
  @keyframes mv-pencil { 0%,100%{transform:rotate(0) translate(0,0)} 25%{transform:rotate(-9deg) translate(-1px,1px)} 50%{transform:rotate(5deg) translate(1px,-1px)} 75%{transform:rotate(-3deg) translate(0,.5px)} }
  .mv-editbtn .mv-i-edit { transition: transform .18s ease; transform-origin:center; overflow:visible; }
  .mv-editbtn:hover .mv-i-edit, .mv-editbtn:active .mv-i-edit { animation: mv-pencil .6s ease-in-out; }
  @keyframes mv-lidlift { 0%,100%{transform:translateY(0) rotate(0)} 35%{transform:translateY(-2.5px) rotate(-18deg)} 70%{transform:translateY(-1px) rotate(-6deg)} }
  .mv-i-trash { overflow:visible; }
  .mv-msg-acts{ flex-wrap:wrap; justify-content:flex-end; row-gap:6px; }
  .mv-delbtn .mv-trash-lid { transition: transform .18s ease; transform-origin:12px 6px; }
  .mv-delbtn:hover .mv-trash-lid, .mv-delbtn:active .mv-trash-lid { animation: mv-lidlift .6s ease-in-out; }
  @keyframes mv-lidon { 0%{transform:translateY(-8px) rotate(-38deg)} 55%{transform:translateY(0) rotate(0)} 72%{transform:translateY(-2.5px) rotate(-8deg)} 88%{transform:translateY(0) rotate(0)} 100%{transform:translateY(0) rotate(0)} }
  .mv-binbtn .mv-trash-lid { transform-origin:20px 6px; transition: transform .2s ease; }
  .mv-binbtn:hover .mv-trash-lid, .mv-binbtn:active .mv-trash-lid { animation: mv-lidon .55s cubic-bezier(.34,1.4,.64,1); }
  .mv-frow { transition: background .18s ease; }
  .mv-frow:hover, .mv-frow:active { background: var(--chip); }
  .mv-frow .mv-fico { transition: transform .2s ease; transform-origin:center; overflow:visible; }
  .mv-frow:hover .mv-fico-chat, .mv-frow:active .mv-fico-chat { animation: mv-chatpop .55s ease-in-out; }
  .mv-frow:hover .mv-fico-mega, .mv-frow:active .mv-fico-mega { animation: mv-ficomega .7s ease-in-out; transform-origin:6px 12px; }
  @keyframes mv-ficomega { 0%,100%{transform:rotate(0) scale(1)} 20%{transform:rotate(-12deg) scale(1.05)} 45%{transform:rotate(-4deg)} 65%{transform:rotate(-9deg) scale(1.04)} 85%{transform:rotate(-2deg)} }
  .mv-frow:hover .mv-fico-mountain, .mv-frow:active .mv-fico-mountain { animation: mv-bounceY .6s ease; }
  .mv-frow:hover .mv-fico-ski, .mv-frow:active .mv-fico-ski { animation: mv-ficoglide .6s ease-in-out; }
  .mv-frow:hover .mv-fico-board, .mv-frow:active .mv-fico-board { animation: mv-ficoboard .6s ease-in-out; }
  @keyframes mv-ficoglide { 0%,100%{transform:translate(0,0)} 40%{transform:translate(2.5px,-2px)} 70%{transform:translate(-1.5px,1px)} }
  @keyframes mv-ficoboard { 0%,100%{transform:rotate(0)} 30%{transform:rotate(-16deg)} 65%{transform:rotate(10deg)} }
  .mv-frow:hover .mv-fico-snow, .mv-frow:active .mv-fico-snow { animation: mv-sweep .8s ease-in-out; }
  .mv-frow:hover .mv-fico-compass, .mv-frow:active .mv-fico-compass { animation: mv-ficowig .6s ease-in-out; }
  .mv-frow:hover .mv-fico-wind, .mv-frow:active .mv-fico-wind { animation: mv-ficox .6s ease-in-out; }
  .mv-frow:hover .mv-fico-shield, .mv-frow:active .mv-fico-shield { animation: mv-shieldpulse .55s ease; }
  .mv-frow:hover .mv-fico-eye, .mv-frow:active .mv-fico-eye { animation: mv-ficoblink .7s ease-in-out; }
  .mv-frow:hover .mv-fico-cap, .mv-frow:active .mv-fico-cap { animation: mv-ficowig .6s ease-in-out; }
  .mv-frow:hover .mv-fico-pin, .mv-frow:active .mv-fico-pin { animation: mv-bounceY .6s ease; }
  .mv-frow:hover .mv-fico-music, .mv-frow:active .mv-fico-music { animation: mv-ficonote .6s ease-in-out; }
  .mv-frow:hover .mv-fico-gem, .mv-frow:active .mv-fico-gem { animation: mv-ficogem .7s cubic-bezier(.34,1.56,.64,1); }
  @keyframes mv-ficowig { 0%,100%{transform:rotate(0)} 30%{transform:rotate(-14deg)} 65%{transform:rotate(10deg)} }
  @keyframes mv-ficox { 0%,100%{transform:translateX(0)} 40%{transform:translateX(2px)} 70%{transform:translateX(-1.5px)} }
  @keyframes mv-ficoblink { 0%,100%{transform:scaleY(1)} 45%{transform:scaleY(.15)} 60%{transform:scaleY(1)} }
  @keyframes mv-ficonote { 0%,100%{transform:translateY(0) rotate(0)} 35%{transform:translateY(-3px) rotate(-8deg)} 70%{transform:translateY(0) rotate(4deg)} }
  @keyframes mv-ficogem { 0%{transform:rotate(0) scale(1)} 50%{transform:rotate(18deg) scale(1.18)} 100%{transform:rotate(0) scale(1)} }
  .mv-root button { transition: filter .15s ease, box-shadow .15s ease, transform .08s ease; }
  .mv-root button:hover { filter: brightness(1.06); box-shadow: 0 3px 12px rgba(0,0,0,.16); }
  .mv-root button:active { transform: translateY(1px) scale(.985); filter: brightness(.93); box-shadow: none; }
  .mv-root a { transition: opacity .15s ease, color .15s ease; }
  .mv-root a:hover { opacity: .72; text-decoration: underline; text-underline-offset: 2px; }
  .mv-root a:active { opacity: .5; }
  .mv-root button, .mv-glow { position: relative; }
  .mv-root button::after, .mv-glow::after {
    content:""; position:absolute; inset:0; border-radius:inherit; padding:1.5px;
    background: radial-gradient(150px circle at var(--gx,-200px) var(--gy,-200px), rgba(90,170,255,.95), rgba(120,150,255,.35) 42%, transparent 66%);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor; mask-composite: exclude;
    opacity:0; transition:opacity .28s ease; pointer-events:none; z-index:3;
  }
  .mv-root button:hover::after, .mv-glow:hover::after { opacity:1; }
  .mv-header{ background:var(--header-solid); border-bottom:1px solid var(--border); transition:background .28s ease, backdrop-filter .28s ease, -webkit-backdrop-filter .28s ease; }
  .mv-header.mv-scrolled{ background:var(--surface-strong); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); }
  @media (max-width:640px){
    .mv-rf-country{ width:100%; }
    .mv-rf-country select{ flex:1 1 auto; min-width:0; width:100%; }
    .mv-rf-picker{ flex:1 1 auto; min-width:0 !important; width:100%; }
    .mv-rf-sort{ margin-left:0 !important; width:100%; flex-wrap:nowrap !important; gap:5px !important; }
    .mv-rf-sort > button{ flex:1 1 0 !important; min-width:0 !important; padding:8px 4px !important; font-size:12px !important; text-align:center; white-space:nowrap; }
    .mv-rf-lbl{ display:none; }
  }
  /* Roles with a single admin section (e.g. Ski Patrol) get no side nav at all. */
  .mv-admin-solo.mv-admin-grid{ grid-template-columns:1fr !important; }
  .mv-admin-solo .mv-admin-nav{ display:none !important; }
  .mv-admin-solo.mv-admin-mobar{ display:none !important; }
  @media (max-width: 900px){
    .mv-admin-solo.mv-admin-mobar{ display:none !important; }
  }
  .mv-perm-short{ display:none; }
  .mv-typebtn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; }
  .mv-i-star{ transform-origin:50% 55%; transition:transform .2s ease; }
  .mv-typebtn-review:hover .mv-i-star{ animation: mv-star-pulse 1s ease-in-out infinite; }
  .mv-typebtn-review:active .mv-i-star{ animation: mv-star-pop .45s cubic-bezier(.2,.7,.3,1); }
  @keyframes mv-star-pulse{
    0%,100%{ transform:scale(1) rotate(0deg); }
    45%{ transform:scale(1.18) rotate(14deg); }
  }
  @keyframes mv-star-pop{
    0%{ transform:scale(1) rotate(0deg); }
    40%{ transform:scale(1.45) rotate(72deg); }
    100%{ transform:scale(1) rotate(0deg); }
  }
  .mv-i-article{ transform-origin:50% 60%; transition:transform .2s ease; }
  .mv-typebtn-blog:hover .mv-i-article{ transform:translateY(-2px) rotate(-4deg); }
  .mv-typebtn-blog:active .mv-i-article{ transform:scale(.9) rotate(3deg); }
  .mv-wrench{ transform-origin:70% 30%; transition:transform .22s ease; }
  .mv-maintbtn:hover .mv-wrench{ animation: mv-spanner 1.1s ease-in-out infinite; }
  .mv-maintbtn:active .mv-wrench{ animation: mv-spanner-turn .45s cubic-bezier(.2,.7,.3,1); }
  @keyframes mv-spanner{
    0%,100%{ transform:rotate(0deg); }
    35%{ transform:rotate(-24deg); }
    70%{ transform:rotate(10deg); }
  }
  @keyframes mv-spanner-turn{
    0%{ transform:rotate(0deg) scale(1); }
    45%{ transform:rotate(-70deg) scale(1.12); }
    100%{ transform:rotate(0deg) scale(1); }
  }
  .mv-flame{ transform-origin:50% 88%; transition:transform .2s ease, color .2s ease; }
  .mv-smokebtn:hover .mv-flame{ color:#ed6e5c; animation: mv-flicker 1s ease-in-out infinite; }
  .mv-smokebtn:active .mv-flame{ color:#f5a623; animation: mv-flare .4s cubic-bezier(.2,.7,.3,1); }
  @keyframes mv-flicker{
    0%,100%{ transform:scale(1) rotate(0deg); }
    22%{ transform:scale(1.1,1.2) rotate(-4deg); }
    48%{ transform:scale(.94,1.06) rotate(3deg); }
    72%{ transform:scale(1.07,1.15) rotate(-2deg); }
  }
  @keyframes mv-flare{
    0%{ transform:scale(1); }
    35%{ transform:scale(1.4,1.65) rotate(-3deg); }
    65%{ transform:scale(.92,.95) rotate(2deg); }
    100%{ transform:scale(1); }
  }
  .mv-pola{ transition: transform .18s ease, z-index .18s; }
  .mv-pola:hover{ transform: rotate(0deg) scale(1.08) !important; z-index:5; position:relative; }
  /* Polaroid columns stack below the prose well before the text column gets narrow. */
  @media (max-width:1100px){
    .mv-about-card{ display:flex !important; flex-direction:column; }
    .mv-postbody{ display:flex !important; flex-direction:column; }
    .mv-pola-float{ float:none !important; width:auto !important; margin:22px 0 0 !important; order:2; display:flex; flex-wrap:wrap; justify-content:center; }
    /* a single photo reads as the lead image, so it stays above the copy */
    .mv-pola-lead{ order:0 !important; margin:0 0 24px !important; }
  }
  @media (max-width:720px){
    .mv-about-card{ display:flex !important; flex-direction:column; }
    .mv-pola-float{ float:none !important; width:auto !important; margin:20px 0 0 !important; order:2; }
    .mv-pola{ width:82% !important; max-width:360px; margin:10px auto !important; }
  }
  @media (max-width:640px){
    .mv-permtable{ padding:8px 12px 4px !important; }
    .mv-permrow{ gap:8px !important; min-width:0 !important; }
    .mv-permcap{ position:sticky; left:0; z-index:2; background:var(--surface); padding-right:8px; font-size:13px !important; min-width:118px; }
    .mv-permcell{ width:52px !important; font-size:14px !important; }
    .mv-perm-full{ display:none; }
    .mv-perm-short{ display:inline; font-size:10.5px; }
  }
  .mv-ad ins { background: transparent; }
  .mv-frow{ display:grid; grid-template-columns:40px 1fr 220px; grid-template-areas:"icon title last" "icon body last"; column-gap:16px; row-gap:2px; align-items:start; }
  .mv-frow-icon{ grid-area:icon; }
  .mv-frow-title{ grid-area:title; }
  .mv-frow-body{ grid-area:body; }
  .mv-frow-icon{ transition:background .25s ease, box-shadow .25s ease; }
  .mv-frow:hover .mv-frow-icon{ background:var(--icon-hover) !important; box-shadow:0 0 0 4px rgba(20,120,184,.14), 0 0 14px rgba(20,120,184,.32); }
  .mv-frow:hover .mv-frow-icon svg{ stroke:#fff; color:#fff; }
  .mv-frow:hover .mv-frow-icon .mv-fico-solid{ fill:#fff !important; }
  .mv-frow .mv-frow-last{ grid-area:last; }
  .mv-modtools{ width:calc(100% + 62px); margin-left:-62px; box-sizing:border-box; }
  .mv-modtools > button{ flex:0 0 auto; }
  .mv-modtools > button svg{ transition:transform .25s cubic-bezier(.34,1.56,.64,1); }
  .mv-modtools > button:hover svg{ transform:scale(1.2) rotate(-8deg); }
  .mv-modtools > button:active svg{ transform:scale(.85) rotate(-8deg); }
  .mv-lockshackle{ transition:transform .35s ease; transform-origin:17px 11px; transform:rotate(28deg); }
  .mv-lockbtn:hover .mv-lockshackle, .mv-lockbtn:focus-visible .mv-lockshackle, .mv-lockbtn:active .mv-lockshackle{ transform:rotate(0deg); }
  .mv-lockbtn2 .mv-lock-sh{ transition:transform .35s ease; transform-origin:17px 11px; }
  .mv-lock-open .mv-lock-sh{ transform:rotate(28deg); }
  .mv-lock-open:hover .mv-lock-sh, .mv-lock-open:focus-visible .mv-lock-sh, .mv-lock-open:active .mv-lock-sh{ transform:rotate(0deg); }
  .mv-lock-shut .mv-lock-sh{ transform:rotate(0deg); }
  .mv-lock-shut:hover .mv-lock-sh, .mv-lock-shut:focus-visible .mv-lock-sh, .mv-lock-shut:active .mv-lock-sh{ transform:rotate(28deg); }
  @keyframes mv-pinwiggle { 0%{transform:rotate(0)} 25%{transform:rotate(-22deg)} 50%{transform:rotate(14deg)} 70%{transform:rotate(-8deg)} 85%{transform:rotate(4deg)} 100%{transform:rotate(0)} }
  .mv-readchev svg{ transition:transform .25s cubic-bezier(.34,1.56,.64,1); }
  .mv-glow:hover .mv-readchev svg{ transform:translateX(4px); }
  .mv-adnav-desc{ display:grid; grid-template-rows:0fr; opacity:0; margin-top:0; transform:translateY(-2px); overflow:hidden; transition:grid-template-rows .34s cubic-bezier(.4,0,.2,1), opacity .28s ease .04s, transform .34s cubic-bezier(.4,0,.2,1), margin-top .34s cubic-bezier(.4,0,.2,1); }
  .mv-adnav-desc > *{ min-height:0; }
  .mv-adnav-item:focus-visible .mv-adnav-desc{ grid-template-rows:1fr; opacity:1; margin-top:2px; transform:translateY(0); }
  @media (max-width:1024px){ .mv-adnav-desc{ grid-template-rows:1fr !important; opacity:1 !important; margin-top:2px !important; transform:none !important; } }
  .mv-frow-icon.mv-unread{ background:var(--icon-hover) !important; }
  .mv-frow-icon.mv-unread svg{ stroke:#fff; color:#fff; }
  .mv-frow-icon.mv-unread .mv-fico-solid{ fill:#fff !important; }
  .mv-frow:hover .mv-frow-icon.mv-unread, .mv-frow:active .mv-frow-icon.mv-unread{ background:#0f5c8f !important; box-shadow:0 0 0 4px rgba(20,120,184,.18), 0 0 14px rgba(20,120,184,.36); }
  @keyframes mv-warn-swing { 0%,72%,100%{transform:rotate(0);} 78%{transform:rotate(-7deg);} 84%{transform:rotate(6deg);} 90%{transform:rotate(-3deg);} 95%{transform:rotate(1deg);} }
  @keyframes mv-warn-blink { 0%,70%,100%{opacity:1;} 80%{opacity:.15;} 88%{opacity:1;} }
  .mv-warnwrap svg{ transform-origin:12px 20px; animation:mv-warn-swing 3s ease-in-out infinite; }
  .mv-warn-stem, .mv-warn-dot{ animation:mv-warn-blink 3s ease-in-out infinite; }

  .mv-pinbtn svg{ transition:transform .28s cubic-bezier(.34,1.56,.64,1); transform-origin:12px 17px; }
  .mv-pinbtn:hover svg, .mv-pinbtn:focus-visible svg{ animation:mv-pinwiggle .6s ease-in-out; }
  .mv-qbtn .mv-ic, .mv-ebtn .mv-ic, .mv-sbtn .mv-ic{ transition:transform .28s cubic-bezier(.34,1.56,.64,1); }
  .mv-qbtn:hover .mv-ic, .mv-qbtn:focus-visible .mv-ic{ transform:translateY(-2px) scale(1.14); }
  .mv-qbtn:active .mv-ic{ transform:translateY(0) scale(.9); }
  @keyframes mv-penmove { 0%{transform:translateX(-3px) translateY(2px)} 100%{transform:translateX(2px) translateY(-1px)} }
  @keyframes mv-penline { 0%{stroke-dashoffset:12} 100%{stroke-dashoffset:0} }
  .mv-ebtn .mv-ic{ overflow:visible; }
  .mv-ebtn .mv-pen-nib{ transition:transform .3s ease; transform-origin:center; }
  .mv-ebtn .mv-pen-line{ stroke-dasharray:12; }
  .mv-ebtn:hover .mv-pen-nib, .mv-ebtn:focus-visible .mv-pen-nib{ animation:mv-penmove .5s ease-in-out; }
  .mv-ebtn:hover .mv-pen-line, .mv-ebtn:focus-visible .mv-pen-line{ animation:mv-penline .5s ease-in-out; }
  @keyframes mv-snip-a { 0%,100%{transform:rotate(0)} 45%{transform:rotate(11deg)} }
  @keyframes mv-snip-b { 0%,100%{transform:rotate(0)} 45%{transform:rotate(-11deg)} }
  .mv-sbtn .mv-sc-a, .mv-sbtn .mv-sc-b{ transform-origin:9px 12px; }
  .mv-sbtn:hover .mv-sc-a, .mv-sbtn:focus-visible .mv-sc-a{ animation:mv-snip-a .45s ease-in-out 2; }
  .mv-sbtn:hover .mv-sc-b, .mv-sbtn:focus-visible .mv-sc-b{ animation:mv-snip-b .45s ease-in-out 2; }
  .mv-best{ display:grid; grid-template-columns:repeat(6,1fr); gap:20px; }
  @media (max-width:1500px){ .mv-best{ grid-template-columns:repeat(5,1fr); } .mv-best > :nth-child(n+6){ display:none; } }
  @media (max-width:1250px){ .mv-best{ grid-template-columns:repeat(4,1fr); } .mv-best > :nth-child(n+5){ display:none; } }
  @media (max-width:1000px){ .mv-best{ grid-template-columns:repeat(3,1fr); } .mv-best > :nth-child(n+4){ display:none; } }
  @media (max-width:760px){ .mv-best{ grid-template-columns:repeat(2,1fr); } .mv-best > :nth-child(n+3){ display:none; } }
  @media (max-width:560px){ .mv-best{ grid-template-columns:1fr; } .mv-best > :nth-child(n+2){ display:none; } }
  @media (max-width: 900px){
    .mv-prof-feeds{ grid-template-columns:1fr !important; }
    .mv-2col{ grid-template-columns:1fr !important; }
    .mv-forum{ grid-template-columns:1fr !important; }
    .mv-aside{ position:static !important; top:auto !important; }
    .mv-foot{ grid-template-columns:1fr 1fr !important; gap:30px !important; }
    .mv-compose-actions{ flex-direction:column !important; align-items:stretch !important; gap:12px !important; }
    .mv-compose-post{ width:100% !important; text-align:center !important; }
    .mv-compose-cancel{ text-align:center !important; }
    .mv-newtopic{ width:100% !important; }
    .mv-admin-grid{ grid-template-columns:1fr !important; }
    .mv-admin-mobar{ display:flex !important; }
    .mv-admin-nav{ position:fixed !important; top:0 !important; left:0 !important; height:100% !important; width:min(80vw,300px) !important; transform:translateX(-100%); transition:transform .25s ease; z-index:201 !important; overflow-y:auto !important; border-radius:0 16px 16px 0 !important; flex-direction:column !important; }
    .mv-admin-nav.is-open{ transform:translateX(0); }
    .mv-adnav-close{ display:flex !important; }
    .mv-stat-grid{ grid-template-columns:repeat(auto-fit,minmax(92px,1fr)) !important; gap:8px !important; margin-bottom:18px !important; }
    .mv-stat-block{ padding:11px 12px !important; }
    .mv-stat-value{ font-size:21px !important; }
    .mv-stat-lbl{ font-size:10.5px !important; margin-top:5px !important; }
  }
  @media (max-width: 1024px){
    .mv-head{ height:auto !important; max-width:none !important; width:100% !important; padding:10px 16px !important; gap:12px !important; position:relative !important; }
    .mv-nav{ display:none !important; }
    .mv-burger{ display:flex !important; order:1 !important; }
  .mv-head-logo{ order:2 !important; }
    .mv-theme-btn{ display:none !important; }
    .mv-actions{ order:3 !important; margin-left:auto !important; }
    .mv-homebtns > button{ flex:1 1 120px; justify-content:center; padding-left:12px !important; padding-right:12px !important; }
  }
  @media (max-width: 640px){
    .mv-modbar-lbl{ width:100%; }
    .mv-modbar-del{ margin-left:0 !important; }
    .mv-modbar > button, .mv-modbar > sc-if{ flex:1 1 calc(50% - 4px); min-width:0; }
    .mv-modbar button{ width:100%; justify-content:center; white-space:nowrap; }
    .mv-modbar > label, .mv-modbar > span:not(.mv-modbar-lbl){ flex:1 1 100%; }
    .mv-fmtbar{ display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px !important; }
    .mv-fmtbar > button{ width:100%; min-width:0 !important; padding:0 6px !important; }
    .mv-msg{ padding:14px !important; gap:0 !important; display:block !important; }
    .mv-msg-av{ float:left; margin:0 9px 2px 0; display:block !important; }
    .mv-msg-av > div:first-child{ width:26px !important; height:26px !important; font-size:11px !important; }
    .mv-msg-av > div:nth-child(2){ display:none !important; }
    .mv-msg-meta{ flex-wrap:wrap !important; row-gap:8px; column-gap:8px !important; align-items:center !important; min-height:26px; margin:0 -14px 14px 0 !important; padding:0 14px 12px 0; border-bottom:1px solid var(--divider); }
    .mv-msg-acts{ margin-left:0 !important; width:100%; flex-wrap:wrap; gap:6px; justify-content:flex-start; clear:both; padding-left:0; }
    .mv-modtools{ margin-left:0 !important; width:100%; flex-wrap:wrap; gap:6px; justify-content:flex-start; clear:both; }
    .mv-msg-acts button, .mv-modtools button{ flex:0 0 auto !important; width:38px; min-width:38px !important; height:34px; padding:0 !important; gap:0 !important; font-size:0 !important; justify-content:center; }
    .mv-postacts{ width:100%; margin-left:0 !important; justify-content:stretch !important; flex-wrap:nowrap !important; }
    .mv-postacts > *{ flex:1 1 0; min-width:0; }
    .mv-postacts button{ width:100%; justify-content:center; }
    .mv-root [style*="94vw"]{ max-width:100% !important; padding-left:16px !important; padding-right:16px !important; }
    .mv-root main[style*="94vw"]{ padding-top:22px !important; padding-bottom:48px !important; }
    .mv-rhero{ padding:26px 18px 28px !important; }
    .mv-frow{ grid-template-columns:44px 1fr !important; grid-template-areas:"icon title" "body body" "last last" !important; column-gap:12px !important; row-gap:8px !important; }
    .mv-frow-icon{ align-self:center !important; }
    .mv-frow-title{ font-size:18px !important; align-self:center !important; }
    .mv-frow .mv-frow-last{ width:auto !important; padding-left:0 !important; }
    .mv-cat-last{ display:none !important; }
    .mv-cat-chev{ display:flex !important; }
    .mv-reply-btn{ width:100% !important; }
    .mv-replies{ margin-right:0 !important; padding-left:12px !important; }
    .mv-adm2{ grid-template-columns:1fr !important; }
    .mv-lfp > div{ flex-direction:column !important; align-items:flex-start !important; gap:6px !important; }
    .mv-lfp > div > span[style*="margin-left:auto"], .mv-lfp > div > span[style*="margin-left: auto"]{ margin-left:0 !important; }
    .mv-rhero-top{ gap:16px !important; }
    .mv-rhero-badges{ flex-wrap:wrap !important; gap:8px !important; }
    .mv-rhero-meta{ gap:10px !important; font-size:13.5px !important; }
    .mv-rhero-actions{ width:100% !important; }
    .mv-rhero-actions > button{ flex:1 1 auto; justify-content:center; }
  }
  /* Hide raw template blocks until the runtime hydrates them (prevents {{ }} flash) */
  sc-if, sc-for{ display:none !important; }
  @media (max-width: 560px){
    .mv-foot{ grid-template-columns:1fr !important; }
    .mv-tcol,.mv-thead{ display:none !important; }
    .mv-hide-sm{ display:none !important; }
    .mv-admin-idbar{ width:100%; }
    .mv-maintbtn{ flex:1 1 auto; justify-content:center; }
    .mv-newpost-btn{ width:100%; margin-left:0 !important; }
  }

/* Native form-control popups (select option lists, date pickers) follow the site theme */
.mv-root[data-theme="dark"] select,
.mv-root[data-theme="dark"] textarea,
.mv-root[data-theme="dark"] input { color-scheme: dark; }
.mv-root[data-theme="dark"] select option,
.mv-root[data-theme="dark"] select optgroup { background-color: #141a21; color: #e8eef5; }
.mv-root[data-theme="light"] select,
.mv-root[data-theme="light"] textarea,
.mv-root[data-theme="light"] input { color-scheme: light; }

/* Community stats sidebar card matches the "Ride smarter this season" card in dark mode */
.mv-root[data-theme="dark"] .mv-commstats { background: var(--footer-grad) !important; }

/* Homepage: with the "Ride smarter" promo panel hidden, the community column spans full width */
.mv-2col.mv-1col{ grid-template-columns: minmax(0,1fr) !important; }

/* Rich-text editors: contenteditable surfaces that show formatting, never markup */
[data-rt]{ overflow:auto; }
[data-rt]:empty:before{ content:attr(data-ph); color:var(--muted); pointer-events:none; }
[data-rt]:focus{ border-color:#1478b8 !important; }
[data-rt] blockquote{ margin:8px 0; padding:6px 14px; border-left:3px solid var(--border); color:var(--muted); }
[data-rt] img{ max-width:100%; height:auto; border-radius:8px; }
[data-rt] h2{ font-size:1.25em; margin:.6em 0 .3em; }
[data-rt] ul{ padding-left:1.3em; margin:.4em 0; }


/* ---- birthday balloons ------------------------------------------------- */
.mv-bals{ display:inline-flex; align-items:flex-end; gap:1px; margin-left:10px; vertical-align:-7px; }
.mv-bal{ transform-origin:50% 100%; animation:mv-bob 3.6s ease-in-out infinite; will-change:transform; }
.mv-bal-b{ animation-duration:4.3s; animation-delay:-1.1s; }
.mv-bal-c{ animation-duration:3.1s; animation-delay:-2.2s; }
/* a balloon on a string: it swings from the knot, drifts sideways and lags as it turns */
@keyframes mv-bob{
  0%   { transform:translate(0,1px) rotate(-7deg); }
  25%  { transform:translate(2px,-4px) rotate(2deg); }
  50%  { transform:translate(0,-7px) rotate(7deg); }
  75%  { transform:translate(-2px,-4px) rotate(-2deg); }
  100% { transform:translate(0,1px) rotate(-7deg); }
}
@media (prefers-reduced-motion: reduce){ .mv-bal{ animation:none; } }
