/* Small experiments from the shop, with the same ink, brass and amethyst. */
.mini-game{max-width:760px;margin:0 auto;padding:clamp(18px,4vw,42px);border:1px solid #c49a5d66;border-radius:12px;background:linear-gradient(145deg,#38213cdd,#180e23ee);box-shadow:inset 0 0 0 5px #cfaa6320;color:#f2dbb7}
.game-progress{margin:0;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#ddba7e}
.game-message{min-height:3.4em;margin:15px 0 22px;line-height:1.6;font-size:17px}
.game-actions{margin:28px 0 0;align-items:center;justify-content:center;gap:18px}
.game-reset{border:0;border-bottom:1px solid #b18d5c88;background:transparent;padding:10px 2px;color:#e3c89e;font:inherit;cursor:pointer;min-height:44px}
.mini-game button:focus-visible{outline:2px solid #ffe0a1;outline-offset:5px}
.mini-game .button:disabled{opacity:.6;cursor:wait}
.spell-runes{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,2vw,18px)}
.spell-rune{min-width:0;padding:20px 5px 14px;min-height:135px;border:1px solid #bc915c88;border-radius:40% 40% 12px 12px;background:radial-gradient(ellipse at 50% 25%,#6e497c55,#25172e);box-shadow:inset 0 0 0 4px #d2b17612;color:#d9bb85;transition:background .15s,box-shadow .15s,color .15s;cursor:pointer}
.spell-rune>span{display:block;font-size:clamp(35px,6vw,60px);line-height:1.2}.spell-rune>small{font-size:12px;display:block;margin-top:12px}
.spell-rune:disabled{cursor:default}.spell-rune:not(:disabled):hover{border-color:#f4d299}
.spell-rune.rune-lit{background:radial-gradient(ellipse,#c495dfbb,#684682);box-shadow:0 0 24px #bc8be166,inset 0 0 12px #e8c09244;color:#fff6d9}
.constellation-sky{position:relative;height:clamp(275px,43vw,380px);border:1px solid #b28b5d66;border-radius:50%;background:radial-gradient(ellipse at 46% 40%,#5b3a7455,transparent 65%),radial-gradient(circle at 23% 22%,#f6dca9 0 1px,transparent 2px),radial-gradient(circle at 72% 77%,#bc92e4 0 1px,transparent 2px),radial-gradient(circle at 42% 66%,#bc92e4 0 1px,transparent 2px),radial-gradient(circle at 80% 18%,#f6dca9 0 1px,transparent 2px),#171126;box-shadow:inset 0 0 40px #9b66cf22}
.constellation-sky svg,.sky-stars{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.constellation-sky svg{pointer-events:none}.constellation-sky polyline{fill:none;stroke:#e7c688;stroke-width:1.5;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.sky-star{position:absolute;transform:translate(-50%,-50%);width:46px;height:46px;border:1px solid #b39167;border-radius:50%;background:#2c1d40;color:#e9c998;font:inherit;cursor:pointer;box-shadow:0 0 0 5px #d0a4750d}
.sky-star:hover{background:#594065}.sky-star.star-lit{color:#2a192c;background:#f1d09b;box-shadow:0 0 18px #e9c07966}
.alchemy-bench{display:grid;grid-template-columns:1fr 30px 1fr;gap:10px;text-align:center;align-items:center}.alchemy-bench small{font-size:12px;color:#d6b98b}.alchemy-bench strong{display:block;min-height:2.5em;font-size:14px;font-weight:400;margin-top:14px}.alchemy-plus{font-size:28px;color:#d4ac6f}
.potion-vessel{position:relative;width:clamp(85px,15vw,130px);height:clamp(100px,17vw,150px);margin:30px auto 0;border:2px solid #d9b276aa;border-radius:20% 20% 42% 42%;background:radial-gradient(ellipse at 25% 38%,#ffffff55,transparent 30%),linear-gradient(180deg,#bcb4cc11 25%,var(--potion-colour,#403442) 27%,var(--potion-colour,#403442) 90%,#26172b);box-shadow:inset -10px 0 20px #0c091c33,inset 5px 0 12px #ffffff22;transition:background .25s}
.potion-vessel:before{content:"";position:absolute;width:40%;height:24px;left:30%;top:-24px;border:2px solid #d9b276aa;border-bottom:0;border-radius:4px 4px 0 0;background:linear-gradient(90deg,#b49dcc11,#efe6de33,#b49dcc11)}
.potion-vessel:after{content:"✧";position:absolute;inset:34% 0 0;text-align:center;font-size:34px;color:#fff9db99}
.essences{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}.essence{min-height:80px;padding:12px 6px;border:1px solid #aa875b77;border-radius:9px;background:#21162ddd;color:#eed3aa;font:inherit;font-size:12px;cursor:pointer}.essence>span{display:block;width:18px;height:23px;border-radius:60% 60% 50% 50%;margin:0 auto 8px;background:var(--essence);box-shadow:inset 3px 2px 5px #ffffff44}.essence-0{--essence:#d95965}.essence-1{--essence:#e7bf52}.essence-2{--essence:#569cdb}.essence[aria-pressed="true"]{border-color:#f9d59a;background:#62456c;box-shadow:inset 0 0 0 1px #f9d59a}.essence:disabled{cursor:default}
@media(max-width:520px){.spell-runes{grid-template-columns:repeat(2,1fr)}.spell-rune{min-height:108px;padding:12px 4px}.game-message{font-size:15px;min-height:4.8em}.game-actions{flex-direction:column}.mini-game .button{width:100%;text-align:center}.sky-star{width:44px;height:44px}.essences{gap:6px}.alchemy-bench small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.mini-game *{transition:none!important}}

.game-page .room-intro{min-height:370px;padding-top:120px;padding-bottom:115px}
.game-page .room-intro h1{font-size:clamp(30px,4vw,48px)}
.game-page .room-intro .lead{font-size:16px;max-width:620px}
.game-page .service-symbol{width:150px;height:150px}
.game-page .panel{margin-top:0}
@media(max-width:760px){.game-page .room-intro{min-height:400px;padding-top:110px;padding-bottom:100px}.game-page .service-symbol{display:none}}
