/* =========================================================================
   VISION UNIVERSE ACADEMY — Experience Shell (experience-shell.css)

   Gemeinsame visuelle Sprache aller Academy-Experiences: Hero, Story-
   Sections, Sticky-Visualisierung, Controls, Live-Metrics, Evidence-Tags,
   Methodology/Sources. Heller, bunter "Big Ideas"-Look (Research-/
   Grafik-Magazin-Stil) statt dem monochromen, dichten Research-Layer —
   große Typografie, farbige Icon-Badges, viele kleine Schaubilder statt
   reiner Textwände.
   ========================================================================= */

:root{
  --vu-acad-bg:#ffffff;
  --vu-acad-bg-elevated:#f6f7fb;
  --vu-acad-bg-card:#ffffff;
  --vu-acad-line:#e7e8f0;
  --vu-acad-text:#12131a;
  --vu-acad-text-muted:#54576b;
  --vu-acad-text-faint:#8a8da3;

  --vu-acad-positive:#0ea968;
  --vu-acad-negative:#e0384b;
  --vu-acad-neutral:#3b5bfb;

  /* World accent colors, siehe academy/data/worlds.json — kräftig statt Pastell,
     damit sie auf Weiß wie im ARK-"Big Ideas"-Stil tragen. */
  --vu-accent-electric-blue:#2f6bff;
  --vu-accent-azure:#00a9e0;
  --vu-accent-amber:#ff9f1a;
  --vu-accent-warm-orange:#ff5a1f;
  --vu-accent-violet:#8446f0;
  --vu-accent-cyan:#00bcd4;
  --vu-accent-magenta:#e8329b;
  --vu-accent-emerald:#12b76a;
  --vu-accent-coral:#ff5d6c;
  --vu-accent-gold:#d6a400;
  --vu-accent-indigo:#5947e0;

  --vu-acad-accent: var(--vu-accent-warm-orange);
  --vu-acad-radius:18px;
  --vu-acad-max:1160px;
  --vu-acad-shadow: 0 1px 2px rgba(18,19,26,.04), 0 12px 28px -14px rgba(18,19,26,.14);
  --vu-acad-shadow-hover: 0 4px 10px rgba(18,19,26,.06), 0 22px 40px -16px rgba(18,19,26,.22);
}

.vu-academy{
  background:var(--vu-acad-bg);
  color:var(--vu-acad-text);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}

.vu-academy *{box-sizing:border-box}
.vu-academy a{color:inherit}
.vu-academy img,.vu-academy svg{display:block;max-width:100%}

.vu-a-shell{
  width:min(var(--vu-acad-max),calc(100% - 48px));
  margin-inline:auto;
}

/* =========================
   TYPE
========================= */
.vu-a-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--vu-acad-accent);
}
.vu-a-eyebrow::before{content:"";width:18px;height:2px;background:var(--vu-acad-accent);border-radius:2px}
.vu-a-h1{font-size:clamp(34px,6.4vw,64px);line-height:1.02;font-weight:800;letter-spacing:-.025em;margin:14px 0 0;}
.vu-a-h2{font-size:clamp(24px,3.6vw,36px);line-height:1.12;font-weight:800;letter-spacing:-.015em;margin:0 0 12px;}
.vu-a-lede{font-size:clamp(16px,2vw,19px);color:var(--vu-acad-text-muted);line-height:1.55;max-width:62ch;}
.vu-a-body{font-size:15.5px;line-height:1.65;color:var(--vu-acad-text-muted);max-width:58ch;}
.vu-a-body strong{color:var(--vu-acad-text);font-weight:700;}

/* =========================
   HERO
========================= */
.vu-a-hero{padding:56px 0 40px;position:relative;}
.vu-a-hero-tagline{margin-top:20px;font-size:13px;font-weight:700;color:var(--vu-acad-text-faint);letter-spacing:.03em}
.vu-a-hero-tagline b{color:var(--vu-acad-text);font-weight:800}

/* =========================
   STORY LAYOUT (desktop: text scrolls, viz sticky)
========================= */
.vu-a-story{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:48px;
  align-items:start;
  padding:24px 0 8px;
}
.vu-a-story-col{min-width:0;}
.vu-a-viz-col{position:sticky;top:calc(var(--vu-navigation-height,88px) + 24px);}

.vu-a-act{
  padding:36px 0;
  border-top:1px solid var(--vu-acad-line);
  opacity:.4;
  transform:translateY(6px);
  transition:opacity .3s ease, transform .3s ease;
}
.vu-a-act:first-child{border-top:0}
.vu-a-act.is-active{opacity:1;transform:translateY(0);}
.vu-a-act-label{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--vu-acad-accent);margin-bottom:10px;
}
.vu-a-act-title{font-size:clamp(19px,2.6vw,25px);font-weight:800;margin:0 0 10px;letter-spacing:-.01em}

@media (max-width:900px){
  .vu-a-story{grid-template-columns:1fr;gap:0;}
  .vu-a-viz-col{
    position:static;
    order:-1;
    margin-bottom:8px;
  }
  .vu-a-act{opacity:1;transform:none;padding:26px 0;}
}

