/* A glass-and-steel skyscraper. Every dimension stays tied to its floor. */
.game-logo-tower{background-image:url('assets/game-tower-v24.png');background-size:92%}
.game-tower .table-wrap{background:radial-gradient(ellipse at 50% 33%,#27495488,transparent 68%),linear-gradient(145deg,#122b37,#11202f 65%,#152832)}
.game-tower .tower-room{padding:17px 24px 21px}.tower-room .adventure-heading{margin:0 0 13px}.tower-room .adventure-heading h2{font-size:30px;margin:0}.tower-progress{max-width:610px;color:#a4bdc8;margin:0 0 7px}
.tower-modes button{border-color:#476574;color:#cddde2;background:#122936}.tower-modes small{color:#a0b8c2}.tower-modes button.selected{background:#294c56;border-color:#a5d8d7;color:#f2feff}
.tower-scene{width:min(100%,650px);position:relative;isolation:isolate;padding:0 0 25px;display:flex;justify-content:center}
.tower-building{--floor-height:51px;flex:none;width:64%;max-width:404px;padding:0 22px 0 0;z-index:2;filter:drop-shadow(0 10px 22px #020d1880)}
.tower-building:before{display:none}.tower-building:after{top:96px;bottom:33px;left:auto;right:0;width:22px;transform:none;border:0;background:repeating-linear-gradient(0deg,transparent 0 calc(var(--floor-height) - 3px),#82a9b666 calc(var(--floor-height) - 3px) var(--floor-height)),repeating-linear-gradient(90deg,#224957 0 6px,#537b8933 6px 7px),linear-gradient(#385968,#183341);clip-path:polygon(0 0,100% 11px,100% 100%,0 calc(100% - 9px));z-index:-1}
.tower-roof{height:auto;background:none;border:0;border-radius:0;box-shadow:none;display:block;position:relative;margin:0 -5px -1px;line-height:0;color:#e7c786}.tower-summit-art{display:block!important;width:100%!important;max-height:none!important;height:auto!important;overflow:visible}.tower-roof.is-reached{filter:drop-shadow(0 0 10px #d7f8ed66)}
.tower-floors{border-left:3px solid #93aeb7;border-right:3px solid #6e8c98;box-shadow:inset 0 0 0 1px #081d2b,0 8px 18px #040e1a55}
.tower-room .tower-floor{height:var(--floor-height);grid-template-columns:21px 1fr 54px;gap:5px;padding:0 7px;border-bottom:3px solid #5f7d8a;background:linear-gradient(125deg,#3c697b33 0 30%,transparent 30% 56%,#bdeaf410 56% 65%,transparent 65%),repeating-linear-gradient(90deg,transparent 0 39px,#83a9b71f 39px 40px),#173a4a;box-shadow:inset 0 1px #94bac433;transition:background .25s,border-color .25s}
.tower-floor:before{box-shadow:inset 0 3px 6px #061b3355}.tower-floor.is-current{background:linear-gradient(90deg,#244c55,#346166,#234b54);border-bottom-color:#dec391;box-shadow:inset 2px 0 #e9d0a0,inset -2px 0 #e9d0a0}.tower-floor.is-cleared{background:linear-gradient(100deg,#203f4c,#29575c,#24424d)}.tower-floor.is-failed{background:#51393e;border-bottom-color:#e48886}
.tower-floor-number{color:#9cb4be;font-size:9px}.tower-floor-return{color:#c2d2d6;font-size:10px}.tower-floor.is-current .tower-floor-return,.tower-floor.is-current .tower-floor-number{color:#ffe4aa}.tower-floor.is-cleared .tower-floor-return{color:#a6eacf}.tower-floor-doors{gap:5px}
.tower-room .tower-door{max-width:60px;height:100%;opacity:.65}.tower-door:not(:disabled){opacity:1}.tower-room .tower-door.is-open{opacity:.82}.tower-room .tower-door.is-chosen{opacity:1;filter:drop-shadow(0 0 3px #b9ecde55)}.tower-door-leaf{transform-origin:10px 38px;transition:transform .6s cubic-bezier(.2,.75,.3,1)}.tower-door.is-open .tower-door-leaf{transform:rotateY(-82deg)}.tower-door.is-trap.is-chosen{filter:drop-shadow(0 0 5px #ff999966)}.tower-picked-dot{width:3px;height:3px;bottom:4px;background:#e4fff1;box-shadow:0 0 4px #adf8d8}
.tower-plinth{height:26px;margin:0 -9px;background:linear-gradient(#658491 0 16%,#bacace 16% 21%,#526e7c 21% 65%,#213a46 65%);border:0;border-radius:0;box-shadow:0 5px #17313d;display:flex;align-items:center;justify-content:center;color:#d0e1e4;font-size:7px;letter-spacing:.3em}.tower-plinth span{margin-top:0;line-height:1}
.tower-fortune{position:absolute;bottom:7px;width:30%!important;height:auto!important;max-height:none!important;z-index:3;pointer-events:none;filter:drop-shadow(0 5px 6px #020f1c55)}.tower-fortune-left{left:-1%}.tower-fortune-right{right:-1%}
.tower-plaza{position:absolute;left:2%;right:2%;height:46px;bottom:5px;background:repeating-linear-gradient(90deg,transparent 0 54px,#71909c1f 55px 56px),linear-gradient(170deg,#2b4655,#152d39);clip-path:polygon(12% 0,89% 0,100% 80%,89% 100%,9% 100%,0 75%);z-index:0}
.tower-skyline{position:absolute;inset:14% 3% 46px;z-index:-1;background:linear-gradient(0deg,#497a8a14,transparent 70%);clip-path:polygon(0 100%,0 59%,7% 59%,7% 45%,14% 45%,14% 26%,20% 26%,20% 53%,27% 53%,27% 100%,73% 100%,73% 38%,80% 38%,80% 20%,86% 20%,86% 56%,93% 56%,93% 65%,100% 65%,100% 100%)}
@media(min-width:761px) and (max-height:850px){.game-tower .tower-room{padding-top:12px;padding-bottom:16px}.tower-room .adventure-heading{margin-bottom:9px}.tower-room .adventure-heading h2{font-size:26px}.tower-building{--floor-height:43px;width:62%;max-width:350px}.tower-roof{height:auto}.tower-scene{max-width:570px}.tower-room .adventure-status{margin-top:10px}.tower-building:after{top:82px}}
@media(min-width:761px) and (max-width:1120px){.tower-building{width:81%;padding-right:15px}.tower-building:after{width:15px}.tower-room .tower-floor{grid-template-columns:16px 1fr 48px;padding:0 4px;gap:3px}.tower-fortune{width:29%!important;bottom:0}.tower-scene{padding-bottom:39px}}
@media(max-width:760px){.game-tower .tower-room{padding:14px 10px 17px}.tower-room .adventure-heading{margin-bottom:10px}.tower-room .adventure-heading h2{font-size:26px}.tower-scene{padding-bottom:30px}.tower-building{--floor-height:40px;width:87%;max-width:380px;padding:0 12px 0 0}.tower-building:after{top:82px;width:12px;bottom:31px}.tower-roof{height:auto}.tower-room .tower-floor{grid-template-columns:15px 1fr 46px;gap:3px;padding:0 4px}.tower-floor-doors{gap:2px}.tower-floor-number{font-size:8px}.tower-floor-return{font-size:9px}.tower-progress{font-size:8px}.tower-plinth{height:23px;margin:0 -6px;font-size:6px}.tower-fortune{width:29%!important;bottom:0}.tower-fortune-left{left:-2%}.tower-fortune-right{right:-2%}.tower-plaza{left:0;right:0;bottom:0;height:40px}.tower-room .adventure-status{margin-top:8px;font-size:10px}.tower-room .adventure-mobile-actions{margin-top:10px}.tower-modes button.selected{border-color:#a5d8d7}}
@media(prefers-reduced-motion:reduce){.tower-scene *{animation:none!important;transition:none!important}}
.tower-room .tower-floor{grid-template-rows:minmax(0,1fr)}
.tower-room .tower-floor-doors{height:calc(var(--floor-height) - 3px);min-height:0;grid-template-rows:minmax(0,1fr)}
.tower-room .tower-door{min-height:0;height:100%;max-height:calc(var(--floor-height) - 3px)}
