/* Memoria Viva — tokens + site header/footer (loaded on every page, with or without Bootstrap). */
:root{
  --mv-canvas:#FFF8F2; --mv-fiesta:#FEF4EC; --mv-ink:#2D0C3B; --mv-text:#381044; --mv-text2:#6E5070;
  --mv-magenta:#CF2F87; --mv-magentaDeep:#AA176C; --mv-orange:#FF940F; --mv-orangeDeep:#F16A00; --mv-marigold:#FFBA35;
  --mv-plum:#2A0B34; --mv-border:#EAD4E3;
  --mv-title:"Baloo 2","Hiragino Maru Gothic ProN","Apple SD Gothic Neo","PingFang TC","Noto Sans JP","Noto Sans KR","Noto Sans TC",ui-rounded,system-ui,sans-serif;
  --mv-body:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Apple SD Gothic Neo","PingFang TC","Noto Sans JP","Noto Sans KR","Noto Sans TC",system-ui,sans-serif;
  --mv-gut:20px; --mv-max:1160px;
}
.rb-skip{position:absolute;left:-9999px;top:8px;z-index:100;background:#fff;color:var(--mv-ink);padding:10px 14px;border-radius:10px;font:700 15px/1 var(--mv-body)}
.rb-skip:focus{left:12px}
.rb-wrap{max-width:var(--mv-max);margin:0 auto;padding:0 var(--mv-gut)}
.rb-top{position:sticky;top:0;z-index:50;background:rgba(255,248,242,.88);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(234,212,227,.6)}
.rb-top .rb-wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.rb-logo{flex:none;display:flex;align-items:center;gap:8px;text-decoration:none!important;font:800 23px/1 "Baloo 2",ui-rounded,system-ui,sans-serif;color:var(--mv-ink)!important;letter-spacing:-.02em}
.rb-logo img{width:36px;height:36px}
.rb-logo-sm{font-size:20px}.rb-logo-sm img{width:30px;height:30px}
.rb-nav{display:flex;align-items:center;gap:6px}
.rb-nl{display:none;font:600 16px/1 var(--mv-title);color:var(--mv-text)!important;text-decoration:none!important;padding:10px 12px;border-radius:12px}
.rb-nl:hover{background:#fff}
.rb-lang{position:relative}
.rb-lang-btn{display:flex;align-items:center;gap:6px;height:42px;padding:0 12px;border-radius:21px;border:0;background:#fff;box-shadow:inset 0 0 0 1px var(--mv-border);font:700 14px/1 var(--mv-title);color:var(--mv-text);cursor:pointer}
.rb-lang-btn svg{width:17px;height:17px;color:var(--mv-magentaDeep)}
.rb-lang-menu{display:none;position:absolute;right:0;top:50px;min-width:180px;list-style:none;margin:0;background:#fff;border-radius:16px;padding:6px;box-shadow:0 20px 40px -16px rgba(80,20,60,.35),inset 0 0 0 1px #F0DEE7;z-index:60}
.rb-lang.open .rb-lang-menu{display:block}
.rb-lang-menu a{display:block;padding:10px 12px;border-radius:10px;text-decoration:none!important;font:600 15.5px/1.1 var(--mv-title);color:var(--mv-text)!important}
.rb-lang-menu a:hover{background:#FBEFF4}
.rb-lang-menu a.on{background:linear-gradient(180deg,#E0479A,var(--mv-magentaDeep));color:#fff!important}
.rb-dl{display:inline-flex;align-items:center;height:42px;padding:0 18px;border-radius:21px;font:700 15.5px/1 var(--mv-title);color:#fff!important;text-decoration:none!important;white-space:nowrap;
  background:linear-gradient(180deg,#E0479A,var(--mv-magenta) 45%,var(--mv-magentaDeep));box-shadow:0 12px 26px -10px rgba(170,23,108,.7),inset 0 -3px 0 rgba(90,0,50,.25)}
.rb-foot{border-top:1px solid #F0DEE7;padding:28px 0 40px;background:var(--mv-canvas)}
.rb-foot .rb-wrap{display:flex;flex-direction:column;gap:16px;align-items:center}
.rb-foot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px}
.rb-foot nav a{font:400 15px/1.5 var(--mv-body);color:var(--mv-text2)!important;text-decoration:none!important}
.rb-foot nav a:hover{color:var(--mv-magentaDeep)!important}
.rb-copy{margin:0;font:400 13px/1 var(--mv-body);color:var(--mv-text2)}
@media (max-width:480px){
  .rb-nav{gap:5px}.rb-lang-code{display:none}.rb-lang-btn{padding:0;width:42px;justify-content:center}.rb-lang-btn svg{width:19px;height:19px}
  .rb-dl{padding:0 14px;font-size:14.5px}.rb-logo{font-size:21px;gap:6px}.rb-logo img{width:32px;height:32px}
}
@media (min-width:760px){
  :root{--mv-gut:32px}
  .rb-nl{display:inline-block}
}
@media (min-width:1000px){
  .rb-foot .rb-wrap{flex-direction:row;justify-content:space-between}
}
/* Narrow phones: logo, language and download must never overlap. */
.rb-nav{flex:none}
.rb-top .rb-wrap{gap:8px}
@media (max-width:400px){
  .rb-wrap{padding:0 14px}
  .rb-logo{font-size:18.5px;gap:5px}.rb-logo img{width:28px;height:28px}
  .rb-lang-btn{width:36px;height:36px}.rb-lang-btn svg{width:17px;height:17px}
  .rb-dl{height:36px;padding:0 12px;font-size:13.5px}
}
@media (max-width:340px){
  .rb-logo{font-size:0;gap:0}  /* wreath only */
  .rb-logo img{width:32px;height:32px}
}
