/* ==================================================================
   STODA · gemeinsame Bausteine der Module (auf jeder Seite geladen)
   1. Kleine Bausteine: Filter-Chips, Rubrik-Raute, Bereiche, Status, gemalte Szenen, Umschalter
   2. Glocke in der Menüleiste
   3. Bote (Briefe unten rechts)
   4. Dialog (Melden) und Einblenden
   ================================================================== */
:root{--ok-green:#9fe3b0;--gold:#d8b46a}
.m-head-s{padding-block:clamp(30px,4vw,48px) clamp(20px,3vw,30px)}
.ico.big{width:44px;height:44px;color:var(--ember)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ===== 1 BAUSTEINE ===== */
.fchips{display:flex;flex-wrap:wrap;gap:8px}
.fchip{display:inline-flex;align-items:center;gap:8px;padding:.38rem .85rem;border:1px solid var(--line);border-radius:20px;background:rgba(12,15,21,.5);cursor:pointer;font-family:var(--f-label);letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;color:var(--stone);text-decoration:none;transition:color .25s,border-color .25s,background .25s}
.fchip b{font-weight:500;color:var(--stone);font-size:.66rem}
.fchip:hover{color:var(--parchment)}
.fchip[aria-pressed="true"],.fchip[aria-current]{color:var(--parchment);border-color:var(--ember);background:rgba(227,139,61,.14)}
.cat{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-label);letter-spacing:.14em;text-transform:uppercase;font-size:.66rem;color:var(--cc,var(--ember))}
.cat::before{content:"";width:7px;height:7px;transform:rotate(45deg);background:currentColor;box-shadow:0 0 8px currentColor;flex:none}
[data-k="devlog"]{--cc:#e38b3d}[data-k="patch"]{--cc:#a6dcd3}[data-k="community"]{--cc:#d8b46a}[data-k="termin"]{--cc:#e07a62}
.area{display:inline-flex;align-items:center;gap:7px;font-family:var(--f-label);letter-spacing:.14em;text-transform:uppercase;font-size:.64rem;color:var(--ac,var(--ember))}
.area::before{content:"";width:7px;height:7px;transform:rotate(45deg);background:currentColor;box-shadow:0 0 8px currentColor;flex:none}
[data-a="bauen"]{--ac:#e38b3d}[data-a="gefolge"]{--ac:#d8b46a}[data-a="welt"]{--ac:#a6dcd3}[data-a="koop"]{--ac:#e07a62}[data-a="technik"]{--ac:#b9a7e0}
.st{display:inline-flex;align-items:center;gap:6px;padding:.1rem .55rem;border-radius:20px;border:1px solid;font-family:var(--f-label);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.st-done{color:var(--ok-green);border-color:rgba(159,227,176,.45)}
.st-now{color:var(--ember-hot);border-color:rgba(255,210,156,.5);background:rgba(227,139,61,.1)}
.st-now::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ember);box-shadow:0 0 8px var(--ember);animation:gBlink 1.8s ease-in-out infinite}
.st-plan{color:var(--stone);border-color:rgba(140,135,120,.45)}
.st-test{color:var(--rune);border-color:rgba(166,220,211,.45)}
.st-pending{color:var(--gold);border-color:rgba(216,180,106,.45)}
@keyframes gBlink{50%{opacity:.3}}
.gbar{height:6px;border-radius:6px;background:rgba(235,225,203,.08);overflow:hidden}
.gbar i{display:block;height:100%;width:var(--v,0%);border-radius:inherit;background:linear-gradient(90deg,var(--ember-deep),var(--ember),var(--ember-hot));box-shadow:0 0 10px rgba(227,139,61,.5);transition:width 1.2s var(--soft)}
.seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden}
.seg button{padding:.45rem .8rem;background:none;border:0;cursor:pointer;font-family:var(--f-label);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;color:var(--stone);transition:background .25s,color .25s}
.seg button + button{border-left:1px solid var(--line)}
.seg button[aria-pressed="true"]{background:rgba(227,139,61,.16);color:var(--parchment)}
.g-sw{display:flex;justify-content:space-between;align-items:center;gap:14px;cursor:pointer}
.g-sw > span{display:grid}
.g-sw small{color:var(--stone);font-size:.88rem}
.g-sw input{position:absolute;opacity:0;pointer-events:none}
.g-sw i{position:relative;width:46px;height:26px;border-radius:14px;background:rgba(235,225,203,.15);border:1px solid var(--line);flex:none;transition:background .35s,border-color .35s}
.g-sw i::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--parchment);transition:transform .4s var(--soft),background .35s}
.g-sw input:checked + i{background:rgba(227,139,61,.5);border-color:var(--ember)}
.g-sw input:checked + i::after{transform:translateX(20px);background:var(--ember-hot);box-shadow:0 0 10px var(--ember)}
.g-sw input:focus-visible + i{outline:2px solid var(--ember);outline-offset:3px}

