:root{--ink:#30323a;--muted:#6d7079;--paper:#fffdf9;--line:#e4e6e8;--aqua:#d5f3f6;--aqua-strong:#79cbd5;--pink:#ffd4df;--pink-strong:#e97794;--gold:#f8c85b;--green:#bfe9d0;--violet:#d8d0f2;--shadow:0 22px 55px rgba(48,50,58,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 8% 18%,rgba(213,243,246,.72),transparent 28rem),radial-gradient(circle at 92% 32%,rgba(255,212,223,.58),transparent 27rem),var(--paper);color:var(--ink);font-family:"Source Sans 3",sans-serif;margin:0;min-height:100vh}button{font:inherit}.topbar{align-items:center;background:rgba(255,253,249,.94);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:12px clamp(16px,4vw,52px)}.brand{align-items:center;color:inherit;display:flex;gap:11px;text-decoration:none}.brand>span:last-child{display:flex;flex-direction:column}.brand strong{font:900 21px/1 Nunito,sans-serif}.brand small{color:var(--muted);font-size:11px;margin-top:3px}.back-link{background:#fdf0d7;border:1px solid #eadbbd;border-radius:999px;color:var(--ink);font:900 13px Nunito,sans-serif;padding:9px 15px;text-decoration:none}main{margin:auto;max-width:1220px;padding:36px clamp(10px,3vw,32px) 62px}.hero{margin:0 auto 22px;max-width:1050px;text-align:center}.eyebrow,.panel-kicker,.modal-kicker,.teacher-guide>div>span{color:#85661f;font:900 11px Nunito,sans-serif;letter-spacing:.11em;text-transform:uppercase}.hero h1{font:900 clamp(36px,5vw,58px)/1.04 Nunito,sans-serif;letter-spacing:-.045em;margin:7px 0 10px}.hero h1 em{color:var(--pink-strong);font-style:normal}.hero>p{color:var(--muted);font-size:18px;line-height:1.5;margin:0 auto;max-width:780px}.hero-pills{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:15px 0}.hero-pills span{background:#fff;border:1px solid var(--line);border-radius:999px;font-size:12px;font-weight:800;padding:7px 10px}.series-track{display:flex;gap:7px;justify-content:center;overflow:auto;padding:4px 2px}.series-track span{align-items:center;background:#f5f4f1;border:1px solid var(--line);border-radius:10px;color:#8b8b8b;display:flex;flex:0 0 auto;font:800 11px Nunito,sans-serif;gap:5px;padding:7px 9px}.series-track b{align-items:center;background:#e4e1dc;border-radius:50%;display:flex;height:19px;justify-content:center;width:19px}.series-track .active{background:var(--aqua);border-color:#a9dce2;color:var(--ink)}.series-track .active b{background:var(--ink);color:#fff}.game-shell{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow);overflow:hidden;position:relative}.toolbar{align-items:center;background:#fff;border-bottom:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;padding:10px 14px}.stats,.tools{display:flex;flex-wrap:wrap;gap:8px}.stats span{background:#f7f7f5;border-radius:10px;color:var(--muted);font-size:10px;font-weight:800;min-width:65px;padding:6px 9px;text-align:center;text-transform:uppercase}.stats strong{color:var(--ink);display:block;font:900 15px Nunito,sans-serif}.tools button{background:#fff;border:1px solid var(--line);border-radius:9px;color:var(--ink);cursor:pointer;font:900 11px Nunito,sans-serif;padding:8px 10px}.tools button:hover{background:var(--aqua)}.progress{background:#efefec;height:6px}.progress i{background:linear-gradient(90deg,var(--aqua-strong),var(--pink-strong));display:block;height:100%;transition:width .35s;width:0}.phase-track{background:#fbfaf8;display:grid;grid-template-columns:repeat(3,1fr);padding:10px 14px}.phase-track span{align-items:center;color:#a09d98;display:flex;font:900 11px Nunito,sans-serif;gap:6px;justify-content:center}.phase-track b{align-items:center;background:#e8e5e0;border-radius:50%;display:flex;height:22px;justify-content:center;width:22px}.phase-track .active{color:var(--ink)}.phase-track .active b{background:var(--gold)}.phase-track .done b{background:var(--green)}.play-area{padding:16px}.mission-card{align-items:center;background:linear-gradient(135deg,var(--aqua),#effafb);border:1px solid #b9e3e8;border-radius:17px;display:flex;gap:13px;padding:13px 16px}.mission-icon{align-items:center;background:#fff;border-radius:14px;display:flex;font-size:28px;height:53px;justify-content:center;width:53px}.mission-card>div{flex:1}.mission-card small{color:#467078;font-size:11px;font-weight:900;text-transform:uppercase}.mission-card h2{font:900 clamp(17px,2.2vw,23px)/1.25 Nunito,sans-serif;margin:3px 0}.route{color:#537078;font:900 14px Nunito,sans-serif;min-height:19px}.workbench{display:grid;gap:15px;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);margin-top:15px}.building-card,.decision-card{border:1px solid var(--line);border-radius:18px}.building-card{background:linear-gradient(90deg,#f8f9fa,#fff);overflow:hidden}.building-head{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:10px 13px}.building-head span{font:900 13px Nunito,sans-serif}.building-head small{color:var(--muted);font-size:10px}.building{display:grid;gap:2px;padding:10px}.floor-row{align-items:center;background:#f8f8f6;border:1px solid transparent;border-radius:8px;color:var(--ink);cursor:pointer;display:grid;grid-template-columns:68px 1fr;height:31px;padding:0;text-align:left;transition:.18s}.floor-row:hover,.floor-row:focus-visible{background:#eefafd;border-color:#9cd7df;outline:none;transform:translateX(3px)}.floor-number{font:900 12px Nunito,sans-serif;padding-left:12px}.floor-lane{align-items:center;border-left:1px dashed #d7d7d3;display:flex;height:100%;padding-left:10px;position:relative}.floor-row.ground{background:#fff6df}.floor-row.target{background:#e8f8ed;border-color:#83c99c}.floor-row.wrong{animation:shake .25s;background:#fff0f2;border-color:#ee9aad}.elevator{align-items:center;background:var(--ink);border-radius:6px;color:#fff;display:flex;font-size:15px;height:25px;justify-content:center;transition:.3s;width:44px}.elevator.arrived{animation:arrive .5s ease}.floor-hint{color:#aaa;font-size:10px;margin-left:auto;padding-right:10px}.decision-card{align-self:start;background:#fff;padding:18px}.decision-card h2{font:900 21px Nunito,sans-serif;margin:5px 0 4px}.decision-card>p{color:var(--muted);line-height:1.45;margin:0 0 13px}.choice-list{display:grid;gap:8px}.choice,.choice-lock{border-radius:11px;min-height:48px;padding:10px 12px}.choice{background:#fff;border:2px solid var(--line);color:var(--ink);cursor:pointer;font-weight:800;text-align:left}.choice:hover{border-color:#9fdbe2}.choice.selected{background:#eefafd;border-color:var(--aqua-strong)}.choice.correct{background:#e9f8ee;border-color:#72bf8e}.choice.wrong{background:#fff0f2;border-color:#ed819b}.choice-lock{align-items:center;background:#f5f4f1;color:#97938e;display:flex;gap:9px}.choice-lock b{font-size:19px}.check-btn,.next-btn,.start-btn{background:var(--ink);border:1px solid var(--ink);border-radius:11px;color:#fff;cursor:pointer;font:900 14px Nunito,sans-serif;min-height:43px;padding:9px 16px}.check-btn{margin-top:12px;width:100%}.check-btn:disabled{cursor:default;opacity:.35}.bottom-bar{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-top:14px}.feedback{align-items:center;background:#f5f7f7;border-radius:11px;color:#586267;display:flex;flex:1;font-weight:700;gap:9px;min-height:47px;padding:9px 12px}.feedback.good{background:#e8f8ed;color:#28623c}.feedback.bad{background:#fff0f2;color:#9d4056}.feedback b{font-size:18px}.next-btn{display:none;flex:0 0 auto}.next-btn.show{display:block}.layer{align-items:center;background:rgba(255,253,249,.94);display:none;inset:0;justify-content:center;padding:20px;position:absolute;z-index:10}.layer.show{display:flex}.modal{background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);max-width:620px;padding:30px;text-align:center;width:100%}.modal-icon{font-size:48px}.modal h2{font:900 clamp(25px,4vw,38px)/1.1 Nunito,sans-serif;margin:7px 0 10px}.modal>p{color:var(--muted);font-size:16px;line-height:1.55}.modal-steps{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);margin:20px 0}.modal-steps span{align-items:center;background:#f7f7f5;border-radius:12px;display:flex;flex-direction:column;font-weight:800;gap:5px;padding:12px}.modal-steps b{align-items:center;background:var(--gold);border-radius:50%;display:flex;height:28px;justify-content:center;width:28px}.finish-summary{display:flex;gap:10px;justify-content:center;margin:17px 0}.finish-summary span{background:#f5f4f1;border-radius:12px;color:var(--muted);min-width:125px;padding:10px}.finish-summary strong{color:var(--ink);display:block;font:900 24px Nunito,sans-serif}.teacher-guide{background:linear-gradient(135deg,rgba(213,243,246,.58),rgba(253,240,215,.62));border:1px solid var(--line);border-radius:20px;display:grid;gap:18px;grid-template-columns:240px 1fr;margin-top:22px;padding:22px}.teacher-guide h2{font:900 23px/1.2 Nunito,sans-serif;margin:5px 0}.guide-grid{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.guide-grid article{background:rgba(255,255,255,.72);border-radius:12px;padding:13px}.guide-grid h3{font:900 13px Nunito,sans-serif;margin:0 0 5px}.guide-grid p{color:var(--muted);font-size:12px;line-height:1.5;margin:0}footer{border-top:1px solid var(--line);color:var(--muted);display:flex;flex-wrap:wrap;font-size:12px;gap:14px 22px;justify-content:center;padding:17px}footer a{color:inherit;text-decoration:none}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.game-shell:fullscreen,.game-shell:-webkit-full-screen{background:var(--paper);border:0;border-radius:0;height:100vh;height:100dvh;overflow:auto}.game-shell:fullscreen .workbench,.game-shell:-webkit-full-screen .workbench{min-height:calc(100dvh - 245px)}@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}@keyframes arrive{50%{transform:scale(1.12)}}
.series-track a{align-items:center;background:#f5f4f1;border:1px solid var(--line);border-radius:10px;color:#8b8b8b;display:flex;flex:0 0 auto;font:800 11px Nunito,sans-serif;gap:5px;padding:7px 9px;text-decoration:none}.series-track a:hover{background:#fff;border-color:#a9dce2;color:var(--ink)}
@media(max-width:850px){main{padding:28px 9px 45px}.workbench{grid-template-columns:1fr}.floor-row{height:34px}.teacher-guide{grid-template-columns:1fr}.guide-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.brand small{display:none}.back-link{font-size:11px;padding:8px 10px}.toolbar{align-items:stretch;flex-direction:column}.stats,.tools{display:grid;grid-template-columns:repeat(3,1fr)}.tools{grid-template-columns:1fr 1fr}.phase-track{padding:9px 4px}.phase-track span{font-size:9px}.phase-track b{height:18px;width:18px}.play-area{padding:10px}.mission-card{align-items:flex-start;padding:12px}.mission-icon{height:43px;width:43px}.building{grid-template-columns:1fr}.building-head small{display:none}.bottom-bar{align-items:stretch;flex-direction:column}.next-btn{width:100%}.modal{padding:22px 16px}.modal-steps,.guide-grid{grid-template-columns:1fr}.teacher-guide{padding:17px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
.series-track a{align-items:center;background:#f5f4f1;border:1px solid var(--line);border-radius:10px;color:#8b8b8b;display:flex;flex:0 0 auto;font:800 11px Nunito,sans-serif;gap:5px;padding:7px 9px;text-decoration:none}.series-track a:hover{background:#fff;border-color:#a9dce2;color:var(--ink)}
/* Directly controlled elevator, with one continuous cabin. */
.building{display:block;position:relative;padding:30px 18px 14px;background:linear-gradient(#dff4f8 0 51%,#eee1d2 51%);height:540px;isolation:isolate}.building-sky{position:absolute;inset:0;overflow:hidden;z-index:-1}.building-sky span{position:absolute;right:12px;top:12px;width:42px;height:42px;background:#ffe1a0;border-radius:50%}.building-sky i{position:absolute;top:42px;left:25px;width:100px;height:20px;background:#fff9;border-radius:50px}.tower{position:relative;height:100%;max-width:410px;margin:auto;border:5px solid #778b94;border-radius:12px 12px 3px 3px;background:#faf7f0;display:grid;grid-template-rows:repeat(13,1fr);box-shadow:8px 7px 0 #546c771c}.level-mark{position:relative;display:flex;align-items:center;border-bottom:1px solid #c4ced0;min-height:0;padding-left:12px;gap:12px}.level-mark>strong{font:900 22px Nunito,sans-serif;width:42px;color:#344b59}.level-mark.underground{background:#e3ddd4}.level-mark.ground{background:#ffe5a6;border-top:3px solid #b69953;border-bottom:3px solid #b69953}.level-mark.current>strong{color:#be496d}.room{display:flex;align-items:center;gap:10px;height:100%}.room i{width:25px;height:60%;background:#d0edf0;border:2px solid #93bac3;box-shadow:inset 0 -6px #b2d8df}.underground .room i{background:#d2c9bc;border-color:#b2a698;box-shadow:none}.room span{font:900 11px Nunito,sans-serif;color:#756134}.lift-shaft{position:absolute;top:0;bottom:0;right:15px;width:100px;background:#718b971c;border-left:3px solid #9cadb4;border-right:3px solid #9cadb4}.lift-rail{position:absolute;left:50%;top:0;bottom:0;border-left:4px solid #8b9da7}.lift-car{position:absolute;left:3px;right:3px;height:42px;transform:translateY(-50%);border:3px solid #86526b;border-radius:7px;background:#f2a8c0;cursor:grab;touch-action:none;user-select:none;box-shadow:0 3px 0 #66395133;transition:top .12s ease;display:flex;align-items:center;justify-content:center;gap:5px;z-index:2}.lift-car.held{cursor:grabbing;transition:none;box-shadow:0 0 0 4px #e9779433}.lift-car:focus-visible{outline:3px solid #097e9a;outline-offset:4px}.cabin-window{height:29px;width:50px;background:#fff8ed;border:2px solid #9c6882;border-radius:4px;position:relative;overflow:hidden}.passenger{position:absolute;width:16px;height:18px;border-radius:9px 9px 0 0;background:#6ca3ae;left:15px;top:14px}.passenger:before{content:'';position:absolute;width:11px;height:11px;background:#d5a67e;border-radius:50%;top:-10px;left:2px}.cabin-grip{color:#86526b;font-size:23px}.lift-car.arrived{background:#bfe9d0;border-color:#3b8b63}.lift-console{display:grid;grid-template-columns:64px 1fr 64px;gap:12px;align-items:center;margin:24px 0}.lift-console button{border:1px solid #a5cdd3;background:#e2f5f7;border-radius:15px;font-size:38px;color:#306375;min-height:64px;cursor:pointer}.lift-console output{text-align:center;font:900 32px Nunito,sans-serif}.lift-console button:active{transform:translateY(2px)}#stopLift{width:100%;background:#cf5f80;border-color:#cf5f80;font-size:21px}#liftControls[hidden]{display:none}.tools button{font:800 16px "Source Sans 3",sans-serif;min-height:44px}.decision-card>p,.choice{font-size:19px}.building-head span{font-size:17px}.building-head small{font-size:14px}.decision-card{align-self:center}.workbench{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
html.lift-screen-open,html.lift-screen-open body{overflow:hidden;overscroll-behavior:none}.game-shell.lift-fullscreen{position:fixed;inset:0;z-index:1000;width:100%;height:100dvh;background:var(--paper);border:0;border-radius:0;display:flex;flex-direction:column;overflow:hidden}.lift-fullscreen .toolbar{flex:none}.lift-fullscreen .phase-track{display:none}.lift-fullscreen .play-area{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px;gap:10px}.lift-fullscreen .workbench{flex:1;min-height:0;margin:0;grid-template-columns:1fr 1fr}.lift-fullscreen .building-card{display:flex;min-height:0;flex-direction:column}.lift-fullscreen .building{flex:1;min-height:0;height:auto}.lift-fullscreen .mission-card{flex:none;padding:10px 16px}.lift-fullscreen .mission-card h2{font-size:28px}.lift-fullscreen .route{font-size:18px}.lift-fullscreen .bottom-bar{margin:0;flex:none}.lift-fullscreen .feedback{font-size:20px}.lift-fullscreen .choice,.lift-fullscreen .decision-card>p{font-size:22px}.lift-fullscreen .decision-card h2{font-size:28px}.lift-fullscreen .check-btn,.lift-fullscreen .next-btn{font-size:21px}.lift-fullscreen .tools button{font-size:20px}.lift-fullscreen .layer{overflow:auto}.lift-fullscreen .stats strong{font-size:23px}
@media(max-width:600px){.workbench{grid-template-columns:1fr}.building{height:540px}.tools{display:flex;flex-wrap:wrap}.tools button{flex:1}.lift-fullscreen .toolbar{flex-direction:row;padding:5px;gap:5px}.lift-fullscreen .stats span:not(:first-child){display:none}.lift-fullscreen .tools button{font-size:14px;padding:4px}.lift-fullscreen .workbench{grid-template-columns:1fr 1fr;gap:6px}.lift-fullscreen .building{padding:12px 2px}.lift-fullscreen .building-head{display:none}.lift-fullscreen .lift-shaft{right:2px;width:62px}.lift-fullscreen .room{display:none}.lift-fullscreen .level-mark{padding-left:3px}.lift-fullscreen .level-mark>strong{font-size:18px}.lift-fullscreen .decision-card{padding:8px}.lift-fullscreen .decision-card h2{font-size:19px}.lift-fullscreen .decision-card>p,.lift-fullscreen .choice{font-size:16px}.lift-fullscreen .lift-console{grid-template-columns:1fr 1fr;gap:4px;margin:10px 0}.lift-fullscreen .lift-console output{grid-column:1/-1;grid-row:1;font-size:24px}.lift-fullscreen .lift-console button{min-height:44px;font-size:28px}.lift-fullscreen .mission-card h2{font-size:20px}.lift-fullscreen .route{font-size:14px}.lift-fullscreen .mission-icon{display:none}.lift-fullscreen .feedback{font-size:16px}.lift-fullscreen .bottom-bar{gap:4px}.lift-fullscreen .check-btn,.lift-fullscreen #stopLift,.lift-fullscreen .next-btn{font-size:16px;padding:8px}.lift-fullscreen .panel-kicker{display:none}.lift-fullscreen .cabin-grip{display:none}.lift-fullscreen .lift-car{left:0;right:0}}
@media(max-height:700px) and (min-width:601px){.lift-fullscreen .building{padding-top:12px;padding-bottom:10px}.lift-fullscreen .building-head{display:none}.lift-fullscreen .lift-car{height:34px}.lift-fullscreen .decision-card{padding:12px}.lift-fullscreen .mission-card h2{font-size:24px}.lift-fullscreen .lift-console{margin:12px 0}.lift-fullscreen .choice{padding:7px 10px}.lift-fullscreen .level-mark>strong{font-size:19px}}

.game-shell.lift-fullscreen .workbench{min-height:0}
/* Illustrated cutaway: furnished floors, warm facade and a prominent cabin. */
.building{background:linear-gradient(#ddf1f5 0 52%,#e9dac8 52%);padding:36px 26px 16px;height:620px}.tower{max-width:540px;width:100%;border:5px solid #a9a0a6;border-top:9px solid #998594;border-radius:8px 8px 4px 4px;background:#fffbf5;box-shadow:9px 7px 0 #65757d20}.tower:before{content:'';position:absolute;left:-13px;right:-13px;top:-21px;height:15px;border:3px solid #998594;background:#cfb9c5;border-radius:8px 8px 3px 3px}.level-mark{padding-left:10px;gap:8px;border-bottom:3px solid #d6c9c0;background:#fff9ef}.level-mark:nth-child(3n+1){background:#eff6ef}.level-mark:nth-child(3n+2){background:#fbf0ee}.level-mark.underground{background:#ede5db;border-color:#c9baac}.level-mark.ground{background:#ffe8b2;border-top:3px solid #c6a56a;border-bottom:3px solid #c6a56a}.level-mark>strong{background:#fff9;border:1px solid #d7cfc9;border-radius:7px;min-width:43px;width:43px;line-height:1.2;text-align:center;font-size:22px;padding:1px}.level-mark.current>strong{background:#f8c4d3;color:#78364e;border-color:#d6809c}.room{display:flex;flex:1;min-width:0;padding-right:130px;gap:4px;position:relative}.room svg{height:100%;width:100%;max-width:230px;display:block}.room>span{font:900 12px Nunito,sans-serif;letter-spacing:.04em;color:#7b6759;flex-shrink:0}.lift-shaft{right:10px;width:114px;background:repeating-linear-gradient(0deg,transparent 0,transparent 34px,#ffffff28 35px,#ffffff28 37px),#d2e1e5;border-left:4px solid #95acb6;border-right:4px solid #95acb6;box-shadow:inset 5px 0 10px #60778116}.lift-rail{border-left:3px solid #8ba1ab}.lift-car{height:44px;left:2px;right:2px;border:3px solid #9a536e;border-radius:9px;background:linear-gradient(#f8c6d6,#e997b2);box-shadow:0 4px 0 #8c526b44,inset 0 2px #fff8;gap:4px}.cabin-window{height:32px;width:69px;border-color:#a46880;background:linear-gradient(120deg,#fffbef 65%,#fff 65%,#fff 75%,#fffbef 75%)}.passenger{left:9px;background:#5c98ad;top:18px}.passenger:before{background:#d8ac84}.passenger.friend{left:38px;top:16px;background:#c58d5f}.passenger.friend:before{background:#ab795e}.cabin-grip{font-size:25px}.lift-car.held{box-shadow:0 0 0 5px #eea4bd55,0 5px 0 #8c526b44}.lift-car.arrived{background:#bfe9d0}.workbench{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.lift-fullscreen .workbench{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
@media(max-width:850px){.building{padding-left:14px;padding-right:14px}.room>span{display:none}}
@media(max-width:600px){.workbench{grid-template-columns:1fr}.building{height:620px}.room{padding-right:102px}.lift-shaft{right:4px;width:94px}.room svg{min-width:0}.lift-fullscreen .room{display:none}.lift-fullscreen .tower:before{left:-3px;right:-3px;top:-12px;height:8px;border-width:1px}.lift-fullscreen .tower{border-width:3px}.lift-fullscreen .level-mark>strong{min-width:30px;width:30px;font-size:17px;padding:0}.lift-fullscreen .lift-shaft{width:62px;right:1px}.lift-fullscreen .cabin-window{width:48px}.lift-fullscreen .passenger.friend{left:28px}}
@media(max-height:700px) and (min-width:601px){.lift-fullscreen .building{padding-top:22px}.lift-fullscreen .lift-car{height:34px}.lift-fullscreen .cabin-window{height:26px}.lift-fullscreen .level-mark>strong{font-size:18px}.lift-fullscreen .room>span{display:none}}
/* Close view: the cabin stays central while the floors pass beside it. */
.building,.lift-fullscreen .building{display:flex;gap:16px;padding:18px;background:#f1f7f8;isolation:auto;height:530px}.floor-scale{width:58px;flex:none;display:flex;flex-direction:column;justify-content:space-between;position:relative;padding:5px 0}.floor-scale:before{content:'';position:absolute;top:12px;bottom:12px;left:50%;width:2px;background:#c6d8dd}.floor-scale span{position:relative;align-self:center;background:#f1f7f8;color:#617581;font:900 20px/1.1 Nunito,sans-serif;padding:2px 7px;border-radius:8px;min-width:44px;text-align:center}.floor-scale .zero{color:#86672f;background:#ffedbe}.floor-scale .current{background:#d56689;color:#fff;box-shadow:0 2px 0 #ad4265}.travel-view{position:relative;flex:1;min-width:0;overflow:hidden;border:1px solid #c8dbe0;border-radius:20px;background:linear-gradient(90deg,#e2edef,#f7fbfc 32%,#f7fbfc 85%,#dce9ed)}.passing-floors{position:absolute;inset:0}.passing-floor{position:absolute;left:0;right:0;height:32%;transform:translateY(-50%);border-top:5px solid #c2d5da;border-bottom:5px solid #c2d5da;background:#ffffff85;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-left:12px;transition:top .2s ease-out;color:#526d79}.passing-floor b{font:900 clamp(26px,3vw,40px) Nunito,sans-serif}.passing-floor span{font-size:13px}.passing-floor.zero{background:#ffedbdc9;border-color:#d4b46e;color:#7d622b}.cabin-cables{position:absolute;top:0;bottom:50%;left:64%;width:40px;border-left:4px solid #a3b5bd;border-right:4px solid #a3b5bd;transform:translateX(-50%)}.focus-cabin{position:absolute;left:64%;top:50%;transform:translate(-50%,-50%);width:54%;max-width:235px;height:56%;max-height:280px;min-height:140px;background:#edb4c7;border:4px solid #a5637d;border-radius:18px 18px 10px 10px;padding:14px 12px 24px;box-shadow:7px 8px 0 #5b617b22,inset 0 4px #fff7;display:flex;flex-direction:column;gap:10px;touch-action:none;user-select:none;cursor:grab}.focus-cabin.held{cursor:grabbing;box-shadow:0 0 0 6px #e99db533,7px 8px 0 #5b617b22}.focus-cabin:focus-visible{outline:4px solid #1291a7;outline-offset:4px}.cabin-display{align-self:center;background:#fff9ed;border:2px solid #bd8096;border-radius:8px;min-width:70px;text-align:center;color:#78364e;font:900 30px/1.15 Nunito,sans-serif;padding:3px 10px}.cabin-doors{display:flex;flex:1;min-height:0;border:3px solid #a76d83;border-radius:8px 8px 2px 2px;overflow:hidden;background:#fef8f0}.cabin-doors>div{width:50%;background:linear-gradient(110deg,#f9f1ec,#e4d3d5);transition:transform .3s}.cabin-doors>div:first-child{border-right:2px solid #b68b9d}.focus-cabin.arrived .cabin-doors>div:first-child{transform:translateX(-65%)}.focus-cabin.arrived .cabin-doors>div:last-child{transform:translateX(65%)}.cabin-handle{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:22px;color:#8b4d65;line-height:24px}.travel-status{position:absolute;bottom:10px;left:8px;right:8px;text-align:center;background:#ffffffed;border-radius:10px;padding:8px;color:#496170;font:800 16px "Source Sans 3",sans-serif}.lift-fullscreen .building{height:auto;min-height:0}.lift-fullscreen .floor-scale span{font-size:20px}.lift-fullscreen .focus-cabin{min-height:120px}.lift-fullscreen .travel-status{font-size:18px}
@media(max-width:600px){.building{height:470px;gap:8px;padding:10px}.floor-scale{width:42px}.floor-scale span{font-size:17px;min-width:34px}.lift-fullscreen .building{gap:3px;padding:5px}.lift-fullscreen .floor-scale{width:30px}.lift-fullscreen .floor-scale span{font-size:15px;min-width:28px;padding:2px}.lift-fullscreen .passing-floor{padding-left:3px}.lift-fullscreen .passing-floor b{font-size:18px}.lift-fullscreen .passing-floor span{display:none}.lift-fullscreen .focus-cabin{width:59%;left:66%;padding:6px 4px 20px;border-width:2px;border-radius:10px;min-height:110px;height:44%}.lift-fullscreen .cabin-display{font-size:20px;min-width:32px;padding:2px}.lift-fullscreen .cabin-doors{border-width:2px}.lift-fullscreen .travel-status{font-size:13px;padding:5px;left:2px;right:2px}.lift-fullscreen .cabin-cables{width:18px;left:66%;border-width:2px}}
@media(prefers-reduced-motion:reduce){.passing-floor,.cabin-doors>div{transition:none}}
.context-phases{grid-template-columns:repeat(4,1fr)}.lift-console[hidden]{display:none}.building.context-temperature,.building.context-sea,.building.context-debt{padding:16px;display:flex}.measurement-scene{position:relative;flex:1;min-width:0;overflow:hidden;border-radius:18px;background:#f6fafa}.measurement-scene>output{position:absolute;left:16px;top:12px;font:900 34px Nunito,sans-serif;color:#365969;z-index:4;background:#ffffffe6;border-radius:12px;padding:6px 14px}.measure-track{position:absolute;top:76px;bottom:48px;left:12%;right:12%;}.zero-reference{position:absolute;left:0;right:0;border-top:3px dashed #b59854;z-index:2;pointer-events:none}.zero-reference span{position:absolute;right:0;bottom:4px;background:#fff3cc;border-radius:6px;padding:3px 7px;font-weight:800;font-size:18px;color:#71582e}.thermo-tube{position:absolute;top:0;bottom:0;left:50%;width:36px;transform:translateX(-50%);background:white;border:4px solid #90afb9;border-radius:24px 24px 0 0;overflow:hidden}.thermo-tube #mercury{position:absolute;bottom:0;left:5px;right:5px;background:#d96e90;border-radius:10px 10px 0 0;transition:height .1s}.thermo-bulb{position:absolute;left:50%;bottom:-23px;width:60px;height:60px;transform:translateX(-50%);border:5px solid #90afb9;border-radius:50%;background:#d96e90;box-shadow:inset 0 0 0 6px white}.measure-ticks{position:absolute;inset:0;pointer-events:none}.measure-ticks i{position:absolute;left:calc(50% + 27px);width:12px;border-top:2px solid #9aafb8}.scene-handle{position:absolute;left:50%;transform:translate(-50%,-50%);width:64px;height:48px;border:3px solid #a55773;border-radius:14px;background:#f5d0dd;color:#86435d;display:flex;align-items:center;justify-content:center;font:900 28px Nunito,sans-serif;cursor:grab;touch-action:none;z-index:3;user-select:none}.scene-handle.held{cursor:grabbing;box-shadow:0 0 0 5px #d96e9026}.scene-handle:focus-visible{outline:4px solid #078b9c;outline-offset:3px}.ocean-scene{background:#eaf6fa}.ocean-scene .water-fill{position:absolute;left:-30%;right:-30%;bottom:-50px;background:linear-gradient(#bae8ec,#86b6d0);border-top:4px solid #68b7c4}.ocean-scene .scene-handle{width:126px;height:76px;background:transparent;border:0}.ocean-scene .scene-handle svg{width:100%;height:100%;filter:drop-shadow(0 4px 0 #5e759720)}.ocean-scene .measure-ticks i{left:0;width:14px}.ocean-scene .zero-reference span{right:auto;left:0}.ocean-scene .measure-track{top:80px;bottom:50px}.debt-scene{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;width:100%;background:#f8f3ed;border-radius:18px;padding:22px}.debt-book{background:#fffdf8;border:2px solid #d7c4b5;border-left:12px solid #c5819b;border-radius:10px;box-shadow:8px 8px 0 #dacdbb45;padding:25px;text-align:center;width:min(100%,300px)}.debt-book>span{font:900 14px Nunito,sans-serif;color:#997283;letter-spacing:.1em}.debt-book>strong{display:block;font:900 44px Nunito,sans-serif;margin:14px 0 0}.debt-book p{font-size:18px;color:#716a6a;margin:4px 0 20px}.debt-book output{display:block;border-top:2px dashed #d9c9bc;padding-top:16px;font:900 26px Nunito,sans-serif;min-height:52px;color:#9d4665}.money-cards{display:flex;gap:10px;width:100%;justify-content:center}.money-cards button{font:900 25px Nunito,sans-serif;background:white;color:var(--ink);border:2px solid #d8c9d0;border-radius:13px;min-height:60px;padding:10px;cursor:pointer;flex:1;max-width:130px}.money-cards button[aria-pressed=true]{background:#f8d7e3;border-color:#c66688}.lift-fullscreen .measurement-scene>output{font-size:34px}.lift-fullscreen .building.context-debt{min-height:0}.lift-fullscreen .debt-scene{gap:14px}.lift-fullscreen .debt-book{padding:18px}
@media(max-width:600px){.lift-fullscreen .building.context-temperature,.lift-fullscreen .building.context-sea,.lift-fullscreen .building.context-debt{padding:4px}.lift-fullscreen .measurement-scene>output{font-size:22px;left:5px;top:5px;padding:5px}.lift-fullscreen .zero-reference span{font-size:12px;max-width:90px}.lift-fullscreen .measure-track{left:8%;right:8%;top:65px}.lift-fullscreen .scene-handle{width:48px;height:44px}.lift-fullscreen .ocean-scene .scene-handle{width:92px;height:60px}.lift-fullscreen .debt-scene{padding:8px;gap:10px}.lift-fullscreen .debt-book{padding:12px 5px;border-left-width:5px}.lift-fullscreen .debt-book>strong{font-size:30px}.lift-fullscreen .debt-book p{font-size:15px}.lift-fullscreen .debt-book>span{font-size:11px}.lift-fullscreen .money-cards{flex-wrap:wrap;gap:5px}.lift-fullscreen .money-cards button{font-size:18px;min-height:44px;flex:1 1 40%}.lift-fullscreen .debt-book output{font-size:20px}}
@media(max-height:700px) and (min-width:601px){.lift-fullscreen .debt-book{padding:10px}.lift-fullscreen .debt-book>strong{font-size:32px;margin-top:4px}.lift-fullscreen .debt-book p{margin-bottom:8px}.lift-fullscreen .debt-book output{padding-top:7px}.lift-fullscreen .debt-scene{padding:10px;gap:10px}.lift-fullscreen .money-cards button{min-height:48px}.lift-fullscreen .measure-track{top:58px;bottom:36px}.lift-fullscreen .measurement-scene>output{font-size:24px;top:5px}}
