.reboot-app,.tw-tower{--paper: #fafbf8;--paper-2: #f1f3ee;--ink: #233d36;--ink-2: #5b7069;--ink-3: rgba(35, 61, 54, .32);--hair: rgba(35, 61, 54, .1);--lift-teal: #117e72;--lift-coral: #c44e3b;--lift-violet: #7257c7;--lift-gold: #d49a12;--up: #117e72;--down: #c44e3b;--danger: #d2432c;--radius: 14px;--ease: cubic-bezier(.2, .7, .2, 1);--game-paper: var(--paper);--shadow: 0 10px 34px rgba(35, 61, 54, .14), 0 1px 2px rgba(35, 61, 54, .08)}html,body,#root{margin:0;height:100%;overflow:hidden}body:has(.reboot-app){background:#fafbf8}.reboot-app,.reboot-app *{box-sizing:border-box}.reboot-app{position:relative;height:100vh;height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:var(--paper);color:var(--ink);font-family:Avenir Next,PingFang SC,Hiragino Sans GB,system-ui,sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;overflow:hidden;user-select:none;-webkit-user-select:none}.reboot-app{grid-template-columns:minmax(0,1fr)}.reboot-app>.game-header{grid-row:1;grid-column:1;min-width:0}.reboot-app>.round-progress{grid-row:2;grid-column:1}.reboot-app>.game-board{grid-row:3;grid-column:1}.reboot-app>.game-dock{grid-row:4;grid-column:1}:where(.reboot-app) button{font:inherit;color:inherit;border:0;background:none;padding:0;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.reboot-app button:disabled{cursor:default;opacity:.38}.reboot-app :focus-visible{outline:2px solid var(--ink);outline-offset:-3px}.reboot-app [role=dialog]:focus{outline:none}.game-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:max(6px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 4px max(14px,env(safe-area-inset-left));font-size:15px;font-weight:600;letter-spacing:.02em}.game-header>*{display:flex;align-items:center;gap:10px;min-width:0}.game-header small{font-size:12px;font-weight:500;color:var(--ink-2)}.game-header{padding-right:calc(max(14px,env(safe-area-inset-right)) + 84px)}.game-header h1{margin:0;font-size:17px;font-weight:800;letter-spacing:.14em;display:flex;align-items:center;gap:6px}.stage-mark{font-size:13px;color:var(--ink-2)}.stage-dots{display:inline-flex;gap:4px}.stage-dots i{width:7px;height:7px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink-3)}.stage-dots i.passed{background:var(--ink);box-shadow:none}.delivered-counter{font-size:16px}.delivered-counter strong{font-weight:800}.save-warning{position:absolute;bottom:68px;left:50%;transform:translate(-50%);z-index:10;font-size:11px;white-space:nowrap;background:var(--paper);color:var(--ink);padding:5px 10px;border:1px solid var(--hair);border-radius:8px}.secondary-controls{grid-row:1;grid-column:1;justify-self:end;align-self:start;z-index:2;display:flex;padding:max(2px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) 0 0}.secondary-controls .icon-control{width:40px;height:44px;color:var(--ink-3)}.round-progress{display:flex;align-items:center;gap:10px;min-height:20px;padding:0 max(14px,env(safe-area-inset-right)) 0 max(14px,env(safe-area-inset-left));font-size:11.5px;font-weight:600;color:var(--ink-2);white-space:nowrap}.round-progress:empty{height:3px;min-height:3px;margin:0 14px;padding:0;border-radius:2px;background:linear-gradient(to right,var(--ink) calc(var(--progress, 0) * 100%),var(--hair) 0)}.round-track{flex:1;height:3px;border-radius:2px;background:var(--hair);overflow:hidden}.round-track>i{display:block;height:100%;background:var(--ink);border-radius:2px}.traffic-phase{display:inline-flex;align-items:center;gap:3px}.game-board{position:relative;min-height:0;min-width:0}.tw-tower{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.tw-tower-svg{display:block;touch-action:none;font-family:inherit}.tw-floor .tw-badge{fill:var(--paper);stroke:var(--ink);stroke-width:1.6;transition:fill .25s,stroke .25s}.tw-floor .tw-badge-num{font-size:12.5px;font-weight:700;fill:var(--ink);text-anchor:middle}.tw-floor .tw-slab{stroke:var(--ink);stroke-opacity:.09;stroke-width:1;stroke-linecap:round}.tw-floor .tw-pressure{fill:none;stroke:var(--danger);stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .3s var(--ease),opacity .3s}.tw-floor.tw-locked .tw-badge{fill:none;stroke:var(--ink-3);stroke-dasharray:2 3}.tw-floor.tw-locked .tw-badge-num{fill:var(--ink-3);font-weight:500}.tw-floor .tw-lock,.tw-floor .tw-cafe{fill:none;stroke:var(--ink-3);stroke-width:1.2;stroke-linejoin:round}.tw-floor .tw-cafe{stroke:var(--ink-2)}.tw-venue{fill:none;stroke:var(--ink-2);stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}.tw-budget-preview{font-size:13px;font-weight:700;pointer-events:none;paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round}.track-resource{display:flex;align-items:center;gap:3px;min-height:44px;color:var(--ink);font-size:13px}.track-resource small{font-size:10px;color:var(--ink-2)}.tw-floor.tw-failed .tw-badge{fill:var(--danger);stroke:var(--danger)}.tw-floor.tw-failed .tw-badge-num{fill:#fff}.tw-floor .tw-overflow{font-size:11px;font-weight:800;fill:var(--ink-2)}.tw-floor .tw-overflow.tw-hot{fill:var(--danger)}.tw-pax circle{stroke:var(--paper);stroke-width:1}.tw-pax.tw-up circle{fill:var(--up)}.tw-pax.tw-down circle{fill:var(--down)}.tw-pax text{fill:#fff;font-weight:700;text-anchor:middle;pointer-events:none}.tw-pax.tw-transfer circle{fill:var(--paper);stroke-width:1.6}.tw-pax.tw-up.tw-transfer circle{stroke:var(--up)}.tw-pax.tw-down.tw-transfer circle{stroke:var(--down)}.tw-pax.tw-up.tw-transfer text{fill:var(--up)}.tw-pax.tw-down.tw-transfer text{fill:var(--down)}.tw-pax.tw-born .tw-pax-body{animation:rb-born .42s var(--ease) both;transform-box:fill-box;transform-origin:center}@keyframes rb-born{0%{transform:scale(.2);opacity:0}60%{transform:scale(1.18);opacity:1}to{transform:scale(1)}}.tw-lane-empty{fill:none;stroke:var(--ink-3);stroke-width:2;stroke-dasharray:3 7;stroke-linecap:round}.tw-shaft{transition:opacity .2s}.tw-shaft.tw-muted{opacity:.35}.tw-shaft .tw-line{stroke:currentColor;stroke-width:4;stroke-linecap:round}.tw-shaft.tw-express .tw-line{stroke-width:5.5}.tw-shaft .tw-cut{stroke:currentColor;stroke-width:2;stroke-dasharray:2 5;stroke-linecap:round;opacity:.45}.tw-shaft .tw-stop{fill:var(--paper);stroke:currentColor;stroke-width:2.6}.tw-shaft.tw-on .tw-stop{stroke-width:3.2}.tw-shaft .tw-pass{fill:var(--paper);stroke:currentColor;stroke-width:1.2;opacity:.55}.tw-shaft .tw-speed{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;opacity:.7}.tw-ghost .tw-line{stroke:currentColor;stroke-width:4;stroke-linecap:round;opacity:.45}.tw-ghost .tw-ghost-stop{fill:var(--paper);stroke:currentColor;stroke-width:2.2;opacity:.8}.tw-ghost.tw-short .tw-ghost-stop{stroke-dasharray:2 2}.tw-ghost .tw-ghost-label{font-size:12px;font-weight:700;fill:currentColor}.tw-ghost.tw-guide .tw-line{opacity:.25;animation:rb-breathe 2.4s ease-in-out infinite}.tw-ghost.tw-guide .tw-ghost-stop{stroke-dasharray:3 3}.tw-ghost.tw-guide .tw-finger{fill:var(--ink);opacity:0;transform-box:fill-box;transform-origin:center;animation:rb-drag 2.4s var(--ease) infinite}@keyframes rb-breathe{50%{opacity:.5}}@keyframes rb-drag{0%{transform:translateY(0) scale(.6);opacity:0}14%{transform:translateY(0) scale(1);opacity:.2}70%{transform:translateY(var(--dy)) scale(1);opacity:.2}86%,to{transform:translateY(var(--dy)) scale(.6);opacity:0}}.tw-car-body{fill:var(--paper);stroke:currentColor;stroke-width:2;transition:fill .25s}.tw-car.tw-express .tw-car-body{stroke-width:2.6}.tw-car.tw-full .tw-car-body{fill:color-mix(in srgb,currentColor 14%,var(--paper))}.um-glyph,.um-glyph *{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.um-glyph .um-fill{fill:currentColor;stroke:none}.upgrade-mark{display:block;flex:none;stroke:currentColor;overflow:visible}.tw-pop{font-size:13px;font-weight:800;fill:var(--ink);pointer-events:none;animation:rb-pop 1.3s var(--ease) both}.tw-pop.tw-express{fill:var(--lift-gold)}@keyframes rb-pop{0%{opacity:0;transform:translateY(4px)}15%{opacity:1;transform:translateY(0)}70%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.tw-cell{fill:transparent;cursor:pointer;outline:none}@media(hover:hover){.tw-cell:hover{fill:currentColor;fill-opacity:.06}}.tw-cell:focus-visible{stroke:var(--ink);stroke-width:2;stroke-dasharray:4 3}.tw-build-cell{cursor:crosshair;color:var(--ink)}.tw-is-dragging .tw-cell:hover{fill:transparent}.tw-handle{cursor:ns-resize;outline:none}.tw-handle-hit{fill:transparent}.tw-handle-grip{fill:currentColor;stroke:var(--paper);stroke-width:1.5;transition:transform .15s var(--ease);transform-box:fill-box;transform-origin:center}.tw-handle:hover .tw-handle-grip,.tw-handle.tw-live .tw-handle-grip{transform:scale(1.3)}.tw-handle:focus-visible .tw-handle-grip{stroke:var(--ink)}.game-dock{display:flex;align-items:center;justify-content:center;gap:6px;min-height:60px;padding:6px max(10px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));border-top:1px solid var(--hair)}.game-dock{flex-wrap:wrap;row-gap:0}.game-dock .spacer{flex:1}.play-controls{display:flex;align-items:center;gap:2px}.game-dock>.context-bar{padding:0;min-height:44px;min-width:0;overflow:visible}@media(max-width:380px){.game-dock>.context-bar{flex-wrap:wrap;justify-content:center}.lift-selector button{padding:0 7px;gap:3px}.game-header{gap:7px}.game-header>*{gap:6px}}.lift-selector{display:flex;gap:4px}.lift-selector button{--lift: var(--ink);min-width:44px;height:44px;padding:0 10px;border-radius:22px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:800;color:var(--lift);box-shadow:inset 0 0 0 2px var(--lift);transition:background-color .15s,color .15s}.lift-selector button[aria-pressed=true]{background:var(--lift);color:#fff}.lift-selector button:nth-child(4)[aria-pressed=true],.gift-targets button:nth-child(4) span{color:var(--ink)}.lift-selector button small{font-size:10.5px;font-weight:700;opacity:.8}.lift-selector .upgrade-mark{flex:none}@media(max-width:380px){.lift-selector button{padding:0 6px;gap:3px}.lift-selector .upgrade-mark{width:11px;height:11px}}.lift-selector button:nth-child(4n+1),.gift-targets button:nth-child(4n+1){--lift: var(--lift-teal)}.lift-selector button:nth-child(4n+2),.gift-targets button:nth-child(4n+2){--lift: var(--lift-coral)}.lift-selector button:nth-child(4n+3),.gift-targets button:nth-child(4n+3){--lift: var(--lift-violet)}.lift-selector button:nth-child(4n+4),.gift-targets button:nth-child(4n+4){--lift: var(--lift-gold)}.build-control{height:44px;padding:0 14px 0 12px;border-radius:22px;display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;background:var(--ink);color:var(--paper)!important}.build-control>b,.build-control .token{min-width:20px;height:20px;padding:0 5px;border-radius:10px;display:inline-grid;place-items:center;font-size:12px;background:var(--paper);color:var(--ink)}.build-control.active,.build-control[aria-pressed=true]{background:var(--paper);color:var(--ink)!important;box-shadow:inset 0 0 0 2px var(--ink)}.build-control.active>b,.build-control[aria-pressed=true]>b,.build-control[aria-pressed=true] .token{background:var(--ink);color:var(--paper)}.build-control:disabled{background:var(--paper-2);color:var(--ink-3)!important;opacity:1}.build-control:disabled>b{background:transparent;color:var(--ink-3)}.icon-control,.sound-button{width:44px;height:44px;border-radius:50%;display:inline-grid;place-items:center;color:var(--ink-2);font-size:13px;font-weight:700;transition:background-color .15s,color .15s}.icon-control:hover,.sound-button:hover{background:var(--paper-2);color:var(--ink)}.icon-control[aria-pressed=true]{background:var(--ink);color:var(--paper)}.icon-control.muted,.sound-button.muted{color:var(--ink-3)}.context-bar{display:flex;align-items:center;justify-content:center;gap:10px;min-height:34px;padding:0 14px;font-size:13px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-bar strong{color:var(--ink);font-weight:700}.hint-banner{position:absolute;z-index:5;left:50%;top:5px;transform:translate(-50%);max-width:min(92%,420px);padding:6px 13px;border-radius:15px;background:var(--ink);color:var(--paper);font-size:13px;font-weight:600;line-height:1.3;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:var(--shadow);pointer-events:none;animation:rb-hint .35s var(--ease) both}.hint-banner:not(.notice){background:#fafbf8e6;color:var(--ink-2);box-shadow:0 0 0 1px var(--hair);font-weight:500}.hint-banner:empty{display:none}@keyframes rb-hint{0%{opacity:0;transform:translate(-50%,-6px)}}.game-board:has(.tw-is-dragging) .hint-banner{opacity:0;transition:opacity .12s}.reboot-app .overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:20px;background:#fafbf8b8;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:rb-fade .2s ease both}@keyframes rb-fade{0%{opacity:0}}.reboot-app .dialog,.reward-panel,.end-panel{position:relative;max-height:calc(100% - 8px);overflow-y:auto;color:var(--ink);width:min(100%,380px);padding:22px 20px 18px;border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow),0 0 0 1px var(--hair);display:grid;gap:14px;text-align:center;animation:rb-rise .3s var(--ease) both}@keyframes rb-rise{0%{opacity:0;transform:translateY(10px)}}.reward-panel h2,.end-panel h2{margin:0;font-size:20px;font-weight:800;letter-spacing:.02em}.reward-panel p,.end-panel p{margin:0;font-size:14px;color:var(--ink-2);line-height:1.45}.end-panel strong{font-size:40px;font-weight:800;line-height:1}.end-panel button,.reward-panel>button{justify-self:center;height:46px;padding:0 26px;border-radius:23px;background:var(--ink);color:var(--paper)!important;font-weight:700}.reward-summary{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--ink)}.end-score{display:flex;align-items:baseline;justify-content:center;gap:8px}.end-score span{font-size:14px;color:var(--ink-2)}.reboot-app .main-action{justify-self:center;display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 24px;border-radius:23px;background:var(--ink);color:var(--paper)!important;font-weight:700}.reward-panel{text-align:left;gap:12px}.reward-summary{justify-content:flex-start}.reward-summary svg{color:var(--up)}.reward-panel .reward-lead{font-size:13px;margin-top:-6px}.gift-icon{width:44px;height:44px;flex:none;color:var(--ink);overflow:visible}.gift-icon .gift-stop{fill:var(--paper);stroke:currentColor;stroke-width:2}.gift-icon .um-glyph{stroke:currentColor}.gift-icon.gift-dispatch .gift-stop{fill:var(--ink)}.gift-icon.gift-dispatch .um-glyph{stroke:var(--paper)}.gift-icon.gift-dispatch .um-fill{fill:var(--paper)}.gift-options{position:relative;list-style:none;margin:0 -8px;padding:0;display:grid;gap:8px}.gift-options:before{content:"";position:absolute;left:38px;top:30px;bottom:30px;width:3px;margin-left:-1.5px;border-radius:2px;background:var(--ink-3);opacity:.45}.gift-options button{position:relative;width:100%;min-height:64px;padding:8px 10px 8px 16px;border-radius:12px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;column-gap:14px;text-align:left;color:var(--ink);transition:background-color .15s}@media(hover:hover){.gift-options button:hover:not(:disabled){background:var(--paper-2)}.gift-options button:hover:not(:disabled) .gift-stop{stroke-width:2.6}}.gift-options button:focus-visible{background:var(--paper-2);outline-offset:-3px}html[data-input-mode=pointer] .gift-options:has(button:hover) button:focus-visible:not(:hover){background:transparent;outline-color:transparent}.gift-copy{display:grid;gap:2px;min-width:0}.gift-copy strong,.gift-chosen strong{font-size:15px;font-weight:800;letter-spacing:.02em}.gift-copy small,.gift-chosen small{font-size:12.5px;font-weight:500;color:var(--ink-2);line-height:1.35}.gift-scope{display:inline-flex;align-items:center;gap:1px;font-size:12px;font-weight:700;color:var(--ink-2);white-space:nowrap}.gift-chosen{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;column-gap:14px;padding:0 2px}.gift-chosen>span{display:grid;gap:2px}.reward-panel>.reward-back{background:none;height:auto;border-radius:22px;justify-self:center;min-height:44px;padding:0 16px;font-size:13px;color:var(--ink-2)!important}.gift-targets{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:8px}.gift-targets button{--lift: var(--ink);min-height:48px;padding:0 12px 0 10px;border-radius:24px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;box-shadow:inset 0 0 0 1.5px var(--hair);transition:box-shadow .15s}.gift-targets button em{font-style:normal}.gift-targets button span{width:28px;height:28px;border-radius:14px;display:grid;place-items:center;flex:none;background:var(--lift);color:#fff;font-weight:800;font-size:12px}.gift-targets button:not(:disabled):hover,.gift-targets button:focus-visible{box-shadow:inset 0 0 0 2px var(--lift)}.help-icon{width:48px;height:48px;fill:none;stroke:var(--lift-teal);stroke-width:3;stroke-linecap:round}.help-icon circle{fill:var(--paper)}.help-icon .help-channel{fill:var(--lift-teal);opacity:.14;stroke:none}.help-icon .help-skip{stroke-width:2}.help-icon .help-thin{stroke:var(--ink-2);stroke-width:2}.reboot-app .dialog .dialog-title{margin:0 40px;font-size:19px;font-weight:800}.reboot-app .dialog p{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2)}.close-help{position:absolute;top:8px;right:8px}.reboot-app .dialog{scrollbar-color:var(--ink-3) var(--paper)}.help-diagrams{display:grid;grid-template-columns:1fr 1fr;gap:10px}.help-diagrams>div{display:grid;justify-items:center;gap:6px;padding:12px 6px;border-radius:12px;background:var(--paper-2);font-size:13px}.restart-actions{display:flex;justify-content:center;gap:10px}.restart-actions>button:not(.main-action){height:46px;padding:0 18px;border-radius:23px;box-shadow:inset 0 0 0 1.5px var(--hair);font-weight:600}.rotate-notice{position:absolute;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--paper);color:var(--ink);padding:24px;text-align:center}.rotate-notice strong{font-size:20px}.rotate-notice span{font-size:14px;color:var(--ink-2)}.lift-upgrade-list{display:grid;gap:10px;text-align:left}.lift-upgrade-list>div{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px}.lift-upgrade-list span{display:grid;gap:3px}.lift-upgrade-list strong{font-size:14px}.lift-upgrade-list small{color:var(--ink-2);font-size:12px;line-height:1.4}@media(max-width:520px){.game-header{min-height:42px;font-size:14px}.game-dock{gap:2px;min-height:56px}.lift-selector button{min-width:44px;padding:0 8px}.build-control{padding:0 11px 0 9px}.icon-control,.sound-button,.game-dock .icon-control.muted{width:44px}.context-bar{min-height:30px;font-size:12px}.reward-panel{padding:18px 16px 14px}.gift-options{margin:0 -6px}.gift-options:before{left:34px}.gift-options button{padding:8px 8px 8px 12px;column-gap:12px}.help-diagrams>div{padding:8px 4px}}@media(max-height:620px){.game-header{min-height:38px}.game-dock{min-height:52px}}@media(prefers-reduced-motion:reduce){.reboot-app *,.tw-tower *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}.tw-ghost.tw-guide .tw-finger{display:none}.tw-pop{animation:none}}@media(max-width:380px){.lift-selector{gap:3px}.lift-selector button{padding:0 6px}.game-dock>.context-bar{gap:6px}}.tw-shaft.tw-reveal .tw-line{stroke-dasharray:1 1;animation:rb-draw .5s var(--ease) both}.tw-shaft.tw-reveal .tw-stop{transform-box:fill-box;transform-origin:center;animation:rb-station .32s var(--ease) both;animation-delay:calc(.12s + var(--i, 0) * 55ms)}@keyframes rb-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes rb-station{0%{transform:scale(0)}70%{transform:scale(1.25)}to{transform:scale(1)}}.tw-stop-pulse{fill:none;stroke:currentColor;stroke-width:2.4;pointer-events:none;transform-box:fill-box;transform-origin:center;animation:rb-ring .55s var(--ease) both}.tw-stop-pulse.tw-off{stroke-width:1.6;animation-name:rb-ring-in}@keyframes rb-ring{0%{transform:scale(1);opacity:.9}to{transform:scale(2.3);opacity:0}}@keyframes rb-ring-in{0%{transform:scale(1.9);opacity:.7}to{transform:scale(.6);opacity:0}}.tw-car-ring{fill:none;stroke:currentColor;pointer-events:none;transform-box:fill-box;transform-origin:center;animation:rb-cabin .38s var(--ease) both}.tw-car-ring.tw-out{animation-name:rb-cabin-out}@keyframes rb-cabin{0%{stroke-width:4.5;opacity:.85}to{stroke-width:2;opacity:0}}@keyframes rb-cabin-out{0%{transform:scale(1);stroke-width:2.4;opacity:.7}to{transform:scale(1.18);stroke-width:1;opacity:0}}.tw-badge-hit{fill:none;stroke:var(--ink);stroke-width:2;pointer-events:none;transform-box:fill-box;transform-origin:center;animation:rb-ring .6s var(--ease) both}.tw-badge-hit.tw-express{stroke:var(--lift-gold)}.tw-pop.tw-big{font-size:15px}.tw-floor .tw-pressure.tw-urgent{animation:rb-urgent .9s ease-in-out infinite}@keyframes rb-urgent{50%{stroke-width:4.2}}.fb-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none;overflow:hidden}.fb-layer.fb-paused *{animation-play-state:paused!important}.fb-intro{position:absolute;left:50%;top:46px;transform:translate(-50%);display:grid;justify-items:center;gap:1px;padding:8px 18px 9px;border-radius:14px;background:var(--paper);box-shadow:var(--shadow),0 0 0 1px var(--hair);animation:rb-intro 3.2s var(--ease) both}.fb-intro small{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--ink-3)}.fb-intro strong{font-size:20px;font-weight:800;color:var(--ink);white-space:nowrap}@keyframes rb-intro{0%{opacity:0;transform:translate(-50%,8px)}12%,78%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}.fb-count{position:absolute;right:10px;top:42px;display:flex;align-items:baseline;gap:6px;padding:4px 10px;border-radius:12px;background:var(--paper);box-shadow:0 0 0 1px var(--hair);font-size:11px;color:var(--ink-2);animation:rb-tick 1s var(--ease) both}.fb-count b{font-size:18px;font-weight:800;color:var(--danger);font-variant-numeric:tabular-nums}.fb-count.fb-arrive{animation:rb-arrive 1.8s var(--ease) both}.fb-count.fb-arrive b{color:var(--ink)}@keyframes rb-tick{0%{opacity:0;transform:scale(1.3)}20%{opacity:1;transform:scale(1)}85%{opacity:1}to{opacity:.2}}@keyframes rb-arrive{0%{opacity:0;transform:translateY(-4px)}15%,75%{opacity:1;transform:none}to{opacity:0}}.fb-clear{position:absolute;left:50%;top:42%;display:grid;justify-items:center;transform:translate(-50%,-50%)}.fb-clear i{position:absolute;top:50%;left:50%;width:120px;height:120px;margin:-60px;border-radius:50%;border:3px solid var(--lift-teal);animation:rb-burst 1s var(--ease) both}.fb-clear i+i{border-color:var(--lift-gold);animation-delay:.14s}.fb-clear strong{font-size:30px;font-weight:900;color:var(--ink);animation:rb-clear 1.6s var(--ease) both}.fb-clear small{font-size:12px;font-weight:600;color:var(--ink-2);animation:rb-clear 1.6s .08s var(--ease) both}@keyframes rb-burst{0%{transform:scale(.3);opacity:1}to{transform:scale(2.2);opacity:0}}@keyframes rb-clear{0%{opacity:0;transform:scale(.7)}20%{opacity:1;transform:scale(1.06)}35%,80%{opacity:1;transform:scale(1)}to{opacity:0}}@media(prefers-reduced-motion:reduce){.tw-stop-pulse,.tw-car-ring,.tw-badge-hit,.fb-clear i{display:none}.tw-floor .tw-pressure.tw-urgent{animation:none;stroke-width:4}.reboot-app .fb-layer .fb-intro{animation:rb-fade-out 3s steps(1,end) both!important}.reboot-app .fb-layer .fb-arrive,.reboot-app .fb-layer .fb-clear strong,.reboot-app .fb-layer .fb-clear small{animation:rb-fade-out 1.6s steps(1,end) both!important}.fb-count{animation:none}}@keyframes rb-fade-out{to{opacity:0}}.mode-panel h2{margin:0;font-size:21px;line-height:1.35}.mode-panel .reward-lead{margin-top:0}.mode-panel .gift-options button{min-height:100px}.mode-panel .gift-copy small{line-height:1.65;font-size:12px}.mode-panel .gift-options:before{bottom:48px;top:48px}.sound-settings{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.sound-settings button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 12px;border-radius:22px;box-shadow:inset 0 0 0 1.5px var(--hair);font-size:13px}.sound-settings button[aria-pressed=true]{color:var(--paper);background:var(--ink);box-shadow:none}.end-panel>.reward-back{background:none;color:var(--ink-2)!important;font-size:13px}@media(max-width:360px){.mode-panel{padding:18px 14px}.mode-panel .gift-options button{padding-left:10px;column-gap:9px;grid-template-columns:38px minmax(0,1fr) 14px}.mode-panel .gift-icon{width:38px;height:38px}}.tw-car-hit{fill:transparent;cursor:pointer;outline:none}.tw-car-hit:focus-visible{stroke:var(--ink);stroke-width:2}.lift-hover{position:absolute;z-index:12;right:8px;bottom:8px;width:min(270px,calc(100% - 16px));max-height:calc(100% - 16px);overflow:hidden;background:var(--paper);border:1px solid var(--hair);border-radius:12px;padding:14px;pointer-events:none;color:var(--ink)}.lift-hover>strong{display:block;margin-bottom:10px;font-size:14px}.lift-hover .gift-icon{width:28px;height:28px}.lift-hover .lift-upgrade-list{gap:6px}.lift-hover .lift-upgrade-list>div{grid-template-columns:28px minmax(0,1fr);gap:9px}.lift-hover .lift-upgrade-list strong{font-size:12px}.lift-hover .lift-upgrade-list small{font-size:11px}.dispatch-settings{margin:0;padding:0;border:0;display:grid;gap:8px;text-align:left}.dispatch-settings legend{margin-bottom:8px;font-size:13px;font-weight:700}.dispatch-settings button{display:grid;gap:3px;text-align:left;padding:10px 12px;min-height:48px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--hair)}.dispatch-settings button strong{font-size:13px}.dispatch-settings button small{font-size:12px;color:var(--ink-2)}.dispatch-settings button[aria-pressed=true]{background:var(--paper-2);box-shadow:inset 0 0 0 2px var(--ink)}@media(hover:none){.lift-hover{display:none}}.reboot-app .lift-selector button{width:44px;min-width:44px;max-width:44px;height:44px;min-height:44px;padding:0;flex:0 0 44px;border-radius:50%;gap:0}.tw-door-gap{fill:none;stroke:var(--paper);stroke-width:4}.tw-door-edges{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
