:root{--gold:#d7b56b;--ink:#e9dfc9;--panel:rgba(5,7,6,.88)}
.philosopher-scene{position:relative;min-height:100vh;overflow:hidden;background:#050605 center/cover no-repeat;color:var(--ink)}
.philosopher-scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.18) 55%,rgba(0,0,0,.68));z-index:1}
.philosopher-copy{position:absolute;z-index:20;left:3vw;bottom:3vh;width:min(460px,92vw);padding:16px 18px;border:1px solid rgba(215,181,107,.28);background:rgba(4,6,5,.82);backdrop-filter:blur(5px);box-shadow:0 18px 50px #0008}
.philosopher-copy .kicker{font:600 .52rem Cinzel,Georgia,serif;letter-spacing:.16em;text-transform:uppercase;color:#b89b5c}.philosopher-copy h1{margin:4px 0 7px;font:600 clamp(1.55rem,3vw,2.45rem) Cinzel,Georgia,serif}.philosopher-copy p{margin:.35rem 0;color:#c6bda9;line-height:1.45}
.philosopher-message{min-height:1.45em;color:#e0c47a;font-style:italic}
.fluffy-room{background-image:url('img/philosopher-fluffy-room-v436.webp')}
.fluffy-dog{position:absolute;z-index:7;left:50%;bottom:8%;width:min(58vw,790px);max-height:76vh;object-fit:contain;transform:translateX(-50%);filter:drop-shadow(0 18px 24px #000);transition:.8s ease}
.fluffy-dog.sleeping{width:min(62vw,820px);bottom:5%;opacity:.96}
.fluffy-harp{position:absolute;z-index:10;right:4vw;bottom:7vh;width:min(18vw,245px);max-height:58vh;object-fit:contain;border:0;background:transparent;padding:0;cursor:pointer;filter:drop-shadow(0 0 14px rgba(215,181,107,.25))}.fluffy-harp img{width:100%;display:block}.fluffy-harp:hover,.fluffy-harp:focus-visible{filter:brightness(1.14) drop-shadow(0 0 22px rgba(215,181,107,.55));outline:none}.fluffy-harp.playing{animation:harpPulse .55s ease 5}@keyframes harpPulse{50%{transform:scale(1.035);filter:brightness(1.25) drop-shadow(0 0 30px #d7b56b)}}
.trapdoor-next{position:absolute;z-index:18;left:50%;bottom:4vh;transform:translateX(-50%) translateY(20px);opacity:0;pointer-events:none;text-decoration:none;padding:13px 18px;border:1px solid #d4b46d;background:#8a672f;color:#160f08;font:700 .58rem Cinzel,Georgia,serif;letter-spacing:.1em;text-transform:uppercase;transition:.45s;box-shadow:0 8px 0 #3b2917}.trapdoor-next.visible{opacity:1;transform:translateX(-50%);pointer-events:auto}
.final-hall{background-image:url('img/philosopher-final-hall-v436.webp');display:grid;place-items:center;padding:74px 12px 24px;overflow:auto}.mirror-stage{position:relative;z-index:10;width:min(1160px,96vw);min-height:calc(100vh - 110px);display:grid;grid-template-columns:minmax(260px,440px) minmax(320px,1fr);align-items:center;gap:28px}.mirror-object{position:relative;text-align:center}.mirror-object img{display:block;width:min(360px,75vw);max-height:70vh;object-fit:contain;margin:auto;filter:drop-shadow(0 22px 34px #000)}.mirror-object button{border:0;background:transparent;cursor:pointer;padding:0}.mirror-object button:focus-visible{outline:2px solid #d7b56b;outline-offset:6px}.mirror-glow{position:absolute;inset:10% 18%;border-radius:50%;box-shadow:0 0 50px rgba(199,217,255,.0);pointer-events:none;transition:.4s}.mirror-object.active .mirror-glow{box-shadow:0 0 70px rgba(195,215,255,.55)}
.mirror-panel{padding:22px;border:1px solid rgba(215,181,107,.32);background:rgba(4,6,5,.9);box-shadow:0 28px 70px #000b}.mirror-panel h1{font:600 clamp(1.5rem,3vw,2.35rem) Cinzel,Georgia,serif;margin:0 0 8px}.mirror-panel p{color:#c4baa4;line-height:1.5}.mirror-question{margin-top:14px;padding-top:14px;border-top:1px solid rgba(215,181,107,.18)}.mirror-question h2{font:600 1rem Cinzel,Georgia,serif;color:#e5cf95}.mirror-answers{display:grid;gap:8px}.mirror-answers button{border:1px solid rgba(215,181,107,.35);background:#11130f;color:#e7ddc7;padding:11px 12px;text-align:left;cursor:pointer;font-family:Georgia,serif}.mirror-answers button:hover{border-color:#d7b56b;background:#1b1a13}.mirror-answers button.wrong{animation:wrong .35s ease;background:#331411}.mirror-answers button.correct{background:#17341d;border-color:#7eb086}@keyframes wrong{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.stone-reward{display:none;text-align:center;margin-top:14px}.stone-reward.visible{display:block}.stone-reward button{border:0;background:transparent;cursor:pointer}.stone-reward img{width:min(180px,45vw);height:180px;object-fit:contain;filter:drop-shadow(0 0 34px rgba(255,32,32,.78));animation:stoneFloat 2.3s ease-in-out infinite}@keyframes stoneFloat{50%{transform:translateY(-8px) scale(1.03)}}.stone-reward strong{display:block;font:600 .72rem Cinzel,Georgia,serif;color:#e4c879;letter-spacing:.08em;text-transform:uppercase}.stone-owned{color:#cde2c5!important}
/* dveře v bývalém místě Filche */
.corridor-stone-door{position:absolute;z-index:12;right:1.5%;bottom:3%;width:17%;height:61%;border:1px solid rgba(205,177,109,.22);border-radius:48% 48% 4% 4% / 18% 18% 3% 3%;background:linear-gradient(90deg,rgba(5,5,4,.78),rgba(44,37,27,.62),rgba(6,6,5,.82));box-shadow:inset 0 0 35px #000,0 0 25px #0008;text-decoration:none;color:#d7c28e;display:flex;align-items:flex-end;justify-content:center;padding:0 8px 8%;font:600 .48rem Cinzel,Georgia,serif;letter-spacing:.08em;text-align:center;text-transform:uppercase;transition:.3s}.corridor-stone-door::before{content:"";position:absolute;inset:6% 16% 13%;border:1px solid rgba(211,185,116,.2);border-radius:50% 50% 5% 5% / 18% 18% 4% 4%}.corridor-stone-door:hover{color:#f1ddb1;border-color:#d0ae60;box-shadow:inset 0 0 35px #000,0 0 28px rgba(203,162,69,.24)}
@media(max-width:800px){.fluffy-dog{width:86vw;bottom:13%}.fluffy-harp{width:28vw;right:2vw;bottom:16vh}.philosopher-copy{bottom:1vh}.mirror-stage{grid-template-columns:1fr}.mirror-object img{max-height:45vh}.corridor-stone-door{width:25%;height:52%}}

.passage-link{display:inline-block;margin-top:14px;padding:12px 16px;border:1px solid #d1ad60;background:#8b6730;color:#160f08;text-decoration:none;font:700 .58rem Cinzel,Georgia,serif;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 7px 0 #392716}


/* v43.6.3 — Východní chodba: žádná kreslená maketa dveří, jen klikací oblast nad skutečnými dveřmi na pozadí. */
.corridor-real-door-hotspot,.corridor-stone-door.corridor-real-door-hotspot{right:0!important;left:auto!important;top:2%!important;bottom:auto!important;width:31%!important;height:84%!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:transparent!important;padding:0!important;font-size:0!important;display:block!important;opacity:1!important;cursor:pointer!important}
.corridor-real-door-hotspot::before,.corridor-real-door-hotspot::after{display:none!important;content:none!important}.corridor-real-door-hotspot:hover,.corridor-real-door-hotspot:focus-visible{background:transparent!important;box-shadow:none!important;outline:none!important}

/* V tunelu do Tajemné komnaty se kliká přímo na kamenný otvor/pečeť v pozadí. */
.secret-passage-hotspot-v4363{position:absolute;z-index:26;left:57%;top:15%;width:19%;height:43%;border:0;background:transparent;text-decoration:none;cursor:pointer;border-radius:48% 48% 32% 32%}.secret-passage-hotspot-v4363:focus-visible{outline:2px solid rgba(220,190,110,.65);outline-offset:2px}

/* Harfa už fyzicky neleží u Chloupka. Použití probíhá z inventáře. */
.fluffy-inventory-action{margin-top:10px;border:1px solid #d1ad60;background:#8b6730;color:#160f08;padding:11px 15px;font:700 .56rem Cinzel,Georgia,serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.fluffy-inventory-action[hidden]{display:none}.fluffy-inventory-action.playing{filter:brightness(1.15)}
@media(max-width:800px){.corridor-real-door-hotspot,.corridor-stone-door.corridor-real-door-hotspot{right:0!important;top:2%!important;width:39%!important;height:82%!important}.secret-passage-hotspot-v4363{left:54%;top:18%;width:27%;height:40%}}

/* v43.6.7 — zrcadlo stojí velké přímo na kruhovém podstavci v pozadí. */
.final-hall .mirror-stage{display:block;width:100%;max-width:none;min-height:calc(100vh - 74px);position:relative}
.final-hall .mirror-object{position:absolute;z-index:11;left:50%;bottom:35.5%;transform:translateX(-50%);width:min(500px,32vw);text-align:center;transform-origin:50% 100%}
.final-hall .mirror-object img{width:100%;max-height:61vh;object-fit:contain;margin:0 auto;filter:drop-shadow(0 25px 40px #000)}
.final-hall .mirror-panel{position:absolute;z-index:15;right:2.2vw;top:20%;width:min(440px,33vw);max-height:73vh;overflow:auto}
.mirror-answers button.chosen{border-color:#d7b56b;background:#292315;color:#fff1c5;box-shadow:inset 0 0 0 1px rgba(215,181,107,.25)}
@media(max-width:900px){
  .final-hall .mirror-object{position:absolute;z-index:11;left:50%;bottom:34%;transform:translateX(-50%);width:min(430px,60vw);text-align:center;transform-origin:50% 100%}
  .final-hall .mirror-object img{max-height:58vh}
  .final-hall .mirror-panel{left:4vw;right:4vw;top:auto;bottom:2vh;width:auto;max-height:43vh}
}

/* v43.6.7 — Chloupek reaguje při každém vstupu. */
.fluffy-danger-timer{position:absolute;z-index:24;left:50%;top:9vh;transform:translateX(-50%);min-width:76px;padding:9px 14px;text-align:center;border:1px solid rgba(215,181,107,.55);background:rgba(5,7,6,.88);color:#ead7a4;font:700 1.2rem Cinzel,Georgia,serif;letter-spacing:.08em;box-shadow:0 10px 30px #000a}.fluffy-danger-timer.danger{color:#f2a58f;border-color:#a74e3d;animation:fluffyDanger .55s ease infinite alternate}@keyframes fluffyDanger{to{transform:translateX(-50%) scale(1.08);filter:brightness(1.25)}}

/* v43.6.9 — přesné zrcadlo dodané uživatelkou, bez plovoucího efektu. Základna stojí na kruhovém podstavci. */
.final-hall .mirror-object{left:50%!important;bottom:32.8%!important;width:min(470px,30.5vw)!important;transform:translateX(-50%)!important;filter:none!important}
.final-hall .mirror-object img{width:100%!important;max-height:63vh!important;object-fit:contain!important;margin:0 auto!important;filter:drop-shadow(0 12px 12px rgba(0,0,0,.58))!important}
.final-hall .mirror-glow{display:none!important}
.final-hall .mirror-object::after{content:"";position:absolute;left:19%;right:19%;bottom:-.6%;height:3.5%;border-radius:50%;background:rgba(0,0,0,.46);filter:blur(8px);z-index:-1;pointer-events:none}
@media(max-width:900px){.final-hall .mirror-object{bottom:31.5%!important;width:min(430px,58vw)!important}.final-hall .mirror-object img{max-height:58vh!important}}

/* v452 - zrcadlo níže, pata opřena o skutečný podstavec */
.final-hall .mirror-object{bottom:25.5%!important}
@media(max-width:900px){.final-hall .mirror-object{bottom:24%!important}}
