:root{
  --pink-bg:#ffc2dc;
  --pink:#ff5ea6;
  --pink-deep:#d92f7e;
  --blue:#64c8ff;
  --blue-deep:#1598dc;
  --ink:#202033;
  --paper:#fffaf3;
  --cream:#fff5df;
  --green:#7ee7a1;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--pink-bg)}
body{
  margin:0;
  min-height:100vh;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 12% 6%,rgba(255,255,255,.52),transparent 20%),
    radial-gradient(circle at 90% 11%,rgba(100,200,255,.22),transparent 22%),
    linear-gradient(180deg,#ffd3e6 0%,var(--pink-bg) 44%,#ffc9df 100%);
  color:var(--ink);
  font-family:"Inter",system-ui,sans-serif;
}
body.modal-open{overflow:hidden}
button,input{font:inherit}
button{color:inherit}
[hidden]{display:none!important}

.game-bg-orb,.game-bg-star{position:fixed;pointer-events:none;z-index:0}
.game-bg-orb{border-radius:50%;filter:none}
.orb-a{width:260px;height:260px;left:-110px;top:17%;background:rgba(255,255,255,.28)}
.orb-b{width:320px;height:320px;right:-130px;bottom:8%;background:rgba(145,197,255,.20)}
.game-bg-star{font-size:24px;opacity:.42}
.star-a{left:5%;top:61%;color:var(--blue-deep);transform:rotate(17deg)}
.star-b{right:6%;top:35%;color:var(--pink-deep);transform:rotate(-14deg)}

.game-nav{
  position:sticky;
  top:14px;
  z-index:90;
  width:min(1180px,calc(100% - 28px));
  margin:14px auto 0;
  padding:10px 14px 10px 18px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:rgba(255,250,253,.88);
  border:1px solid rgba(255,255,255,.88);
  box-shadow:0 12px 38px rgba(89,31,61,.12);
  backdrop-filter:blur(14px);
}
.game-brand{
  display:flex;align-items:center;gap:10px;
  flex:0 0 auto;
  color:var(--ink);
  text-decoration:none;
  font-size:22px;
  font-weight:600;
  white-space:nowrap;
}
.game-brand-mark{
  width:30px;height:21px;border-radius:50%;background:var(--blue);display:inline-block;
  box-shadow:16px 2px 0 var(--pink);margin-right:14px;transform:rotate(-5deg)
}
.game-tabs{display:flex;align-items:center;justify-content:flex-end;gap:7px;overflow:auto;scrollbar-width:none}
.game-tabs::-webkit-scrollbar{display:none}
.game-tab{
  display:inline-flex;align-items:center;gap:8px;
  border:0;background:transparent;border-radius:999px;padding:10px 14px;
  font-size:10px;font-weight:900;letter-spacing:.12em;white-space:nowrap;cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease,opacity .2s ease;
  text-decoration:none;color:inherit
}
.game-tab-text{display:inline-block}
.game-tab-lock{position:relative;display:none;flex:0 0 auto;width:12px;height:12px}
.game-tab-lock::before,.game-tab-lock::after{content:"";position:absolute;left:50%;transform:translateX(-50%)}
.game-tab-lock::before{top:0;width:8px;height:6px;border:2px solid currentColor;border-bottom:0;border-radius:8px 8px 0 0}
.game-tab-lock::after{bottom:0;width:12px;height:8px;border-radius:3px;background:currentColor;box-shadow:inset 0 0 0 2px rgba(255,255,255,.12)}
.game-tab:hover{background:rgba(100,200,255,.14);transform:translateY(-1px)}
.game-tab.is-active{background:var(--ink);color:#fff}
.game-tab.is-locked{color:rgba(32,32,51,.58);background:rgba(32,32,51,.04)}
.game-tab.is-locked .game-tab-lock{display:inline-block}
.game-tab.is-locked:hover{background:rgba(255,94,166,.08);transform:none}
.game-tab.is-active .game-tab-lock{color:#fff}
.game-tab.is-locked-bump{animation:lockedTabBump .45s ease}
@keyframes lockedTabBump{25%{transform:translateY(-1px) scale(1.02)}55%{transform:translateY(0) scale(.98)}100%{transform:none}}

.games-shell{position:relative;z-index:1;width:min(1180px,calc(100% - 28px));margin:0 auto;padding:72px 0 120px}
.game-panel[hidden]{display:none!important}
.game-heading{max-width:940px;margin:0 0 32px}
.game-kicker{font-size:11px;font-weight:900;letter-spacing:.16em;color:var(--pink-deep);margin-bottom:12px}
.game-heading h1{margin:0;font-size:clamp(46px,7vw,88px);line-height:.9;letter-spacing:-.055em;font-weight:800}
.game-heading p{max-width:720px;margin:22px 0 0;font-family:"Patrick Hand",cursive;font-size:24px;line-height:1.25}

.escape-game{
  position:relative;overflow:hidden;border-radius:34px;
  background:rgba(255,255,255,.45);
  border:1px solid rgba(255,255,255,.86);
  box-shadow:0 25px 70px rgba(89,31,61,.16)
}
.escape-topbar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 18px;background:rgba(255,255,255,.78);border-bottom:1px solid rgba(32,32,51,.07)
}
.escape-stage-copy{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.escape-stage-dot{width:9px;height:9px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 5px rgba(100,200,255,.14)}
.escape-reset{border:0;border-radius:999px;padding:9px 14px;background:var(--ink);color:#fff;font-size:10px;font-weight:900;cursor:pointer}
.escape-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.72fr)}

.escape-room{
  position:relative;min-height:650px;overflow:hidden;
  background:
    linear-gradient(180deg,rgba(39,32,54,.06),rgba(79,43,62,.09)),
    linear-gradient(180deg,#f9e6df 0 66%,#b78979 66% 68%,#8c6359 68% 100%);
  border-right:1px solid rgba(32,32,51,.08)
}
.room-ceiling-line{position:absolute;left:0;right:0;top:58px;height:2px;background:rgba(95,69,75,.12)}
.room-window{position:absolute;left:54px;top:90px;width:160px;height:205px;border:10px solid #f5eee8;border-bottom-width:12px;border-radius:4px;overflow:hidden;
  background:
    radial-gradient(circle at 26% 20%, rgba(255,247,188,.95) 0 10%, rgba(255,247,188,.18) 10.5%, transparent 18%),
    radial-gradient(ellipse at 25% 92%, #97d7b0 0 27%, transparent 28%),
    radial-gradient(ellipse at 74% 96%, #7ac297 0 33%, transparent 34%),
    radial-gradient(ellipse at 60% 90%, #8ccfad 0 26%, transparent 27%),
    linear-gradient(180deg,#b8e5ff 0%,#cadfff 37%,#efd0ef 66%,#f6bfd9 100%);
  box-shadow:0 12px 30px rgba(72,47,67,.12), inset 0 -10px 0 rgba(255,255,255,.18)}
.room-window:before,.room-window:after{content:"";position:absolute;background:#f5eee8;z-index:3}
.room-window:before{left:50%;top:0;bottom:0;width:7px;transform:translateX(-50%)}
.room-window:after{top:50%;left:0;right:0;height:7px;transform:translateY(-50%)}
.room-window span{position:absolute;top:34px;left:22px;width:34px;height:14px;border-radius:999px;background:rgba(255,255,255,.88);box-shadow:12px 2px 0 0 rgba(255,255,255,.88),4px -5px 0 2px rgba(255,255,255,.85),18px -4px 0 1px rgba(255,255,255,.8);opacity:.9;z-index:1}
.room-window span+span{left:auto;right:26px;top:112px;width:42px;height:16px;opacity:.72;box-shadow:15px 2px 0 0 rgba(255,255,255,.82),6px -6px 0 2px rgba(255,255,255,.78),23px -4px 0 1px rgba(255,255,255,.72)}

.room-object{position:absolute;border:0;background:transparent;padding:0;cursor:pointer;z-index:5;transition:filter .2s ease,transform .2s ease,opacity .2s ease}
.room-object.is-locked{filter:saturate(.55);opacity:.72}
.room-object.deny,.desk-drawer.deny{animation:denyShake .36s ease}
@keyframes denyShake{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}


.room-darkness{
  position:absolute;inset:0;z-index:20;
  pointer-events:auto;
  background:
    radial-gradient(circle at 43% 76%,rgba(255,224,123,.18) 0 4%,rgba(255,224,123,.07) 7%,rgba(7,8,13,.91) 20%,rgba(5,6,10,.975) 46%,rgba(4,5,8,.99) 100%);
  opacity:1;
  transition:opacity .62s ease;
  animation:roomBlackoutFlicker 2.4s ease-in-out infinite
}
.escape-room.lamp-on .room-darkness{opacity:0;pointer-events:none;animation:none}
@keyframes roomBlackoutFlicker{
  0%,100%{filter:brightness(.9)}
  37%{filter:brightness(1.05)}
  52%{filter:brightness(.96)}
  70%{filter:brightness(1.08)}
}



.room-lamp{left:246px;bottom:137px;width:145px;height:145px;z-index:24}
.lamp-base{position:absolute;left:7px;top:117px;width:65px;height:15px;border-radius:50%;background:#141a27;box-shadow:0 5px 10px rgba(14,16,25,.28),inset 0 2px 0 rgba(255,255,255,.08)}
.lamp-arm{position:absolute;height:7px;border-radius:999px;background:#1b2130;box-shadow:inset 0 1px 0 rgba(255,255,255,.11);transform-origin:left center}
.lamp-arm-lower{left:35px;top:108px;width:72px;transform:rotate(-62deg)}
.lamp-joint{position:absolute;width:14px;height:14px;border-radius:50%;background:#202737;border:2px solid #596477;box-shadow:0 2px 5px rgba(0,0,0,.2)}
.lamp-joint-center{left:62px;top:38px}
.lamp-arm-upper{left:69px;top:44px;width:54px;transform:rotate(-28deg)}
.lamp-joint-head{left:110px;top:13px}
.lamp-head{position:absolute;left:108px;top:1px;width:38px;height:30px;border-radius:50% 50% 42% 42%;background:#111722;transform:rotate(24deg);box-shadow:inset 0 -8px 0 #f7f1e8,0 3px 8px rgba(0,0,0,.25)}
.lamp-head::before{content:"";position:absolute;left:-6px;top:12px;width:11px;height:7px;border-radius:5px;background:#1b2130}
.lamp-bulb{position:absolute;left:119px;top:23px;width:12px;height:9px;border-radius:50%;background:#ffe28a;transform:rotate(24deg);box-shadow:0 0 8px rgba(255,226,138,.85)}
.lamp-glow{position:absolute;left:74px;top:14px;width:132px;height:146px;pointer-events:none;background:radial-gradient(ellipse at 40% 22%,rgba(255,227,125,.58),rgba(255,227,125,.15) 34%,transparent 67%);filter:blur(5px);opacity:.72;animation:lampGlowPulse 1.55s ease-in-out infinite}
.escape-room.lamp-on .lamp-glow{opacity:1;filter:none;animation:none}
.escape-room.lamp-on .lamp-head{box-shadow:inset 0 -8px 0 #fffaf1,0 3px 8px rgba(0,0,0,.25),0 8px 20px rgba(255,219,96,.22)}
@keyframes lampGlowPulse{50%{opacity:.5;transform:scale(.97)}}

.room-photo{left:248px;top:104px;width:118px;height:146px;perspective:900px;z-index:5}
.room-photo-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.8,.2,1)}
.room-photo.is-flipped .room-photo-inner{transform:rotateY(180deg)}
.room-photo-front,.room-photo-back{position:absolute;inset:0;backface-visibility:hidden;border:9px solid #fffaf3;border-bottom-width:24px;border-radius:4px;box-shadow:0 12px 25px rgba(70,38,54,.18);overflow:hidden}
.room-photo-front{background:#eaf7ff}.room-photo-front img{width:100%;height:100%;object-fit:cover;display:block}
.photo-fallback{display:grid;place-items:center;width:100%;height:100%;font-size:44px;color:var(--pink)}
.room-photo-back{transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 8px 10px;text-align:center;background:#fff7e7;color:var(--ink);border-bottom-width:12px}
.room-photo-back strong{font-size:13px;line-height:1.05;font-weight:900;letter-spacing:.02em}.room-photo-back small{font-size:6px;line-height:1.15;margin-top:5px;color:rgba(32,32,51,.58);font-weight:800}
.photo-lock-message{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%) scale(.92);min-width:112px;padding:8px 10px;border-radius:999px;background:rgba(32,32,51,.92);color:#fff;font-size:9px;font-weight:900;opacity:0;pointer-events:none;z-index:10}
.photo-lock-message.show{animation:lockPop 1.15s ease forwards}@keyframes lockPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.85)}20%,75%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0}}

.room-clock{right:70px;top:84px;width:146px;height:146px}
.clock-face{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#f4efe6 0 62%,#ddd2c2 63% 67%,#6d6871 68% 73%,#383944 74%);box-shadow:0 10px 25px rgba(32,32,51,.24)}
.clock-face-small{width:128px;height:128px}.clock-face-large{position:relative;left:auto;top:auto;transform:none;width:340px;height:340px;margin:18px auto 2px;box-shadow:0 28px 60px rgba(32,32,51,.3)}
.clock-ticks{position:absolute;inset:16%;border-radius:50%;background:repeating-conic-gradient(from -1deg,rgba(32,32,51,.56) 0 1.1deg,transparent 1.1deg 6deg);mask:radial-gradient(circle,transparent 0 83%,#000 84%)}
.clock-num{position:absolute;left:50%;top:50%;width:24px;height:24px;margin:-12px;display:grid;place-items:center;font-size:9px;font-weight:900;color:rgba(32,32,51,.58);transform:rotate(calc(var(--n)*30deg)) translateY(-48px) rotate(calc(var(--n)*-30deg));z-index:2}
.clock-face-large .clock-num{width:34px;height:34px;margin:-17px;font-size:17px;transform:rotate(calc(var(--n)*30deg)) translateY(-132px) rotate(calc(var(--n)*-30deg))}
.clock-hand{position:absolute;left:50%;bottom:50%;transform-origin:50% 100%;border-radius:999px;z-index:4}
.clock-hand.hour{width:7px;height:32%;background:rgba(34,35,44,.76);transform:translateX(-50%) rotate(214.5deg)}
.clock-hand.minute{width:5px;height:40%;background:rgba(214,55,132,.72);transform:translateX(-50%) rotate(54deg)}
.clock-face-large .clock-hand.hour{width:10px;background:#22232c}.clock-face-large .clock-hand.minute{width:7px;background:var(--pink-deep)}
.clock-face-large .clock-num{color:var(--ink)}
.clock-face-large .clock-ticks{background:repeating-conic-gradient(from -1deg,rgba(32,32,51,.9) 0 1.1deg,transparent 1.1deg 6deg)}
.clock-pin{position:absolute;left:50%;top:50%;width:14px;height:14px;border-radius:50%;background:var(--blue-deep);transform:translate(-50%,-50%);z-index:6;box-shadow:0 0 0 4px #fff}
.room-clock:not(.is-locked):hover{transform:scale(1.035) rotate(1deg)}
.room-clock.is-done .clock-face{box-shadow:0 0 0 4px rgba(100,200,255,.42),0 10px 28px rgba(32,32,51,.22)}

.room-calendar{position:absolute;right:248px;top:116px;width:68px;height:86px;padding:18px 8px 10px;border-radius:12px;background:linear-gradient(180deg,#fffdf9 0%,#fff7ef 100%);border:1px solid rgba(123,98,120,.08);box-shadow:0 10px 24px rgba(60,36,52,.14),0 2px 0 rgba(255,255,255,.7) inset;text-align:center;transform:rotate(2deg);z-index:2;display:flex;flex-direction:column;justify-content:center}
.room-calendar:before{content:"";position:absolute;left:10px;right:10px;top:9px;height:10px;border-radius:999px;background:linear-gradient(90deg,#ff77ab,#ffc3db)}
.room-calendar:after{content:"";position:absolute;left:16px;right:16px;top:6px;height:12px;background:radial-gradient(circle at 20% 50%, #6a657d 0 2px, transparent 2.5px),radial-gradient(circle at 80% 50%, #6a657d 0 2px, transparent 2.5px)}
.room-calendar strong{display:block;font-size:34px;line-height:1.02;font-weight:900;letter-spacing:.02em}.room-calendar small{font-size:9px;font-weight:900;color:rgba(32,32,51,.58);letter-spacing:.14em;text-transform:uppercase;margin-top:3px}
.wall-secret{display:none !important}

.room-desk{position:absolute;left:206px;right:186px;bottom:58px;height:105px;z-index:4}
.desk-top{position:absolute;left:0;right:0;top:0;height:20px;border-radius:7px;background:#7b5146;box-shadow:0 7px 0 #5d3d36}
.desk-leg{position:absolute;top:21px;width:18px;height:84px;background:#68443b}.desk-leg.left{left:15px}.desk-leg.right{right:15px}
.desk-drawer{position:absolute;left:50%;top:23px;width:145px;height:43px;border:0;border-radius:3px;background:#8d6053;transform:translateX(-50%);box-shadow:inset 0 0 0 2px rgba(73,46,39,.16);cursor:pointer;transition:transform .45s cubic-bezier(.2,.8,.2,1),filter .2s ease}
.desk-drawer i{position:absolute;width:26px;height:7px;border-radius:999px;background:#382e31;left:50%;top:10px;transform:translateX(-50%)}
.desk-drawer.is-locked{filter:saturate(.55)}.desk-drawer.is-open{transform:translate(-50%,28px);box-shadow:0 15px 18px rgba(45,27,33,.18)}

.room-notebook{position:absolute;left:50%;bottom:76px;width:54px;height:42px;border:0;background:transparent;z-index:28;cursor:pointer;opacity:0;pointer-events:none;transform:translate(-50%,-38px) rotate(-18deg);transition:opacity .3s ease,transform .6s cubic-bezier(.2,.85,.25,1.2)}
.room-notebook.has-fallen{opacity:1;pointer-events:auto;transform:translate(-50%,22px) rotate(-12deg)}
.notebook-cover{position:absolute;inset:0;border-radius:4px;background:linear-gradient(180deg,#fffdf8,#f7ecd7);box-shadow:0 8px 16px rgba(50,29,37,.18);border:1px solid rgba(97,73,68,.16)}
.notebook-cover::before{content:"";position:absolute;left:8px;right:8px;top:12px;height:2px;background:rgba(32,32,51,.08);box-shadow:0 7px 0 rgba(32,32,51,.08)}

.room-safe{position:absolute;right:55px;bottom:58px;width:126px;height:142px;padding:10px;border-radius:12px;background:#394253;box-shadow:0 14px 26px rgba(32,32,51,.24);z-index:5;transition:box-shadow .3s ease,transform .3s ease}
.safe-light{position:absolute;right:9px;top:9px;width:8px;height:8px;border-radius:50%;background:#6e7684;transition:.3s}.room-safe.is-ready .safe-light{background:#85e9a3;box-shadow:0 0 14px #85e9a3}.room-safe.is-ready{box-shadow:0 0 0 3px rgba(126,231,161,.25),0 14px 26px rgba(32,32,51,.24)}
.safe-body{position:relative;width:100%;height:100%;border-radius:7px;background:#1f2631;overflow:hidden}.safe-door{position:absolute;inset:0;background:linear-gradient(145deg,#586273,#303847);transform-origin:left center;transition:transform .7s cubic-bezier(.2,.8,.2,1);z-index:2}.safe-door span{position:absolute;left:12px;top:13px;font-size:8px;font-weight:900;letter-spacing:.15em;color:#cbd1db}.safe-door i{position:absolute;width:45px;height:45px;right:17px;top:42px;border-radius:50%;border:7px solid #151a22;box-shadow:inset 0 0 0 3px #7d8797}.safe-inside{position:absolute;inset:0;display:grid;place-items:center;background:#181d26}.safe-memory-stack{position:relative;width:84px;height:76px}.safe-polaroid{position:absolute;width:50px;height:62px;padding:4px 4px 10px;border-radius:4px;background:#fffdf7;box-shadow:0 6px 12px rgba(0,0,0,.26)}.safe-polaroid img{width:100%;height:100%;object-fit:cover;display:block;border-radius:2px}.safe-polaroid-1{left:4px;top:8px;transform:rotate(-12deg)}.safe-polaroid-2{left:17px;top:3px;transform:rotate(6deg)}.safe-polaroid-3{left:31px;top:10px;transform:rotate(14deg)}.safe-polaroid-4{left:20px;top:17px;transform:rotate(-4deg)}.safe-polaroid-fallback{display:grid;place-items:center;width:100%;height:100%;font-size:18px;color:var(--pink)}.room-safe.is-open .safe-door{transform:perspective(300px) rotateY(-108deg)}

.room-hint-bubble{position:absolute;left:50%;bottom:11px;transform:translateX(-50%);max-width:72%;padding:10px 15px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 8px 20px rgba(71,37,57,.12);font-size:10px;font-weight:800;text-align:center;z-index:25}.room-hint-bubble[data-tone="success"]{background:#dbffe6}.room-hint-bubble[data-tone="locked"]{background:#282838;color:#fff}.room-hint-bubble[data-tone="yellow"]{background:#fff4bb}.room-hint-bubble[data-tone="blue"]{background:#e5f7ff}.room-hint-bubble[data-tone="pink"]{background:#ffe1ef}.room-hint-bubble.pulse{animation:hintPulse .36s ease}@keyframes hintPulse{50%{transform:translateX(-50%) scale(1.035)}}

.escape-side{padding:22px;background:rgba(255,251,253,.78)}
.clue-book{padding:19px;border-radius:22px;background:#fffdf5;box-shadow:0 12px 28px rgba(79,36,55,.11);transform:rotate(.4deg)}
.clue-book-title{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;margin-bottom:12px}.clue-book-title span{padding:5px 8px;border-radius:999px;background:var(--ink);color:#fff;font-size:9px}
.clue-row{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:12px 0;border-top:1px dashed rgba(32,32,51,.13)}.clue-row>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f1edf0;font-size:9px;font-weight:900}.clue-row p{margin:2px 0 0;font-family:"Patrick Hand",cursive;font-size:18px;line-height:1.12;color:rgba(32,32,51,.42)}.clue-row.is-found>span{background:var(--blue);color:#fff}.clue-row.is-found p{color:var(--ink)}

.code-lock{margin-top:20px;padding:18px;border-radius:23px;background:#242636;color:#fff;opacity:.35;filter:saturate(.5);pointer-events:none;transition:opacity .35s ease,filter .35s ease,box-shadow .35s ease}.code-lock.is-active{opacity:1;filter:none;pointer-events:auto;box-shadow:0 14px 32px rgba(32,32,51,.2)}.code-lock.is-solved{box-shadow:0 0 0 3px rgba(126,231,161,.45),0 14px 32px rgba(32,32,51,.2)}
.code-lock-head{font-size:10px;font-weight:900;letter-spacing:.15em}.code-display{margin:13px 0;padding:13px;border-radius:12px;background:#151722;text-align:center;font-size:25px;font-weight:900;letter-spacing:.28em;color:#aee4ff}.code-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.code-pad button{border:0;border-radius:10px;min-height:41px;background:#3b3e52;color:#fff;font-weight:900;cursor:pointer}.code-pad button:hover{background:#50546c}.code-feedback{min-height:19px;margin-top:10px;font-size:10px;line-height:1.35;color:#ffd0e3;text-align:center}.code-lock.shake{animation:codeShake .36s ease}@keyframes codeShake{25%{transform:translateX(-5px)}50%{transform:translateX(5px)}75%{transform:translateX(-3px)}}

.memory-stage-game,.final-lock-stage{padding:30px;background:rgba(255,255,255,.72);border-top:1px solid rgba(32,32,51,.07)}
.stage-card-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:22px}.stage-card-head>div span,.final-lock-copy>span{font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--pink-deep)}.stage-card-head h2,.final-lock-copy h2{margin:5px 0 0;font-size:32px;line-height:1}.stage-card-head p{max-width:620px;margin:0;font-size:13px;line-height:1.55;color:rgba(32,32,51,.66)}.stage-card-head a{font-weight:900;color:var(--blue-deep);text-decoration-thickness:2px;text-underline-offset:3px;text-shadow:0 0 12px rgba(100,200,255,.24)}
.memory-sort{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sort-card{border:0;background:transparent;padding:0;cursor:pointer;perspective:900px;min-width:0}.sort-card-inner{display:block;position:relative;aspect-ratio:4/5;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.sort-card.is-flipped .sort-card-inner{transform:rotateY(180deg)}
.sort-card-front,.sort-card-back{position:absolute;inset:0;backface-visibility:hidden;border-radius:16px;background:#fff;padding:9px;box-shadow:0 13px 28px rgba(80,27,55,.13);border:3px solid transparent;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.sort-photo{display:block;height:calc(100% - 30px);overflow:hidden;border-radius:9px;background:#eaf7ff}.sort-photo img{width:100%;height:100%;object-fit:cover;display:block}.sort-fallback{display:grid;place-items:center;width:100%;height:100%;font-size:50px;color:var(--pink)}.sort-label{display:block;padding-top:9px;text-align:center;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.sort-card:hover .sort-card-front{transform:translateY(-4px);box-shadow:0 18px 32px rgba(80,27,55,.17)}.sort-card.is-selected .sort-card-front{border-color:var(--blue);transform:translateY(-4px)}.sort-card.is-correct .sort-card-front{border-color:var(--green)}.sort-card.can-reveal-final .sort-card-front{animation:finalCardGlow 1.3s ease-in-out infinite alternate}@keyframes finalCardGlow{to{box-shadow:0 0 0 5px rgba(255,94,166,.14),0 18px 34px rgba(80,27,55,.17)}}
.sort-card-back{transform:rotateY(180deg);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px;background:#fff9e8;border-color:var(--pink)}.sort-card-back strong{font-family:"Patrick Hand",cursive;font-size:34px;line-height:1.05;letter-spacing:.03em}.sort-card-back small{display:none}.memory-sort.is-previewing .sort-card{pointer-events:none}
.sort-feedback{margin-top:16px;padding:10px 14px;border-radius:14px;background:rgba(100,200,255,.13);font-size:11px;font-weight:800;text-align:center}

.final-lock-stage{position:relative;display:grid;grid-template-columns:1fr 1fr 170px;gap:24px;align-items:center}.final-lock-copy,.word-lock{transform:translateY(22px)}.final-lock-copy p{display:none}.word-lock{display:grid;grid-template-columns:1fr auto;gap:8px}.word-lock input{min-width:0;border:2px solid rgba(32,32,51,.09);border-radius:14px;padding:13px 14px;background:#fff;color:var(--ink);outline:none}.word-lock input:focus{border-color:var(--blue)}.word-lock button{border:0;border-radius:14px;padding:12px 16px;background:var(--ink);color:#fff;font-weight:900;cursor:pointer}.word-feedback{grid-column:1/-1;min-height:17px;font-size:10px;font-weight:800;color:var(--pink-deep)}.word-lock input.shake{animation:codeShake .36s ease}
.gift-box{position:relative;width:140px;height:126px;margin:0 auto;filter:drop-shadow(0 15px 18px rgba(82,29,58,.16))}.gift-body{position:absolute;left:16px;right:16px;bottom:5px;height:84px;border-radius:8px;background:var(--blue)}.gift-lid{position:absolute;left:7px;right:7px;top:23px;height:35px;border-radius:8px;background:#83d6ff;z-index:3;transform-origin:20% 100%;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.gift-ribbon-v{position:absolute;left:59px;top:23px;bottom:5px;width:22px;background:var(--pink);z-index:4}.gift-ribbon-h{position:absolute;left:9px;right:9px;top:40px;height:16px;background:var(--pink);z-index:4}.gift-bow{position:absolute;top:0;width:43px;height:31px;border:10px solid var(--pink);z-index:5}.gift-bow.left{left:30px;border-radius:70% 40% 70% 40%;transform:rotate(17deg)}.gift-bow.right{right:30px;border-radius:40% 70% 40% 70%;transform:rotate(-17deg)}.gift-box.is-open .gift-lid{transform:translate(-10px,-28px) rotate(-18deg)}
.escape-win{grid-column:1/-1;padding:15px 18px;border-radius:16px;background:linear-gradient(90deg,rgba(100,200,255,.18),rgba(255,94,166,.15));text-align:center}.escape-win strong{font-size:21px}.escape-win p{margin:4px 0 0;font-size:11px}.game-win-burst{position:absolute;inset:0;pointer-events:none;z-index:10}.game-win-burst i{position:absolute;left:78%;top:52%;font-style:normal;color:var(--pink);font-size:17px;animation:gameBurst 1.5s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i)*12ms)}.game-win-burst i:nth-child(2n){color:var(--blue)}.game-win-burst i:nth-child(3n){color:#f6c94c}@keyframes gameBurst{to{transform:translate(var(--x),var(--y)) rotate(280deg);opacity:0}}

.clock-modal{position:fixed;inset:0;z-index:200;display:none;place-items:center;padding:20px;background:rgba(24,23,36,.84);backdrop-filter:blur(7px)}.clock-modal.show{display:grid}.clock-modal-card{position:relative;width:min(520px,95vw);padding:25px 28px 30px;border-radius:30px;background:#fffaf3;box-shadow:0 30px 80px rgba(0,0,0,.32);text-align:center;animation:clockZoom .45s cubic-bezier(.2,.8,.2,1)}@keyframes clockZoom{from{opacity:0;transform:scale(.76) rotate(-3deg)}to{opacity:1;transform:none}}.clock-modal-close{position:absolute;right:15px;top:15px;border:0;border-radius:999px;padding:9px 13px;background:var(--ink);color:#fff;font-size:9px;font-weight:900;cursor:pointer}.clock-inspect-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin-bottom:10px}.clock-inspect-copy span{font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:var(--pink-deep);text-align:center}.note-modal-card{width:min(300px,92vw);padding:24px 24px 26px}.note-paper-large{width:150px;height:118px;margin:8px auto 0;border-radius:8px;background:linear-gradient(180deg,#fffdf8,#f7ecd7);border:1px solid rgba(97,73,68,.16);box-shadow:0 12px 24px rgba(32,32,51,.14);display:grid;place-items:center;position:relative}.note-paper-large::before{content:"";position:absolute;left:16px;right:16px;top:28px;height:2px;background:rgba(32,32,51,.06);box-shadow:0 16px 0 rgba(32,32,51,.06),0 32px 0 rgba(32,32,51,.06)}.note-paper-large b{position:relative;font-family:"Patrick Hand",cursive;font-size:54px;color:var(--pink-deep)}


.room-two-heading h1{font-size:clamp(42px,6vw,76px)}

.corridor-game{
  position:relative;overflow:hidden;border-radius:34px;
  background:rgba(255,255,255,.42);
  border:1px solid rgba(255,255,255,.86);
  box-shadow:0 25px 70px rgba(89,31,61,.16)
}
.corridor-topbar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 18px;background:rgba(255,255,255,.78);border-bottom:1px solid rgba(32,32,51,.07)
}
.corridor-stage-copy{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.corridor-controls{font-size:11px;font-weight:800;color:rgba(32,32,51,.64)}
.corridor-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr)}
.corridor-world{
  --light-x:50%;
  --light-y:75%;
  --beam-angle:-90deg;
  position:relative;overflow:hidden;min-height:760px;outline:none;
  background:linear-gradient(180deg,#04060a 0%,#090d14 100%);
  border-right:1px solid rgba(32,32,51,.08)
}
.corridor-world:focus-visible{box-shadow:inset 0 0 0 3px rgba(100,200,255,.42)}
.corridor-ambient{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 8%,rgba(112,22,35,.18),transparent 18%),radial-gradient(circle at 50% 90%,rgba(112,22,35,.18),transparent 18%),linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0))}
.corridor-floor{position:absolute;left:86px;right:86px;top:40px;bottom:40px;z-index:2;background:repeating-linear-gradient(0deg,#1b2029 0 26px,#202634 26px 52px),repeating-linear-gradient(90deg,#171c25 0 26px,#242b39 26px 52px);box-shadow:inset 0 0 0 4px #334055,inset 0 0 0 26px #0e131c}
.corridor-floor::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:190px;transform:translateX(-50%);background:repeating-linear-gradient(0deg,rgba(233,233,233,.04) 0 18px,rgba(255,255,255,.01) 18px 36px)}
.corridor-floor::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.03),transparent 20%),radial-gradient(circle at 50% 82%,rgba(255,255,255,.03),transparent 20%);pointer-events:none}
.corridor-tileband{position:absolute;top:74px;bottom:74px;width:142px;z-index:3;background:repeating-linear-gradient(0deg,#293043 0 24px,#32384d 24px 48px),repeating-linear-gradient(90deg,#1d2330 0 24px,#30374a 24px 48px);opacity:.66;box-shadow:inset 0 0 0 2px rgba(255,255,255,.06)}
.corridor-tileband.left{left:118px}.corridor-tileband.right{right:118px}
.corridor-runner{position:absolute;left:50%;top:66px;bottom:66px;width:142px;transform:translateX(-50%);z-index:4;background:linear-gradient(180deg,#3f0714 0%,#6e0b1e 12%,#7f1126 50%,#650a1a 88%,#3f0714 100%);box-shadow:0 0 0 3px #c4a15a,0 0 0 9px #3f2430,inset 0 0 0 3px rgba(255,214,145,.34)}
.corridor-runner::before{content:"";position:absolute;inset:12px 8px;background:linear-gradient(180deg,transparent 0 3%,rgba(255,255,255,.04) 3% 6%,transparent 6% 100%),repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0 34px,transparent 34px 68px);opacity:.55}
.corridor-runner-shadow{position:absolute;left:50%;top:58px;bottom:58px;width:196px;transform:translateX(-50%);z-index:3;background:radial-gradient(ellipse at center,rgba(0,0,0,.24),rgba(0,0,0,0) 70%)}
.corridor-wall{position:absolute;z-index:5;background:#0c1018;box-shadow:inset 0 0 0 4px #2a3547}
.wall-top{left:86px;right:86px;top:40px;height:26px}.wall-bottom{left:86px;right:86px;bottom:40px;height:26px}.wall-left{left:86px;top:40px;bottom:40px;width:26px}.wall-right{right:86px;top:40px;bottom:40px;width:26px}
.corridor-pillar{position:absolute;width:56px;height:56px;z-index:6;background:linear-gradient(180deg,#243043,#161e2a);box-shadow:inset 0 0 0 4px #526176,inset 0 0 0 10px rgba(12,17,24,.64)}
.pillar-a{left:154px;top:150px}.pillar-b{right:154px;top:150px}.pillar-c{left:154px;bottom:150px}.pillar-d{right:154px;bottom:150px}
.corridor-door{position:absolute;left:50%;width:88px;height:16px;transform:translateX(-50%);z-index:6;background:linear-gradient(180deg,#141a24,#090d14);box-shadow:inset 0 2px 0 rgba(255,255,255,.05),0 0 0 3px #2a3547}
.corridor-door::before{content:"";position:absolute;left:14px;right:14px;top:4px;height:6px;border-radius:999px;background:linear-gradient(90deg,rgba(223,43,71,.08),rgba(223,43,71,.36),rgba(223,43,71,.08));box-shadow:0 0 12px rgba(223,43,71,.12)}
.corridor-door::after{content:"";position:absolute;left:50%;width:8px;height:8px;border-radius:50%;background:#f2d0a0;box-shadow:0 0 0 2px rgba(78,33,16,.42),0 0 8px rgba(255,208,160,.28);transform:translateX(-50%)}
.corridor-door-top{top:50px}
.corridor-door-top::after{bottom:-10px}
.corridor-door-bottom{bottom:50px}
.corridor-door-bottom::after{top:-10px}
.corridor-door-glow{position:absolute;left:50%;top:50%;width:62px;height:30px;transform:translate(-50%,-50%);border-radius:999px;background:radial-gradient(circle,rgba(255,78,103,.16),rgba(255,78,103,0) 72%);animation:corridorDoorGlow 1.35s ease-in-out infinite alternate}
.corridor-door-plate{display:none}
@keyframes corridorDoorGlow{to{transform:translate(-50%,-50%) scale(1.09);opacity:.76}}
.corridor-player{position:absolute;left:0;top:0;width:50px;height:60px;z-index:10;pointer-events:none;transform:translate(calc(var(--x) - 50%),calc(var(--y) - 76%));--flash-angle:-90deg}
.corridor-player-sprite{position:absolute;left:50%;bottom:0;width:50px;height:auto;display:block;transform:translateX(-50%);object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 3px 4px rgba(0,0,0,.42));z-index:2;user-select:none;-webkit-user-drag:none;will-change:contents}
.corridor-player-flashlight{display:none}
.corridor-player-aura{position:absolute;left:50%;top:42%;width:88px;height:88px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,242,177,.28),rgba(255,242,177,.07) 42%,rgba(255,242,177,0) 72%);filter:blur(7px);z-index:1}
.corridor-darkness{position:absolute;inset:0;z-index:9;pointer-events:none;background:radial-gradient(circle at var(--light-x) var(--light-y),rgba(7,10,15,.02) 0 38px,rgba(7,10,15,.18) 68px,rgba(7,10,15,.52) 118px,rgba(5,7,12,.88) 195px,rgba(3,4,9,.985) 100%)}
.corridor-darkness::after{content:"";position:absolute;left:var(--beam-x,var(--light-x));top:var(--beam-y,var(--light-y));width:270px;height:220px;transform:translateY(-50%) rotate(var(--beam-angle,-90deg));transform-origin:0 50%;clip-path:polygon(0 50%,100% 14%,100% 86%);background:linear-gradient(90deg,rgba(255,247,205,.64) 0%,rgba(255,247,205,.28) 34%,rgba(255,247,205,.08) 62%,rgba(255,247,205,0) 100%);filter:blur(10px);opacity:.86;mix-blend-mode:screen}
.corridor-noise{position:absolute;inset:0;z-index:11;pointer-events:none;mix-blend-mode:screen;opacity:.08;background:repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 2px,transparent 2px 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 2px,transparent 2px 4px)}
.corridor-hud{padding:22px;background:rgba(255,251,253,.78);display:grid;gap:18px}
.corridor-card{padding:20px;border-radius:22px;background:#fffdf5;box-shadow:0 12px 28px rgba(79,36,55,.11)}
.corridor-card>span{display:block;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--pink-deep)}
.corridor-card h2,.corridor-card h3{margin:8px 0 6px;font-size:28px;line-height:1.02}
.corridor-card h3{font-size:24px}
.corridor-card p{margin:0;font-family:"Patrick Hand",cursive;font-size:21px;line-height:1.2;color:rgba(32,32,51,.82)}
.corridor-keycaps{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px}
.corridor-keycaps b,.corridor-keycaps em{display:grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border-radius:10px;font-style:normal}
.corridor-keycaps b{background:#202033;color:#fff;font-size:12px;font-weight:900;box-shadow:inset 0 -3px 0 rgba(255,255,255,.08)}
.corridor-keycaps em{background:rgba(100,200,255,.14);color:#426083;font-size:11px;font-weight:800}
.corridor-position{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(32,32,51,.12);font-size:11px;font-weight:800;color:rgba(32,32,51,.6)}
.corridor-position strong{color:var(--ink)}
.locked-game-card{min-height:520px;display:flex;align-items:center;justify-content:center;gap:38px;padding:60px;border-radius:42px;background:rgba(255,255,255,.56);border:1px solid rgba(255,255,255,.85);box-shadow:0 22px 55px rgba(86,27,61,.11)}.locked-game-number{font-size:clamp(90px,16vw,180px);font-weight:900;line-height:.75;color:rgba(100,200,255,.35)}.locked-game-card span{font-size:10px;font-weight:900;letter-spacing:.14em;color:var(--pink-deep)}.locked-game-card h2{margin:6px 0;font-size:42px}.locked-game-card p{margin:0;color:rgba(32,32,51,.62)}

@media(max-width:980px){
  .game-nav{top:9px;width:calc(100% - 20px)}
  .games-shell{width:calc(100% - 20px);padding-top:52px}
  .escape-layout,.corridor-layout{grid-template-columns:1fr}
  .escape-room,.corridor-world{border-right:0;border-bottom:1px solid rgba(32,32,51,.08)}
  .escape-side,.corridor-hud{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  .code-lock{margin-top:0}
  .memory-sort{grid-template-columns:repeat(2,1fr)}
  .final-lock-stage{grid-template-columns:1fr 1fr}.gift-box{grid-column:2;grid-row:1/3}
}
@media(max-width:680px){
   
  .room-photo-back strong{font-size:8px;line-height:1;letter-spacing:0;white-space:nowrap}
  .room-photo-back small{font-size:5px;margin-top:4px}
  .game-nav{padding:8px 8px 8px 11px;gap:9px;border-radius:26px}.game-brand{font-size:16px}.game-brand-mark{width:24px;height:16px;margin-right:10px;box-shadow:12px 2px 0 var(--pink)}.game-tab{padding:8px 9px;font-size:7px}
  .games-shell{padding:42px 0 80px}.game-heading h1{font-size:clamp(44px,15vw,68px)}.game-heading p{font-size:20px}
  .escape-game,.corridor-game{border-radius:26px}.escape-topbar,.corridor-topbar{padding:11px 12px}.escape-stage-copy,.corridor-stage-copy{font-size:8px}.escape-reset{font-size:8px;padding:8px 10px}
  .escape-room{min-height:570px}.room-window{left:19px;top:75px;width:112px;height:145px;border-width:7px}.room-photo{left:133px;top:110px;width:78px;height:99px}.room-clock{right:21px;top:72px;width:105px;height:105px}.clock-face-small{width:96px;height:96px}.clock-num{font-size:7px;transform:rotate(calc(var(--n)*30deg)) translateY(-35px) rotate(calc(var(--n)*-30deg))}.room-calendar{right:120px;top:108px;width:52px;height:66px;padding-top:15px}.room-calendar strong{font-size:25px}.room-calendar small{font-size:8px}.room-lamp{left:92px;bottom:173px;transform:scale(.74);transform-origin:bottom left}.wall-secret{display:none}.room-desk{left:92px;right:92px;bottom:61px}.desk-drawer{width:118px}.room-safe{right:14px;bottom:62px;width:83px;height:98px;padding:7px}.safe-door i{width:32px;height:32px;right:10px;top:34px;border-width:5px}.room-notebook{left:48%;bottom:86px;width:44px;height:34px}.room-hint-bubble{bottom:9px;max-width:91%;font-size:8px;padding:8px 10px}
  .escape-side,.corridor-hud{grid-template-columns:1fr;padding:14px}.clue-row p{font-size:16px}.memory-stage-game,.final-lock-stage{padding:20px 14px}.stage-card-head{display:block}.stage-card-head p{margin-top:12px}.memory-sort{gap:9px}.sort-card-back strong{font-size:21px}.final-lock-stage{grid-template-columns:1fr}.final-lock-copy,.word-lock{transform:translateY(10px)}.word-lock{grid-template-columns:1fr}.word-lock button{min-height:44px}.gift-box{grid-column:1;grid-row:auto;margin-top:8px}.clock-face-large{width:280px;height:280px}.clock-face-large .clock-num{transform:rotate(calc(var(--n)*30deg)) translateY(-106px) rotate(calc(var(--n)*-30deg))}.locked-game-card{min-height:360px;padding:32px 18px;gap:20px}.locked-game-card h2{font-size:31px}
  .corridor-controls{margin-top:8px;font-size:9px}
  .corridor-world{min-height:580px}
  .corridor-floor{left:26px;right:26px;top:24px;bottom:24px;box-shadow:inset 0 0 0 3px #334055,inset 0 0 0 14px #0e131c}
  .corridor-floor::before{width:106px}
  .corridor-tileband{top:58px;bottom:58px;width:78px}.corridor-tileband.left{left:54px}.corridor-tileband.right{right:54px}
  .corridor-runner{top:50px;bottom:50px;width:92px;box-shadow:0 0 0 2px #c4a15a,0 0 0 6px #3f2430,inset 0 0 0 2px rgba(255,214,145,.34)}
  .corridor-runner-shadow{top:48px;bottom:48px;width:132px}
  .wall-top,.wall-bottom{left:26px;right:26px;height:18px}.wall-left,.wall-right{top:24px;bottom:24px;width:18px}
  .wall-top{top:24px}.wall-bottom{bottom:24px}.wall-left{left:26px}.wall-right{right:26px}
  .corridor-pillar{width:34px;height:34px;box-shadow:inset 0 0 0 3px #526176,inset 0 0 0 7px rgba(12,17,24,.64)}
  .pillar-a{left:70px;top:118px}.pillar-b{right:70px;top:118px}.pillar-c{left:70px;bottom:118px}.pillar-d{right:70px;bottom:118px}
  .corridor-door{width:64px;height:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 0 0 2px #2a3547}
  .corridor-door-top{top:32px}.corridor-door-bottom{bottom:32px}
  .corridor-door::before{left:10px;right:10px;top:4px;height:5px}
  .corridor-door-top::after{bottom:-8px}.corridor-door-bottom::after{top:-8px}
  .corridor-player{width:44px;height:54px}.corridor-player-sprite{width:44px;height:auto}.corridor-player-aura{width:70px;height:70px}.corridor-darkness::after{width:210px;height:168px;filter:blur(8px)}
  .corridor-card h2,.corridor-card h3{font-size:24px}.corridor-card p{font-size:18px}.corridor-keycaps b,.corridor-keycaps em{min-width:30px;height:30px;padding:0 8px}
}

 
.room-key-drop{
  position:absolute;
  left:50%;
  top:72px;
  z-index:8;
  width:150px;
  height:92px;
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
  opacity:0;
  transform:translate(-50%,-28px) scale(.72) rotate(-12deg);
  transform-origin:center;
  transition:opacity .24s ease,transform .62s cubic-bezier(.18,.9,.28,1.28),filter .24s ease;
  filter:drop-shadow(0 8px 11px rgba(130,8,32,.2));
}
.room-key-drop.is-dropped{
  opacity:1;
  transform:translate(-50%,72px) scale(1) rotate(7deg);
}
.room-key-drop.is-dropped .room-key-svg{animation:roomKeyFloat 1.35s ease-in-out .65s infinite alternate}
.room-key-drop:hover{filter:drop-shadow(0 10px 15px rgba(175,12,41,.32))}
.room-key-drop:focus-visible{outline:3px solid rgba(255,255,255,.95);outline-offset:4px;border-radius:999px}
.room-key-drop.is-collected{
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,-36px) scale(.52) rotate(-18deg);
}
.room-key-glow{
  position:absolute;
  left:50%;top:50%;
  width:112px;height:72px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(255,92,108,.48) 0%,rgba(255,58,82,.22) 42%,rgba(255,58,82,0) 74%);
  animation:roomKeyGlow 1.05s ease-in-out infinite alternate;
  pointer-events:none;
}
.room-key-svg{position:absolute;left:8px;top:6px;width:134px;height:66px;overflow:visible}
.room-key-pick-label{
  position:absolute;left:50%;bottom:-2px;transform:translateX(-50%);
  white-space:nowrap;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(255,250,253,.94);
  box-shadow:0 7px 18px rgba(78,22,43,.13);
  font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#b91534;
}
@keyframes roomKeyGlow{to{transform:translate(-50%,-50%) scale(1.18);opacity:.72}}
@keyframes roomKeyFloat{to{transform:translateY(-6px) rotate(-3deg)}}

.key-inventory{
  position:fixed;
  left:20px;
  top:86px;
  z-index:96;
  display:flex;
  align-items:center;
  gap:8px;
  min-width:126px;
  padding:8px 11px 8px 8px;
  border:1px solid rgba(255,255,255,.9);
  border-radius:16px;
  background:rgba(255,250,253,.92);
  box-shadow:0 12px 28px rgba(87,28,58,.16),0 0 24px rgba(235,40,64,.08);
  backdrop-filter:blur(12px);
  animation:keyInventoryIn .42s cubic-bezier(.2,.9,.25,1.2) both;
}
.key-inventory-icon{
  width:42px;height:31px;
  display:grid;place-items:center;
  border-radius:11px;
  background:rgba(239,45,63,.09);
}
.key-inventory-icon svg{width:38px;height:24px;display:block;transform:rotate(-8deg)}
.key-inventory-copy{font-size:10px;font-weight:800;white-space:nowrap;color:rgba(32,32,51,.72)}
.key-inventory-copy strong{font-size:13px;color:var(--ink)}
@keyframes keyInventoryIn{from{opacity:0;transform:translateX(-18px) scale(.9)}to{opacity:1;transform:none}}

.room-two-button{
  margin-top:12px;
  border:0;
  border-radius:999px;
  padding:11px 20px;
  background:var(--ink);
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
  cursor:pointer;
  box-shadow:0 9px 22px rgba(32,32,51,.18);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
  animation:roomTwoButtonIn .36s ease both;
}
.room-two-button:hover{transform:translateY(-2px);background:#2c2c44;box-shadow:0 12px 25px rgba(32,32,51,.22)}
.room-two-button:active{transform:translateY(0)}
@keyframes roomTwoButtonIn{from{opacity:0;transform:translateY(8px) scale(.94)}to{opacity:1;transform:none}}

@media(max-width:680px){
  .room-key-drop{width:126px;height:82px;top:70px}
  .room-key-drop.is-dropped{transform:translate(-50%,62px) scale(.92) rotate(7deg)}
  .room-key-svg{left:7px;top:7px;width:112px;height:56px}
  .room-key-glow{width:96px;height:64px}
  .key-inventory{left:10px;top:76px;min-width:112px;padding:7px 9px 7px 7px}
  .key-inventory-icon{width:36px;height:28px}.key-inventory-icon svg{width:33px}
  .key-inventory-copy{font-size:9px}.key-inventory-copy strong{font-size:12px}
}
.gift-box.is-open{margin-bottom:78px}
@media(max-width:680px){.gift-box.is-open{margin-bottom:72px}}

 
@media (max-width:680px){
  .game-nav{
    padding:7px 8px!important;
    gap:0!important;
    justify-content:space-between!important;
    overflow:hidden!important;
  }
  .game-brand{
    flex:0 0 auto!important;
    gap:4px!important;
    min-width:0!important;
    margin-right:12px!important;
    font-size:11px!important;
    line-height:1!important;
  }
  .game-brand-mark{
    width:14px!important;
    height:10px!important;
    margin-right:5px!important;
    box-shadow:7px 1px 0 var(--pink)!important;
  }
   
  .game-brand > span:last-child{
    font-size:0!important;
    letter-spacing:0!important;
    white-space:nowrap!important;
  }
  .game-brand > span:last-child::before{
    content:"for Chô";
    font-size:11px!important;
    font-weight:600!important;
    letter-spacing:0!important;
  }
  .game-tabs{
    flex:0 1 auto!important;
    min-width:0!important;
    margin-left:auto!important;
    gap:3px!important;
    justify-content:flex-end!important;
    overflow:visible!important;
  }
  .game-tab{
    flex:0 0 auto!important;
    min-width:0!important;
    padding:7px 5px!important;
    gap:3px!important;
    font-size:6.6px!important;
    letter-spacing:.045em!important;
    line-height:1!important;
  }
  .game-tab-lock{
    width:8px!important;
    height:8px!important;
  }
  .game-tab-lock::before{
    width:5px!important;
    height:4px!important;
    border-width:1px!important;
  }
  .game-tab-lock::after{
    width:8px!important;
    height:5px!important;
    border-radius:2px!important;
    box-shadow:none!important;
  }
}
@media (max-width:390px){
  .game-nav{padding-left:6px!important;padding-right:6px!important;gap:0!important}
  .game-brand{gap:3px!important;margin-right:8px!important}
  .game-brand-mark{width:12px!important;height:9px!important;margin-right:4px!important;box-shadow:6px 1px 0 var(--pink)!important}
  .game-brand > span:last-child::before{font-size:10px!important}
  .game-tabs{margin-left:auto!important;gap:2px!important;justify-content:flex-end!important}
  .game-tab{padding:6px 4px!important;gap:2px!important;font-size:6.1px!important;letter-spacing:.035em!important}
}
