/* Easter egg: Casa Nova Pixel Tetris */
#tetris-easter-egg{position:fixed;inset:0;z-index:100;background:#15131d;color:#fff;overflow:hidden;font-family:'Courier New',monospace;image-rendering:pixelated}
#tetris-easter-egg.hidden{display:none}
.tetris-pixel{image-rendering:pixelated}
#tetris-door-stage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 45%,#363142 0 18%,#17151f 55%,#09090d 100%);z-index:5;transition:opacity .3s ease}
#tetris-door-stage.is-gone{opacity:0;pointer-events:none}
.pixel-door-wrap{width:min(56vw,250px);height:min(82vw,380px);max-height:62vh;perspective:900px;filter:drop-shadow(0 18px 0 rgba(0,0,0,.28))}
.pixel-door-frame{width:100%;height:100%;padding:10px;background:#4a3026;border:8px solid #2a1b18;box-shadow:0 0 0 6px #8a6041,0 0 0 10px #211514;position:relative}
.pixel-door-frame:before{content:"";position:absolute;inset:10px;background:#f2c77e;opacity:0;transition:opacity .35s .45s}
.pixel-door{position:absolute;inset:10px;background:#855233;border:6px solid #38231d;transform-origin:left center;transform-style:preserve-3d;transition:transform 1.05s cubic-bezier(.38,.02,.25,1);box-shadow:inset 0 0 0 10px #a66d45,inset 0 0 0 16px #6f422d}
.pixel-door:before,.pixel-door:after{content:"";position:absolute;left:18%;right:18%;height:25%;border:6px solid #573223;background:#96603e;box-shadow:inset 0 0 0 5px #77482f}
.pixel-door:before{top:12%}.pixel-door:after{bottom:12%}
.pixel-knob{position:absolute;right:12%;top:50%;width:18px;height:18px;margin-top:-9px;background:#e4b84b;border:4px solid #6f4b19;box-shadow:4px 4px 0 #37240d;transition:transform .25s}
#tetris-door-stage.opening .pixel-knob{transform:rotate(90deg) scale(.9)}
#tetris-door-stage.opening .pixel-door{transform:rotateY(-103deg)}
#tetris-door-stage.opening .pixel-door-frame:before{opacity:1}
.pixel-door-tip{position:absolute;bottom:-58px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:11px;letter-spacing:2px;color:#f3dba6;text-shadow:2px 2px 0 #000}

#tetris-room{position:absolute;inset:0;opacity:0;transform:scale(1.025);transition:opacity .55s ease,transform .55s ease,filter .5s ease;background:linear-gradient(to bottom,#c18b74 0 63%,#77503a 63% 100%);overflow:auto;touch-action:none}
#tetris-room.visible{opacity:1;transform:scale(1)}
#tetris-room.is-leaving{opacity:.05;transform:scale(.96);filter:brightness(.2)}
#tetris-room:before{content:"";position:absolute;left:0;right:0;top:63%;bottom:0;background:repeating-linear-gradient(90deg,rgba(52,31,24,.34) 0 3px,transparent 3px 64px),repeating-linear-gradient(0deg,rgba(50,30,22,.18) 0 3px,transparent 3px 42px);pointer-events:none}
#tetris-room:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.05),transparent 20% 80%,rgba(0,0,0,.1));pointer-events:none}
.tetris-room-header{position:relative;z-index:4;text-align:center;padding:12px 82px 0;font-size:clamp(12px,2.5vw,17px);font-weight:900;letter-spacing:3px;text-shadow:3px 3px 0 #57372b}
.tetris-room-sub{font-size:9px;letter-spacing:1.5px;margin-top:4px;color:#ffe6ae}
.tetris-game-layout{position:relative;z-index:3;min-height:calc(100dvh - 58px);display:flex;align-items:center;justify-content:center;gap:18px;padding:12px 74px 24px}
.tetris-tv{position:relative;background:#2a2529;border:8px solid #171417;box-shadow:0 0 0 6px #5a3932,9px 9px 0 rgba(0,0,0,.25);padding:7px}
#tetris-canvas{display:block;width:min(46vw,280px);height:auto;max-height:72dvh;background:#0c1117;touch-action:none;cursor:grab}
#tetris-canvas:active{cursor:grabbing}
.tetris-tv-stand{position:absolute;left:18%;right:18%;height:12px;bottom:-21px;background:#282024;box-shadow:0 7px 0 #5c3d30}
.tetris-panel{width:min(240px,31vw);min-width:175px;background:#2c2831;border:5px solid #16131a;box-shadow:5px 5px 0 rgba(0,0,0,.22);padding:12px;display:grid;gap:10px}
.tetris-stat{background:#15141a;border:3px solid #594a57;padding:7px 9px;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;text-transform:uppercase;letter-spacing:1px}
.tetris-stat b{font-size:14px;color:#ffe69a}
.tetris-next-wrap{background:#15141a;border:3px solid #594a57;padding:7px;text-align:center;font-size:9px;letter-spacing:1px}
#tetris-next{display:block;margin:6px auto 0;width:84px;height:64px;background:#0c1117}
.tetris-controls{font-size:9px;line-height:1.6;color:#f7e9d2;background:#15141a;border:3px solid #594a57;padding:8px}
.tetris-controls strong{color:#ffe69a}
.tetris-message{min-height:28px;font-size:9px;line-height:1.4;text-align:center;color:#fff0b5;font-weight:bold;text-shadow:2px 2px 0 #000}
.tetris-restart{display:none;width:100%;border:0;background:#e0aa50;color:#2b1c18;padding:10px;font:900 10px 'Courier New',monospace;letter-spacing:1px;box-shadow:4px 4px 0 #70481d;cursor:pointer}
.tetris-restart.show{display:block}

/* Porta de saída: substitui o X propositalmente. */
#tetris-exit-door{position:absolute;z-index:8;left:12px;top:50%;transform:translateY(-50%);width:54px;height:94px;background:#6f452f;border:5px solid #2a1915;box-shadow:4px 5px 0 rgba(0,0,0,.25),inset 0 0 0 5px #9b6745;cursor:pointer;color:#fff;padding:0;font:900 8px 'Courier New',monospace;transition:transform .14s}
#tetris-exit-door:hover{transform:translateY(-50%) translateX(2px)}
#tetris-exit-door:before{content:"";position:absolute;right:7px;top:50%;width:7px;height:7px;background:#f2c24f;border:2px solid #4f3512}
#tetris-exit-door span{position:absolute;left:5px;right:5px;top:20px;background:#eee3c0;color:#3e2c27;border:2px solid #3d2923;padding:4px 1px;letter-spacing:.5px}

/* Elementos do cômodo: surgem conforme o nível avança. */
.pixel-sofa{position:absolute;z-index:1;left:8%;bottom:15%;width:180px;height:78px;background:#6f7771;border:6px solid #343a37;box-shadow:0 12px 0 #4c3932,7px 7px 0 rgba(0,0,0,.18)}
.pixel-sofa:before{content:"";position:absolute;left:15px;right:15px;top:-34px;height:48px;background:#7d8880;border:6px solid #343a37;box-shadow:inset 50px 0 0 rgba(255,255,255,.035),inset -50px 0 0 rgba(0,0,0,.045)}
.pixel-sofa:after{content:"";position:absolute;left:-18px;right:-18px;top:18px;height:45px;border-left:18px solid #59615c;border-right:18px solid #59615c}
.room-object{position:absolute;z-index:1;opacity:0;transition:opacity .6s ease,transform .6s ease;transform:translateY(8px);pointer-events:none}
#tetris-room[data-tier="1"] .tier-1,#tetris-room[data-tier="2"] .tier-1,#tetris-room[data-tier="3"] .tier-1,#tetris-room[data-tier="4"] .tier-1,#tetris-room[data-tier="5"] .tier-1,
#tetris-room[data-tier="2"] .tier-2,#tetris-room[data-tier="3"] .tier-2,#tetris-room[data-tier="4"] .tier-2,#tetris-room[data-tier="5"] .tier-2,
#tetris-room[data-tier="3"] .tier-3,#tetris-room[data-tier="4"] .tier-3,#tetris-room[data-tier="5"] .tier-3,
#tetris-room[data-tier="4"] .tier-4,#tetris-room[data-tier="5"] .tier-4,
#tetris-room[data-tier="5"] .tier-5{opacity:1;transform:none}
.pixel-window{right:5%;top:12%;width:112px;height:88px;background:#8fc1ca;border:8px solid #53382d;box-shadow:inset 0 0 0 4px #d7e9dc,5px 5px 0 rgba(0,0,0,.15)}
.pixel-window:before{content:"";position:absolute;left:48%;top:0;bottom:0;width:6px;background:#53382d}.pixel-window:after{content:"";position:absolute;left:0;right:0;top:47%;height:6px;background:#53382d}
.pixel-rug{left:50%;bottom:4%;transform:translateX(-50%) translateY(8px);width:min(54vw,520px);height:70px;background:#b94f55;border:7px solid #6e2e36;box-shadow:inset 0 0 0 8px #dd7e62}
#tetris-room[data-tier="1"] .pixel-rug,#tetris-room[data-tier="2"] .pixel-rug,#tetris-room[data-tier="3"] .pixel-rug,#tetris-room[data-tier="4"] .pixel-rug,#tetris-room[data-tier="5"] .pixel-rug{transform:translateX(-50%)}
.pixel-plant{right:5%;bottom:22%;width:52px;height:74px;background:#a4623e;border:5px solid #4b2b21}
.pixel-plant:before{content:"";position:absolute;width:22px;height:48px;background:#52744b;left:10px;bottom:57px;box-shadow:-18px 14px 0 #63865a,18px 8px 0 #486b43,0 -18px 0 #6b905f}
.pixel-lamp{left:7%;bottom:23%;width:10px;height:98px;background:#423235;box-shadow:0 8px 0 8px #4e3430}
.pixel-lamp:before{content:"";position:absolute;left:-22px;top:-35px;width:54px;height:38px;background:#e0ad62;border:5px solid #5b3d2e;clip-path:polygon(18% 0,82% 0,100% 100%,0 100%)}
.pixel-shelf{right:4%;top:42%;width:120px;height:18px;background:#4e3128;border:4px solid #2e1c18;box-shadow:0 20px 0 #4e3128,0 38px 0 #2e1c18}
.pixel-shelf:before{content:"";position:absolute;left:10px;top:-19px;width:10px;height:18px;background:#d56a52;box-shadow:14px 3px 0 #5a7c67,28px -2px 0 #d2a64f,75px 1px 0 #7893b8,90px -4px 0 #a55d72}
.pixel-lights{left:22%;right:19%;top:7%;height:8px;background:repeating-linear-gradient(90deg,#ffe178 0 7px,transparent 7px 24px);filter:drop-shadow(0 0 5px #ffe178)}
.pixel-banner{left:50%;top:14%;transform:translateX(-50%) translateY(8px);background:#f5d27c;color:#513326;border:5px solid #5c3929;padding:7px 12px;font-size:10px;font-weight:900;letter-spacing:2px;box-shadow:5px 5px 0 rgba(0,0,0,.18);white-space:nowrap}
#tetris-room[data-tier="5"] .pixel-banner{transform:translateX(-50%);animation:pixelCelebrate .7s steps(2,end) infinite}
@keyframes pixelCelebrate{50%{margin-top:-4px}}

@media (max-width:700px){
  .tetris-room-header{padding:9px 65px 0;font-size:12px}.tetris-room-sub{font-size:8px}
  .tetris-game-layout{min-height:calc(100dvh - 46px);padding:8px 9px 16px 62px;gap:8px;align-items:center}
  .tetris-tv{border-width:5px;padding:4px;box-shadow:0 0 0 4px #5a3932,5px 5px 0 rgba(0,0,0,.25)}
  #tetris-canvas{width:min(55vw,250px);max-height:68dvh}
  .tetris-panel{width:31vw;min-width:104px;padding:6px;border-width:3px;gap:5px}
  .tetris-stat{padding:4px 5px;border-width:2px;font-size:7px;letter-spacing:0}.tetris-stat b{font-size:10px}
  .tetris-next-wrap{padding:4px;border-width:2px;font-size:7px}#tetris-next{width:58px;height:46px;margin-top:3px}
  .tetris-controls{font-size:6.6px;padding:4px;border-width:2px;line-height:1.5}.tetris-message{font-size:7px;min-height:20px}.tetris-restart{font-size:7px;padding:7px}
  #tetris-exit-door{left:7px;width:43px;height:76px;border-width:4px;font-size:7px}#tetris-exit-door span{top:15px;left:3px;right:3px;padding:3px 0}
  .pixel-sofa{left:5%;bottom:13%;transform:scale(.62);transform-origin:bottom left}.pixel-window{width:72px;height:57px;right:3%;top:16%;border-width:5px}.pixel-plant{right:3%;transform:scale(.7);transform-origin:bottom right}.pixel-lamp{left:4%;transform:scale(.7);transform-origin:bottom left}.pixel-shelf{display:none}.pixel-banner{top:11%;font-size:7px;padding:5px 7px}
}
@media (max-width:430px){
  .tetris-game-layout{padding-left:54px;gap:5px}.tetris-panel{min-width:96px}.tetris-controls{font-size:6px}#tetris-canvas{width:min(55vw,230px)}
}
