:root{
  --paper:#fbf7ef;
  --ink:#261810;
  --muted:#75675c;
  --brown:#5a2f19;
  --gold:#c8943b;
  --stage:#10172f;
  --stage2:#171332;
  --glass:#d9e7ff;
  --valid:#91d657;
  --selected:#f0b955;
}
*{box-sizing:border-box}
html{background:#eee4d6}
body{margin:0;min-height:100vh;color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:linear-gradient(180deg,#faf4ea,#efe2d2)}
button,a{font:inherit}
button:focus-visible,a:focus-visible{outline:3px solid rgba(200,148,59,.58);outline-offset:3px}
.page{width:min(1160px,calc(100% - 1.5rem));margin:0 auto;padding:1.2rem 0 1.7rem}
.hero{display:flex;justify-content:space-between;align-items:center;gap:1.25rem;padding:1rem 1.1rem;border:1px solid rgba(116,86,62,.24);border-radius:24px;background:rgba(252,247,239,.95);box-shadow:0 15px 42px rgba(56,35,20,.10);position:relative}
.hero-copy,.hero-actions{position:relative;z-index:1}
.eyebrow,.section-kicker{margin:0 0 .35rem;color:#8a5a24;font-size:.72rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.title-lockup{display:flex;align-items:center;gap:.8rem}.hero-signet{width:57px;height:68px;object-fit:contain}
h1,h2{font-family:Georgia,"Times New Roman",serif;color:#382116}h1{margin:0;font-size:clamp(2.1rem,5vw,3.45rem);line-height:.9;letter-spacing:-.045em}.subtitle{margin:.38rem 0 0;color:var(--muted);font-size:.97rem}
.hero-actions{display:flex;gap:.6rem;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.btn{border:0;border-radius:10px;min-height:43px;padding:.69rem .92rem;background:linear-gradient(135deg,#60331b,#7b4927);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 9px 19px rgba(90,47,25,.16)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn.ghost{color:var(--brown);background:#fffaf2;border:1px solid rgba(90,47,25,.20);box-shadow:none}
.game-card{margin-top:1rem;padding:1rem;border:1px solid rgba(91,61,38,.20);border-radius:26px;background:rgba(252,247,239,.94);box-shadow:0 24px 72px rgba(51,31,17,.14)}
.game-head{display:flex;justify-content:space-between;gap:1rem;align-items:end}.game-head h2{margin:0;font-size:clamp(1.4rem,3.2vw,2.1rem);line-height:1.05}.game-intro{margin:.35rem 0 0;color:var(--muted);font-size:.92rem;max-width:56rem}
.stats{display:flex;gap:.55rem;flex:0 0 auto}.stat{min-width:90px;padding:.56rem .66rem;border:1px solid rgba(90,47,25,.13);border-radius:13px;background:#fff;text-align:center}.stat span{display:block;margin-bottom:.18rem;color:var(--muted);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;font-weight:850}.stat strong{font-size:1.12rem}
.instruction-strip{display:flex;justify-content:center;align-items:center;gap:.55rem;flex-wrap:wrap;margin:.85rem 0 .45rem;padding:.55rem .7rem;border-radius:14px;background:#fffaf2;border:1px solid rgba(90,47,25,.10);color:#5d5046;font-size:.85rem;font-weight:750}.instruction-item{display:inline-flex;align-items:center;gap:.35rem}.instruction-item b{display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:999px;background:#6f4327;color:#fff;font-size:.75rem}.instruction-item.target b{background:#588f2d}.instruction-arrow{color:#92745d}
.status{min-height:1.4rem;margin:.5rem 0 .7rem;text-align:center;color:#51453c;font-weight:800}.status.is-error{color:#8e331f}.status.is-good{color:#42621d}
.bottle-stage{position:relative;overflow:hidden;min-height:500px;padding:3.2rem 1rem 1.4rem;border-radius:22px;background:linear-gradient(180deg,var(--stage),var(--stage2));border:1px solid rgba(35,31,60,.25);box-shadow:inset 0 1px rgba(255,255,255,.1),inset 0 -40px 90px rgba(0,0,0,.24)}
.bottle-stage::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 83%,rgba(53,94,255,.15),transparent 18%),radial-gradient(circle at 84% 8%,rgba(255,255,255,.08),transparent 20%);pointer-events:none}
.stage-title{position:absolute;top:1rem;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.45);font-size:.68rem;letter-spacing:.18em;font-weight:800;white-space:nowrap}
.stage-shelf{position:absolute;left:5%;right:5%;bottom:31px;height:14px;border-radius:999px;background:linear-gradient(180deg,#8a5937,#684025);box-shadow:0 9px 20px rgba(0,0,0,.35),inset 0 1px rgba(255,230,205,.45);z-index:1}
.bottle-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(7,minmax(104px,1fr));gap:clamp(.15rem,1vw,.7rem);align-items:end;min-height:420px;max-width:1020px;margin:0 auto}
.bottle{appearance:none;border:0;background:transparent;padding:0;height:390px;cursor:pointer;border-radius:18px;position:relative;transition:opacity .16s ease}.bottle.is-dim{opacity:.42}.bottle:hover{background:rgba(255,255,255,.035)}.bottle.is-selected{background:rgba(240,185,85,.07)}.bottle.is-valid-target{background:rgba(145,214,87,.07)}.bottle.is-invalid{animation:bottleNo .28s ease}@keyframes bottleNo{0%,100%{transform:translateX(0)}35%{transform:translateX(-5px)}70%{transform:translateX(5px)}}
.bottle-shell{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.25rem;transition:transform .18s ease}.bottle:hover .bottle-shell{transform:translateY(-3px)}.bottle.is-selected .bottle-shell{transform:translateY(-10px)}.bottle.is-pouring-source .bottle-shell{transform:translateY(-8px) rotate(-8deg);transform-origin:50% 85%}.bottle.is-pouring-target .bottle-shell{transform:translateY(-3px)}
.bottle-top{min-height:45px;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:.2rem}.bottle-number{display:grid;place-items:center;min-width:30px;height:24px;padding:0 .4rem;border-radius:999px;background:#fff8ef;color:#5a3a25;border:1px solid rgba(90,47,25,.22);font-size:.72rem;font-weight:850}.bottle-caption{font-size:.58rem;color:#dbe4ff;font-weight:750;white-space:nowrap}.bottle-caption.empty{color:#9ea8c8}
.bottle-svg{width:96px;height:286px;display:block;overflow:visible;filter:drop-shadow(0 12px 10px rgba(0,0,0,.24))}.bottle-svg .outline{fill:none;stroke:var(--glass);stroke-width:4;stroke-linejoin:round;stroke-linecap:round}.bottle-svg .lip{fill:none;stroke:var(--glass);stroke-width:4;stroke-linecap:round}.bottle-svg .inner-glass{fill:rgba(255,255,255,.035)}.bottle-svg .shine{fill:rgba(255,255,255,.16)}.bottle-svg .label-bg{fill:rgba(250,244,230,.88);stroke:rgba(87,55,30,.55);stroke-width:1.4}.bottle-svg .label-text{font-family:Georgia,"Times New Roman",serif;font-size:8px;font-weight:700;fill:#50301c;text-anchor:middle}.bottle-svg .label-sub{font-family:system-ui,sans-serif;font-size:5px;font-weight:800;letter-spacing:.08em;fill:#80572f;text-anchor:middle}.bottle.is-selected .bottle-svg .outline,.bottle.is-selected .bottle-svg .lip{stroke:var(--selected);filter:drop-shadow(0 0 5px rgba(240,185,85,.6))}.bottle.is-valid-target .bottle-svg .outline,.bottle.is-valid-target .bottle-svg .lip{stroke:var(--valid);stroke-width:5;filter:drop-shadow(0 0 6px rgba(145,214,87,.7))}.bottle.is-invalid .bottle-svg .outline,.bottle.is-invalid .bottle-svg .lip{stroke:#ff937b}
.state-badge{min-height:24px;display:flex;align-items:center;justify-content:center}.source-badge,.target-badge,.done-badge,.empty-badge{padding:.18rem .42rem;border-radius:999px;font-size:.55rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.source-badge{background:var(--selected);color:#442a12}.target-badge{background:var(--valid);color:#213b0d}.done-badge{background:#fff8ef;color:#5a3a25}.empty-badge{border:1px solid rgba(219,228,255,.28);color:#bac5e4}
.legend{display:flex;justify-content:center;flex-wrap:wrap;gap:.45rem .9rem;margin:.95rem auto .08rem;color:#66564a;font-size:.76rem;font-weight:730}.legend span{display:inline-flex;align-items:center;gap:.34rem}.legend i{width:.68rem;height:.68rem;border-radius:999px;background:var(--swatch);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.16)}
.site-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;padding:.8rem .25rem 0;color:#6e6258;font-size:.73rem}.site-footer a{color:var(--brown);text-decoration:none;font-weight:750}.site-footer span:last-child{text-align:right}
.pour-layer{position:absolute;inset:0;z-index:8;pointer-events:none}.pour-line{position:absolute;height:8px;border-radius:999px;background:var(--pour-color);box-shadow:0 0 15px var(--pour-color);transform-origin:left center;opacity:0}.pour-drop{position:absolute;width:16px;height:16px;border-radius:50% 50% 50% 38%;background:var(--pour-color);box-shadow:0 0 10px var(--pour-color);opacity:0}
.modal-layer{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:1rem;background:rgba(27,15,8,.52);backdrop-filter:blur(7px)}.modal-layer.is-open{display:flex}.modal-card{position:relative;width:min(560px,100%);padding:1.4rem;border-radius:22px;background:linear-gradient(180deg,#fffdf8,#f7eee2);box-shadow:0 28px 80px rgba(27,15,8,.34)}.modal-card h2{margin:.12rem 0 .65rem;font-size:2.2rem}.modal-card p{color:#625449;line-height:1.48}.modal-close{position:absolute;top:.65rem;right:.7rem;width:34px;height:34px;border:1px solid rgba(90,47,25,.16);border-radius:999px;background:#fff;color:var(--brown);font-size:1.35rem;cursor:pointer}.rules{display:grid;gap:.5rem;margin:.9rem 0 1rem}.rules div{display:grid;grid-template-columns:7rem 1fr;gap:.6rem;padding:.64rem .72rem;border:1px solid rgba(90,47,25,.11);border-radius:12px;background:#fff}.rules strong{color:var(--brown)}.success-card{text-align:center}.success-logo{width:74px;height:88px;object-fit:contain}.success-score strong{font-size:1.25rem;color:var(--brown)}.modal-actions{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;margin-top:1rem}html.modal-open,body.modal-open{overflow:hidden}
@media(max-width:960px){.bottle-grid{grid-template-columns:repeat(7,minmax(80px,1fr))}.bottle-svg{width:80px;height:250px}.bottle{height:350px}}
@media(max-width:760px){.page{width:min(100% - .8rem,680px);padding:.55rem 0 1rem}.hero{align-items:flex-start;padding:.78rem;border-radius:20px;gap:.65rem}.hero-signet{width:44px;height:54px}h1{font-size:clamp(1.95rem,9vw,2.8rem)}.subtitle{font-size:.82rem}.hero-actions{gap:.4rem}.hero-actions .btn{min-height:38px;padding:.52rem .65rem;font-size:.75rem}.game-card{padding:.72rem;border-radius:20px}.game-head h2{font-size:1.28rem}.game-intro{font-size:.82rem}.stats{gap:.32rem}.stat{min-width:70px;padding:.45rem}.instruction-strip{font-size:.72rem;gap:.35rem}.status{font-size:.8rem}.bottle-stage{min-height:610px;padding:.8rem .25rem 1rem}.stage-title{font-size:.55rem}.bottle-grid{grid-template-columns:repeat(4,minmax(68px,1fr));gap:.45rem .12rem;min-height:540px;align-content:end}.bottle{height:270px}.bottle-svg{width:72px;height:198px}.bottle-top{min-height:38px}.bottle-number{height:21px;font-size:.62rem}.bottle-caption{font-size:.48rem}.state-badge{min-height:20px}.source-badge,.target-badge,.done-badge,.empty-badge{font-size:.48rem}.legend{font-size:.68rem}.site-footer{display:flex;flex-direction:column;align-items:flex-start;gap:.16rem;font-size:.68rem}.site-footer span:last-child{text-align:left}.rules div{grid-template-columns:1fr;gap:.15rem}}
@media(max-width:480px){.hero{display:grid}.hero-actions{justify-content:flex-start}.game-head{display:grid;grid-template-columns:1fr auto}.game-head h2{font-size:1.08rem}.bottle-stage{min-height:590px}.bottle-grid{min-height:520px}.bottle{height:252px}.bottle-svg{width:66px;height:184px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* v0.8.0 – Hoermann-Hintergrund zurück, Spielkontrast bleibt erhalten */
:root{
  --stage:#2a1b16;
  --stage2:#1d1210;
  --glass:#f3eadf;
}

body{
  position:relative;
  background:linear-gradient(180deg,rgba(250,244,234,.88),rgba(239,226,209,.94));
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(90deg,rgba(247,239,228,.91),rgba(247,239,228,.74) 45%,rgba(247,239,228,.88)),
    url("wallpaper.jpg") center/cover no-repeat;
  filter:saturate(.72) contrast(.96);
  transform:scale(1.01);
}

.bottle-stage{
  background:
    linear-gradient(180deg,rgba(28,18,14,.48),rgba(30,18,14,.68) 58%,rgba(19,11,10,.80)),
    url("wallpaper.jpg") center 58%/cover no-repeat;
  border-color:rgba(78,49,31,.34);
  box-shadow:
    inset 0 1px rgba(255,255,255,.13),
    inset 0 -48px 100px rgba(0,0,0,.36),
    0 12px 28px rgba(67,41,25,.14);
}
.bottle-stage::before{
  background:
    radial-gradient(circle at 50% 42%,rgba(255,244,225,.08),transparent 30%),
    radial-gradient(circle at 18% 83%,rgba(108,74,45,.18),transparent 19%),
    linear-gradient(90deg,rgba(0,0,0,.12),transparent 18%,transparent 82%,rgba(0,0,0,.13));
}
.stage-title{
  color:rgba(255,247,235,.72);
  text-shadow:0 2px 5px rgba(0,0,0,.55);
}
.stage-shelf{
  background:linear-gradient(180deg,#9a6742,#673c22);
  box-shadow:0 9px 22px rgba(0,0,0,.40),inset 0 1px rgba(255,231,205,.52);
}
.bottle.is-dim{opacity:.56}
.bottle:hover{background:rgba(255,248,236,.045)}
.bottle-caption{
  color:#fff7ea;
  text-shadow:0 1px 3px rgba(0,0,0,.9);
}
.bottle-caption.empty{color:#ded4c7}
.bottle-svg{
  filter:drop-shadow(0 13px 11px rgba(0,0,0,.34));
}
.bottle-svg .inner-glass{fill:rgba(255,252,246,.045)}
.bottle-svg .shine{fill:rgba(255,255,255,.20)}
.empty-badge{
  border-color:rgba(255,245,231,.42);
  color:#eee2d2;
  background:rgba(31,19,14,.18);
  text-shadow:0 1px 2px rgba(0,0,0,.55);
}

/* v0.8.1 – hoermannigere Flaschenkontur + reservierter Etikettenbereich */
.bottle-shell{gap:.32rem}
.bottle-top{min-height:48px;gap:.24rem}
.bottle-caption{letter-spacing:.01em}
.bottle-svg{
  width:104px;
  height:322px;
  display:block;
  overflow:visible;
  filter:drop-shadow(0 13px 12px rgba(0,0,0,.34));
  text-rendering:geometricPrecision;
}
.bottle-svg .outline{
  fill:none;
  stroke:var(--glass);
  stroke-width:4.1;
  stroke-linejoin:round;
  stroke-linecap:round;
}
.bottle-svg .lip{
  fill:none;
  stroke:var(--glass);
  stroke-width:4.1;
  stroke-linecap:round;
}
.bottle-svg .inner-glass{fill:rgba(255,251,244,.05)}
.bottle-svg .shine{fill:rgba(255,255,255,.20)}
.bottle-svg .label-well{fill:rgba(255,255,255,.035)}
.bottle-svg .label-bg{
  fill:rgba(253,248,239,.96);
  stroke:rgba(97,63,37,.48);
  stroke-width:1.3;
}
.bottle-svg .label-text{
  font-family:Georgia,"Times New Roman",serif;
  font-size:6.7px;
  font-weight:700;
  fill:#51311f;
  text-anchor:middle;
  letter-spacing:.03em;
}
.bottle-svg .label-sub{
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:4.5px;
  font-weight:900;
  letter-spacing:.10em;
  fill:#8b6845;
  text-anchor:middle;
}
.bottle.is-selected .bottle-svg .outline,
.bottle.is-selected .bottle-svg .lip{
  stroke:var(--selected);
  filter:drop-shadow(0 0 6px rgba(240,185,85,.6));
}
.bottle.is-valid-target .bottle-svg .outline,
.bottle.is-valid-target .bottle-svg .lip{
  stroke:var(--valid);
  stroke-width:5;
  filter:drop-shadow(0 0 6px rgba(145,214,87,.72));
}
.bottle.is-invalid .bottle-svg .outline,
.bottle.is-invalid .bottle-svg .lip{stroke:#ff937b}

@media(max-width:960px){
  .bottle-svg{width:90px;height:280px}
}
@media(max-width:760px){
  .bottle-top{min-height:40px}
  .bottle-svg{width:76px;height:236px}
  .bottle-svg .label-text{font-size:6.2px}
  .bottle-svg .label-sub{font-size:4.2px}
}
@media(max-width:480px){
  .bottle-svg{width:70px;height:220px}
  .bottle-svg .label-text{font-size:5.9px}
  .bottle-svg .label-sub{font-size:4px}
}

/* v0.8.2 – näher an der Photoshop-Musterflasche */
.bottle-grid{
  max-width:1120px;
  gap:clamp(.12rem,.8vw,.45rem);
}
.bottle{
  height:418px;
}
.bottle.is-dim{opacity:.52}
.bottle-shell{
  gap:.18rem;
}
.bottle-top{
  min-height:42px;
  gap:.18rem;
}
.bottle-number{
  min-width:31px;
  height:31px;
  padding:0 .5rem;
  font-size:.86rem;
  font-weight:900;
}
.bottle-caption{
  font-size:.72rem;
  font-weight:860;
  color:#fffaf2;
  text-shadow:0 1px 3px rgba(0,0,0,.88);
}
.bottle-caption.empty{color:#ebe1d2}
.bottle-svg{
  width:118px;
  height:396px;
  filter:drop-shadow(0 14px 11px rgba(0,0,0,.32));
}
.bottle-svg .inner-glass{fill:rgba(57,33,23,.22)}
.bottle-svg .outline,.bottle-svg .lip{
  stroke:#f5efe7;
  stroke-width:4.6;
}
.bottle-svg .base-glow{fill:rgba(255,255,255,.22)}
.bottle-svg .shine{fill:rgba(255,255,255,.12)}
.bottle-svg .label-bg{
  fill:rgba(253,249,241,.97);
  stroke:rgba(123,86,48,.28);
  stroke-width:1.2;
}
.bottle-svg .label-band-text{
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:4.5px;
  font-weight:900;
  letter-spacing:.16em;
  text-anchor:middle;
  fill:#fffdf8;
}
.bottle-svg .label-text{
  font-size:9.6px;
  font-weight:700;
  fill:#a47620;
}
.bottle-svg .label-sub{
  font-size:4.3px;
  letter-spacing:.07em;
  fill:#8a6e49;
}
.state-badge{min-height:22px}

@media(max-width:960px){
  .bottle{height:372px}
  .bottle-svg{width:101px;height:338px}
  .bottle-caption{font-size:.66rem}
}
@media(max-width:760px){
  .bottle-stage{min-height:640px}
  .bottle-grid{grid-template-columns:repeat(4,minmax(70px,1fr));min-height:570px;gap:.48rem .12rem}
  .bottle{height:292px}
  .bottle-top{min-height:39px}
  .bottle-number{min-width:28px;height:28px;font-size:.76rem}
  .bottle-caption{font-size:.56rem}
  .bottle-svg{width:82px;height:276px}
  .bottle-svg .label-text{font-size:8.2px}
  .bottle-svg .label-sub{font-size:4px}
}
@media(max-width:480px){
  .bottle-stage{min-height:615px}
  .bottle-grid{min-height:548px}
  .bottle{height:278px}
  .bottle-svg{width:78px;height:262px}
  .bottle-caption{font-size:.52rem}
  .bottle-svg .label-text{font-size:7.8px}
}


/* v0.8.3 – Basis wieder breiter, Boden flacher */
.bottle-svg .inner-glass{fill:rgba(61,37,25,.20)}
.bottle-svg .base-glow{fill:rgba(255,255,255,.18)}
.bottle-svg .shine{fill:rgba(255,255,255,.11)}


/* v0.8.4 – Kontur enger an der Musterflasche */
.bottle-svg .inner-glass{fill:rgba(61,37,25,.18)}
.bottle-svg .base-glow{fill:rgba(255,255,255,.16)}
.bottle-svg .shine{fill:rgba(255,255,255,.10)}


/* v0.8.5 – Kontur direkt am Overlay ausgerichtet */
.bottle-svg .base-glow{fill:rgba(255,255,255,.12)}
.bottle-svg .base-edge{fill:none;stroke:#f5efe7;stroke-width:4.6;stroke-linecap:round;stroke-linejoin:round}


/* v0.8.8 – exakte Kontur aus der vom Nutzer gelieferten krugfl1.svg */
.bottle{
  --outline-color:#f5efe7;
}
.bottle.is-selected{--outline-color:var(--selected)}
.bottle.is-valid-target{--outline-color:var(--valid)}
.bottle.is-invalid{--outline-color:#ff937b}

.bottle-svg.exact-bottle{
  width:108px;
  height:auto;
  aspect-ratio:145 / 487;
  overflow:visible;
  filter:drop-shadow(0 14px 11px rgba(0,0,0,.34));
}
.exact-bottle .exact-outline{
  fill:var(--outline-color);
  transition:fill .16s ease;
}
.exact-bottle .liquid-area{
  opacity:.98;
}
.exact-bottle .bottle-glass-shine{
  fill:rgba(255,255,255,.10);
}
.exact-bottle .mini-card-bg{
  fill:rgba(253,249,241,.97);
  stroke:rgba(123,86,48,.24);
  stroke-width:1;
}
.exact-bottle .mini-card-brand{
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:4.7px;
  font-weight:900;
  letter-spacing:.12em;
  text-anchor:middle;
  fill:#fffdf8;
}
.exact-bottle .mini-card-title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:10px;
  font-weight:700;
  text-anchor:middle;
  fill:#9b6f1d;
}
.exact-bottle .mini-card-sub{
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:4.3px;
  font-weight:850;
  letter-spacing:.08em;
  text-anchor:middle;
  fill:#8a6e49;
}

@media(max-width:960px){
  .bottle-svg.exact-bottle{width:92px}
}
@media(max-width:760px){
  .bottle-svg.exact-bottle{width:78px}
}
@media(max-width:480px){
  .bottle-svg.exact-bottle{width:73px}
}


/* v0.8.9 – Mobile entspannen, größere Etiketten, natürlichere Füllung */
.exact-bottle .liquid-fill{opacity:.96}
.exact-bottle .liquid-topline{stroke:rgba(255,255,255,.26);stroke-width:1.1}
.exact-bottle .glass-tint{opacity:.78}
.exact-bottle .bottle-bottom-shadow{fill:rgba(25,12,8,.22)}
.exact-bottle .mini-card-bg{fill:rgba(253,249,241,.98);stroke:rgba(123,86,48,.26);stroke-width:1.05}
.exact-bottle .mini-card-title{font-size:10.8px}
.exact-bottle .mini-card-sub{font-size:4.8px}
.exact-bottle .mini-card-brand{font-size:4.9px}

@media(max-width:760px){
  .stage-title{display:none}
  .bottle-stage{min-height:860px;padding:.9rem .4rem 1.15rem}
  .bottle-grid{grid-template-columns:repeat(3,minmax(92px,1fr));gap:.45rem .35rem;min-height:775px;align-content:start;max-width:none;padding:0 .1rem}
  .bottle{height:360px}
  .bottle-shell{gap:.08rem}
  .bottle-top{min-height:34px;gap:.1rem}
  .bottle-number{min-width:22px;height:22px;padding:0 .38rem;font-size:.68rem}
  .bottle-caption{font-size:.52rem;line-height:1.05;text-align:center}
  .bottle-svg.exact-bottle{width:96px}
  .state-badge{min-height:18px}
  .source-badge,.target-badge,.done-badge,.empty-badge{font-size:.5rem;padding:.18rem .36rem}
}

@media(max-width:560px){
  .bottle-stage{min-height:830px}
  .bottle-grid{grid-template-columns:repeat(3,minmax(88px,1fr));min-height:748px;gap:.42rem .26rem}
  .bottle{height:345px}
  .bottle-svg.exact-bottle{width:91px}
}

@media(max-width:430px){
  .instruction-strip{font-size:.68rem}
  .status{font-size:.76rem}
  .bottle-stage{min-height:798px;padding:.82rem .28rem 1rem}
  .bottle-grid{grid-template-columns:repeat(3,minmax(84px,1fr));min-height:720px;gap:.38rem .18rem}
  .bottle{height:332px}
  .bottle-svg.exact-bottle{width:86px}
  .bottle-caption{font-size:.5rem}
}


/* v0.9.0 – volle Flasche bis Schulter + Signet + Mobile wieder 4+3 */
.exact-bottle .bottle-signet{
  opacity:.20;
  filter:brightness(0) invert(1);
  pointer-events:none;
}
.exact-bottle .liquid-layer .liquid-fill{
  opacity:.97;
}
.exact-bottle .liquid-topline{
  stroke:rgba(255,255,255,.20);
  stroke-width:1;
}

@media(max-width:760px){
  .bottle-stage{min-height:615px;padding:.78rem .24rem 1rem}
  .bottle-grid{grid-template-columns:repeat(4,minmax(70px,1fr));gap:.4rem .10rem;min-height:545px;align-content:end;padding:0}
  .bottle{height:274px}
  .bottle-svg.exact-bottle{width:78px}
  .bottle-top{min-height:36px}
  .bottle-number{min-width:26px;height:26px;font-size:.72rem}
  .bottle-caption{font-size:.54rem}
}

@media(max-width:560px){
  .bottle-stage{min-height:598px}
  .bottle-grid{grid-template-columns:repeat(4,minmax(67px,1fr));min-height:530px;gap:.35rem .08rem}
  .bottle{height:264px}
  .bottle-svg.exact-bottle{width:75px}
}

@media(max-width:430px){
  .bottle-stage{min-height:580px;padding:.72rem .18rem .92rem}
  .bottle-grid{grid-template-columns:repeat(4,minmax(64px,1fr));min-height:512px;gap:.3rem .05rem}
  .bottle{height:254px}
  .bottle-svg.exact-bottle{width:72px}
  .bottle-caption{font-size:.49rem}
  .state-badge{min-height:17px}
  .source-badge,.target-badge,.done-badge,.empty-badge{font-size:.46rem;padding:.16rem .32rem}
}


/* v0.9.1 – sichtbarer Signet, größeres Kartenetikett, Mobile oben mehr Luft */
.exact-bottle .bottle-signet{
  opacity:1;
  filter:brightness(0) invert(1) drop-shadow(0 0 1px rgba(255,255,255,.14));
}
.exact-bottle .bottle-glass-shine{fill:rgba(255,255,255,.085)}
.exact-bottle .mini-card-bg{fill:rgba(253,249,241,.985);stroke:rgba(123,86,48,.30);stroke-width:1.1}
.exact-bottle .mini-card-brand{font-size:5.3px;letter-spacing:.14em}
.exact-bottle .mini-card-title{font-size:12.6px;fill:#ad7b1d}
.exact-bottle .mini-card-sub{font-size:5.1px;letter-spacing:.09em}

@media(max-width:760px){
  .bottle-stage{min-height:625px;padding:1.18rem .24rem 1rem}
  .bottle-grid{grid-template-columns:repeat(4,minmax(70px,1fr));gap:.4rem .10rem;min-height:548px;align-content:end;padding-top:.42rem}
  .bottle{height:278px}
  .bottle-svg.exact-bottle{width:78px}
  .bottle-top{min-height:42px;gap:.14rem}
  .bottle-number{min-width:27px;height:27px;font-size:.74rem}
  .bottle-caption{font-size:.56rem;line-height:1.08}
}

@media(max-width:560px){
  .bottle-stage{min-height:608px;padding:1.08rem .22rem .98rem}
  .bottle-grid{grid-template-columns:repeat(4,minmax(67px,1fr));min-height:536px;gap:.35rem .08rem;padding-top:.38rem}
  .bottle{height:268px}
  .bottle-svg.exact-bottle{width:75px}
  .bottle-top{min-height:40px}
}

@media(max-width:430px){
  .bottle-stage{min-height:590px;padding:1rem .16rem .92rem}
  .bottle-grid{grid-template-columns:repeat(4,minmax(64px,1fr));min-height:520px;gap:.3rem .05rem;padding-top:.34rem}
  .bottle{height:258px}
  .bottle-svg.exact-bottle{width:72px}
  .bottle-top{min-height:38px}
  .bottle-caption{font-size:.5rem}
  .exact-bottle .mini-card-title{font-size:13.2px}
  .exact-bottle .mini-card-sub{font-size:5.4px}
}


/* v0.9.2 – Signet tiefer, schönere Kartenetiketten, progressive Schichtlogik */
.exact-bottle .bottle-signet{
  opacity:1;
  filter:brightness(0) invert(1) drop-shadow(0 0 1.2px rgba(255,255,255,.14));
}
.exact-bottle .mini-card{filter:drop-shadow(0 3px 5px rgba(0,0,0,.18))}
.exact-bottle .mini-card-bg{fill:rgba(252,248,240,.992);stroke:rgba(122,87,42,.34);stroke-width:1.15}
.exact-bottle .mini-card-inner{fill:rgba(255,252,246,.92);stroke:rgba(176,134,68,.55);stroke-width:.9}
.exact-bottle .mini-card-divider{stroke:rgba(184,146,87,.55);stroke-width:1}
.exact-bottle .mini-card-brand{font-size:5.45px;letter-spacing:.15em;fill:#fffdf9}
.exact-bottle .mini-card-title{font-size:12.8px;font-weight:700;fill:#ab7a24}
.exact-bottle .mini-card-sub{font-size:4.9px;font-weight:900;letter-spacing:.08em;fill:#7e6845}
.exact-bottle .mini-card-footer{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:4.5px;font-weight:900;letter-spacing:.12em;text-anchor:middle;fill:#9d8251}

@media(max-width:760px){
  .bottle-stage{min-height:630px;padding:1.18rem .24rem 1rem}
}
@media(max-width:430px){
  .exact-bottle .mini-card-title{font-size:13.3px}
  .exact-bottle .mini-card-sub{font-size:5.15px}
  .exact-bottle .mini-card-footer{font-size:4.7px}
}


/* v0.9.3 – Mobile-Reihen wirklich trennen + Progression bis 8 Schichten */
@media(max-width:760px){
  .stage-title{display:none}
  .bottle-stage{
    min-height:720px;
    padding:1.35rem .24rem 1rem;
  }
  .bottle-grid{
    grid-template-columns:repeat(4,minmax(68px,1fr));
    min-height:0;
    align-content:start;
    align-items:start;
    row-gap:2.2rem;
    column-gap:.10rem;
    padding-top:.2rem;
  }
  .bottle{height:322px}
  .bottle-shell{justify-content:flex-start}
  .bottle-top{min-height:40px;flex:0 0 40px}
  .bottle-svg.exact-bottle{width:76px;flex:0 0 auto}
  .state-badge{min-height:18px;flex:0 0 18px}
}

@media(max-width:560px){
  .bottle-stage{
    min-height:690px;
    padding:1.25rem .20rem .95rem;
  }
  .bottle-grid{
    grid-template-columns:repeat(4,minmax(66px,1fr));
    row-gap:2.15rem;
    column-gap:.07rem;
    padding-top:.18rem;
  }
  .bottle{height:305px}
  .bottle-top{min-height:38px;flex-basis:38px}
  .bottle-svg.exact-bottle{width:72px}
}

@media(max-width:430px){
  .bottle-stage{
    min-height:655px;
    padding:1.15rem .12rem .9rem;
  }
  .bottle-grid{
    grid-template-columns:repeat(4,minmax(62px,1fr));
    row-gap:2rem;
    column-gap:.04rem;
    padding-top:.15rem;
  }
  .bottle{height:289px}
  .bottle-top{min-height:36px;flex-basis:36px}
  .bottle-svg.exact-bottle{width:68px}
  .bottle-number{min-width:25px;height:25px;font-size:.7rem}
  .bottle-caption{font-size:.49rem}
  .state-badge{min-height:17px;flex-basis:17px}
}


/* v0.9.4-test – leere Behälter als Messzylinder */
.bottle-shell.is-empty-vessel .state-badge{margin-top:.05rem}
.cylinder-svg{
  width:108px;
  height:auto;
  aspect-ratio:145 / 487;
  overflow:visible;
  filter:drop-shadow(0 12px 10px rgba(0,0,0,.28));
  animation:emptyVesselIn .22s ease-out;
}
.cylinder-svg .cylinder-body{fill:rgba(255,255,255,.035)}
.cylinder-svg .cylinder-inner{fill:rgba(255,255,255,.025)}
.cylinder-svg .cylinder-ruler{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.26);stroke-width:.65}
.cylinder-svg .cylinder-scale{stroke:rgba(255,255,255,.62);stroke-width:1.2;stroke-linecap:round}
.cylinder-svg .cylinder-tint{opacity:.78}
.cylinder-svg .cylinder-shine{fill:rgba(255,255,255,.11)}
.cylinder-svg .cylinder-signet{opacity:.42;filter:brightness(0) invert(1)}
.cylinder-svg .cylinder-base{fill:rgba(255,255,255,.13)}
.cylinder-svg .cylinder-outline,.cylinder-svg .cylinder-lip{fill:none;stroke:var(--outline-color);stroke-width:4.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke .16s ease}
@keyframes emptyVesselIn{from{opacity:.15;transform:translateY(6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}

@media(max-width:960px){.cylinder-svg{width:92px}}
@media(max-width:760px){.cylinder-svg{width:76px}}
@media(max-width:560px){.cylinder-svg{width:72px}}
@media(max-width:430px){.cylinder-svg{width:68px}}


/* v0.9.5-test – Messzylinder mit Standfuß */
.cylinder-svg .cylinder-stem{fill:rgba(255,255,255,.12);stroke:rgba(255,255,255,.22);stroke-width:.7}
.cylinder-svg .cylinder-foot-top{fill:rgba(255,255,255,.10);stroke:rgba(255,255,255,.18);stroke-width:.7}
.cylinder-svg .cylinder-foot{fill:rgba(255,255,255,.16)}
.cylinder-svg .cylinder-foot-rim{fill:none;stroke:var(--outline-color);stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round;transition:stroke .16s ease}


/* v0.9.6-test – Labor-Standfuß + weicher Zylinder/Flaschen-Wechsel */
.cylinder-svg .cylinder-neck-foot{fill:rgba(255,255,255,.11);stroke:rgba(255,255,255,.24);stroke-width:.75}
.cylinder-svg .cylinder-foot-upper{fill:rgba(255,255,255,.09);stroke:rgba(255,255,255,.19);stroke-width:.75}
.cylinder-svg .cylinder-foot-highlight{fill:rgba(255,255,255,.12)}
.cylinder-svg .cylinder-foot-outline,.cylinder-svg .cylinder-foot-bottom{fill:none;stroke:var(--outline-color);stroke-width:3.1;stroke-linecap:round;stroke-linejoin:round;transition:stroke .16s ease}
.cylinder-svg .cylinder-foot-bottom{stroke-width:1.5;opacity:.58}

.vessel-morph{position:relative;display:block;width:108px;aspect-ratio:145 / 487;flex:0 0 auto}
.vessel-morph > span{position:absolute;inset:0;display:block}
.vessel-morph .bottle-svg{position:absolute;inset:0;width:100%!important;height:100%;animation:none}
.vessel-morph .morph-old,.vessel-morph .morph-new{transform-origin:50% 88%;will-change:opacity,transform,filter}
.morph-to-bottle .morph-old{animation:cylinderMorphOut .36s cubic-bezier(.4,0,.2,1) forwards}
.morph-to-bottle .morph-new{animation:bottleMorphIn .38s cubic-bezier(.2,.72,.2,1) forwards}
.morph-to-cylinder .morph-old{animation:bottleMorphOut .34s cubic-bezier(.4,0,.2,1) forwards}
.morph-to-cylinder .morph-new{animation:cylinderMorphIn .38s cubic-bezier(.2,.72,.2,1) forwards}
@keyframes cylinderMorphOut{0%{opacity:1;transform:scaleX(1) scaleY(1);filter:blur(0)}55%{opacity:.48;transform:scaleX(1.26) scaleY(.995);filter:blur(.2px)}100%{opacity:0;transform:scaleX(1.55) scaleY(.99);filter:blur(1.2px)}}
@keyframes bottleMorphIn{0%{opacity:0;transform:scaleX(.56) scaleY(.99);filter:blur(1.3px)}52%{opacity:.58;transform:scaleX(.80) scaleY(.995);filter:blur(.25px)}100%{opacity:1;transform:scaleX(1) scaleY(1);filter:blur(0)}}
@keyframes bottleMorphOut{0%{opacity:1;transform:scaleX(1) scaleY(1);filter:blur(0)}58%{opacity:.45;transform:scaleX(.78) scaleY(.995);filter:blur(.25px)}100%{opacity:0;transform:scaleX(.56) scaleY(.99);filter:blur(1.3px)}}
@keyframes cylinderMorphIn{0%{opacity:0;transform:scaleX(1.55) scaleY(.99);filter:blur(1.2px)}52%{opacity:.58;transform:scaleX(1.24) scaleY(.995);filter:blur(.2px)}100%{opacity:1;transform:scaleX(1) scaleY(1);filter:blur(0)}}

@media(max-width:960px){.vessel-morph{width:92px}}
@media(max-width:760px){.vessel-morph{width:76px}}
@media(max-width:560px){.vessel-morph{width:72px}}
@media(max-width:430px){.vessel-morph{width:68px}}
@media(prefers-reduced-motion:reduce){.vessel-morph .morph-old{display:none}.vessel-morph .morph-new{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}}


/* v0.9.7-test – offene Zylindermündung, Fuß näher am Körper, ruhiger Morph */
.cylinder-svg .cylinder-mouth-outer{fill:rgba(255,255,255,.09);stroke:var(--outline-color);stroke-width:3.5}
.cylinder-svg .cylinder-mouth-inner{fill:rgba(28,16,11,.62);stroke:rgba(255,255,255,.48);stroke-width:1.2}
.cylinder-svg .cylinder-outline{stroke-width:3.8}
.cylinder-svg .cylinder-neck-foot{fill:rgba(255,255,255,.13);stroke:rgba(255,255,255,.25);stroke-width:.7}
.cylinder-svg .cylinder-foot-upper{fill:rgba(255,255,255,.10);stroke:rgba(255,255,255,.19);stroke-width:.7}

.vessel-morph .morph-old,.vessel-morph .morph-new{
  transform-origin:50% 86%;
  will-change:opacity,transform;
  filter:none!important;
}
.morph-to-bottle .morph-old{animation:cylinderFadeOut .30s ease-in-out forwards}
.morph-to-bottle .morph-new{animation:bottleFadeIn .32s ease-in-out forwards}
.morph-to-cylinder .morph-old{animation:bottleFadeOut .30s ease-in-out forwards}
.morph-to-cylinder .morph-new{animation:cylinderFadeIn .32s ease-in-out forwards}
@keyframes cylinderFadeOut{
  0%{opacity:1;transform:translateY(0) scale(.995)}
  55%{opacity:.46;transform:translateY(1px) scale(1.01)}
  100%{opacity:0;transform:translateY(2px) scale(1.025)}
}
@keyframes bottleFadeIn{
  0%{opacity:0;transform:translateY(2px) scale(.975)}
  45%{opacity:.42;transform:translateY(1px) scale(.99)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes bottleFadeOut{
  0%{opacity:1;transform:translateY(0) scale(1)}
  55%{opacity:.46;transform:translateY(1px) scale(.99)}
  100%{opacity:0;transform:translateY(2px) scale(.975)}
}
@keyframes cylinderFadeIn{
  0%{opacity:0;transform:translateY(2px) scale(1.025)}
  45%{opacity:.42;transform:translateY(1px) scale(1.01)}
  100%{opacity:1;transform:translateY(0) scale(.995)}
}


/* v0.9.8-test – Zylinder auf Flaschenhöhe, saubere offene Mündung */
.cylinder-svg .cylinder-body,.cylinder-svg .cylinder-inner{stroke:none}
.cylinder-svg .cylinder-mouth-outer{fill:rgba(255,255,255,.085);stroke:var(--outline-color);stroke-width:3.5}
.cylinder-svg .cylinder-mouth-inner{fill:rgba(20,10,6,.72);stroke:none}
.cylinder-svg .cylinder-mouth-front{fill:none;stroke:rgba(255,255,255,.48);stroke-width:1.2;stroke-linecap:round}
.cylinder-svg .cylinder-outline{fill:none;stroke:var(--outline-color);stroke-width:3.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .16s ease}
.cylinder-svg .cylinder-foot-upper{fill:rgba(255,255,255,.12);stroke:rgba(255,255,255,.22);stroke-width:.7}
.cylinder-svg .cylinder-neck-foot{fill:rgba(255,255,255,.15);stroke:rgba(255,255,255,.22);stroke-width:.65}
.cylinder-svg .cylinder-foot-highlight{fill:rgba(255,255,255,.13)}


/* v0.9.9-test – Top/Bottom Alignment und realistischere Mündung */
.cylinder-svg .cylinder-mouth-fill{fill:rgba(20,10,6,.74)}
.cylinder-svg .cylinder-mouth-back{fill:none;stroke:var(--outline-color);stroke-width:3.45;stroke-linecap:round}
.cylinder-svg .cylinder-mouth-front{fill:none;stroke:rgba(255,255,255,.55);stroke-width:1.18;stroke-linecap:round}
.cylinder-svg .cylinder-rim-left,.cylinder-svg .cylinder-rim-right{fill:none;stroke:var(--outline-color);stroke-width:3.45;stroke-linecap:round}


/* v0.9.10 – Echtversion + Musikbedienung wie Schnapsi */
.audio-toggle{
  width:40px;
  height:40px;
  flex:0 0 auto;
  border:1px solid rgba(90,47,25,.22);
  border-radius:999px;
  padding:0;
  background:rgba(255,252,246,.78);
  color:#5A2F19;
  cursor:pointer;
  display:grid;
  place-items:center;
  box-shadow:0 6px 14px rgba(90,47,25,.08);
}
.audio-toggle:hover{background:rgba(255,252,246,.96)}
.audio-toggle:focus-visible{outline:3px solid rgba(200,148,59,.38);outline-offset:3px}
.audio-icon{width:20px;height:20px;overflow:visible}
.audio-icon .speaker-body{fill:currentColor}
.audio-icon .wave,.audio-icon .mute-slash{fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.audio-icon .wave{opacity:.9}
.audio-icon .mute-slash{display:none;stroke:#9F0000;stroke-width:2.4}
.audio-toggle[aria-pressed="false"] .wave{display:none}
.audio-toggle[aria-pressed="false"] .mute-slash{display:block}
.audio-toggle[aria-pressed="false"]{opacity:.82}
.audio-toggle[aria-pressed="true"]{opacity:1}
.footer-music-credit{grid-column:1 / -1;justify-self:center;margin-top:.06rem;color:rgba(94,73,53,.46);font-size:.54rem;line-height:1.25;letter-spacing:.015em;text-align:center}
@media(max-width:760px){
  .audio-toggle{width:36px;height:36px}
  .audio-icon{width:19px;height:19px}
  .footer-music-credit{align-self:flex-start;justify-self:auto;margin-top:.12rem;font-size:.52rem;text-align:left}
}

.site-footer span.footer-address{text-align:right}
.site-footer span.footer-music-credit{text-align:center}
@media(max-width:760px){.site-footer span.footer-address,.site-footer span.footer-music-credit{text-align:left}}


/* v0.9.11 – Fußzeile analog Schnapsi: Homepage · Shop · Destillerie */
.site-footer .footer-copy{justify-self:start}
.site-footer .footer-shop{justify-self:center}
.site-footer .footer-address{justify-self:end;text-align:right;color:var(--brown);text-decoration:none;font-weight:750}
@media(max-width:760px){
  .site-footer .footer-copy,.site-footer .footer-shop,.site-footer .footer-address{justify-self:auto;text-align:left}
}


/* v0.9.12 – Grüner Schlierseer + höhere textbasierte Etiketten mit kleinen Motiven */
.exact-bottle .mini-card{filter:drop-shadow(0 4px 5px rgba(0,0,0,.18))}
.exact-bottle .mini-card-bg{fill:rgba(252,248,240,.994);stroke:rgba(122,87,42,.34);stroke-width:1.12}
.exact-bottle .mini-card-inner{fill:rgba(255,252,246,.94);stroke:rgba(176,134,68,.52);stroke-width:.92}
.exact-bottle .mini-card-divider{stroke:rgba(184,146,87,.48);stroke-width:1}
.exact-bottle .mini-card-brand{font-size:5.2px;letter-spacing:.15em;fill:#fffdf9}
.exact-bottle .mini-card-motif{opacity:.9}
.exact-bottle .mini-card-motif .motif-stroke{fill:none;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}
.exact-bottle .mini-card-title{font-family:Georgia,"Times New Roman",serif;font-size:11.9px;font-weight:700;text-anchor:middle;fill:#ab7a24}
.exact-bottle .mini-card-title.is-two-line{font-size:10.45px}
.exact-bottle .mini-card-title.second-line{font-size:9.35px;letter-spacing:.02em}
.exact-bottle .mini-card-sub{font-size:4.85px;font-weight:900;letter-spacing:.085em;fill:#7e6845}
.exact-bottle .mini-card-footer{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:4.55px;font-weight:900;letter-spacing:.12em;text-anchor:middle;fill:#9d8251}

@media(max-width:760px){
  .exact-bottle .mini-card-title{font-size:12.2px}
  .exact-bottle .mini-card-title.is-two-line{font-size:10.6px}
  .exact-bottle .mini-card-title.second-line{font-size:9.45px}
  .exact-bottle .mini-card-sub{font-size:5.05px}
  .exact-bottle .mini-card-footer{font-size:4.7px}
}

@media(max-width:430px){
  .exact-bottle .mini-card-title{font-size:12.45px}
  .exact-bottle .mini-card-title.is-two-line{font-size:10.8px}
  .exact-bottle .mini-card-title.second-line{font-size:9.6px}
  .exact-bottle .mini-card-sub{font-size:5.15px}
  .exact-bottle .mini-card-footer{font-size:4.78px}
}


/* v0.9.13 – textbasierte Etiketten neu geordnet; echte Bilder optional vorbereitet */
.exact-bottle .mini-card{filter:drop-shadow(0 4px 6px rgba(0,0,0,.20))}
.exact-bottle .mini-card-bg{fill:rgba(252,248,240,.996);stroke:rgba(111,76,39,.38);stroke-width:1.2}
.exact-bottle .mini-card-inner{fill:rgba(255,253,248,.96);stroke:rgba(176,134,68,.50);stroke-width:1}
.exact-bottle .mini-card-brand{font-size:6.25px;font-weight:900;letter-spacing:.16em;fill:#fffdf9}
.exact-bottle .mini-card-kicker{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:4.8px;font-weight:850;letter-spacing:.075em;text-anchor:middle;fill:#8e7249}
.exact-bottle .mini-card-title{font-family:Georgia,"Times New Roman",serif;font-size:15.1px;font-weight:700;text-anchor:middle;fill:#a8751d}
.exact-bottle .mini-card-title.is-two-line{font-size:11.9px}
.exact-bottle .mini-card-title.second-line{font-size:11.15px;letter-spacing:.01em}
.exact-bottle .mini-card-divider{stroke:rgba(176,134,68,.48);stroke-width:1}
.exact-bottle .mini-card-sub{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:6.15px;font-weight:900;letter-spacing:.11em;text-anchor:middle;fill:#765b35}
.exact-bottle .mini-card-footer{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:5.6px;font-weight:850;letter-spacing:.115em;text-anchor:middle;fill:#9b7c4a}
.exact-bottle .mini-card-image{opacity:.96}

@media(max-width:760px){
  .exact-bottle .mini-card-brand{font-size:6.55px}
  .exact-bottle .mini-card-kicker{font-size:5px}
  .exact-bottle .mini-card-title{font-size:15.5px}
  .exact-bottle .mini-card-title.is-two-line{font-size:12.15px}
  .exact-bottle .mini-card-title.second-line{font-size:11.35px}
  .exact-bottle .mini-card-sub{font-size:6.35px}
  .exact-bottle .mini-card-footer{font-size:5.85px}
}

@media(max-width:430px){
  .exact-bottle .mini-card-brand{font-size:6.8px}
  .exact-bottle .mini-card-kicker{font-size:5.15px}
  .exact-bottle .mini-card-title{font-size:15.8px}
  .exact-bottle .mini-card-title.is-two-line{font-size:12.35px}
  .exact-bottle .mini-card-title.second-line{font-size:11.55px}
  .exact-bottle .mini-card-sub{font-size:6.5px}
  .exact-bottle .mini-card-footer{font-size:6px}
}


/* v0.9.17 – untere Etikettzeilen mit mehr Abstand zum Rahmen */
.exact-bottle .mini-card-footer{dominant-baseline:auto}


/* v0.9.18 – höheres Etikett, mehr Luft fürs Motiv, alle Sorten zweizeilig */
.exact-bottle .mini-card-title{font-size:14.1px;line-height:1}
.exact-bottle .mini-card-title.is-two-line{font-size:12.15px}
.exact-bottle .mini-card-title.second-line{font-size:11.25px;letter-spacing:.01em}
.exact-bottle .mini-card-sub{font-size:6.15px;letter-spacing:.105em}
.exact-bottle .mini-card-footer{font-size:5.45px;letter-spacing:.11em}
.exact-bottle .mini-card-image{opacity:.98}
@media(max-width:760px){
  .exact-bottle .mini-card-title{font-size:14.45px}
  .exact-bottle .mini-card-title.is-two-line{font-size:12.4px}
  .exact-bottle .mini-card-title.second-line{font-size:11.45px}
  .exact-bottle .mini-card-sub{font-size:6.3px}
  .exact-bottle .mini-card-footer{font-size:5.6px}
}
@media(max-width:430px){
  .exact-bottle .mini-card-title{font-size:14.7px}
  .exact-bottle .mini-card-title.is-two-line{font-size:12.6px}
  .exact-bottle .mini-card-title.second-line{font-size:11.6px}
  .exact-bottle .mini-card-sub{font-size:6.45px}
  .exact-bottle .mini-card-footer{font-size:5.7px}
}


/* v0.9.20 – Quellen ohne Ziel deaktivieren */
.bottle.is-no-source{cursor:default;opacity:.72}
.bottle.is-no-source:hover{background:transparent}
.bottle.is-no-source:hover .bottle-shell{transform:none}
.bottle.is-no-source:focus-visible{outline-color:rgba(255,255,255,.22)}


/* v0.9.21 – Etikett geringfügig schmaler; mehr Flüssigkeitsfarbe auf kleinen Displays */
.exact-bottle .mini-card-kicker{font-size:4.65px;letter-spacing:.07em}
@media(max-width:760px){.exact-bottle .mini-card-kicker{font-size:4.82px}}
@media(max-width:430px){.exact-bottle .mini-card-kicker{font-size:4.95px}}


/* v0.9.23 – Abfüllbühne sichtbar + mobile Beschriftungen entzerrt */
.bottle-caption .caption-prefix{display:inline}
.bottle-caption .caption-lines{display:inline}
.bottle-caption .caption-lines span{display:inline}
.bottle-caption .caption-lines span + span::before{content:" ";}

/* Auch im mobilen Querformat: lange Sortennamen nicht mehr ineinander laufen lassen. */
@media(max-width:960px){
  .bottle-caption{
    width:100%;
    max-width:100%;
    white-space:normal;
    text-align:center;
    line-height:1.02;
    overflow-wrap:normal;
  }
  .bottle-caption .caption-prefix{display:none}
  .bottle-caption .caption-lines{display:flex;flex-direction:column;align-items:center;justify-content:center}
  .bottle-caption .caption-lines span{display:block;white-space:nowrap}
  .bottle-caption .caption-lines span + span::before{content:none}
}

@media(max-width:760px){
  /* Der alte Mobile-Stand blendete die Bühnenzeile aus. Jetzt bleibt sie sichtbar. */
  .stage-title{
    display:block;
    top:.82rem;
    width:calc(100% - 1.2rem);
    font-size:.54rem;
    letter-spacing:.12em;
    text-align:center;
  }

  /* Nur die erste Viererreihe macht Platz für die Bühnenzeile. Die zweite Reihe bleibt stehen. */
  .bottle:nth-child(-n+4){
    top:1.85rem;
  }
  .bottle:nth-child(-n+4) .bottle-top{
    min-height:48px;
    flex-basis:48px;
  }

  .bottle-caption{
    font-size:.49rem;
    line-height:1.02;
    padding:0 .08rem;
  }
}

@media(max-width:560px){
  .stage-title{font-size:.52rem;letter-spacing:.105em}
  .bottle:nth-child(-n+4){top:1.75rem}
  .bottle:nth-child(-n+4) .bottle-top{min-height:47px;flex-basis:47px}
  .bottle-caption{font-size:.475rem}
}

@media(max-width:430px){
  .stage-title{top:.72rem;font-size:.49rem;letter-spacing:.085em}
  .bottle:nth-child(-n+4){top:1.65rem}
  .bottle:nth-child(-n+4) .bottle-top{min-height:46px;flex-basis:46px}
  .bottle-caption{font-size:.455rem}
}


/* v0.9.24 – dynamische Bühnenbezeichnung je Schwierigkeitsstufe */
@media(max-width:760px){
  .stage-title{
    line-height:1.15;
    white-space:nowrap;
  }
}


/* v0.9.25 – schnellere, ruhigere und hochwertigere Umfüllanimation */
.bottle.is-pouring-source .bottle-shell{
  transform:translateY(-7px) rotate(var(--pour-tilt,-9deg));
  transform-origin:50% 83%;
  transition:transform .14s cubic-bezier(.2,.8,.2,1);
}
.bottle.is-pouring-target .bottle-shell{
  transform:translateY(-2px) scale(1.012);
  animation:pourReceive .36s ease-out both;
}
@keyframes pourReceive{
  0%,100%{filter:none}
  55%{filter:drop-shadow(0 0 7px rgba(255,255,255,.24))}
}
.pour-stream-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  overflow:visible;
}
.pour-stream-shadow,.pour-stream-main,.pour-stream-shine{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.pour-stream-shadow{
  stroke:rgba(20,10,5,.46);
  stroke-width:calc(var(--stream-width) + 2.8px);
  filter:blur(.8px);
}
.pour-stream-main{
  stroke:var(--pour-color);
  stroke-width:var(--stream-width);
  filter:drop-shadow(0 0 4px var(--pour-color));
}
.pour-stream-shine{
  stroke:rgba(255,255,255,.48);
  stroke-width:1.25px;
}
.pour-drop{
  width:12px;
  height:12px;
  border-radius:58% 48% 58% 42%;
  background:var(--pour-color);
  box-shadow:0 0 7px var(--pour-color),inset 2px 2px 2px rgba(255,255,255,.28);
}
.pour-drop::after{
  content:"";
  position:absolute;
  width:3px;
  height:3px;
  left:2px;
  top:2px;
  border-radius:50%;
  background:rgba(255,255,255,.72);
}
.pour-splash{
  position:absolute;
  width:28px;
  height:10px;
  border:2px solid var(--pour-color);
  border-radius:50%;
  box-shadow:0 0 8px var(--pour-color);
  opacity:0;
}
@media(prefers-reduced-motion:reduce){
  .bottle.is-pouring-target .bottle-shell{animation:none}
}


/* v0.9.26 – mobiler Turbo, transparenter Umfüllschlauch und dezentes Plätschern */
.pour-hose-shadow,.pour-hose-outer,.pour-hose-inner{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.pour-hose-shadow{
  stroke:rgba(12,8,5,.50);
  stroke-width:calc(var(--stream-width) + 8px);
  filter:blur(1.1px);
}
.pour-hose-outer{
  stroke:rgba(235,242,238,.38);
  stroke-width:calc(var(--stream-width) + 7px);
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.30));
}
.pour-hose-inner{
  stroke:rgba(255,255,255,.16);
  stroke-width:calc(var(--stream-width) + 3px);
}
.pour-hose-coupling{
  fill:rgba(232,232,224,.72);
  stroke:rgba(255,255,255,.78);
  stroke-width:1.25px;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));
}
.pour-stream-main{
  stroke-width:calc(var(--stream-width) - 1.2px);
  filter:drop-shadow(0 0 2.5px var(--pour-color));
}
.pour-stream-shine{
  stroke-width:1px;
  stroke-dasharray:7 5;
}
@media(max-width:760px){
  .bottle.is-pouring-source .bottle-shell{transition-duration:.08s}
  .bottle.is-pouring-target .bottle-shell{animation-duration:.20s}
}


/* v0.9.27 – separater FX-Schalter und zentraler Anlagen-Schlauch */
.fx-icon .fx-drop{fill:currentColor;opacity:.92}
.fx-icon .fx-wave{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.fx-toggle[aria-pressed="false"] .fx-wave{display:none}
.fx-toggle[aria-pressed="false"] .mute-slash{display:block}

/* Beim Anlagen-Schlauch bleibt die Quellflasche aufrecht. */
.bottle.is-pouring-source .bottle-shell{
  transform:translateY(-4px) rotate(0deg);
}

.transfer-system-svg{overflow:visible}
.transfer-mount-stem{
  stroke:rgba(230,226,216,.78);
  stroke-width:5px;
  stroke-linecap:round;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.45));
}
.transfer-mount{
  fill:rgba(209,207,198,.94);
  stroke:rgba(255,255,255,.86);
  stroke-width:1.4px;
  filter:drop-shadow(0 2px 3px rgba(0,0,0,.45));
}
.transfer-hose-shadow,.transfer-hose-outer,.transfer-hose-inner,.transfer-liquid{
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.transfer-hose-shadow{
  stroke:rgba(10,8,6,.50);
  stroke-width:calc(var(--stream-width) + 9px);
  filter:blur(1.15px);
}
.transfer-hose-outer{
  stroke:rgba(226,237,234,.43);
  stroke-width:calc(var(--stream-width) + 7px);
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.32));
}
.transfer-hose-inner{
  stroke:rgba(255,255,255,.18);
  stroke-width:calc(var(--stream-width) + 3px);
}
.transfer-liquid{
  stroke:var(--pour-color);
  stroke-width:calc(var(--stream-width) - 1px);
  filter:drop-shadow(0 0 2.5px var(--pour-color));
}
.transfer-nozzle{
  position:absolute;
  width:14px;
  height:12px;
  border-radius:4px 4px 7px 7px;
  background:linear-gradient(90deg,rgba(145,145,138,.95),rgba(250,248,238,.98) 48%,rgba(126,126,121,.95));
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 2px 4px rgba(0,0,0,.40);
  transform-origin:50% 20%;
}
.transfer-nozzle::before{
  content:"";
  position:absolute;
  left:5px;
  top:-7px;
  width:4px;
  height:8px;
  border-radius:3px;
  background:rgba(218,218,210,.96);
  box-shadow:inset 1px 0 rgba(255,255,255,.72);
}
.transfer-nozzle.is-suction::after{
  content:"";
  position:absolute;
  left:3px;
  bottom:-4px;
  width:8px;
  height:4px;
  border-radius:0 0 7px 7px;
  border-bottom:2px solid var(--pour-color,#fff);
}
.transfer-nozzle.is-pour::after{
  content:"";
  position:absolute;
  right:-5px;
  bottom:1px;
  width:7px;
  height:4px;
  border-radius:0 4px 4px 0;
  background:rgba(206,206,198,.96);
  border:1px solid rgba(255,255,255,.60);
}
.transfer-splash{z-index:2}

@media(max-width:760px){
  .transfer-nozzle{width:12px;height:10px}
  .transfer-nozzle::before{left:4px;top:-6px;height:7px}
}


/* v0.9.28 – Anlagenbewegung lesbarer, Wasser-FX präsenter */
.transfer-hose-outer,.transfer-hose-inner,.transfer-hose-shadow{
  will-change:opacity,stroke-dashoffset;
}
.transfer-nozzle{
  will-change:transform,opacity;
}
.transfer-liquid{
  will-change:opacity,stroke-dashoffset;
}


/* v0.9.29 – sichtbare Tropfen beim Einfüllen */
.transfer-drop{
  position:absolute;
  z-index:3;
  width:10px;
  height:14px;
  opacity:0;
  pointer-events:none;
  background:var(--pour-color);
  border-radius:58% 42% 62% 38% / 68% 48% 52% 32%;
  transform:rotate(12deg);
  box-shadow:
    inset 2px 2px 2px rgba(255,255,255,.34),
    inset -2px -2px 2px rgba(0,0,0,.12),
    0 2px 5px rgba(0,0,0,.24),
    0 0 7px var(--pour-color);
}
.transfer-drop::after{
  content:"";
  position:absolute;
  width:3px;
  height:5px;
  left:2px;
  top:2px;
  border-radius:50%;
  background:rgba(255,255,255,.46);
}
.transfer-drop-2{width:12px;height:16px}
.transfer-drop-3{width:9px;height:13px}
.transfer-drop-4{width:11px;height:15px}
@media(max-width:760px){
  .transfer-drop{width:9px;height:13px}
  .transfer-drop-2{width:11px;height:15px}
  .transfer-drop-3{width:8px;height:12px}
  .transfer-drop-4{width:10px;height:14px}
}


/* v0.9.30 – klar erkennbare, einzeln fallende Tropfen */
.transfer-drop{
  width:14px;
  height:14px;
  border-radius:72% 28% 66% 34% / 72% 34% 66% 28%;
  transform:rotate(45deg);
  box-shadow:
    inset 2px 2px 2px rgba(255,255,255,.48),
    inset -2px -2px 3px rgba(0,0,0,.15),
    0 2px 5px rgba(0,0,0,.25),
    0 0 8px var(--pour-color);
}
.transfer-drop::after{
  width:4px;
  height:4px;
  left:2.5px;
  top:2.5px;
  border-radius:50%;
  background:rgba(255,255,255,.58);
}
.transfer-drop-2{width:16px;height:16px}
.transfer-drop-3{width:13px;height:13px}
.transfer-drop-4{width:15px;height:15px}
@media(max-width:760px){
  .transfer-drop{width:13px;height:13px}
  .transfer-drop-2{width:15px;height:15px}
  .transfer-drop-3{width:12px;height:12px}
  .transfer-drop-4{width:14px;height:14px}
}


/* v0.9.31 – tiefere Tropfen; Fallweg wird per JS bis zur Flüssigkeitsoberfläche berechnet */
.transfer-drop{
  will-change:transform,opacity;
}


/* v0.9.33 – sichtbares Heberohr / Ansaugrohr in der Quellflasche */
.transfer-suction-tube-shadow,.transfer-suction-tube-outer,.transfer-suction-tube-inner{vector-effect:non-scaling-stroke;stroke-linecap:round;transition:none}
.transfer-suction-tube-shadow{stroke:rgba(0,0,0,.26);stroke-width:7.4;filter:drop-shadow(0 1px 1px rgba(0,0,0,.22))}
.transfer-suction-tube-outer{stroke:rgba(214,223,231,.96);stroke-width:5.4}
.transfer-suction-tube-inner{stroke:rgba(255,255,255,.72);stroke-width:2.25}
.transfer-suction-tip{fill:rgba(206,214,221,.98);stroke:rgba(250,252,255,.72);stroke-width:1.1;filter:drop-shadow(0 1px 1px rgba(0,0,0,.28))}


/* v0.9.35 – erster Kandidat Punktesystem */
.stats{flex-wrap:wrap;justify-content:flex-end}
.stat.score-stat strong{color:#795111}
.stat.loss-stat strong{color:#9f0000}
.score-notice{
  position:fixed;
  z-index:1300;
  left:50%;
  top:1rem;
  width:min(560px,calc(100% - 1.2rem));
  transform:translate(-50%,-18px);
  opacity:0;
  pointer-events:none;
  padding:.9rem 2.8rem .9rem 1rem;
  border:1px solid rgba(133,78,40,.28);
  border-radius:16px;
  background:rgba(255,251,244,.98);
  box-shadow:0 16px 45px rgba(50,28,16,.24);
  color:#5a3a25;
  transition:opacity .18s ease,transform .18s ease;
}
.score-notice.is-visible{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.score-notice strong{display:block;margin-bottom:.18rem;color:#854e28;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}
.score-notice p{margin:0;color:#51453d;line-height:1.35;font-size:.9rem}
.score-notice-close{position:absolute;top:.42rem;right:.5rem;width:30px;height:30px;border:0;border-radius:999px;background:transparent;color:#6a4a35;font-size:1.25rem;cursor:pointer}
.score-breakdown{display:grid;gap:.34rem;margin:.9rem 0 .7rem;text-align:left}
.score-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:start;padding:.46rem .6rem;border-radius:10px;background:rgba(255,255,255,.72);font-size:.78rem}
.score-row span{line-height:1.3;color:#625449}
.score-row strong{white-space:nowrap;color:#52702a}
.score-row.is-minus strong{color:#9f0000}
.score-row.is-clean strong{color:#52702a}
.score-totals{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin:.75rem 0 .2rem}
.score-totals p{margin:0;padding:.65rem;border-radius:12px;background:#fff;border:1px solid rgba(90,47,25,.10);font-size:.78rem}
.score-totals strong{display:block;margin-top:.14rem;color:#5a3a25;font-size:1.22rem}
.success-score{margin-bottom:.3rem}

@media(max-width:760px){
  .stats{display:grid;grid-template-columns:repeat(2,minmax(68px,1fr));width:156px}
  .stat{min-width:0}
  .score-notice{top:.5rem}
}
@media(max-width:480px){
  .score-totals{grid-template-columns:1fr 1fr}
  .score-row{font-size:.72rem;padding:.42rem .5rem}
}
.success-card{max-height:calc(100vh - 1.4rem);overflow:auto;overscroll-behavior:contain}


/* v0.9.38 – Schwund-Limit / Game Over */
.game-over-card{max-width:560px}
.game-over-card .success-score{margin-top:1rem}
.loss-stat strong{font-variant-numeric:tabular-nums}


/* v0.9.39 – ausführliche Anleitung und Hinweise der Produktionsaufsicht */
.help-card{width:min(720px,100%);max-height:calc(100vh - 1.4rem);overflow:auto;overscroll-behavior:contain;text-align:left}
.help-card .help-lead{margin-bottom:1rem}
.help-section{margin:1rem 0 1.15rem}
.help-section h3{margin:0 0 .55rem;color:#5a3a25;font-size:1.02rem}
.help-section .rules{margin:.45rem 0 .55rem}
.detailed-rules div{grid-template-columns:minmax(8rem,10rem) 1fr;align-items:start}
.detailed-rules span{line-height:1.42}
.score-help-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.08rem .8rem;margin:.45rem 0 .55rem;border:1px solid rgba(90,47,25,.11);border-radius:12px;background:#fff;padding:.35rem .7rem}
.score-help-grid span,.score-help-grid strong{padding:.35rem 0;border-bottom:1px solid rgba(90,47,25,.08)}
.score-help-grid span:nth-last-child(-n+2),.score-help-grid strong:nth-last-child(-n+2){border-bottom:0}
.score-help-grid strong{text-align:right;color:#52702a;font-variant-numeric:tabular-nums}
.help-note{margin:.45rem 0 0;padding:.55rem .65rem;border-radius:10px;background:rgba(198,161,100,.10);font-size:.82rem}
.help-danger{padding:.75rem;border:1px solid rgba(159,0,0,.18);border-radius:14px;background:rgba(159,0,0,.045)}
.help-danger h3{color:#8f251d}
.help-card > .btn{display:block;margin:1rem auto 0}
@media(max-width:760px){
  .help-card{padding:1.05rem;max-height:calc(100vh - .8rem)}
  .help-card h2{font-size:1.65rem}
  .help-section{margin:.85rem 0 1rem}
  .detailed-rules div{grid-template-columns:1fr;gap:.16rem}
  .help-note{font-size:.76rem}
}


/* v0.9.42 – Meisterzeit / Produktionscountdown ab Stufe 5 */
.stat.time-stat strong{font-variant-numeric:tabular-nums;color:#7b3f17}
@media(max-width:760px){
  .stats{width:172px}
  .stat.time-stat{grid-column:1/-1}
  .stat.time-stat strong{font-size:1.18rem}
}


/* v0.9.44 – mehr vertikaler Abstand für die ausführliche Anleitung */
#helpLayer{padding-top:2.2rem;padding-bottom:2.2rem}
.help-card{max-height:calc(100vh - 4.4rem);max-height:calc(100dvh - 4.4rem)}
@media(max-width:760px){
  #helpLayer{padding-top:1.45rem;padding-bottom:1.45rem}
  .help-card{max-height:calc(100vh - 2.9rem);max-height:calc(100dvh - 2.9rem)}
}


/* v0.9.49 – längere Bezeichnung „Sortenanteile“ robust in schmalen Ansichten */
.instruction-strip,.instruction-item,.score-row,.score-help-grid,.detailed-rules div{min-width:0}
.instruction-item{max-width:100%;white-space:normal;text-align:left}
.score-row span,.score-help-grid span,.detailed-rules span,.help-note,.status{overflow-wrap:anywhere}
@media(max-width:760px){
  .instruction-strip{line-height:1.28}
  .instruction-item{flex:1 1 auto;justify-content:flex-start}
  .score-help-grid{grid-template-columns:minmax(0,1fr) auto}
}
@media(max-width:430px){
  .instruction-strip{font-size:.69rem;padding:.52rem .55rem}
  .score-help-grid{gap:.08rem .55rem;padding:.32rem .58rem}
}


/* v0.9.52 – Stufenanzeige, harte Eingabesicherung und optionaler Speed-Modus */
.stage-stat small{
  display:block;
  margin-top:.08rem;
  color:var(--muted);
  font-size:.52rem;
  line-height:1.12;
  font-weight:750;
  text-transform:none;
  letter-spacing:0;
}
.speed-toggle[aria-pressed="true"]{
  background:#5a2f19;
  border-color:#5a2f19;
  color:#fff;
}
.speed-toggle[aria-pressed="true"]:hover{background:#6b3a20}
.bottle-grid.is-input-locked .bottle{
  pointer-events:none;
}
.bottle{
  touch-action:manipulation;
}
@media(max-width:760px){
  .stage-stat small{font-size:.48rem}
  .speed-toggle{white-space:nowrap}
}

/* v0.9.58 – anonymer Abfüllmeister-Highscore */
.highscore-rank{
  margin:.7rem 0 .2rem;
  padding:.62rem .75rem;
  border-radius:12px;
  background:rgba(146,186,24,.10);
  color:#4f681f!important;
  font-weight:800;
}
.highscore-card{
  width:min(620px,100%);
  max-height:calc(100vh - 2rem);
  max-height:calc(100dvh - 2rem);
  overflow:auto;
  overscroll-behavior:contain;
  text-align:left;
}
.highscore-card h2{margin-bottom:.35rem}
.highscore-status{margin:.25rem 0 .6rem;font-size:.86rem}
.highscore-list{
  display:grid;
  gap:.48rem;
  margin:.7rem 0 .8rem;
  padding:0;
  list-style:none;
  counter-reset:none;
}
.highscore-list li{
  display:grid;
  grid-template-columns:2rem minmax(0,1fr);
  gap:.55rem;
  align-items:center;
  padding:.62rem .72rem;
  border:1px solid rgba(90,47,25,.10);
  border-radius:12px;
  background:#fff;
}
.highscore-list li.is-empty{
  display:block;
  color:var(--muted);
  text-align:center;
}
.highscore-rank-number{
  color:#854e28;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}
.highscore-list strong{
  display:block;
  color:#5a3a25;
  font-size:1rem;
  font-variant-numeric:tabular-nums;
}
.highscore-list small{
  display:block;
  margin-top:.1rem;
  color:#74675d;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.highscore-note{
  margin:.6rem 0 0!important;
  padding:.55rem .65rem;
  border-radius:10px;
  background:rgba(198,161,100,.10);
  font-size:.76rem;
}
@media(max-width:760px){
  .highscore-card{padding:1.05rem;max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem)}
  .highscore-card h2{font-size:1.65rem}
  .highscore-list{gap:.38rem}
  .highscore-list li{grid-template-columns:1.7rem minmax(0,1fr);padding:.52rem .58rem}
  .highscore-list strong{font-size:.9rem}
  .highscore-list small{font-size:.7rem}
  .highscore-rank{font-size:.78rem}
}

/* v0.9.66 · kleine Überraschung */
.surprise-box{margin:.8rem auto .25rem;padding:.75rem .85rem;border:1px solid rgba(146,186,24,.35);border-radius:14px;background:rgba(146,186,24,.09);display:grid;gap:.38rem;justify-items:center;color:#5a2f19}.surprise-box[hidden]{display:none}.surprise-box strong{font-size:1.03rem}.surprise-box span{font-size:.92rem}.surprise-box small{font-size:.76rem;color:#625449;line-height:1.4}.surprise-mail{min-height:38px;padding:.35rem .8rem;font-size:.86rem}