/* =========================
   VIZ PANEL
========================= */
.vu-a-viz-panel{
  background:var(--vu-acad-bg-card);
  border:1px solid var(--vu-acad-line);
  border-radius:var(--vu-acad-radius);
  box-shadow:var(--vu-acad-shadow);
  padding:20px 20px 22px;
}
.vu-a-viz-panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.vu-a-viz-panel-title{font-size:13px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--vu-acad-text-muted)}

/* =========================
   LIVE METRICS
========================= */
.vu-a-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin-top:14px;}
.vu-a-metric{
  background:var(--vu-acad-bg-elevated);
  border:1px solid var(--vu-acad-line);
  border-radius:14px;
  padding:12px 12px 10px;
  transition:transform .15s ease;
}
.vu-a-metric-label{font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--vu-acad-text-faint);margin-bottom:4px;}
.vu-a-metric-value{font-size:21px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:-.01em;}
.vu-a-metric-value.is-positive{color:var(--vu-acad-positive)}
.vu-a-metric-value.is-negative{color:var(--vu-acad-negative)}
.vu-a-metric-delta{font-size:11px;color:var(--vu-acad-text-faint);margin-top:2px}

/* =========================
   CONTROLS (mobile-first: +/- stepper always available, no hover needed)
========================= */
.vu-a-controls{display:grid;gap:16px;margin-top:6px;}
.vu-a-control{display:grid;gap:6px;}
.vu-a-control-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.vu-a-control-label{font-size:13px;font-weight:700;color:var(--vu-acad-text)}
.vu-a-control-value{font-size:13px;font-variant-numeric:tabular-nums;color:var(--vu-acad-accent);font-weight:800}
.vu-a-control-row{display:flex;align-items:center;gap:10px;}
.vu-a-stepper{
  display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;flex:0 0 auto;
  border-radius:10px;border:1px solid var(--vu-acad-line);
  background:var(--vu-acad-bg-elevated);color:var(--vu-acad-text);
  font-size:18px;line-height:1;cursor:pointer;user-select:none;
}
.vu-a-stepper:hover{border-color:var(--vu-acad-accent);color:var(--vu-acad-accent)}
.vu-a-stepper:focus-visible,.vu-a-slider:focus-visible{outline:2px solid var(--vu-acad-accent);outline-offset:2px}
.vu-a-slider{
  -webkit-appearance:none;appearance:none;
  flex:1 1 auto;height:36px;background:transparent;cursor:pointer;
}
.vu-a-slider::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:var(--vu-acad-line)}
.vu-a-slider::-moz-range-track{height:6px;border-radius:3px;background:var(--vu-acad-line)}
.vu-a-slider::-webkit-slider-thumb{
  -webkit-appearance:none;width:24px;height:24px;border-radius:50%;
  background:var(--vu-acad-accent);border:3px solid var(--vu-acad-bg);
  margin-top:-9px;box-shadow:0 0 0 1px var(--vu-acad-line), 0 2px 6px rgba(18,19,26,.18);
}
.vu-a-slider::-moz-range-thumb{
  width:24px;height:24px;border-radius:50%;border:3px solid var(--vu-acad-bg);
  background:var(--vu-acad-accent);box-shadow:0 0 0 1px var(--vu-acad-line), 0 2px 6px rgba(18,19,26,.18);
}
.vu-a-control-hint{font-size:11.5px;color:var(--vu-acad-text-faint)}

