:root{color-scheme:dark;--gold:#d5b274;--ink:#392c20;--paper:#e8d2a4;--scene:url('assets/illustration-v1.png')}*{box-sizing:border-box}body{margin:0;background:#121b18;color:#ede1c6;font:16px/1.5 Georgia,serif}button,a,input{touch-action:manipulation}button{font:inherit;cursor:pointer}button,a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #fff0ab;outline-offset:5px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1600px;margin:auto;padding:18px 28px}small{font:10px/1.4 system-ui;letter-spacing:.18em;color:var(--gold)}h1{font:normal 26px/1.3 Georgia;margin:4px 0}.switch{display:flex;gap:3px;background:#070e0d;padding:4px;border:1px solid #bda26855;border-radius:30px}.switch button{border:0;border-radius:23px;background:none;padding:10px 22px;min-height:44px;color:#b1b9aa}.switch button[aria-pressed=true]{background:#d1b17b;color:#231b13}main{max-width:1600px;margin:auto}.stage{position:relative;isolation:isolate;overflow:hidden;margin:0 14px;background:#18221c;border-radius:45% 45% 2% 2% / 1% 1% 1% 1%}#scene{width:100%;height:auto;display:block}.character{position:absolute;left:38.5%;top:22%;width:19%;height:68%;border:0;background:none;z-index:3;border-radius:45% 48% 10% 10%}.character:before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse,#ffdb7c32,transparent 70%);opacity:0;transition:opacity .25s;box-shadow:0 0 35px #ffe0a000}.character:hover:before,.character:focus-visible:before{opacity:1;box-shadow:0 0 35px #ffe0a044}.sign{position:absolute;bottom:6%;left:50%;transform:translateX(-50%) rotate(-3deg);white-space:nowrap;padding:9px 20px;color:#3c2b18;font-size:16px;clip-path:polygon(2% 10%,26% 4%,58% 8%,95% 0,100% 27%,97% 68%,100% 91%,63% 96%,32% 93%,0 100%,3% 45%);background:linear-gradient(110deg,#bf9b60,#ead3a1 45%,#c9a56a);box-shadow:0 4px 12px #0008}.sign span{margin-left:7px}.cat{position:absolute;left:10.2%;bottom:2.2%;width:14%;height:30%;border:0;background:none;z-index:4;filter:drop-shadow(0 8px 5px #130b0999);transform-origin:50% 94%;animation:cat-rest 4s ease-in-out infinite}.cat-image{display:block;width:100%;height:100%;background:url('assets/emmi-styles.png') left center/200% 100% no-repeat}.cat:hover,.cat:focus-visible{filter:drop-shadow(0 0 9px #f2d29699)}.cat.reacts{animation:cat-greet .7s ease-in-out 2}.purr{position:absolute;left:23%;bottom:25%;z-index:5;font:italic 17px Georgia;color:#3f2e20;background:var(--paper);padding:8px 16px;border-radius:60% 50% 50% 0;opacity:0;transform:translateY(10px);transition:all .2s}.purr.show{opacity:1;transform:none}.scene-note{position:absolute;bottom:2%;right:2%;font:italic 12px Georgia;text-shadow:0 2px 4px #000;color:#e9d4ac;opacity:.8}.light{position:absolute;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,#ffd78970,transparent 68%);mix-blend-mode:screen;animation:flicker 4s ease-in-out infinite alternate}.light-one{left:23%;top:4%;width:12%;height:20%}.light-two{right:0;top:58%;width:11%;height:28%;animation-delay:-2s}.dust{position:absolute;inset:0;pointer-events:none}.dust i{position:absolute;left:30%;top:48%;height:3px;width:3px;background:#ffe2a1;border-radius:50%;box-shadow:0 0 7px #ffdf8f;opacity:0;animation:float 9s ease-in-out infinite}.dust i:nth-child(2){left:74%;top:39%;animation-delay:-3s}.dust i:nth-child(3){left:64%;top:62%;animation-delay:-6s}.dust i:nth-child(4){left:20%;top:73%;animation-delay:-1s}.below{display:flex;align-items:center;justify-content:center;gap:20px;padding:14px 25px}.below p{font-style:italic;font-size:14px;margin:0}#speak{border:1px solid #b7985e88;border-radius:20px;padding:10px 20px;background:#293428;color:#efdcaf;min-height:44px}.motion{font:12px system-ui;color:#acb7a9;white-space:nowrap}.motion input{accent-color:var(--gold);vertical-align:middle}.study-note{font:11px/1.6 system-ui;color:#91a395;text-align:center;max-width:750px;margin:0 auto;padding:0 20px 18px}dialog{color:var(--ink);border:0;padding:0;background:transparent;width:min(600px,calc(100vw - 28px));overflow:visible}dialog::backdrop{background:#070f0ca8;backdrop-filter:blur(3px)}.paper{position:relative;padding:34px 35px 26px;background:radial-gradient(ellipse at 30% 20%,#f5e6c5,#e7d1a3 65%,#be955d);box-shadow:0 20px 80px #0009;border-radius:2% 3% 2% 4% / 4% 2% 3% 2%;animation:unfold .35s ease-out;max-height:calc(100dvh - 35px);overflow:auto}#close{position:absolute;right:8px;top:5px;width:44px;height:44px;border:0;background:none;color:var(--ink);font-size:27px}.dialog-heading{display:flex;gap:20px;align-items:center;margin-bottom:20px}.dialog-heading small{color:#826137}.portrait{flex:none;width:100px;height:110px;background-image:var(--scene);background-size:900px auto;background-position:48% 29%;border-radius:45% 48% 35% 42%;box-shadow:0 0 0 3px #b59358,0 4px 12px #503c2750}h2{font:normal 28px/1.15 Georgia;margin:5px 0}#greeting{font-size:19px;line-height:1.65;margin:8px 0 24px}.choices{display:flex;flex-direction:column;gap:10px}.choices button,#gallery a{padding:12px 20px;background:#344932;color:#fff0c9;border:1px solid #283a22;border-radius:4px;min-height:46px;text-decoration:none;text-align:center}.quiet,#back{background:none!important;color:#594327!important;border:0!important;text-decoration:underline;text-underline-offset:4px;min-height:44px}#gallery a{display:block;margin:17px 0 7px}.destination{font:11px/1.5 system-ui;color:#735c3d;text-align:center}.paper button:focus-visible,.paper a:focus-visible{outline-color:#29472b}body[data-style=pixel]{--scene:url('assets/pixel.png')}.pixel .stage,body[data-style=pixel] .stage{border-radius:0}body[data-style=pixel] #scene{image-rendering:pixelated}body[data-style=pixel] .cat-image{background-position:right center;image-rendering:pixelated}body[data-style=pixel] .sign{clip-path:polygon(0 12%,7% 12%,7% 0,93% 0,93% 12%,100% 12%,100% 88%,93% 88%,93% 100%,7% 100%,7% 88%,0 88%);transform:translateX(-50%);background:#d0b27c;box-shadow:inset 0 -4px #aa8850;font-family:monospace;font-size:15px}body[data-style=pixel] .paper{border-radius:0;background:#e7d1a3;box-shadow:0 0 0 4px #a37a43,0 0 0 8px #4e3925,0 18px 0 8px #0005;animation:pixel-open .22s steps(3)}body[data-style=pixel] .portrait{image-rendering:pixelated;border-radius:0;box-shadow:0 0 0 4px #96713d}body[data-style=pixel] .choices button,body[data-style=pixel] #gallery a{border-radius:0;box-shadow:inset -3px -3px #172a17,inset 3px 3px #50694a}body[data-style=pixel] .purr{border-radius:0;font-family:monospace}body[data-style=pixel] .dust i{border-radius:0;box-shadow:none}body.still *,body.still *:before{animation:none!important;transition:none!important}[hidden]{display:none!important}@keyframes flicker{from{opacity:.15}to{opacity:.4}}@keyframes float{20%,65%{opacity:.7}to{transform:translate(12px,-45px);opacity:0}}@keyframes cat-rest{50%{transform:rotate(.6deg) scaleY(1.012)}}@keyframes cat-greet{0%,100%{transform:rotate(0)}35%{transform:rotate(-5deg) translateY(-4px)}70%{transform:rotate(3deg)}}@keyframes unfold{from{opacity:0;transform:translateY(14px) scale(.95)}to{opacity:1;transform:none}}@keyframes pixel-open{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(max-width:700px){header{padding:15px 16px;flex-direction:column;gap:12px;text-align:center}h1{font-size:24px}.switch button{padding:9px 25px}.stage{margin:0;border-radius:0}.sign{font-size:10px;padding:7px 11px;bottom:5%}body[data-style=pixel] .sign{font-size:10px}.character{left:37%;width:23%;top:19%;height:73%}.cat{width:17%;height:33%;left:7%;bottom:1%}.purr{font-size:12px;padding:5px 9px}.scene-note{display:none}.below{flex-wrap:wrap;gap:12px;padding:18px 14px}.below p{width:100%;text-align:center;font-size:14px}.study-note{font-size:11px;max-width:390px}.paper{padding:32px 23px 22px}.dialog-heading{gap:15px}.portrait{width:78px;height:85px;background-size:700px auto}h2{font-size:24px}#greeting{font-size:17px}.light{animation-duration:5s}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}

.dialog-switch{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:20px;padding-top:15px;border-top:1px solid #a78c5b77;font:12px system-ui}.dialog-switch button{padding:9px 12px;min-height:44px;background:none;border:1px solid #8d744b;color:#4d3c27}.dialog-switch button[aria-pressed=true]{background:#735c36;color:#fff0cb}

/* Nachtfassung: ruhigeres Licht und schlafende Emmi auf dem Hocker. */
body{background:#101916}.cat{left:1.2%;bottom:8.8%;width:17.5%;height:15.5%;animation:cat-rest 6s ease-in-out infinite;transform-origin:50% 85%}.cat-image{background-image:url('assets/emmi-curled.png');background-size:100% 100%;background-position:center}.cat.reacts{animation:cat-rest 2s ease-in-out 2}.light-one{left:10%;top:1%;width:11%;height:17%;opacity:.1}.light-two{right:17%;top:1%;width:11%;height:15%;opacity:.1}.light{background:radial-gradient(ellipse,#e5c8a345,transparent 70%)}.purr{left:14%;bottom:24%;font-size:14px;background:#d4c39e}.scene-note{color:#bdc5b5}.sign{filter:saturate(.65) brightness(.85)}
@media(max-width:700px){.cat{left:.8%;bottom:8.8%;width:18%;height:16%}header{padding:13px 16px;gap:0}h1{font-size:28px}.purr{left:15%;bottom:24%;font-size:11px;padding:4px 9px}}
.cat-image{background-image:url('assets/emmi-curled-illustrated.png')}.cat{bottom:6.5%}@media(max-width:700px){.cat{bottom:6.5%}}

/* 06.11.: erste Emmi-Variante ohne Verzerrung; Lampe am Kartentisch. */
.cat-image{background-image:url('assets/emmi-curled.png');background-size:contain;background-position:center bottom}
.cat{left:2.4%;bottom:7.5%;width:15.5%;height:auto;aspect-ratio:3 / 2}
@media(max-width:700px){.cat{left:2.4%;bottom:7.5%;width:15.5%;height:auto;aspect-ratio:3 / 2}}

/* Emmi als Bild mit eigener intrinsischer Höhe statt kollabierender Hintergrundebene. */
.cat{padding:0}.cat-image{display:block;width:100%;height:auto;background:none;object-fit:contain}

/* Ruhende Emmi: keine Skalierung oder Rotation der gerasterten Bildebene. */
.cat,.cat.reacts{animation:none;transform:none}

.book-lettering{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.hotspot{position:absolute;border:0;background:transparent;z-index:2;border-radius:45%;cursor:pointer}.hotspot:hover,.hotspot:focus-visible{box-shadow:inset 0 0 35px #ecd49a44}.father{left:21%;top:16%;width:20%;height:67%}.son{left:56%;top:17%;width:18%;height:63%}.chest{left:74%;top:38%;width:10%;height:18%}.below button,.quick button{border:1px solid #b7985e88;border-radius:22px;padding:10px 20px;background:#293428;color:#efdcaf;min-height:44px}.realm{max-width:1120px;margin:55px auto 35px;padding:0 22px;text-align:center;scroll-margin-top:20px}.realm h2{color:#e2cca4;margin:10px}.realm>p{color:#a9b5a5}.map{height:440px;position:relative;overflow:hidden;border:1px solid #9f8d5944;border-radius:40% 30% 20% 20% / 7%;background:radial-gradient(ellipse at 70% 20%,#344237,#162c29);box-shadow:inset 0 0 70px #081912}.map svg{position:absolute;inset:0;width:100%;height:100%;opacity:.65}.place{position:absolute;border:0;background:#14251de8;color:#ebd9b6;padding:12px 18px;border-radius:8px;min-height:60px;box-shadow:0 5px 15px #0005}.place span{display:block;font-size:32px;color:#cbb67d}.place:hover{background:#3a4a35}.library{left:8%;top:30%}.gallery-place{right:9%;top:15%}.tavern{right:20%;bottom:14%}.observatory{left:25%;top:4%}.quick{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:25px 0}.quick a{padding:10px;color:#dac391;text-underline-offset:5px}.choices a{display:block;padding:12px 20px;background:#344932;color:#fff0c9;border-radius:4px;text-decoration:none;min-height:46px}.portrait{background-image:url('assets/atelier-truhe.png')}.portrait[data-person=father]{background-position:34% 20%}.portrait[data-person=son]{background-position:61% 22%}.portrait[data-person=sabrina]{background-position:48% 29%}@media(max-width:700px){.below button{padding:9px 12px;font-size:13px}.realm{margin-top:25px;padding:0 12px}.realm h2{font-size:24px}.map{height:420px}.place{font-size:13px;padding:9px;max-width:45%}.library{left:3%;top:35%}.gallery-place{right:3%;top:18%}.tavern{right:8%;bottom:12%}.observatory{left:14%;top:3%}}

.blink-frame{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;clip-path:polygon(44.9% 32.2%,50% 32.2%,50% 35.3%,44.9% 35.3%);opacity:0;animation:blink 7s steps(1,end) infinite;z-index:1}@keyframes blink{0%,96%,100%{opacity:0}97%,99%{opacity:1}}body.still .blink-frame{opacity:0}@media(prefers-reduced-motion:reduce){.blink-frame{opacity:0}}

/* Auswahl in der Welt, ohne Dialogfenster. */
.stage{overflow:visible}.painting{left:2%;top:14%;width:20%;height:39%;border-radius:4%}.book{left:27%;top:51%;width:9%;height:15%;border-radius:0}.map-table{left:51%;top:82%;width:38%;height:17%;border-radius:20%}.hotspot,.character{transition:box-shadow .2s}.scene-speech{position:absolute;z-index:8;left:22%;right:8%;bottom:2%;padding:16px 45px 15px 22px;background:linear-gradient(90deg,#081811f5,#101c18ee);border-top:1px solid #bda26899;border-bottom:1px solid #bda26855;color:#eadcc1;box-shadow:0 12px 30px #0005}.scene-speech p{margin:5px 0 9px;font-size:16px;line-height:1.45}.speech-close{position:absolute;right:6px;top:3px;border:0;background:none;font-size:24px;color:#cfb682;width:36px;height:36px}#scene-actions,#map-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}#scene-actions a,#scene-actions button,#map-actions a,#map-close{background:none;border:0;border-bottom:1px solid #bda26888;border-radius:0;padding:5px 0;color:#e6c98b;text-decoration:none;font:inherit;min-height:34px}#scene-actions p{font-size:13px;color:#b4bdad}body[data-destination=gallery] .painting,body[data-destination=library] .book,body[data-destination=tavern] .chest,body[data-destination=map] .map-table{box-shadow:inset 0 0 22px #efd49b66,0 0 14px #d5b27488;outline:1px solid #d5b27488}.below{padding-top:22px}.below button,#speak{border:0;border-bottom:1px solid #aa925955;background:none;border-radius:0;color:#cdb98c;padding:8px 12px}.map{height:auto;aspect-ratio:1672 / 941;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}.map>img{display:block;width:100%;height:auto}.place{padding:6px 12px;min-height:36px;background:#10241de8;border:1px solid #baa27488;border-radius:2px;font-size:14px;box-shadow:0 3px 9px #0008;max-width:30%;transform:translateX(-50%)}.library{left:20%;top:61%}.gallery-place{left:82%;right:auto;top:41%}.tavern{left:78%;right:auto;top:83%;bottom:auto}.observatory{left:32%;top:24%}.map-speech{text-align:left;border-left:2px solid #bba36a;padding:12px 20px;background:#14231e;margin:18px 0}.map-speech h3{margin:4px 0;font-weight:normal;font-size:23px}.map-speech p{color:#c5cdbb}.quick{font-size:14px}.quick button{background:none;border:0;border-radius:0;color:#dac391;text-decoration:underline}.realm{margin-top:35px}@media(max-width:700px){.scene-speech{position:relative;left:auto;right:auto;bottom:auto;padding:15px 40px 15px 16px}.scene-speech p{font-size:15px}.place{font-size:10px;line-height:1.2;padding:5px 6px;min-height:32px;max-width:32%}.library{left:20%;top:61%}.gallery-place{left:81%;top:41%}.tavern{left:78%;top:82%}.observatory{left:33%;top:23%}.realm{padding:0 6px}.below{gap:7px}.below button,#speak{font-size:12px;padding:8px}.quick{gap:10px}.map-speech{margin:14px 8px}}

.stage{overflow:hidden}.scene-speech{position:relative;left:auto;right:auto;bottom:auto;max-width:1572px;margin:0 14px;padding:16px 45px 15px 22px}@media(max-width:700px){.scene-speech{margin:0;padding:15px 40px 15px 16px}}

/* Hanse-Spiel: geschnitztes Pult, Bildmedaillons, Pergament und Holzschilder. */
body{background:#100e0b url('assets/holzpult.png') center / 1600px auto fixed;color:#e0cbaa}body:before{content:'';position:fixed;inset:0;background:#080d0bf0;z-index:-1;pointer-events:none}header{justify-content:center;text-align:center;padding:22px;background:url('assets/holzpult.png') center/100% 100%;box-shadow:0 8px 20px #0008;margin:0 14px;max-width:none}header small{color:#d7bf8a}h1{text-shadow:0 2px 3px #000;font-size:32px}main{max-width:1500px}.stage{margin:0 14px;border-radius:0;border:9px solid #352215;border-top:0;box-shadow:0 8px 30px #000,inset 0 0 8px #000}.helm{margin:0 14px 35px;padding:32px 45px 25px;text-align:center;background:url('assets/holzpult.png') center/100% 100%;box-shadow:0 12px 25px #0009}.helm-heading{display:flex;align-items:center;justify-content:center;gap:25px;color:#c3a066}.helm-heading h2{font-size:25px;text-shadow:0 2px 3px #000;margin:0 0 18px}.medallions{display:flex;justify-content:center;gap:30px}.medallion{position:relative;flex:1;max-width:250px;padding:12px 10px 16px;color:#e9d4a5;background:linear-gradient(#100a0788,#100a07bb),url('assets/holzpult.png') center/auto 100%;border:5px ridge #997343;border-radius:8px 8px 28px 28px;box-shadow:inset 0 0 15px #000,0 7px 8px #000a;text-shadow:0 2px #000}.medallion:hover,.medallion:focus-visible{filter:brightness(1.2);border-color:#cfaa68}.medallion strong{display:block;font-weight:normal;font-size:21px;margin-top:10px}.medallion small{display:block;letter-spacing:.04em;font-size:11px;margin-top:4px;color:#baa782}.cameo{display:block;width:84px;height:84px;margin:auto;border:4px ridge #b38c50;border-radius:50%;background-image:url('assets/atelier-zauberstab.png');background-size:660px auto;box-shadow:0 3px 12px #000,inset 0 0 10px #000}.father-med .cameo{background-position:34% 17%}.sabrina-med .cameo{background-position:48% 30%}.tobi-med .cameo{background-position:61% 20%}.helm .motion{display:block;margin-top:17px;color:#bca780}.scene-speech,.map-speech{position:relative;margin:15px 36px;padding:24px 50px 24px 28px;color:#3b2917;border:0;border-radius:3px 14px 7px 3px;background:radial-gradient(ellipse at 20% 20%,#f1dfb7,#d2b17a 80%,#a17a45);box-shadow:inset 0 0 28px #7a4b2277,0 4px 0 #5e3b21,0 9px 18px #0009;text-align:left}.scene-speech:before,.map-speech:before{content:'❦';position:absolute;left:9px;top:6px;color:#90632b;font-size:20px}.scene-speech small,.map-speech small{color:#775124;font-size:12px;letter-spacing:.08em}.scene-speech p,.map-speech p{color:#463321;font-size:17px}.speech-close{color:#614223}#scene-actions a,#scene-actions button,#map-actions a,#map-close{color:#edd8a9;padding:11px 20px;border:4px ridge #997343;border-radius:4px;background:linear-gradient(#24140955,#24140999),url('assets/holzpult.png') center/auto 100%;text-shadow:0 1px 2px #000;box-shadow:0 3px 5px #38210e88;min-height:44px}#scene-actions p{color:#604b31;font-size:14px}.realm{max-width:1200px;background:url('assets/holzpult.png') center/100% 100%;padding:35px 30px 25px;margin:30px auto;box-shadow:0 12px 30px #000c}.realm h2{font-size:30px;text-shadow:0 2px 4px #000}.realm>p{color:#c2ad86}.map{border:8px ridge #72502c;box-shadow:0 4px 15px #000a}.place{background:url('assets/holzpult.png') center/100% 100%;border:0;border-radius:0;padding:10px 15px;color:#f0dbac;font-size:14px;min-height:40px;text-shadow:0 2px 2px #000;box-shadow:0 4px 6px #0009}.place:hover{filter:brightness(1.3);background:url('assets/holzpult.png') center/100% 100%}.quick{margin-bottom:0;padding-top:16px}.quick a,.quick button{color:#d4bd8d;text-shadow:0 2px #000}.map-speech{margin:20px 0 10px}.hotspot:hover,.hotspot:focus-visible{outline:2px solid #cdb07788}.book-lettering{filter:drop-shadow(0 1px 1px #160d06)}@media(max-width:700px){header{margin:0;padding:18px}.stage{margin:0;border-width:5px}.helm{margin:0 0 24px;padding:25px 16px 22px}.helm-heading{gap:12px}.helm-heading h2{font-size:21px;margin-bottom:14px}.medallions{gap:8px}.medallion{padding:9px 4px 14px;border-width:3px;border-radius:5px 5px 20px 20px}.cameo{width:59px;height:59px;background-size:465px auto;border-width:3px}.medallion strong{font-size:14px}.medallion small{font-size:9px;line-height:1.4;letter-spacing:0}.scene-speech{margin:12px 10px;padding:23px 34px 20px 20px}.scene-speech p,.map-speech p{font-size:15px}#scene-actions,#map-actions{gap:10px}#scene-actions a,#scene-actions button,#map-actions a,#map-close{font-size:14px;padding:8px 12px}.realm{margin:20px 0;padding:25px 12px 20px}.realm h2{font-size:24px}.realm>p{font-size:14px}.map{border-width:4px}.place{padding:8px 7px;font-size:10px;min-height:33px}.map-speech{padding:23px 20px}.helm .motion{font-size:11px}.quick{gap:6px;font-size:12px}}
#speak.medallion{padding:12px 10px 16px;color:#e9d4a5;background:linear-gradient(#100a0788,#100a07bb),url('assets/holzpult.png') center/auto 100%;border:5px ridge #997343;border-radius:8px 8px 28px 28px;box-shadow:inset 0 0 15px #000,0 7px 8px #000a}#speak.medallion:hover{border-color:#cfaa68}@media(max-width:700px){#speak.medallion{padding:9px 4px 14px;border-width:3px;border-radius:5px 5px 20px 20px}}

/* Ein Raum als Oberfläche: Sprechblasen und eine nur bei Bedarf geöffnete Karte. */
body{background:#090e0c}main{max-width:1672px;margin:auto}.stage{margin:0;border:0;border-radius:0;overflow:visible;box-shadow:0 12px 40px #000}.scene-note{display:none}.atelier-tools{display:flex;align-items:center;justify-content:center;gap:25px;padding:14px 20px;color:#a9936b;font-size:13px}.atelier-tools>span{font-variant:small-caps;letter-spacing:.09em}.atelier-tools button{border:0;background:none;color:#cfb984;padding:8px;text-decoration:underline;text-underline-offset:4px}.atelier-tools .motion{font-size:11px}.object-label{position:absolute;left:50%;top:80%;transform:translateX(-50%);white-space:nowrap;background:#ead6ac;color:#49351f;padding:6px 12px;font:14px Georgia;box-shadow:0 3px 8px #0008;opacity:0;pointer-events:none;border-radius:40% 3% 25% 4% / 7%;z-index:5}.hotspot:hover .object-label,.hotspot:focus-visible .object-label,.character:hover .object-label,.character:focus-visible .object-label,.discover .object-label{opacity:1}.hotspot,.character{cursor:pointer}.scene-speech{position:absolute;z-index:9;margin:0;left:38%;right:auto;bottom:4%;width:36%;padding:20px 35px 17px 23px;border-radius:45% 4% 20% 5% / 8% 12% 7% 14%;background:radial-gradient(ellipse at 35% 25%,#f0dfbc,#d5ba89);box-shadow:inset 0 0 16px #8b663144,0 7px 17px #0008}.scene-speech:before{content:'';position:absolute;left:27%;top:-16px;width:27px;height:25px;background:#e6d0a8;clip-path:polygon(0 100%,38% 0,100% 100%)}.scene-speech[data-person=father]{left:12%;bottom:8%}.scene-speech[data-person=tobi]{left:59%;bottom:5%}.scene-speech small{font-size:11px;color:#795e37;letter-spacing:.04em}.scene-speech p{font-size:16px;line-height:1.45;margin:7px 0 10px}.speech-close{right:3px;top:3px}#scene-actions{gap:10px 18px}#scene-actions a,#scene-actions button{background:linear-gradient(#f5e7c8,#d0ae73);border:0;border-bottom:3px solid #9d7942;border-radius:2px 6px 3px 2px;padding:7px 12px;color:#49351d;text-shadow:none;box-shadow:0 2px 3px #583c2044;font-size:15px;min-height:38px}#scene-actions a:hover,#scene-actions button:hover{background:#faebca}#scene-actions p{font-size:13px;margin:4px 0}.realm{position:fixed;width:min(1200px,96vw);max-width:96vw;max-height:94dvh;margin:auto;padding:26px 28px 20px;overflow:auto;border:0;color:#e0cbaa;background:url('assets/holzpult.png') center/100% 100%;box-shadow:0 15px 90px #000}.realm::backdrop{background:#030b08d9;backdrop-filter:blur(3px)}.realm h2{margin-top:0;font-size:26px}.realm>p{margin:5px 0 14px}#close-map{position:absolute;right:8px;top:5px;background:none;border:0;color:#e3c991;font-size:27px;width:42px;height:42px;z-index:3}.realm:not([open]){display:none}.realm .quick{display:none}.map-speech{margin:14px 0 0;padding:15px 20px}.map-speech h3{font-size:21px}.map-speech p{font-size:15px;margin:6px 0}.map-speech #map-close{margin-top:9px}.painting .object-label{top:40%}.book .object-label{top:80%}.map-table .object-label{top:20%}.chest .object-label{top:90%}@media(max-width:700px){.stage{margin:0;overflow:visible}.scene-speech,.scene-speech[data-person=father],.scene-speech[data-person=tobi]{left:4%;bottom:auto;top:90%;width:92%;padding:17px 32px 17px 20px}.stage:has(.scene-speech:not([hidden])){margin-bottom:230px}.scene-speech:before{left:48%}.scene-speech[data-person=father]:before{left:25%}.scene-speech[data-person=tobi]:before{left:73%}.scene-speech p{font-size:15px}.atelier-tools{gap:13px;padding:10px 8px;font-size:11px}.atelier-tools .motion{font-size:10px}.object-label{font-size:10px;padding:4px 6px}.realm{width:98vw;max-width:98vw;padding:30px 10px 15px;max-height:96dvh}.realm h2{font-size:22px;margin-right:20px}.realm>p{font-size:12px}.realm .map{border-width:3px}.realm .place{font-size:10px;padding:6px;max-width:32%}.scene-speech #scene-actions a,.scene-speech #scene-actions button{font-size:14px}}
@media(max-width:700px){.stage:has(.scene-speech:not([hidden])){margin-bottom:calc(var(--speech-height,180px) + 8px)}}

/* Material und Bewegung, ohne doppelte Hover-Beschriftung. */
.object-label{display:none!important}.hotspot:hover,.hotspot:focus-visible{outline:none;box-shadow:inset 0 0 35px #efd49b44,0 0 15px #d5b27455}.character:hover:before,.character:focus-visible:before{opacity:1}.calendar{left:74%;top:7%;width:10%;height:28%;border-radius:8%}.cabinet{left:85%;top:33%;width:14%;height:41%;border-radius:5%}.scene-speech,.map-speech{background:#d4bc93 url('assets/pergament-ranken.png') center/100% 100%;border-radius:0;box-shadow:none;filter:drop-shadow(0 6px 8px #0008);clip-path:polygon(2% 3%,9% 1%,19% 3%,29% 1%,41% 2%,53% 1%,68% 2%,81% 1%,97% 3%,99% 12%,98% 28%,99% 46%,98% 65%,99% 83%,97% 97%,84% 99%,69% 97%,53% 99%,36% 98%,21% 99%,3% 97%,1% 84%,2% 65%,1% 47%,2% 29%,1% 14%);padding:30px 40px 28px}.scene-speech:before,.map-speech:before{display:none}.scene-speech small{color:#5e4728;font-weight:bold}.speech-close{right:15px;top:14px}.scene-speech p{color:#33291c}#scene-actions a,#scene-actions button{background:none;border:0;box-shadow:none;padding:6px 2px;color:#49351d;font-weight:bold;text-decoration:underline;text-underline-offset:5px}#scene-actions a:hover,#scene-actions button:hover{background:none;color:#79531f}.light-one{left:11%;top:8%;width:6%;height:15%}.light-two{left:76%;right:auto;top:0;width:7%;height:14%}.light{animation:alive-flame 2.7s ease-in-out infinite alternate;background:radial-gradient(ellipse,#ffc66b55,transparent 65%)}.dust i{height:3px;width:3px;animation-duration:12s}.magic{position:absolute;pointer-events:none;left:52.8%;top:61.6%;width:3%;height:5%;z-index:2;background:radial-gradient(ellipse,#8be5d65c,transparent 65%);animation:magic-light 4s ease-in-out infinite}.magic i{position:absolute;width:3px;height:3px;border-radius:50%;background:#b6fff0;box-shadow:0 0 5px #74dcc9;left:50%;top:40%;animation:magic-spark 5s ease-out infinite}.magic i:nth-child(2){animation-delay:-1.7s;left:30%}.magic i:nth-child(3){animation-delay:-3.3s;left:70%}@keyframes alive-flame{0%,100%{opacity:.25}35%{opacity:.65}60%{opacity:.4}85%{opacity:.75}}@keyframes magic-light{50%{opacity:.45}}@keyframes magic-spark{0%{opacity:0;transform:translateY(4px)}20%{opacity:.8}100%{opacity:0;transform:translate(6px,-25px)}}@media(max-width:700px){.scene-speech{padding:27px 30px 25px}.stage:has(.scene-speech:not([hidden])){margin-bottom:calc(var(--speech-height,180px) + 8px)}}

/* Only silhouette light; all older box glow treatments explicitly disabled. */
.hotspot,.hotspot:hover,.hotspot:focus-visible,.character,.character:hover,.character:focus-visible,body[data-destination] .hotspot{box-shadow:none!important;outline:none!important}.character:before{display:none}.silhouette-lights{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.silhouette-lights path{opacity:0;transition:opacity .25s}.stage[data-hover=father] .glow-father,.stage[data-hover=father] .glow-cabinet,.stage[data-hover=sabrina] .glow-sabrina,.stage[data-hover=sabrina] .glow-gallery,.stage[data-hover=tobi] .glow-tobi,.stage[data-hover=tobi] .glow-chest,.stage[data-hover=gallery] .glow-gallery,.stage[data-hover=cabinet] .glow-cabinet,.stage[data-hover=calendar] .glow-calendar,.stage[data-hover=map] .glow-map,body[data-destination=library] .glow-father,body[data-destination=library] .glow-cabinet,body[data-destination=gallery] .glow-sabrina,body[data-destination=gallery] .glow-gallery,body[data-destination=tavern] .glow-tobi,body[data-destination=tavern] .glow-chest,body[data-destination=calendar] .glow-calendar{opacity:.65}.scene-speech,.map-speech{background-size:112% 119%;background-position:center;clip-path:polygon(2% 5%,10% 3%,25% 5%,40% 3%,60% 5%,80% 3%,97% 5%,98% 20%,97% 40%,98% 60%,97% 80%,96% 95%,80% 97%,60% 95%,40% 97%,20% 95%,3% 96%,2% 80%,3% 60%,2% 40%,3% 20%)}.emmi-breath{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.emmi-breath path{fill:none;stroke:#c6ae8770;stroke-width:12;stroke-linecap:round;opacity:0;animation:cat-breathe 5s ease-in-out infinite}.cat.emmi-wakes .cat-image{animation:cat-nuzzle 1.8s ease-in-out 1!important;transform-origin:35% 75%}.cat:hover,.cat:focus-visible{filter:drop-shadow(0 0 4px #bfa67888)}@keyframes cat-breathe{0%,100%{opacity:0}50%{opacity:.25}}@keyframes cat-nuzzle{0%,100%{transform:translateY(0)}35%{transform:translateY(-2px)}65%{transform:translateY(-1px)}}body.still .emmi-breath path{opacity:0}

.cat.emmi-wakes .cat-image{animation:none!important;transform:none}.emmi-eyes{position:absolute;inset:0;width:100%;height:auto;clip-path:polygon(21% 67%,49% 67%,49% 76%,21% 76%);opacity:0;pointer-events:none}.cat.emmi-wakes .emmi-eyes{opacity:1}.cat:not(.emmi-wakes) .emmi-eyes{animation:emmi-look 19s steps(1,end) infinite}@keyframes emmi-look{0%,92%,100%{opacity:0}93%,98%{opacity:1}}body.still .emmi-eyes{opacity:0!important}@media(prefers-reduced-motion:reduce){.emmi-eyes{opacity:0!important}}

.blink-father,.blink-tobi{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;z-index:1}.blink-father{clip-path:polygon(33.8% 23%,39.4% 23%,39.4% 26%,33.8% 26%);animation:blink 8.7s steps(1,end) -2s infinite}.blink-tobi{clip-path:polygon(57.3% 24%,62.7% 22%,62.7% 26.7%,57.3% 28%);animation:blink 6.8s steps(1,end) -4s infinite}body.still .blink-father,body.still .blink-tobi{opacity:0}.cloud-window{position:absolute;left:39%;top:0;width:23%;height:13%;overflow:hidden;pointer-events:none;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}.cloud-bank{width:220%;height:100%;background:radial-gradient(ellipse at 12% 60%,#8fa7be55 0,transparent 18%),radial-gradient(ellipse at 28% 48%,#829bb35c 0,transparent 22%),radial-gradient(ellipse at 58% 70%,#738ca34c 0,transparent 20%),radial-gradient(ellipse at 82% 45%,#8fa7be44 0,transparent 17%);animation:cloud-drift 48s linear infinite alternate;opacity:.7}@keyframes cloud-drift{from{transform:translateX(-45%)}to{transform:translateX(0)}}.light{animation-duration:1.8s}.light-one{opacity:.65}.light-two{opacity:.6}.lute{left:8%;top:55%;width:12%;height:32%;border-radius:45%}.volume{font:11px system-ui;color:#bca67f;display:flex;align-items:center;gap:7px}.volume input{width:75px;accent-color:#bca67f}.atelier-tools{flex-wrap:wrap;gap:12px 20px}#music-toggle{min-height:36px}body.music-on .lute{background:radial-gradient(ellipse,#d7ad5a22,transparent 65%)}@media(prefers-reduced-motion:reduce){.blink-father,.blink-tobi{opacity:0}.cloud-bank{animation:none}}
/* Ruhigeres Blinzeln, lebendigeres Licht am Schrank. */
.blink-frame{animation-duration:17s}.blink-father{animation-duration:23s;animation-delay:-7s}.blink-tobi{animation-duration:19s;animation-delay:-11s}@keyframes blink{0%,98.8%,100%{opacity:0}99%,99.65%{opacity:1}}
.cabinet-flame{position:absolute;pointer-events:none;z-index:1;width:6%;height:13%;background:radial-gradient(ellipse,#ffc36b88,transparent 65%);mix-blend-mode:screen;animation:cabinet-flicker 1.4s linear infinite}.cabinet-flame.a{left:88%;top:24%}.cabinet-flame.b{left:84%;top:39%;animation-duration:1.9s;animation-delay:-.7s}.cabinet-flame.c{left:94%;top:38%;animation-duration:1.1s;animation-delay:-.3s}@keyframes cabinet-flicker{0%,100%{opacity:.25}17%{opacity:.6}29%{opacity:.35}44%{opacity:.85}59%{opacity:.45}71%{opacity:.7}86%{opacity:.3}}

/* Ruhiges Kerzenlicht und Auswahl der Laute. */
.cabinet-flame.a{animation:quiet-candle 5.8s ease-in-out infinite alternate}.cabinet-flame.b{animation:quiet-candle 7.1s ease-in-out -2s infinite alternate}.cabinet-flame.c{animation:quiet-candle 6.4s ease-in-out -3s infinite alternate}@keyframes quiet-candle{0%{opacity:.22}45%{opacity:.32}70%{opacity:.27}100%{opacity:.38}}.stage:has(.lute:hover) .glow-lute,.stage[data-hover=lute] .glow-lute,.lute:focus-visible~.silhouette-lights .glow-lute,body.music-on .glow-lute{opacity:.55}body.music-on .lute{background:none}
