/* BUILD 023 · Isolierter Website-Begleiter. Andere Site-Controls werden nicht verändert. */
.hm-root{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(2px,env(safe-area-inset-bottom));z-index:60;width:174px;height:208px;pointer-events:none;font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#f0f5ec;line-height:1.4}
.hm-root button{font:inherit;cursor:pointer;touch-action:manipulation}
.hm-root button:focus-visible{outline:3px solid #39ff14;outline-offset:3px}
.hm-character{position:absolute;right:0;bottom:0;display:block;width:174px;height:208px;border:0;background:none;padding:0;margin:0;pointer-events:auto;overflow:hidden;border-radius:6px}
.hm-character img{display:block;position:absolute;width:174px;height:auto;left:0;top:0;max-width:none;pointer-events:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 4px 9px rgba(0,0,0,.62));transition:transform .22s ease,opacity .52s ease-in-out}
.hm-character:hover img,.hm-character:focus-visible img{transform:translateY(-5px)}
.hm-bubble{position:absolute;right:calc(100% - 12px);bottom:78px;width:min(298px,calc(100vw - 215px));padding:13px 15px 12px;border:1px solid #466d3c;border-radius:15px;background:rgba(12,21,14,.98);box-shadow:0 15px 40px rgba(0,0,0,.65);pointer-events:auto}
.hm-bubble[hidden],.hm-restore[hidden]{display:none!important}
.hm-bubble::after{content:"";position:absolute;right:-7px;bottom:28px;width:12px;height:12px;background:#0c150e;border-right:1px solid #466d3c;border-top:1px solid #466d3c;transform:rotate(45deg)}
.hm-bubble-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}
.hm-bubble-heading strong{font-size:11px;letter-spacing:.12em;font-weight:900;color:#f4f9f1}
.hm-bubble-heading strong span{color:#39ff14}
.hm-bubble-close{border:0;background:transparent;color:#b5c1b0;padding:0 4px;min-height:30px;min-width:30px;font-size:23px!important;line-height:1!important}
.hm-bubble-close:hover{color:white}
.hm-message{font-size:13px;color:#e1ebdd;margin:0 0 8px;line-height:1.55;overflow-wrap:anywhere}
.hm-pause{color:#91a58d;background:none;border:0;border-top:1px solid #2d3a2b;padding:8px 0 0;min-height:32px;width:100%;text-align:left;font-size:11px!important}
.hm-pause:hover{color:#bcf5ac}
.hm-restore{position:absolute;right:0;bottom:7px;display:flex;justify-content:center;align-items:center;gap:1px;border:1px solid #4b7740;border-radius:50%;width:48px;height:48px;background:#0c1a0d;color:#39ff14;font-size:14px!important;font-weight:900!important;box-shadow:0 5px 20px #0009;pointer-events:auto}
.hm-restore span{align-self:flex-start;font-size:14px;padding-top:7px}
.hm-root.hm-is-paused{width:48px;height:58px}
.hm-root.hm-is-paused .hm-character,.hm-root.hm-is-paused .hm-bubble{display:none!important}
html.lightbox-open .hm-root,body.lightbox-open .hm-root{visibility:hidden;pointer-events:none}
@media(max-width:700px){
 .hm-root{width:74px;height:82px;right:max(10px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom))}
 .hm-character{width:74px;height:74px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#24411d 0%,#101c0e 72%);border:1px solid #4f8840;box-shadow:0 5px 20px #0009}
 .hm-character img{width:102px;left:-15px;top:2px}
 .hm-bubble{right:0;bottom:calc(100% + 9px);width:min(288px,calc(100vw - 26px));max-width:none}
 .hm-bubble::after{right:30px;bottom:-7px;transform:rotate(135deg)}
 .hm-root.hm-is-paused{width:48px;height:58px}
}
@media(max-width:370px){.hm-root{right:max(6px,env(safe-area-inset-right))}.hm-bubble{width:min(270px,calc(100vw - 20px))}}
@media(prefers-reduced-motion:reduce){.hm-character img{transition:none}.hm-character:hover img,.hm-character:focus-visible img{transform:none}}

/* BUILD 025: Dialoge nur innerhalb der vorhandenen Sprechblase; Basislayout bleibt gleich. */
.hm-root a:focus-visible{outline:3px solid #39ff14;outline-offset:2px}
.hm-dialog[hidden],.hm-talk[hidden]{display:none!important}
.hm-talk{display:block;width:100%;min-height:36px;padding:8px 10px;margin:0 0 8px;border:1px solid #4b7740;border-radius:9px;background:#17331a;color:#d9ffca;font-size:12px!important;text-align:center}
.hm-talk:hover,.hm-talk:focus-visible{background:#214b23}
.hm-bubble.hm-dialog-open{max-height:65vh;max-height:65dvh;overflow-y:auto;overscroll-behavior:contain}
.hm-dialog-options{display:grid;grid-template-columns:1fr;gap:7px;margin:10px 0}
.hm-dialog-choice{display:block;width:100%;min-height:36px;padding:8px 10px;border:1px solid #496c41;border-radius:9px;background:#182b1a;color:#e6f7df;font-size:12px!important;line-height:1.35;text-decoration:none;text-align:left}
.hm-dialog-choice:hover,.hm-dialog-choice:focus-visible{border-color:#39ff14;background:#264429;color:white}
.hm-dialog-finish{display:block;border:0;background:none;color:#a6b7a1;padding:7px 1px;margin:0 0 6px;min-height:32px;text-align:left;font-size:11px!important;text-decoration:underline}
.hm-dialog-finish:hover{color:#fff}


/* BUILD 026 · Nur Gesprächsbreite/Überlauf und Footer-Freiraum auf Mobilgeräten. */
/* Die Pfeilspitze ragt im Scrollcontainer über den rechten Rand hinaus: das
   löste in Build 025 den horizontalen Dialog-Scrollbalken aus. */
.hm-bubble.hm-dialog-open{overflow-x:hidden}
.hm-bubble.hm-dialog-open::after{display:none}
@media(min-width:701px){
 .hm-bubble.hm-dialog-open{width:min(264px,calc(100vw - 215px))}
}
@media(max-width:700px){
 /* Nur bei sichtbarem Footer setzt HeyMuckel einen Abstand per JS. */
 .hm-root{bottom:calc(max(8px,env(safe-area-inset-bottom)) + var(--hm-footer-offset,0px))}
 .hm-dialog-options{min-width:0}
 .hm-dialog-choice{min-width:0;overflow-wrap:anywhere}
}

/* BUILD 029: rein freiwillige Trophäensammlung in vorhandener Dialogblase. */
.hm-trophy-open{display:block;width:100%;min-height:36px;padding:8px 10px;margin:0 0 8px;border:1px solid #4b7740;border-radius:9px;background:#17331a;color:#d9ffca;font-size:12px!important;text-align:center}
.hm-trophy-open[hidden],.hm-trophy-toast[hidden]{display:none!important}
.hm-trophy-open:hover{background:#214b23}
.hm-trophy-collection{display:grid;gap:9px;min-width:0;font-size:12px;overflow-wrap:anywhere}
.hm-trophy-collection>p{margin:3px 0;line-height:1.5}
.hm-trophy-list{display:grid;gap:7px;min-width:0}
.hm-trophy-item{display:flex;gap:9px;align-items:flex-start;padding:9px 7px;border:1px solid #355132;border-radius:9px;background:#111d13;min-width:0}
.hm-trophy-item.hm-locked{opacity:.68}
.hm-trophy-item.hm-tier-platinum.hm-unlocked{border-color:#a8dbfc;background:#193139}
.hm-trophy-medal{flex:none;font-size:20px;line-height:1.2}
.hm-trophy-item-text{min-width:0;display:grid;gap:3px}
.hm-trophy-item-text strong{color:#e8f4e4;font-size:12px}
.hm-trophy-item-text small{color:#adc4a6;font-size:11px;line-height:1.4}
.hm-trophy-item-text .hm-trophy-quote{color:#d9f3d0;font-style:italic}
.hm-trophy-storage-note{font-size:11px;color:#9db097}
.hm-trophy-count{color:#39ff14;font-weight:700}
.hm-trophy-toast{position:absolute;right:calc(100% - 10px);bottom:105px;max-width:min(248px,calc(100vw - 90px));width:max-content;padding:9px 12px;background:#142718;border:1px solid #5b9a4d;border-radius:11px;color:#e2ffd7;font-size:12px;box-shadow:0 8px 20px #0008;pointer-events:none;overflow-wrap:anywhere}
@media(max-width:700px){.hm-trophy-toast{right:0;bottom:calc(100% + 12px);max-width:min(275px,calc(100vw - 24px))}}
@media(prefers-reduced-motion:reduce){.hm-trophy-item{transition:none}}

/* BUILD 030: freiwilliger News-Einstieg, dieselbe Box und Breite wie bisher. */
.hm-news-open{display:block;width:100%;min-height:36px;padding:8px 10px;margin:0 0 8px;border:1px solid #4b7740;border-radius:9px;background:#17331a;color:#d9ffca;font-size:12px!important;text-align:center}
.hm-news-open[hidden]{display:none!important}
.hm-news-open:hover,.hm-news-open:focus-visible{background:#214b23}
.hm-news-date{display:block;margin-top:5px;color:#abc4a4;font-size:10px;line-height:1.3}

/* BUILD 031: Eventeffekte sind rein dekorativ und nie klickbar. */
.hm-event-canvas{position:fixed;inset:0;width:100vw;height:100vh;width:100dvw;height:100dvh;z-index:45;pointer-events:none!important;user-select:none;contain:strict}
.hm-event-open,.hm-effects-toggle{display:block;width:100%;min-height:36px;padding:8px 10px;margin:0 0 8px;border:1px solid #4b7740;border-radius:9px;background:#17331a;color:#d9ffca;font-size:12px!important;text-align:center;overflow-wrap:anywhere}
.hm-event-open:hover,.hm-event-open:focus-visible,.hm-effects-toggle:hover,.hm-effects-toggle:focus-visible{background:#214b23}
.hm-event-open[hidden],.hm-effects-toggle[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.hm-event-canvas{display:none!important}}

/* BUILD 033: Beide vorab geladenen Posen liegen deckungsgleich. Statt kurzem
   Abblenden auf 22 % wird die neue Ebene sanft ueber die alte gelegt. */
.hm-character img{opacity:0;transition:opacity .52s ease-in-out,transform .22s ease}
.hm-character img.hm-image-active{opacity:1}
@media(prefers-reduced-motion:reduce){.hm-character img{transition:none}}

/* BUILD 038: Freiwillige Browser-Erinnerung nutzt die existierende Sprechblase. */
.hm-memory-open{display:block;width:100%;min-height:36px;padding:8px 10px;margin:0 0 8px;border:1px solid #4b7740;border-radius:9px;background:#17331a;color:#d9ffca;font-size:12px!important;text-align:center;overflow-wrap:anywhere}
.hm-memory-open[hidden]{display:none!important}
.hm-memory-open:hover,.hm-memory-open:focus-visible{background:#214b23}
.hm-memory-panel{display:grid;gap:9px;min-width:0;overflow-wrap:anywhere;font-size:12px}
.hm-memory-panel p{margin:0;line-height:1.5}
.hm-memory-form{display:grid;gap:8px;min-width:0}
.hm-memory-label{display:grid;gap:5px;font-size:12px;color:#d9efcf}
.hm-memory-input{box-sizing:border-box;display:block;min-width:0;width:100%;padding:9px 10px;border:1px solid #648259;border-radius:9px;background:#0d1a0f;color:#f0f5ec;font:inherit;font-size:14px}
.hm-memory-input:focus-visible{outline:2px solid #39ff14;outline-offset:2px}
.hm-memory-hint{font-size:11px;color:#adc4a6;line-height:1.5}


/* BUILD 039: freiwilliges 5-Fragen-Quiz in vorhandener Sprechblase. */
.hm-quiz-open{display:block;width:100%;min-height:36px;padding:8px 10px;margin:0 0 8px;border:1px solid #4b7740;border-radius:9px;background:#17331a;color:#d9ffca;font-size:12px!important;text-align:center;overflow-wrap:anywhere}
.hm-quiz-open[hidden]{display:none!important}
.hm-quiz-open:hover,.hm-quiz-open:focus-visible{background:#214b23}
.hm-quiz-status{margin:6px 0 0;color:#bbd5b1;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.hm-quiz-options .hm-quiz-choice{min-height:42px}
.hm-quiz-choice:disabled{cursor:default;opacity:.75}
.hm-quiz-choice.hm-quiz-correct{border-color:#39ff14;background:#1c4822;color:#ecffeb;opacity:1}
.hm-quiz-choice.hm-quiz-wrong{border-color:#b96a6a;background:#4b2626;color:#fff;opacity:1}


/* BUILD 040: freiwilliger Steckbrief in der vorhandenen Dialogblase. */
.hm-profile-open{display:block;width:100%;min-height:36px;padding:8px 10px;margin:0 0 8px;border:1px solid #4b7740;border-radius:9px;background:#17331a;color:#d9ffca;font-size:12px!important;text-align:center;overflow-wrap:anywhere}
.hm-profile-open[hidden],.hm-profile-secret[hidden]{display:none!important}
.hm-profile-open:hover,.hm-profile-open:focus-visible{background:#214b23}
.hm-profile{display:grid;gap:9px;min-width:0;font-size:12px;overflow-wrap:anywhere}
.hm-profile-list{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;min-width:0;margin:0}
.hm-profile-list dt{font-size:11px;color:#a9c5a3;font-weight:700;margin-top:6px}
.hm-profile-list dd{margin:0 0 3px;color:#ebf6e7;line-height:1.45;min-width:0}
.hm-profile-mood-note,.hm-profile-secret{margin:2px 0 4px;padding:9px 10px;border-left:2px solid #39ff14;background:#132417;border-radius:0 8px 8px 0;color:#d3edcc;line-height:1.5}
.hm-profile-secret{font-style:italic}