/* =========================
   EVIDENCE TAGS — Farbe + Form, nie nur Farbe (WCAG)
========================= */
.vu-a-evidence{
  display:inline-flex;align-items:center;gap:6px;
  font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  padding:3px 9px;border-radius:999px;white-space:nowrap;
}
.vu-a-evidence::before{content:"";width:8px;height:8px;border-radius:50%;flex:0 0 auto;}
.vu-a-evidence[data-evidence="FACT"]{color:#0b57c9;background:rgba(47,107,255,.1);border:1px solid rgba(47,107,255,.3)}
.vu-a-evidence[data-evidence="FACT"]::before{background:#2f6bff}
.vu-a-evidence[data-evidence="MODEL"]{color:#b45a00;background:rgba(255,159,26,.12);border:1px dashed rgba(255,159,26,.55)}
.vu-a-evidence[data-evidence="MODEL"]::before{background:#ff9f1a;border-radius:2px}
.vu-a-evidence[data-evidence="ASSUMPTION"]{color:#6229c9;background:rgba(132,70,240,.1);border:1px dotted rgba(132,70,240,.6)}
.vu-a-evidence[data-evidence="ASSUMPTION"]::before{background:transparent;border:1.5px dotted #8446f0}
.vu-a-evidence[data-evidence="ESTIMATE"]{color:#c22037;background:rgba(224,56,75,.09);border:1px dashed rgba(224,56,75,.45)}
.vu-a-evidence[data-evidence="ESTIMATE"]::before{background:#e0384b}

/* =========================
   CONTEXT CARDS / CALLOUTS
========================= */
.vu-a-callout{
  background:var(--vu-acad-bg-elevated);
  border:1px solid var(--vu-acad-line);
  border-left:4px solid var(--vu-acad-accent);
  border-radius:12px;
  padding:14px 16px;
  font-size:14px;line-height:1.55;color:var(--vu-acad-text-muted);
  margin:16px 0;
}
.vu-a-callout b{color:var(--vu-acad-text)}

/* =========================
   RELATED CONCEPTS — klickbare Chips + Detailkarte
========================= */
.vu-a-chips{display:flex;flex-wrap:wrap;gap:8px;}
.vu-a-chip{
  font-size:13px;font-weight:600;padding:8px 14px;border-radius:999px;
  background:var(--vu-acad-bg-elevated);border:1px solid var(--vu-acad-line);
  color:var(--vu-acad-text-muted);cursor:pointer;transition:border-color .15s ease, background .15s ease, color .15s ease;
}
.vu-a-chip b{color:var(--vu-acad-text);font-weight:700}
.vu-a-chip:hover{border-color:var(--vu-acad-accent)}
.vu-a-chip.is-open{background:var(--vu-acad-accent);border-color:var(--vu-acad-accent);}
.vu-a-chip.is-open,.vu-a-chip.is-open b{color:#fff}
.vu-a-concept-detail{
  margin-top:14px;padding:18px 20px;border-radius:14px;
  background:var(--vu-acad-bg-elevated);border:1px solid var(--vu-acad-line);
  animation:vuFadeIn .2s ease;
}
.vu-a-concept-detail h4{font-size:16px;font-weight:800;margin:0 0 6px;}
.vu-a-concept-detail p{font-size:13.5px;line-height:1.6;color:var(--vu-acad-text-muted);margin:0 0 8px;}
.vu-a-concept-detail .vu-a-concept-formula{
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;
  background:#fff;border:1px solid var(--vu-acad-line);border-radius:8px;padding:8px 10px;color:var(--vu-acad-text);
}
.vu-a-concept-why{font-size:13px;color:var(--vu-acad-text);background:#fff;border-radius:10px;padding:10px 12px;border:1px solid var(--vu-acad-line);}

@keyframes vuFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* =========================
   METHODOLOGY / SOURCES
========================= */
.vu-a-panel{
  border:1px solid var(--vu-acad-line);
  border-radius:var(--vu-acad-radius);
  background:var(--vu-acad-bg-card);
  box-shadow:var(--vu-acad-shadow);
  padding:22px 24px;
  margin-top:18px;
}
.vu-a-panel + .vu-a-panel{margin-top:14px}
.vu-a-panel h3{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--vu-acad-text-faint);margin:0 0 12px;}
.vu-a-def-list{display:grid;gap:10px;margin:0;}
.vu-a-def-list dt{font-size:13px;font-weight:700;color:var(--vu-acad-text)}
.vu-a-def-list dd{font-size:13.5px;color:var(--vu-acad-text-muted);margin:2px 0 0;line-height:1.55}
.vu-a-source-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.vu-a-source-list li{font-size:13px;color:var(--vu-acad-text-muted);padding-left:16px;position:relative;}
.vu-a-source-list li::before{content:"—";position:absolute;left:0;color:var(--vu-acad-text-faint)}

/* =========================
   CHART: WATERFALL / BRIDGE
========================= */
.vu-a-chart-wrap{width:100%;}
.vu-a-chart-summary{
  list-style:none;margin:10px 0 0;padding:0;
  display:grid;gap:4px;font-size:12.5px;font-variant-numeric:tabular-nums;
}
.vu-a-chart-summary li{display:flex;justify-content:space-between;gap:12px;color:var(--vu-acad-text-muted);padding:2px 0;}
.vu-a-chart-summary li b{color:var(--vu-acad-text);font-weight:700}
.vu-a-chart-summary li.is-total{border-top:1px solid var(--vu-acad-line);padding-top:6px;margin-top:2px;}
.vu-a-chart-summary li.is-total b{color:var(--vu-acad-accent)}
.vu-a-chart-bar{transition:y .45s cubic-bezier(.2,.8,.2,1), height .45s cubic-bezier(.2,.8,.2,1), opacity .3s ease;}

/* =========================
   ICON BADGES (Worlds/Konzepte — kleine, farbige Glyphen statt Textwand)
========================= */
.vu-a-icon-badge{
  width:44px;height:44px;border-radius:12px;flex:0 0 auto;
  display:flex;align-items:center;justify-content:center;
  background:color-mix(in srgb, var(--vu-world-accent, var(--vu-acad-accent)) 14%, white);
}
.vu-a-icon-badge svg{width:22px;height:22px}

/* =========================
   GENERIC PAGE SECTIONS (shared by landing page + experiences)
========================= */
.vu-a-section{padding:40px 0;}
.vu-a-foot-note{margin-top:56px;padding:24px 0 60px;border-top:1px solid var(--vu-acad-line);font-size:12px;color:var(--vu-acad-text-faint);}

@media (prefers-reduced-motion: reduce){
  .vu-academy *{transition:none!important;animation:none!important;}
}
