:root{--background: #0f1117;--panel: #171a23;--panel-soft: #1f2330;--floor-line: #303545;--text-primary: #f4f1ea;--text-secondary: #a7adbd;--elevator: #e8e3d8;--elevator-dark: #2a2e3a;--danger: #ff5a5f;--warning: #ffb84d;--focus: #6fb3ff;color:var(--text-primary);background:var(--background);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 50% 0%,#202638 0,transparent 34rem),var(--background)}button{font:inherit;-webkit-tap-highlight-color:transparent}.eyebrow{margin:0 0 5px;color:var(--text-secondary);font-size:.68rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}h1,h2{margin:0;line-height:1}h1{color:var(--text-primary);font-size:2.15rem;font-weight:850}.game-shell{display:grid;place-items:center;min-height:100vh;min-height:100dvh;padding:12px}.control-panel{position:relative;display:grid;grid-template-rows:auto 1fr auto;gap:14px;width:min(100%,460px);min-height:min(760px,calc(100vh - 24px));min-height:min(760px,calc(100dvh - 24px));border:1px solid #2a3040;border-radius:18px;padding:16px;background:linear-gradient(180deg,#191d27,#12151d);box-shadow:0 24px 80px #00000070}.control-panel.paused{border-color:#4da3ff80;box-shadow:0 24px 80px #00000070,0 0 0 1px #4da3ff26,0 0 34px #4da3ff18}.restart-button{min-height:42px;border:1px solid #3a4051;border-radius:12px;padding:0 13px;color:var(--text-primary);background:#252a36;cursor:pointer;transition:border-color .12s ease,background .12s ease,transform .12s ease}.restart-button:active{transform:scale(.97)}.restart-button.primary{border-color:#4da3ff;color:#08101c;background:#4da3ff;font-weight:800}.restart-button.ghost{min-height:36px;color:var(--text-secondary);background:transparent}.topbar{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.brand{min-width:0}.brand .eyebrow{margin-bottom:3px}.brand h1{font-size:1.45rem}.header-actions{display:flex;gap:6px;align-items:center}.header-actions .restart-button{min-height:34px;padding-inline:10px;border-radius:10px;font-size:.78rem}.stats{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.stat:first-child{grid-column:1 / -1}.stat{min-width:0;border:1px solid #2b3040;border-radius:8px;padding:6px 7px;background:var(--panel-soft)}.stat span{display:block;overflow:hidden;color:var(--text-secondary);font-size:.66rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.stat strong{display:block;overflow-wrap:anywhere;color:var(--text-primary);font-size:.82rem;font-weight:850;line-height:1.12}.pause-ribbon{grid-column:1 / -1;display:grid;place-items:center;min-height:34px;border:1px solid #4da3ff4d;border-radius:10px;color:#9cccff;background:#4da3ff14;font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.building{--floor-count: 6;--floor-height: 76px;--elevator-height: calc(var(--floor-height) - 12px);display:grid;grid-template-columns:minmax(0,1fr) minmax(84px,106px);gap:7px;align-items:stretch;min-height:0;padding:4px 0}.floor-list{display:grid;grid-template-rows:repeat(var(--floor-count),var(--floor-height));min-width:0;align-self:center}.floor-card{position:relative;display:grid;grid-template-columns:10px 22px minmax(0,1fr) 22px;gap:6px;align-items:center;width:100%;height:100%;min-height:60px;border:0;border-radius:10px 0 0 10px;padding:0 6px;color:var(--text-primary);background:transparent;text-align:left;cursor:pointer;overflow:hidden}.floor-card:disabled,.floor-hit-zone:disabled{cursor:default}.floor-card:after{content:"";position:absolute;bottom:0;right:-9px;width:9px;height:1px;background:var(--floor-line)}.floor-card.target{background:#4da3ff17;box-shadow:inset 0 0 0 1px #4da3ff38}.floor-card.target:after{height:2px;background:#4da3ff;box-shadow:0 0 14px #4da3ff}.floor-card.current{background:#f4f1ea10}.floor-card.saturated{background:linear-gradient(90deg,#ffb84d16,transparent 72%);box-shadow:inset 0 0 0 1px #ffb84d3b;animation:saturation 1s ease-in-out infinite alternate}.floor-color{width:10px;height:28px;border:1px solid #ffffff42;border-radius:999px}.floor-number{color:var(--text-primary);font-size:1.12rem;font-weight:850;font-variant-numeric:tabular-nums}.floor-meta{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;color:var(--text-secondary);background:#0f1117;font-size:.68rem;font-weight:800}.shaft{position:relative;box-sizing:content-box;align-self:center;overflow:hidden;height:calc(var(--floor-count) * var(--floor-height));border-inline:2px solid #3a4051;border-radius:14px;background:repeating-linear-gradient(to top,transparent 0,transparent calc(var(--floor-height) - 2px),#303545 calc(var(--floor-height) - 2px),#303545 var(--floor-height)),linear-gradient(90deg,#10131b,#171b25 50%,#10131b);box-shadow:inset 0 0 0 1px #0c0e14,0 0 0 1px #242936}.floor-hit-zone{position:absolute;bottom:calc(var(--floor-index) * var(--floor-height));left:0;width:100%;height:var(--floor-height);border:0;background:transparent;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}.floor-hit-zone:not(:disabled):hover{background:linear-gradient(90deg,#fff0,#4da3ff14,#fff0);box-shadow:inset 0 0 10px #4da3ff0d}.floor-hit-zone.targeted{background:linear-gradient(90deg,transparent,#4da3ff24,transparent);animation:target-glow .65s ease-in-out infinite alternate}.elevator{position:absolute;right:13px;bottom:calc((var(--floor-height) - var(--elevator-height)) / 2);left:13px;height:var(--elevator-height);border:2px solid #fffaf0;border-radius:12px;padding:7px;color:#0f1117;background:var(--elevator);box-shadow:0 10px 28px #0000006b,0 0 26px #e8e3d833;transition:border-color .12s ease,box-shadow .12s ease;transform:translateY(calc(var(--elevator-y) * var(--floor-height) * -1));will-change:transform}.elevator.full{border-color:var(--warning);box-shadow:0 10px 28px #0000006b,0 0 24px #ffb84d45}.capacity{display:inline-flex;min-width:39px;justify-content:center;border-radius:999px;padding:2px 8px;color:var(--elevator);background:var(--elevator-dark);font-size:.76rem;font-weight:900;font-variant-numeric:tabular-nums}.cabin-passengers,.queue-dots{display:flex;gap:5px;align-items:center}.queue-dots{height:38px;width:145px;flex-direction:row-reverse;justify-content:flex-start;justify-self:end;min-width:0;overflow:hidden}.cabin-passengers{margin-top:7px}.passenger{position:relative;display:inline-grid;place-items:center;width:25px;height:25px;border:none;border-radius:50%;color:#0f1117;font-size:.74rem;font-weight:950;font-variant-numeric:tabular-nums;box-shadow:0 1px #ffffff94 inset,0 6px 13px #0003;animation:pop-in .16s ease-out}.passenger-timer-svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}.passenger-timer-track{stroke:#ffffff40}.passenger-timer-progress{stroke:#fff;transition:stroke-dashoffset .1s linear,stroke .2s ease}.passenger.impatient .passenger-timer-progress{stroke:var(--warning)}.passenger.critical .passenger-timer-progress{stroke:var(--danger)}.passenger-label{position:relative;z-index:1}.queue-overflow{display:inline-grid;place-items:center;min-width:30px;height:25px;border:1px solid #ffffff24;border-radius:999px;padding:0 7px;color:var(--text-primary);background:#0f1117d9;font-size:.72rem;font-weight:900;font-variant-numeric:tabular-nums;box-shadow:0 6px 13px #0003}.passenger:not(.compact){animation:passenger-approach .7s cubic-bezier(.18,.86,.3,1) both}.passenger.compact{width:22px;height:22px;font-size:.68rem;animation:passenger-cabin-entry .52s cubic-bezier(.18,.86,.3,1) both}.passenger.impatient{animation:pulse .9s ease-in-out infinite alternate}.passenger.critical{animation:critical-pulse .36s ease-in-out infinite alternate}.status-panel{display:grid;grid-template-columns:minmax(92px,auto) 1fr auto;gap:10px;align-items:center;border-top:1px solid #2a3040;padding-top:13px}.pressure-copy strong,.pressure-copy span{display:block}.pressure-copy strong{font-size:.9rem}.pressure-copy span{color:var(--text-secondary);font-size:.72rem}.stress-track{height:9px;overflow:hidden;border-radius:999px;background:#0f1117;box-shadow:inset 0 0 0 1px #2f3545}.stress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#5ee6a8,#ffd166 58%,#ff5a5f);transition:width .18s ease}.overlay{position:fixed;inset:0;display:grid;place-items:center;padding:18px;background:#07080ccb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.game-over{width:min(360px,100%);border:1px solid #353b4c;border-radius:16px;padding:24px;color:var(--text-primary);background:linear-gradient(180deg,#202532,#151821);box-shadow:0 24px 80px #0009;text-align:center}.game-over h2{font-size:2rem}.game-over p{color:var(--text-secondary)}.result-list{margin:18px 0;color:var(--text-primary);font-weight:900;display:grid;gap:8px;font-size:.95rem}.service-select-card{display:grid;grid-template-columns:minmax(300px,380px) minmax(320px,420px);gap:18px;width:min(860px,100%);max-height:calc(100vh - 36px);color:var(--text-primary);animation:pop-in .35s cubic-bezier(.175,.885,.32,1.1) forwards}.service-list-panel{border:1px solid rgba(77,163,255,.18);border-radius:18px;padding:18px;background:linear-gradient(180deg,#171b25f7,#0f1117fa);box-shadow:0 24px 70px #00000094;overflow:hidden}.service-list-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.service-list-header .eyebrow{margin:0}.service-list-header span{color:var(--text-secondary);font-size:.75rem;font-weight:800}.service-list{display:grid;gap:7px;max-height:min(560px,calc(100vh - 150px));overflow-y:auto;padding-right:4px}.service-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:10px 11px;color:var(--text-primary);background:#ffffff09;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .15s ease}.service-row:hover:not(:disabled),.service-row.selected{border-color:#6fb3ff8c;background:#4da3ff1f}.service-row:hover:not(:disabled){transform:translateY(-1px)}.service-row.locked{color:#6f7585;cursor:not-allowed}.service-index{color:var(--focus);font-size:.78rem;font-weight:900;font-variant-numeric:tabular-nums}.service-name{overflow:hidden;font-size:.9rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.service-state{color:var(--warning);font-size:.78rem;font-weight:900;white-space:nowrap}.service-row.locked .service-index,.service-row.locked .service-state{color:#6f7585}.day-card{position:relative;width:min(390px,100%);border:2px solid rgba(77,163,255,.25);border-radius:24px;padding:32px 24px;color:var(--text-primary);background:linear-gradient(180deg,#202532f2,#151821fa);box-shadow:0 24px 80px #000c,0 0 40px #4da3ff1a,inset 0 0 12px #ffffff0d;text-align:center;overflow:hidden;animation:pop-in .4s cubic-bezier(.175,.885,.32,1.1) forwards;will-change:transform,opacity}.service-briefing-card{width:100%}.day-card h2{font-size:2.1rem;font-weight:900;margin:6px 0 16px;background:linear-gradient(90deg,#fff,#6fb3ff,#fff);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 4px 10px rgba(0,0,0,.4)}.day-card p{font-size:.9rem;line-height:1.4;margin:0 0 20px;color:var(--text-secondary)}.briefing-stagger{opacity:0;animation:slide-up-fade .5s cubic-bezier(.25,.46,.45,.94) forwards}.briefing-stagger:nth-child(1){animation-delay:.1s}.briefing-stagger:nth-child(2){animation-delay:.25s}.briefing-stagger:nth-child(3){animation-delay:.4s}.briefing-stagger:nth-child(4){animation-delay:.55s}.briefing-stagger:nth-child(5){animation-delay:.7s}.objective-briefing{background:#4da3ff0a;border:1px solid rgba(77,163,255,.12);border-radius:16px;padding:16px;margin:20px 0 24px;text-align:left}.objective-briefing-title{font-size:.75rem;font-weight:800;color:var(--focus);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;display:flex;align-items:center;gap:8px}.objective-row{display:flex;align-items:center;gap:12px}.objective-icon-container{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:#6fb3ff26;color:var(--focus);font-size:1.2rem;font-weight:700}.objective-text{display:flex;flex-direction:column}.objective-desc{font-size:.95rem;font-weight:800;color:var(--text-primary)}.objective-subdesc{font-size:.72rem;color:var(--text-secondary);margin-top:2px}.btn-launch{position:relative;animation:pulse-glow-gold 2s infinite ease-in-out;font-weight:900!important;letter-spacing:.05em;transition:all .2s ease;width:100%}.btn-launch:hover{transform:scale(1.04)}.btn-launch:active{transform:scale(.96)}.countdown-overlay{position:fixed;inset:0;display:grid;place-items:center;background:#0f1117eb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000}.countdown-number{font-size:7.5rem;font-weight:900;color:var(--warning);animation:countdown-zoom 1s cubic-bezier(.25,.46,.45,.94) infinite;-webkit-user-select:none;user-select:none;text-shadow:0 0 18px rgba(255,209,102,.55);will-change:transform,opacity}.day-complete-card{position:relative;width:min(390px,100%);border:2px solid rgba(255,209,102,.25);border-radius:24px;padding:32px 24px;color:var(--text-primary);background:linear-gradient(180deg,#202532f2,#151821fa);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 24px 80px #000c,0 0 40px #ffd1661a,inset 0 0 12px #ffffff0d;text-align:center;overflow:hidden;animation:pop-in .4s cubic-bezier(.175,.885,.32,1.1) forwards}.day-complete-card h2{font-size:2.1rem;font-weight:900;margin:8px 0 16px;background:linear-gradient(90deg,#fff,#ffd166,#fff);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 4px 10px rgba(0,0,0,.4);animation:float-slow 4s ease-in-out infinite}.stars-container{display:flex;justify-content:center;gap:16px;margin:16px 0}.star-wrapper{position:relative;width:42px;height:42px}.star-svg{width:100%;height:100%;fill:var(--warning);opacity:0;transform:scale(0)}.star-svg.active{opacity:1;transform:scale(1);animation:star-pop .5s cubic-bezier(.175,.885,.32,1.275) forwards}.star-svg.inactive{fill:#2f3545;opacity:.4;transform:scale(1)}.badge-container{position:relative;width:100px;height:100px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center}.badge-rays{position:absolute;top:50%;left:50%;width:140px;height:140px;background:radial-gradient(circle,#ffd16626,#ffd16600 70%);opacity:.8;transform:translate(-50%,-50%);animation:spinning-rays 12s linear infinite;pointer-events:none;z-index:0}.badge-main{position:relative;width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,#ffd166,#ffb84d);border:3px solid #fff;box-shadow:0 10px 24px #ffb84d66,inset 0 2px 4px #fff9;display:flex;align-items:center;justify-content:center;z-index:1;overflow:hidden;animation:stamp-bounce .8s cubic-bezier(.175,.885,.32,1.35) forwards}.badge-main.silver{background:linear-gradient(135deg,#e2e8f0,#94a3b8);border-color:#f8fafc;box-shadow:0 10px 24px #94a3b859}.badge-main.bronze{background:linear-gradient(135deg,#f97316,#c2410c);border-color:#ffedd5;box-shadow:0 10px 24px #c2410c59}.badge-shine{position:absolute;top:0;left:-120%;width:50%;height:100%;background:linear-gradient(90deg,#fff0,#fff9,#fff0);transform:skew(-25deg);animation:shine-sweep 2.5s ease-in-out infinite}.badge-text{font-size:1.4rem;font-weight:900;color:#12151d;text-shadow:0 1px 2px rgba(255,255,255,.6);letter-spacing:.05em}.day-complete-card .result-list{margin:24px 0;display:grid;gap:12px}.complete-actions{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:8px}.stat-row{display:flex;justify-content:space-between;align-items:center;background:#ffffff08;border:1px solid rgba(255,255,255,.05);border-radius:12px;padding:10px 16px;opacity:0;animation:stat-row-fade .5s ease forwards}.stat-row:nth-child(1){animation-delay:.6s}.stat-row:nth-child(2){animation-delay:.8s}.stat-row:nth-child(3){animation-delay:1s}.stat-row:nth-child(4){animation-delay:1.2s}.stat-label{color:var(--text-secondary);font-size:.85rem;font-weight:500;text-align:left}.stat-value{color:var(--text-primary);font-size:1.05rem;font-weight:800;text-align:right}.stat-value.highlight{color:var(--warning);text-shadow:0 0 10px rgba(255,209,102,.3)}@media(max-width:760px){.service-select-card{grid-template-columns:1fr;gap:12px;overflow-y:auto}.service-list{max-height:240px}.day-card{padding:24px 18px}.complete-actions{grid-template-columns:1fr}}@keyframes target-glow{0%{opacity:.55}to{opacity:1}}@keyframes saturation{0%{box-shadow:inset 0 0 0 1px #ffb84d00}to{box-shadow:inset 0 0 0 1px #ffb84d55}}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #ffd16600}to{transform:scale(1.08);box-shadow:0 0 0 5px #ffd16628}}@keyframes critical-pulse{0%{transform:translate(-1px) scale(1);box-shadow:0 0 #ff5a5f00}to{transform:translate(1px) scale(1.1);box-shadow:0 0 0 6px #ff5a5f24}}@keyframes pop-in{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:scale(1)}}@keyframes passenger-approach{0%{opacity:0;transform:translate(-120px) scale(.84)}72%{opacity:1;transform:translate(4px) scale(1)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes passenger-cabin-entry{0%{opacity:0;transform:translate(52px) scale(.84)}80%{opacity:1;transform:translate(-2px) scale(1.02)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes stamp-bounce{0%{opacity:0;transform:scale(3.5)}60%{opacity:.9;transform:scale(.85)}85%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes spinning-rays{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes shine-sweep{0%{left:-120%}to{left:120%}}@keyframes star-pop{0%{opacity:0;transform:scale(0) rotate(-45deg);filter:drop-shadow(0 0 0px var(--warning))}70%{transform:scale(1.3) rotate(15deg)}to{opacity:1;transform:scale(1) rotate(0);filter:drop-shadow(0 0 8px var(--warning))}}@keyframes stat-row-fade{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes float-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-glow-gold{0%{box-shadow:0 0 #ffd16680;transform:scale(1)}70%{box-shadow:0 0 0 12px #ffd16600;transform:scale(1.03)}to{box-shadow:0 0 #ffd16600;transform:scale(1)}}@keyframes countdown-zoom{0%{opacity:0;transform:scale(.3) rotate(-10deg)}30%{opacity:1;transform:scale(1.2) rotate(5deg)}70%{opacity:1;transform:scale(1) rotate(0)}to{opacity:0;transform:scale(2) rotate(10deg)}}@media(min-width:720px){.control-panel{width:560px;padding:20px}.building{grid-template-columns:minmax(0,1fr) 150px;gap:12px}.floor-card{grid-template-columns:13px 28px minmax(0,1fr) 26px;gap:8px;padding-inline:10px}.floor-color{width:13px;height:30px}.floor-number{font-size:1.35rem}.passenger{width:28px;height:28px;font-size:.82rem}.stats{grid-template-columns:repeat(5,minmax(0,1fr))}.stat:first-child{grid-column:auto}}@media(max-width:430px){.game-shell{padding:8px}.control-panel{min-height:calc(100vh - 16px);min-height:calc(100dvh - 16px);gap:10px;padding:12px}.building{--floor-height: 64px !important;grid-template-columns:minmax(0,1fr) minmax(78px,96px);gap:6px}.floor-card{min-height:52px}.floor-card{grid-template-columns:9px 20px minmax(0,1fr) 20px;gap:5px;padding-inline:5px}.floor-color{width:10px}.floor-number{font-size:1.12rem}.passenger{width:23px;height:23px;font-size:.68rem}.queue-overflow{min-width:27px;height:23px;padding-inline:6px;font-size:.66rem}.status-panel{gap:8px;padding-top:10px}}@media(max-width:360px){.status-panel{grid-template-columns:1fr}.status-panel .restart-button{width:100%}}