/* Gemalte Szenen statt Bild (bis echte Screenshots da sind) */
.pic{position:relative;display:block;background:var(--bg);background-size:cover;background-position:center}
.pic.has-img{--bg:var(--img) center / cover no-repeat}
.s-winter{--bg:radial-gradient(circle at 70% 25%,rgba(255,255,255,.35),transparent 18%),linear-gradient(180deg,#8d9aa6 0%,#5f6b76 45%,#1b2028 100%)}
.s-gefolge,.s-feuer{--bg:radial-gradient(circle at 30% 75%,rgba(227,139,61,.55),transparent 40%),linear-gradient(200deg,#141a26,#251c16)}
.s-patch{--bg:radial-gradient(circle at 50% 60%,rgba(166,220,211,.35),transparent 45%),linear-gradient(180deg,#0a1119,#05080c)}
.s-wappen{--bg:radial-gradient(circle at 50% 40%,rgba(216,180,106,.45),transparent 40%),linear-gradient(160deg,#3a1d14,#140d0a)}
.s-beta{--bg:radial-gradient(ellipse 70% 50% at 50% 85%,rgba(227,139,61,.55),transparent 70%),linear-gradient(180deg,#1a1410,#0e0b09)}
.s-fachwerk,.s-bau{--bg:repeating-linear-gradient(90deg,rgba(0,0,0,.25) 0 6px,transparent 6px 70px),repeating-linear-gradient(0deg,rgba(0,0,0,.2) 0 6px,transparent 6px 90px),linear-gradient(180deg,#6a4a30,#2c1e14)}
.s-nacht{--bg:radial-gradient(circle at 78% 22%,rgba(220,235,240,.5),transparent 8%),linear-gradient(180deg,#05080f,#0e1a24)}
.s-wald{--bg:radial-gradient(ellipse 40% 30% at 30% 70%,rgba(110,140,80,.5),transparent 70%),linear-gradient(180deg,#3d5236,#141b12)}
.s-burg{--bg:radial-gradient(ellipse 60% 40% at 50% 100%,rgba(0,0,0,.6),transparent),linear-gradient(180deg,#d9a46a 0%,#9b5a32 45%,#2b1a12 100%)}
.s-key{--bg:radial-gradient(ellipse 50% 40% at 50% 85%,rgba(227,139,61,.55),transparent 70%),radial-gradient(circle at 75% 20%,rgba(255,240,210,.25),transparent 15%),linear-gradient(180deg,#2a2230,#120d0a)}

/* ===== 2 GLOCKE ===== */
.bell-wrap{position:relative;display:flex;align-items:center}
.bell-wrap:empty{display:none}
.bell{position:relative;display:grid;place-items:center;width:40px;height:38px;border:1px solid rgba(227,139,61,.4);border-radius:var(--r-s);background:none;cursor:pointer;color:var(--parchment);transition:background .25s,border-color .25s}
.bell:hover,.bell[aria-expanded="true"]{background:rgba(227,139,61,.12);border-color:var(--ember)}
.bell svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transform-origin:50% 10%}
.bell.ring svg{animation:bellRing 1.1s var(--ease) 1}
@keyframes bellRing{10%{transform:rotate(16deg)}25%{transform:rotate(-14deg)}40%{transform:rotate(10deg)}55%{transform:rotate(-6deg)}70%{transform:rotate(3deg)}100%{transform:none}}
.bell .pip{position:absolute;right:-7px;top:-7px}
.pip{min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--ember);color:#1a0f08;font-family:var(--f-label);font-size:.64rem;font-weight:700;display:inline-grid;place-items:center;box-shadow:0 0 0 2px var(--oak-bot);animation:pipPulse 2.6s ease-out infinite}
.pip[hidden]{display:none}
@keyframes pipPulse{0%{box-shadow:0 0 0 2px var(--oak-bot),0 0 0 2px rgba(227,139,61,.6)}70%,100%{box-shadow:0 0 0 2px var(--oak-bot),0 0 0 11px rgba(227,139,61,0)}}
.bell-drop{position:absolute;right:0;top:calc(100% + 12px);z-index:230;width:min(370px,calc(100vw - 24px));border:1px solid rgba(227,139,61,.4);border-radius:var(--r-m);overflow:clip;background:linear-gradient(180deg,#221810,#120d08);box-shadow:0 22px 44px rgba(0,0,0,.6);
  transform-origin:top right;transform:scale(.96) translateY(-6px);opacity:0;visibility:hidden;transition:transform .3s var(--soft),opacity .25s,visibility 0s .3s}
.bell-drop.open{transform:none;opacity:1;visibility:visible;transition:transform .3s var(--soft),opacity .25s}
.bell-drop.open .bd-item,.bell-drop.open .bd-msg{animation:acctRise .45s var(--soft) both;animation-delay:calc(var(--i,0) * 50ms)}
.bd-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}
.bd-head b{font-family:var(--f-label);letter-spacing:.16em;text-transform:uppercase;font-size:.74rem}
.bd-head button{background:none;border:0;color:var(--ember);cursor:pointer;font-size:.85rem}
.bd-msg{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border:0;border-bottom:1px solid var(--line);background:rgba(227,139,61,.08);cursor:pointer;text-align:left;color:var(--parchment);font:inherit;font-size:.95rem;text-decoration:none}
.bd-msg:hover{background:rgba(227,139,61,.14)}
.bd-msg svg{width:20px;height:20px;fill:none;stroke:var(--ember);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.bd-item{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;padding:12px 16px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--dim);transition:background .2s}
.bd-item:hover,.bd-item:focus-visible{background:rgba(227,139,61,.08);outline:none}
.bd-item .dot{width:8px;height:8px;margin-top:9px;border-radius:50%;background:var(--ember);box-shadow:0 0 8px var(--ember);transition:opacity .4s,transform .4s var(--soft)}
.bd-item.read .dot{opacity:0;transform:scale(.3)}
.bd-item strong{display:block;color:var(--parchment);font-weight:500;line-height:1.3}
.bd-item.read strong{color:var(--dim)}
.bd-item .meta{font-family:var(--f-label);letter-spacing:.1em;text-transform:uppercase;font-size:.64rem;color:var(--stone)}
.bd-foot{display:block;padding:11px 16px;text-align:center;font-family:var(--f-label);letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;text-decoration:none;color:var(--ember)}
.bd-empty{padding:18px 16px;color:var(--stone);font-size:.92rem}
@media (max-width:480px){.bell{width:36px;height:34px}.bell-drop{position:fixed;left:12px;right:12px;width:auto;top:calc(var(--nav-h) + 6px)}}

/* ===== 3 BOTE ===== */
.bote-l{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));z-index:240;width:58px;height:58px;border-radius:50%;border:1px solid rgba(255,210,156,.6);background:radial-gradient(circle at 40% 35%,#f0a25a,#b4521f);color:#1a0f08;cursor:pointer;display:grid;place-items:center;box-shadow:0 12px 30px rgba(0,0,0,.6);transition:transform .45s var(--soft);animation:boteIn .6s var(--soft) both .4s}
@keyframes boteIn{from{opacity:0;transform:translateY(20px) scale(.8)}}
.bote-l:hover{transform:scale(1.06)}
.bote-l svg{position:absolute;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .45s var(--soft),opacity .3s}
.bote-l .i2{opacity:0;transform:rotate(-90deg)}
.bote-l[aria-expanded="true"] .i1{opacity:0;transform:rotate(90deg)}
.bote-l[aria-expanded="true"] .i2{opacity:1;transform:none}
.bote-l .pip{position:absolute;right:-2px;top:-2px;box-shadow:0 0 0 2px var(--night)}
.bote-l.ring{animation:boteShake .7s}
@keyframes boteShake{20%{transform:rotate(-12deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(3deg)}}
.bote-peek{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(max(18px,env(safe-area-inset-bottom,0px)) + 72px);z-index:240;display:flex;gap:10px;align-items:center;max-width:min(320px,calc(100vw - 36px));padding:10px 12px;border:1px solid rgba(227,139,61,.5);border-radius:14px 14px 4px 14px;background:#1d150e;box-shadow:0 14px 30px rgba(0,0,0,.6);cursor:pointer;text-align:left;color:var(--dim);font:inherit;font-size:.9rem;animation:botePeek .5s var(--soft)}
.bote-peek[hidden]{display:none}
.bote-peek b{display:block;color:var(--parchment);font-weight:500}
@keyframes botePeek{from{opacity:0;transform:translateY(12px) scale(.9)}}
.bote-p{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(max(18px,env(safe-area-inset-bottom,0px)) + 72px);z-index:241;width:min(370px,calc(100vw - 36px));height:min(520px,calc(100dvh - 160px));display:flex;flex-direction:column;border:1px solid rgba(227,139,61,.45);border-radius:var(--r-l);background:linear-gradient(180deg,#1e1610,#120d09);box-shadow:0 24px 50px rgba(0,0,0,.65);overflow:hidden;transform-origin:bottom right;transform:scale(.9) translateY(10px);opacity:0;visibility:hidden;transition:transform .4s var(--soft),opacity .3s,visibility 0s .4s}
.bote-p.on{transform:none;opacity:1;visibility:visible;transition:transform .4s var(--soft),opacity .3s}
.bp-h{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 14px;border-bottom:1px solid var(--line);min-height:58px}
.bp-h h4{flex:1;margin:0;font-family:var(--f-label);letter-spacing:.16em;text-transform:uppercase;font-size:.78rem}
.bp-h .who{flex:1;min-width:0;line-height:1.2}
.bp-h .who strong{display:block;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.bp-h .who small{font-family:var(--f-label);letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;color:var(--stone)}
.bp-ib{width:34px;height:34px;border:1px solid transparent;border-radius:var(--r-s);background:none;cursor:pointer;display:grid;place-items:center;color:var(--dim);flex:none;transition:background .2s,color .2s,border-color .2s;text-decoration:none}
.bp-ib:hover{background:rgba(235,225,203,.08);color:var(--parchment);border-color:var(--line)}
.bp-ib svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bp-views{position:relative;flex:1;min-height:0;overflow:hidden}
.bp-view{position:absolute;inset:0;display:flex;flex-direction:column;transition:transform .45s var(--soft),opacity .3s}
.bp-list{overflow-y:auto;scrollbar-width:thin;flex:1}
.bp-chat,.bp-new{transform:translateX(100%);opacity:0;pointer-events:none}
.bote-p.chat .bp-listv,.bote-p.neu .bp-listv{transform:translateX(-30%);opacity:0;pointer-events:none}
.bote-p.chat .bp-chat,.bote-p.neu .bp-new{transform:none;opacity:1;pointer-events:auto}
.bp-row{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:10px 14px;border:0;border-bottom:1px solid var(--line);background:none;cursor:pointer;text-align:left;color:var(--parchment);font:inherit;text-decoration:none;transition:background .2s}
.bp-row:hover,.bp-row:focus-visible{background:rgba(227,139,61,.07);outline:none}
.bp-row strong{display:block;font-weight:500;line-height:1.2;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.bp-row .sn{display:block;font-size:.84rem;color:var(--stone);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp-row.unread .sn{color:var(--parchment)}
.bp-row.camp .av-c{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(227,139,61,.15);color:var(--ember)}
.bp-row.camp svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
.bp-empty{padding:22px 16px;color:var(--stone);font-size:.92rem;text-align:center}
.bp-msgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:4px;scrollbar-width:thin}
.bp-comp{display:flex;gap:6px;padding:8px;border-top:1px solid var(--line)}
.bp-comp textarea{flex:1;min-width:0;resize:none;border-radius:20px;padding:.55rem .9rem;font:inherit;font-size:.94rem;line-height:1.35;max-height:110px;background:rgba(12,15,21,.65);border:1px solid rgba(235,225,203,.22);color:var(--parchment)}
.bp-comp textarea:focus,.bp-search input:focus{outline:none;border-color:var(--ember);box-shadow:0 0 0 3px rgba(227,139,61,.18)}
.bp-search{padding:10px 12px;border-bottom:1px solid var(--line)}
.bp-search input{width:100%;padding:.55rem .85rem;border-radius:var(--r-s);font:inherit;font-size:.95rem;background:rgba(12,15,21,.65);border:1px solid rgba(235,225,203,.22);color:var(--parchment)}
.bp-note{padding:10px 14px;color:var(--stone);font-size:.86rem;border-top:1px solid var(--line)}
.send{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:rgba(12,15,21,.6);display:grid;place-items:center;cursor:pointer;flex:none;color:var(--stone);transition:background .3s,color .3s,border-color .3s,transform .35s var(--soft),box-shadow .3s;align-self:flex-end}
.send svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.send.ready{background:radial-gradient(circle at 40% 35%,#f0a25a,#b4521f);color:#1a0f08;border-color:var(--ember);box-shadow:0 0 18px rgba(227,139,61,.4)}
.send.ready:hover{transform:scale(1.06) rotate(-8deg)}
/* Sprechblasen (Bote und Lager) */
.bub{position:relative;max-width:84%;align-self:flex-start;display:grid;gap:2px;font-size:.95rem}
.bub.me{align-self:flex-end}
.bub .tx{padding:.5rem .8rem .42rem;border-radius:16px 16px 16px 4px;background:#221a13;border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.42}
.bub.me .tx{border-radius:16px 16px 4px 16px;background:linear-gradient(180deg,#5a3418,#432612);border-color:rgba(227,139,61,.4)}
.bub.cont .tx{border-top-left-radius:16px}
.bub.me.cont .tx{border-top-right-radius:16px}
.bub .ft{display:flex;gap:6px;align-items:center;justify-content:flex-end;font-family:var(--f-label);font-size:.58rem;letter-spacing:.06em;color:var(--stone)}
.bub:not(.me) .ft{justify-content:flex-start}
.bub.new{animation:gPop .4s var(--soft) both}
.day{align-self:center;margin:10px 0 6px;padding:.12rem .65rem;border:1px solid var(--line);border-radius:20px;font-family:var(--f-label);letter-spacing:.14em;text-transform:uppercase;font-size:.6rem;color:var(--stone);background:rgba(12,15,21,.7)}
.seals{display:inline-flex;margin-left:3px}
.seals i{width:8px;height:8px;border-radius:50%;background:var(--stone);margin-left:-3px;box-shadow:0 0 0 1.5px #1b140e;transition:background .4s}
.seals.read i{background:var(--ember);box-shadow:0 0 0 1.5px #1b140e,0 0 6px var(--ember)}
@keyframes gPop{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@media (max-width:480px){.bote-p{right:10px;left:10px;width:auto;top:calc(var(--nav-h,64px) + 8px);height:auto}.bote-l{width:52px;height:52px}}

/* ===== 4 DIALOG (Melden) ===== */
.g-dlg{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:16px;background:rgba(4,4,5,.75);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s}
.g-dlg.on{opacity:1;visibility:visible;transition:opacity .3s}
.g-dlg-in{width:min(480px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;padding:22px;border:1px solid rgba(227,139,61,.45);border-radius:var(--r-l);background:linear-gradient(180deg,#1e1610,#120d09);box-shadow:0 24px 50px rgba(0,0,0,.65);display:grid;gap:14px;transform:translateY(16px) scale(.97);transition:transform .45s var(--soft)}
.g-dlg.on .g-dlg-in{transform:none}
.g-dlg-in h3{margin:0;font-family:var(--f-display);font-size:calc(1.8rem * var(--hs,1));line-height:1.05}
.g-dlg-in .q{padding:10px 14px;border-left:2px solid var(--err);background:rgba(224,122,98,.08);border-radius:0 var(--r-s) var(--r-s) 0;color:var(--dim);font-size:.94rem;overflow-wrap:anywhere}
.g-why{display:grid;gap:6px;border:0;padding:0;margin:0}
.g-why legend{font-family:var(--f-label);letter-spacing:.1em;text-transform:uppercase;font-size:.66rem;color:var(--stone);margin-bottom:6px}
.g-why label{display:flex;gap:10px;align-items:center;padding:.5rem .7rem;border:1px solid var(--line);border-radius:var(--r-s);cursor:pointer;transition:border-color .25s,background .25s}
.g-why label:has(input:checked){border-color:var(--ember);background:rgba(227,139,61,.1)}
.g-why input{accent-color:var(--ember)}
.g-dlg-in textarea{width:100%;min-height:70px;resize:vertical;padding:.6rem .8rem;font:inherit;background:rgba(12,15,21,.65);border:1px solid rgba(235,225,203,.22);border-radius:var(--r-s);color:var(--parchment)}
.g-dlg-row{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.g-done{display:grid;justify-items:center;gap:10px;text-align:center;padding:10px 0}
.g-done .wax{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 38% 34%,#5fa7a0,#1f4f4b 70%);box-shadow:inset 0 0 0 5px rgba(0,0,0,.15),0 8px 16px rgba(0,0,0,.45);color:#d7f3ef;animation:gStamp .6s cubic-bezier(.3,1.6,.5,1) both}
.g-done .wax svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@keyframes gStamp{from{transform:scale(2.2) rotate(-25deg);opacity:0}to{transform:rotate(-8deg);opacity:1}}

@media (prefers-reduced-motion: reduce){.bell svg,.bote-l,.bote-peek,.bub.new,.pip,.st-now::before,.g-done .wax{animation:none!important}.bell-drop,.bote-p,.g-dlg,.g-dlg-in,.bp-view{transition:none!important}}
@media (max-width:800px){body[data-seite=lager] .bote-l{bottom:calc(max(18px,env(safe-area-inset-bottom,0px)) + 74px)}}

/* ---------- Schriftgröße für Besucher (Fußzeile) ---------- */
.foot-size{display:inline-flex;align-items:center;gap:4px}
.foot-size span{margin-right:6px}
.foot-size button{display:grid;place-items:center;min-width:30px;height:30px;padding:0 6px;border:1px solid var(--line);border-radius:var(--r-s,6px);background:none;color:var(--stone);font-family:var(--f-body);line-height:1;letter-spacing:0;text-transform:none;cursor:pointer;transition:color .2s,border-color .2s,background .2s}
.foot-size button[data-vs="1"]{font-size:.82rem}.foot-size button[data-vs="1.1"]{font-size:.98rem}.foot-size button[data-vs="1.2"]{font-size:1.14rem}
.foot-size button:hover{color:var(--parchment);border-color:rgba(227,139,61,.5)}
.foot-size button[aria-pressed="true"]{color:var(--parchment);border-color:var(--ember);background:rgba(227,139,61,.14)}

/* Kopfzeile auf dem Handy: bleibt auch bei großer Schrift (Einstellungen → Schrift, Besucher-Knöpfe) in einer Zeile */
@media (max-width:620px){
  .nav .nbtn{font-size:min(.72rem,2.9vw);padding-inline:min(.8rem,2.2vw);letter-spacing:.05em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .nav .nav-logo .txt{font-size:min(1.5rem,6.4vw)}
  .nav .wrap{gap:10px;padding-left:max(14px,var(--gutter-l));padding-right:max(14px,var(--gutter-r))}
  .nav-logo{flex:none}
  .nav .wrap > nav{display:none}
  .nav-right{gap:min(8px,1.6vw);min-width:0;flex:0 1 auto}
  .nav-right > *{flex:none}
  .nav-right > .nbtn{flex:0 1 auto;min-width:0}
}

/* Menüleiste am Rechner: wächst mit der Schrift-Einstellung nur so weit, wie Platz ist (nie kleiner als normal) */
@media (min-width:621px){
  .nav-links a{font-size:min(.92rem,max(14.72px,1.02vw))}
  .nav .nbtn{font-size:min(.8rem,max(12.8px,.9vw));padding-inline:min(1.4rem,max(22.4px,1.5vw))}
  .nav-links{gap:min(clamp(1.1rem,2vw,2.2rem),max(17.6px,2vw))}
}

/* Passt die Menüleiste nicht in eine Zeile (breite Schrift, große Textgröße), wird sie wie auf dem Tablet zum Menü-Knopf */
html.nav-eng .nav-links{display:none}
html.nav-eng .burger{display:block}
@media (min-width:1181px){html.nav-eng .mnav{display:block}}
