/* A small physical workbench and star mechanism, within the room's close-up. */
.room-focus-stage.room-games-v16{width:min(720px,94%);max-width:94%;padding:0;margin:auto;display:block;color:#fff2ce;}
.room-lab-game,.room-sky-game{position:relative;padding:16px 20px 12px;border:1px solid #b7a574;border-radius:24px;background:linear-gradient(145deg,#143e46f5,#0e2637fa 65%,#172b3df5);box-shadow:inset 0 1px #fff3c36b,0 18px 45px #07191d66;isolation:isolate;}
.room-game-hud{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #bdad7c40;padding-bottom:10px;font-family:Georgia,serif;}
.room-game-hud small{display:block;font:10px/1.5 Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#bfd2ca;}
.room-game-chapter,.room-game-score{font-size:17px;font-weight:700;white-space:nowrap;}.room-game-score{text-align:right;}
.room-game-progress{display:flex;gap:7px;}.room-game-progress i{display:grid;place-items:center;width:26px;height:26px;border:1px solid #8da99b66;border-radius:50%;font:12px Arial;color:#b6c9c0;background:#071e26;}
.room-game-progress i.active{border-color:#e8cc83;color:#fff1b5;box-shadow:0 0 13px #edc77030;}.room-game-progress i.done{background:#c9a353;border-color:#f4dda0;color:#143e46;}
.lab-story,.sky-mission{display:flex;align-items:center;gap:12px;margin:11px 0;color:#fff1cf;}.lab-story>span{font-size:35px;color:#eecb77;}.lab-story h4,.sky-mission h4{font:700 23px/1.1 Georgia,serif;margin:0 0 5px;color:#fff1cf!important;}.lab-story p,.sky-mission p{margin:0;font:12px/1.45 Arial,sans-serif;color:#c6d5cf;max-width:410px;}
.lab-clock{margin-left:auto;white-space:nowrap;font:700 17px Georgia;color:#ffe6a5;}.lab-workbench{display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:center;gap:10px;min-height:163px;background:radial-gradient(ellipse at 48% 90%,#1f5c6460,transparent 64%);}
.lab-target{display:flex;flex-direction:column;align-items:center;gap:0;}.lab-target small,.lab-recipe-book>small{font:10px/1.4 Arial;text-transform:uppercase;letter-spacing:.09em;color:#c6d6cb;}.lab-target svg{width:82px;height:99px;filter:drop-shadow(0 9px 10px #020e1d80);}.lab-target b{font-size:12px;color:#f9e8bb;}
.lab-mixing-zone{display:flex;align-items:center;flex-direction:column;padding:15px 0 0;}.lab-cauldron{width:148px;height:116px;position:relative;border-radius:16% 16% 40% 40% / 16% 16% 65% 65%;border:2px solid #d8cf9a;background:linear-gradient(100deg,#d4effb55,#91bbbd0a 25%,#b4dada16 70%,#e4faff55);box-shadow:inset 3px 0 4px #e5fff755,inset -4px -7px 6px #001d2c80,0 15px 17px #00132070;overflow:hidden;isolation:isolate;}
.lab-cauldron:before{content:'';position:absolute;top:0;left:0;right:0;height:13px;border-radius:50%;border-bottom:2px solid #dfcf94;background:linear-gradient(#f5e5b1aa,#a4ab8b44);z-index:5;}.lab-cauldron-liquid{position:absolute;left:4px;right:4px;bottom:4px;height:var(--fill);border-radius:8% 8% 45% 45%;background:linear-gradient(110deg,color-mix(in srgb,var(--mixture),white 23%),var(--mixture) 45%,color-mix(in srgb,var(--mixture),#16424c 25%));transition:height .35s,background .3s;box-shadow:inset 0 4px 1px #fffbd18c,inset 0 -15px 17px #001c3555;}
.lab-cauldron-liquid i{position:absolute;bottom:9px;left:35%;height:6px;width:6px;border:1px solid #fff1b6a0;border-radius:50%;animation:lab-bubble-rise 2.8s infinite;}.lab-cauldron-liquid i:nth-child(2){left:67%;animation-delay:.8s;width:4px;height:4px;}.lab-cauldron-liquid i:nth-child(3){left:22%;animation-delay:1.7s;}
.lab-cauldron-gloss{position:absolute;inset:20px 14px 25px 12px;border-left:6px solid #ffffffb0;border-right:2px solid #ffffff77;border-radius:22% 22% 45% 45%;filter:blur(.4px);z-index:4;}.lab-cauldron>b{position:absolute;inset:0;display:grid;place-items:center;color:#fff9d6;font:700 25px Georgia;text-shadow:0 2px 3px #143b45;z-index:5;}
.lab-match{font:11px Arial;margin-top:10px;color:#d2e1d7;}.lab-drop{position:absolute;z-index:7;top:-20px;left:50%;width:9px;height:16px;background:var(--pour-color,#f8df92);border-radius:50% 50% 55% 55%;opacity:0;}.is-pouring .lab-drop{animation:lab-pour .6s ease-in;}.lab-cauldron.is-complete{box-shadow:0 0 26px #f4d98666,inset 0 1px #fff9cf;}
.lab-recipe-book{min-height:112px;background:linear-gradient(105deg,#f5e6bc,#dac593);padding:13px 12px;border-radius:4px 12px 12px 4px;box-shadow:inset 5px 0 6px #69482944,2px 5px 5px #031f2777;color:#3b493b;transform:rotate(2deg);}.lab-recipe-book>small{color:#665a3c;font-size:9px;}.lab-recipe-book p{font:12px/1.5 Georgia;margin:8px 0;}.lab-dose-recipe{display:grid;gap:5px;margin:9px 0;}.lab-dose-recipe span{display:flex;gap:7px;align-items:center;font:12px Georgia;}.lab-dose-recipe i{width:8px;height:12px;background:var(--pigment);border-radius:50%;box-shadow:inset 1px 1px #ffffffa0;}.lab-recipe-stars{font-size:13px;letter-spacing:3px;color:#8f642b;}
.lab-pigment-tray{display:flex;justify-content:center;gap:clamp(10px,5vw,32px);padding:5px 12px 10px;border-bottom:1px solid #a18a5740;}.lab-pigment{width:78px;text-align:center;}.lab-pigment-bottle{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;color:#f4e8c8!important;display:flex;align-items:center;flex-direction:column;width:100%;border-radius:10px;transition:transform .2s;}.lab-pigment-bottle svg{width:65px;height:78px;filter:drop-shadow(0 5px 4px #00111e88);transition:transform .2s;}.lab-pigment-bottle:hover:not(:disabled) svg{transform:translateY(-5px) rotate(-4deg);}.lab-pigment-bottle span{font:11px Arial;}.lab-pigment-bottle:disabled{opacity:.6;}.lab-drop-counter{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:7px;}.lab-drop-counter button{background:#27555c;border:1px solid #8b9d83;color:#fff3d0;border-radius:50%;width:22px;height:22px;line-height:18px;padding:0;font:16px Arial;}.lab-drop-counter b{font:12px Arial;min-width:10px;}.lab-drop-counter button:disabled{opacity:.35;}.lab-bubble{fill:#fff3b980;animation:lab-svg-bubble 2.5s infinite;}.lab-bubble.second{animation-delay:1.2s;}
.room-game-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:12px 0 10px;}.room-game-actions .soft-btn{min-height:34px;padding:5px 16px!important;font-size:13px!important;}.lab-time{height:4px;background:#0a1e2a;border-radius:6px;overflow:hidden;}.lab-time i{display:block;height:100%;background:linear-gradient(90deg,#55bebc,#f6dd93);transition:width .2s;}
.lab-potion-collection{display:flex;justify-content:center;gap:19px;padding-top:9px;}.lab-potion-collection>span{display:flex;align-items:center;gap:4px;opacity:.34;}.lab-potion-collection i{width:11px;height:17px;border:1px solid #c6d2b8;border-radius:3px 3px 5px 5px;background:#1c3544;position:relative;}.lab-potion-collection i:before{content:'';position:absolute;top:-4px;left:2px;right:2px;height:4px;background:#b6a578;}.lab-potion-collection small{font-size:9px;color:#ead395;}.lab-potion-collection .unlocked{opacity:1;}.lab-potion-collection .unlocked i{background:var(--potion);box-shadow:0 0 10px color-mix(in srgb,var(--potion),transparent 60%);}
.room-sky-game{background:radial-gradient(ellipse at 75% 40%,#364466ab,transparent 65%),linear-gradient(145deg,#153647f8,#0d1c33fa);}.sky-mission>span{margin-left:auto;text-align:center;font:700 21px Georgia;color:#ffe6ad;}.sky-mission>span small{display:block;font:10px Arial;color:#b7c9d4;}.sky-machine{position:relative;width:min(330px,78%);margin:17px auto 12px;aspect-ratio:1;isolation:isolate;}.sky-tile-board{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:9px;border:2px solid #aa915a;border-radius:18px;background:linear-gradient(125deg,#526776,#0b1b30 40%,#7c7357);box-shadow:inset 0 1px 1px #ffebae,0 12px 25px #020a1e88;}
.sky-tile{padding:0!important;aspect-ratio:1;position:relative;border-radius:10px;border:1px solid #657b88!important;background:radial-gradient(ellipse at 30% 10%,#425b6a,#182e43)!important;box-shadow:inset 0 1px 0 #ffffff22,0 2px 2px #0008!important;overflow:hidden;cursor:pointer;}.sky-tile svg{display:block;width:100%;height:100%;}.sky-track-shadow{fill:none;stroke:#091723;stroke-width:22;}.sky-track-edge{fill:none;stroke:#9a8d64;stroke-width:15;}.sky-track-core{fill:none;stroke:#405766;stroke-width:8;}.sky-track-light{fill:none;stroke:#fff2b5;stroke-width:6;filter:drop-shadow(0 0 3px #ffd271);stroke-dasharray:9 3;animation:sky-light-flow 1.8s linear infinite;}.sky-tile.is-lit{border-color:#d6be80!important;}.sky-tile:hover{filter:brightness(1.2);}.sky-tile:focus-visible{outline:3px solid #a1f0ef;outline-offset:1px;}.sky-beacon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:21px Georgia;color:#738596;text-shadow:0 1px #000;pointer-events:none;}.is-lit .sky-beacon{color:#fff2a5;filter:drop-shadow(0 0 7px #ffcf5b);}.sky-turn-hint{position:absolute;bottom:2px;right:4px;color:#e7e8d5;font:12px Arial;opacity:0;}.sky-tile:hover .sky-turn-hint,.sky-tile:focus-visible .sky-turn-hint{opacity:.8;}.sky-source,.sky-destination{position:absolute;z-index:4;display:grid;place-items:center;font:33px Georgia;color:#ffe3a0;text-shadow:0 0 12px #ffd45c88;}.sky-source{top:7%;left:-36px;}.sky-destination{bottom:7%;right:-34px;color:#6d8295;}.sky-destination.is-lit{color:#fff1a4;text-shadow:0 0 18px #ffcd60;}.sky-orbit{position:absolute;z-index:0;inset:-6%;border:1px solid #9cbecc26;border-radius:50%;pointer-events:none;}.sky-orbit.orbit-two{inset:-10%;transform:rotate(25deg) scaleX(.8);border-style:dashed;}.sky-machine.is-complete .sky-orbit{border-color:#f2d68a;box-shadow:0 0 20px #f1d08726;}
.sky-beacon-meter{display:flex;justify-content:center;align-items:center;gap:7px;min-height:25px;}.sky-beacon-meter i{font:21px Georgia;color:#667f91;}.sky-beacon-meter i.lit{color:#ffe5a3;text-shadow:0 0 10px #ffd04d88;}.sky-beacon-meter span{font:11px Arial;color:#d2dedf;margin-left:5px;}.sky-constellations{display:flex;justify-content:space-around;gap:10px;border-top:1px solid #b6c9c333;padding-top:7px;}.sky-constellations span{display:flex;flex-direction:column;align-items:center;color:#6f8799;}.sky-constellations b{font:22px Georgia;}.sky-constellations small{font:9px Arial;}.sky-constellations .unlocked{color:#f7d991;text-shadow:0 0 9px #f1d08766;}
.room-game-finale{padding:45px 25px;text-align:center;border:1px solid #c7ad6e;border-radius:24px;background:radial-gradient(ellipse at top,#2e6670,#142639);color:#fceac5;}.game-finale-stars{font:50px Georgia;color:#ffe3a2;text-shadow:0 0 22px #ffd47766;}.room-game-finale h4{font:700 27px Georgia;color:#fff0cb!important;}.room-game-finale p{font:14px/1.5 Arial;color:#cfdfd8;}.room-game-finale strong{font:700 40px Georgia;color:#ffe7af;}
@keyframes lab-bubble-rise{0%{transform:translateY(0);opacity:0;}20%{opacity:.8;}100%{transform:translateY(-60px);opacity:0;}}
@keyframes lab-svg-bubble{0%,100%{transform:translateY(0);opacity:0;}30%{opacity:.6;}90%{transform:translateY(-20px);opacity:0;}}
@keyframes lab-pour{0%{transform:translateY(0);opacity:0;}20%{opacity:1;}100%{transform:translateY(85px);opacity:0;}}
@keyframes sky-light-flow{to{stroke-dashoffset:-48;}}
@media(max-width:650px){.room-lab-game,.room-sky-game{padding:12px;}.room-game-progress{gap:4px;}.room-game-progress i{width:22px;height:22px;}.lab-story h4,.sky-mission h4{font-size:19px;}.lab-story p,.sky-mission p{font-size:11px;}.lab-workbench{gap:6px;grid-template-columns:.8fr 1fr 1fr;}.lab-cauldron{width:110px;height:94px;}.lab-recipe-book{padding:9px 8px;}.lab-pigment-tray{gap:12px;}.lab-target svg{width:66px;height:82px;}.lab-pigment-bottle svg{width:54px;height:65px;}.sky-machine{width:min(270px,76%);}.lab-story>span{font-size:27px;}.lab-clock{font-size:14px;}.lab-potion-collection{gap:10px;}.sky-beacon-meter{flex-wrap:wrap;}.sky-beacon-meter span{font-size:10px;}}
@media(prefers-reduced-motion:reduce){.room-games-v16 *{animation:none!important;transition:none!important;}}
