:root{--fresh:#b4c800;--basil:#697d0f;--amber:#ecbd00;--indigo:#006e96;--berry:#af005f;--warm:#827869;--ink:#2b2a28;--muted:#5c554c;--line:#e3ded7;--surface:#f1efea}
html{-webkit-text-size-adjust:100%}
html.fit{overflow:hidden}
body{margin:0;background:#fff;color:var(--ink);font-family:Assistant,Arial,sans-serif}
button:focus-visible,input:focus-visible{outline:3px solid var(--indigo);outline-offset:2px}
sc-if,sc-for{display:contents}

/* Bühne */
#stage{height:calc(var(--h)*var(--stage,1)*1px);overflow:hidden}
#mount{width:calc(var(--w)*1px);margin-left:var(--left,0);transform:scale(var(--stage,1));transform-origin:0 0}
.stage-root{width:calc(var(--w)*1px);height:calc(var(--h)*1px)}
.canvas-wrap{height:calc(var(--ch)*var(--canvas,1)*1px)}
.canvas{transform:scale(var(--canvas,1));transform-origin:0 0}
.v-range{height:26px}

/* Sehr kleine Fenster: Bereiche fließen untereinander, nur die Grafik wird skaliert */
@media (max-width:599px),(max-height:499px){
  #stage{height:auto;overflow:visible}
  #mount{width:auto;margin-left:0;transform:none}
  .stage-root{width:auto!important;height:auto!important;overflow:clip!important}
  .mosaic{transform:scale(.6);transform-origin:top right}

  .v-root{padding:24px!important}
  .v-head{flex-direction:column;align-items:stretch!important}
  .v-row,.v-left{display:contents!important}
  .v-range{height:44px}
  .v-canvas-wrap{margin-top:16px}
  .seg{padding-left:0!important;flex-wrap:wrap}
  .seg button{flex:1 1 auto!important;min-width:min-content!important;padding-left:8px!important;padding-right:8px!important}
  .v-phase{display:grid!important;grid-template-columns:1fr 1fr}
  .v-phase>div{width:auto!important}

}
@media (max-width:599px){
  .mosaic{transform:scale(.4)}
  .stage-root h1{font-size:30px!important}

  .v-root{padding:20px 16px!important}
  .v-head button{flex:1;padding:0 10px!important}
  .v-phase{grid-template-columns:1fr;padding:18px!important}
  .v-aside{padding:18px!important}

}

/* Querformat: Beamer, Laptop, iPad quer. Alles steht nebeneinander, damit nichts gescrollt werden muss */
html.wide .v-root{display:grid!important;grid-template-columns:1328px minmax(0,1fr);gap:20px 32px;padding-top:32px!important;padding-bottom:20px!important;align-content:start}
html.wide .v-head,html.wide .v-root>div:last-child{grid-column:1/-1}
html.wide .v-head>div:first-child{max-width:1400px!important}
html.wide .v-phase{flex-direction:column;gap:16px!important;padding:20px 22px!important}
html.wide .v-phase>div{width:auto!important;flex:none!important}

/* Startseite */
.home{max-width:1120px;margin:0 auto;padding:64px 24px;position:relative}
.home h1{margin:0;font-size:44px;line-height:1.08;font-weight:800}
.home .lead{margin:12px 0 40px;max-width:640px;font-size:18px;line-height:1.45;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.card{display:flex;flex-direction:column;gap:12px;padding:28px;border:1.5px solid var(--line);border-radius:14px;color:var(--ink);text-decoration:none;transition:border-color .2s ease}
.card:hover{border-color:var(--warm)}
.card h2{margin:0;font-size:24px;line-height:1.15;font-weight:800}
.card p{margin:0;font-size:16px;line-height:1.45;color:var(--muted)}
.card .go{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:8px;min-height:44px;color:var(--indigo);font-size:16px;font-weight:700}
.home-foot{margin-top:40px;font-size:13px;color:var(--muted)}
@media (max-width:719px){.cards{grid-template-columns:minmax(0,1fr)}.home{padding:40px 16px}.home h1{font-size:32px}}

@media (prefers-reduced-motion:reduce){
  *{transition-property:opacity,color,background-color,border-color!important}
  .flow,.drip,.glow,.beat{animation:none}
  .coin,[class^=fly],[class^=rf]{display:none!important}
  .pop{animation:dc-fade .3s ease both}
}
@keyframes dc-fade{from{opacity:0}to{opacity:1}}
