:root{
  color-scheme: dark;
  --bg-deep:#211611;
  --bg-deep-2:#2b1c14;
  --panel:#3c281c;
  --panel-edge:#4a3221;
  --parchment:#efe2c1;
  --parchment-shadow:#d8c79c;
  --ink:#2c2013;
  --ink-soft:#5a4630;
  --brass:#b3823f;
  --brass-light:#e0b46c;
  --brass-dim:#8a6534;
  --text-light:#f1e6d2;
  --text-muted:#c2ac8a;
  --ok:#4e9c63;
  --ok-light:#7ec98f;
  --bad:#a83a2c;
  --bad-light:#e08b7c;
  /* dunklere Varianten fuer Text auf hellem Pergamentgrund */
  --ok-ink:#2c6b3f;
  --bad-ink:#8f2d22;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:radial-gradient(ellipse at 30% -10%, #3a271b 0%, transparent 55%), var(--bg-deep);
  color:var(--text-light);
  font-family:'Inter',-apple-system,'Segoe UI',sans-serif;
  min-height:100vh;
  display:flex;
  justify-content:center;
  padding:24px 14px 40px;
}
.card{
  width:100%;
  max-width:720px;
  background:linear-gradient(180deg,var(--panel),var(--bg-deep-2));
  border:1px solid var(--panel-edge);
  border-radius:18px;
  padding:24px 22px 20px;
  box-shadow:0 30px 60px -25px rgba(0,0,0,.65), inset 0 1px 0 rgba(255,255,255,.03);
}
header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px;flex-wrap:wrap;}
h1{font-family:'Fraunces',serif;font-weight:560;font-size:23px;margin:0;letter-spacing:.2px;}
.tuning-tag{
  font-size:13px;color:var(--brass-light);letter-spacing:.5px;
  padding:4px 10px;border:1px solid var(--brass-dim);border-radius:999px;white-space:nowrap;
}
nav.sitenav{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 18px;}
nav.sitenav a{
  font-size:12.5px;text-decoration:none;color:var(--text-muted);
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  padding:5px 11px;border-radius:8px;
}
nav.sitenav a:hover{background:rgba(255,255,255,.09);color:var(--text-light);}
nav.sitenav a.current{background:var(--brass);border-color:var(--brass-light);color:#241608;font-weight:600;}

.picker{margin-bottom:14px;}
.picker-label{font-size:12px;color:var(--text-muted);margin:0 0 8px 2px;}
.chip-row{display:flex;flex-wrap:wrap;gap:6px;}
.chip{
  font-family:inherit;font-size:13.5px;color:var(--text-light);
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);
  padding:6px 12px;border-radius:8px;cursor:pointer;
  transition:background .12s ease,border-color .12s ease,color .12s ease;
}
.chip:hover{background:rgba(255,255,255,.09);}
.chip.active{background:var(--brass);border-color:var(--brass-light);color:#241608;font-weight:600;}
.chip:disabled{opacity:.35;cursor:not-allowed;}
.chip:focus-visible{outline:2px solid var(--brass-light);outline-offset:2px;}

.segmented-row{display:flex;align-items:center;gap:10px;margin-top:10px;flex-wrap:wrap;}
.segmented-label{font-size:12.5px;color:var(--text-muted);}
.segmented{display:inline-flex;border:1px solid rgba(255,255,255,.12);border-radius:8px;overflow:hidden;}
.seg-btn{
  font-family:inherit;font-size:12.5px;color:var(--text-light);
  background:rgba(255,255,255,.04);border:none;
  border-right:1px solid rgba(255,255,255,.12);padding:6px 11px;cursor:pointer;
}
.seg-btn:last-child{border-right:none;}
.seg-btn:hover{background:rgba(255,255,255,.09);}
.seg-btn.active{background:var(--brass);color:#241608;font-weight:600;}
.seg-btn:disabled{opacity:.35;cursor:not-allowed;}
.seg-btn:focus-visible{outline:2px solid var(--brass-light);outline-offset:-2px;}

.stage{
  margin-top:16px;background:var(--parchment);border-radius:14px;padding:16px 12px 14px;
  box-shadow:inset 0 0 0 1px var(--parchment-shadow), inset 0 10px 24px -18px rgba(0,0,0,.35);
}
.board-wrap{width:100%;overflow-x:auto;display:flex;justify-content:center;}
svg.board{display:block;}
.chord-name{
  font-family:'Fraunces',serif;font-size:20px;font-weight:560;color:var(--ink);
  margin-bottom:8px;text-align:center;min-height:24px;
}
.stage-note{margin-top:10px;text-align:center;font-size:13px;color:var(--ink-soft);}
.stage-note b{color:var(--ink);font-weight:600;}
.fn{font-size:10px;color:var(--ink-soft);vertical-align:super;margin-left:1px;}
.omit-note{
  display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;
  background:rgba(122,35,24,.12);color:#7a2318;font-size:11.5px;
}

.btn{
  font-family:inherit;font-size:14px;font-weight:600;
  background:var(--brass);color:#241608;border:1px solid var(--brass-light);
  padding:9px 20px;border-radius:9px;cursor:pointer;
}
.btn:hover{background:var(--brass-light);}
.btn:disabled{opacity:.4;cursor:not-allowed;}
.btn.secondary{background:transparent;color:var(--brass-light);border-color:var(--brass-dim);}
.btn.secondary:hover{background:rgba(255,255,255,.06);}
.btn:focus-visible{outline:2px solid var(--brass-light);outline-offset:2px;}
.btn-row{display:flex;gap:10px;justify-content:center;margin-top:14px;flex-wrap:wrap;}

.verdict{margin-top:14px;text-align:center;font-size:14px;line-height:1.5;color:var(--ink-soft);}
.verdict.ok{color:var(--ok-ink);font-weight:600;}
.verdict.bad{color:var(--bad-ink);font-weight:600;}
.verdict .detail{display:block;margin-top:5px;color:var(--ink-soft);font-size:12.5px;font-weight:400;}
.verdict .detail b{color:var(--ink);font-weight:600;}

.scorebar{
  display:flex;gap:16px;justify-content:center;font-size:12.5px;
  color:var(--text-muted);margin-top:14px;
}
.scorebar b{color:var(--text-light);}

footer{
  margin-top:20px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07);
  font-size:12.5px;line-height:1.55;color:var(--text-muted);
}
footer p{margin:0 0 6px;}
footer p:last-child{margin-bottom:0;}

@media (max-width:480px){
  h1{font-size:19px;}
  .card{padding:18px 12px 16px;}
}
