/* VillageForge's visual language: forged plum, warm metal, and clear work surfaces. */
:root{
  --vf-canvas:#0d1322;
  --vf-surface:#171f30;
  --vf-surface-raised:#202536;
  --vf-edge:#39445a;
  --vf-edge-soft:#2a354a;
  --vf-plum:#8c4ab4;
  --vf-plum-bright:#b375d0;
  --vf-metal:#d9a744;
}

body{
  background:var(--vf-canvas)!important;
  background-image:linear-gradient(180deg,#171827 0,#101727 280px,var(--vf-canvas) 720px)!important;
}

/* Separate page sections from the smaller pieces of work inside them. */
body :is(.panel,.status-card){
  background:var(--vf-surface)!important;
  border:1px solid var(--vf-edge)!important;
  border-radius:14px!important;
  box-shadow:0 10px 26px #03071238!important;
}
body .panel-head{
  background:#211e2b!important;
  border-bottom:1px solid #58463c!important;
  box-shadow:inset 3px 0 0 var(--vf-plum)!important;
}
body .progression-import{
  background:#111a2b!important;
  border:1px solid #3c465d!important;
  border-radius:11px!important;
}
body .village-mode-tab.active{
  background:#68418b!important;
  box-shadow:inset 0 -2px 0 var(--vf-metal)!important;
}
body :is(.card,.metric,.player-card,.data-group,.privacy-card,.annotation-summary,.building-input-card,.ai-scan-box,.ai-detection,.roadmap-step){
  background-color:#111a2b!important;
  border:1px solid var(--vf-edge-soft)!important;
  border-radius:11px!important;
  box-shadow:none!important;
}
body .metric{
  border-top:0!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:2px solid var(--vf-plum)!important;
  border-radius:0 7px 7px 0!important;
  padding:10px 14px!important;
}
body .priority-panel .card:not([data-priority-resource]){border-color:#35415a!important}

/* Use the brand colors for meaning and selection instead of decorative glow. */
body .app-nav a.active,
body .app-nav a[aria-current="page"],
body .tab.active,
body #primaryAppNav a.active{
  color:#fff!important;
  background:#603483!important;
  border-color:var(--vf-plum-bright)!important;
  box-shadow:inset 0 -2px 0 var(--vf-metal)!important;
}
body :is(.badge,.score-pill,.priority-tag,.source-chip,.hero-points span,.vf-headline-costs>span){
  border-radius:6px!important;
  box-shadow:none!important;
}
body .score-pill{background:#211a2c!important;border:1px solid #65467c!important}
body .priority-tag{background:#182235!important;border-color:#35435b!important}
body .priority-tag.now{background:#3a171d!important;border-color:#8b3c49!important}
body .priority-tag.high{background:#3a2510!important;border-color:#8e611b!important}
body .ownership-chip{border-radius:6px!important}

body :is(.btn,button){box-shadow:none;}
body .btn{
  border-width:1px!important;
  border-radius:8px!important;
  box-shadow:inset 0 -2px 0 #0003!important;
}
body .btn.purple{background:#704094!important;border-color:#a46bc4!important}
body .btn.dark{background:#1a2437!important;border-color:#485874!important}
body .btn.red{background:#9c3942!important;border-color:#c55c64!important}

body :is(.notice,.guide-note,.inline-status,.break,.data-group,.scan-diagnostic){
  border-radius:8px!important;
}
body :is(.footer,.small,.muted){color:#aebbd0}
body :is(h1,h2,h3,h4){text-shadow:none}

@media(max-width:700px){
  body :is(.panel,.status-card){border-radius:11px!important}
  body .panel-head{box-shadow:inset 3px 0 0 var(--vf-plum)!important}
  body :is(.card,.metric,.player-card,.data-group,.privacy-card,.annotation-summary,.building-input-card,.ai-scan-box,.ai-detection,.roadmap-step){border-radius:9px!important}
}
