:root{color-scheme:dark;--bg:#090b1b;--panel:#12162f;--panel2:#181d3c;--line:rgba(255,255,255,.1);--text:#f7f7ff;--muted:#a9afca;--violet:#8b7cff;--cyan:#25d8c7;--amber:#ffbd55;--red:#ff6e7e;--green:#57dfa3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text)}body{min-height:100svh;overflow-x:hidden}.ambient{position:fixed;border-radius:999px;filter:blur(90px);opacity:.18;pointer-events:none}.ambient-one{width:300px;height:300px;background:var(--violet);top:-120px;right:-100px}.ambient-two{width:260px;height:260px;background:var(--cyan);bottom:-120px;left:-120px}button,select{font:inherit}.app-shell{position:relative;z-index:1;width:min(100%,680px);min-height:100svh;margin:auto;padding:max(18px,env(safe-area-inset-top)) 16px max(24px,env(safe-area-inset-bottom))}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.brand{display:flex;align-items:center;min-width:0}.brand-logo{display:block;width:148px;max-width:46vw;height:auto}.lang{border:1px solid var(--line);background:rgba(18,22,47,.9);color:var(--text);border-radius:10px;padding:8px 10px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:800;color:var(--cyan)}h1{font-size:clamp(36px,11vw,58px);line-height:.93;letter-spacing:-.055em;margin:14px 0}.gradient-text{background:linear-gradient(120deg,#fff 10%,#a99fff 48%,#25d8c7);-webkit-background-clip:text;background-clip:text;color:transparent}h1 small{font-size:.38em;letter-spacing:-.02em}.lead{font-size:17px;line-height:1.52;color:#d4d7e8;margin:0 0 22px}.hero-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,rgba(31,36,76,.92),rgba(14,17,38,.94));padding:14px 14px 22px;box-shadow:0 20px 70px rgba(0,0,0,.35)}

/* Animated factory */
.factory-wrap{position:relative;margin:0 0 14px;border:1px solid rgba(255,255,255,.12);border-radius:20px;overflow:hidden;background:#171d37;box-shadow:inset 0 1px rgba(255,255,255,.06),0 15px 35px rgba(0,0,0,.2)}.factory-status{height:32px;padding:0 11px;display:flex;align-items:center;gap:7px;background:rgba(8,12,28,.84);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#e8ebf7}.factory-status i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 12px rgba(87,223,163,.8);animation:statusPulse 1.8s ease-in-out infinite}.factory-world{height:210px;position:relative;overflow:hidden;background:linear-gradient(#343b59 0 12%,#66708e 12% 49%,#59617b 49% 50%,#30374e 50% 100%);isolation:isolate}.factory-world:before{content:"";position:absolute;left:-10%;right:-10%;top:50%;bottom:-8%;background:repeating-linear-gradient(165deg,transparent 0 36px,rgba(255,255,255,.045) 37px 39px);transform:perspective(120px) rotateX(7deg)}.factory-world:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.12),transparent 23% 80%,rgba(10,11,25,.2));pointer-events:none;z-index:20}.lamp{position:absolute;top:9px;width:19%;height:5px;border-radius:99px;background:#e8f5ff;box-shadow:0 0 13px rgba(198,235,255,.7)}.lamp-1{left:8%}.lamp-2{left:40%}.lamp-3{right:8%}.factory-door{position:absolute;right:1%;top:24px;width:9%;height:72px;border:3px solid #4a526d;border-bottom:0;background:repeating-linear-gradient(90deg,#293047 0 5px,#333b54 6px 11px);z-index:1}.factory-door span{position:absolute;top:-15px;width:100%;font-size:7px;text-align:center;color:#bdc4d7}.factory-clock{position:absolute;right:12%;top:23px;width:22px;height:22px;border-radius:50%;background:#ecf0f6;border:2px solid #30364c}.factory-clock:before,.factory-clock i{content:"";position:absolute;left:9px;top:4px;width:2px;height:8px;border-radius:4px;background:#31364b;transform-origin:bottom}.factory-clock i{transform:rotate(115deg)}.floor-line{position:absolute;z-index:0;top:72%;height:3px;background:#f4c442;transform:skewX(-28deg);opacity:.72}.f1{left:2%;width:43%}.f2{right:-4%;width:46%}
.machine{position:absolute;top:79px;width:18%;height:82px;z-index:3}.machine-one{left:4%}.machine-two{left:28%}.machine-three{left:54%}.machine-four{left:79%;width:16%}.machine-label{position:absolute;z-index:5;top:-14px;left:8%;padding:3px 5px;border-radius:4px;background:#10152d;border:1px solid rgba(255,255,255,.18);font-size:7px;font-weight:800;letter-spacing:.03em;color:#f6f7ff}.machine-top{position:absolute;right:12%;top:0;width:28%;height:18px;background:#d7dce6;border-radius:5px 5px 1px 1px;border:2px solid #394058}.machine-top:after{content:"";position:absolute;left:42%;top:-13px;width:16%;height:14px;background:#414960}.machine-top i:first-child{position:absolute;left:5px;top:4px;width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green)}.machine-body{position:absolute;inset:15px 5% 8px;border-radius:6px;background:linear-gradient(135deg,#cbd2df,#8993aa 55%,#68748e);border:2px solid #353d57;box-shadow:3px 4px 0 rgba(6,8,18,.25)}.machine-window{position:absolute;left:8%;top:16%;width:42%;height:45%;border-radius:3px;background:linear-gradient(140deg,#344b69,#0d182a);border:2px solid #59627b;overflow:hidden}.machine-window i{display:block;width:160%;height:4px;margin:7px 0 0 -20%;background:#4edbc9;box-shadow:0 10px #8b7cff;animation:machineFeed 1.15s linear infinite}.machine-wheel{position:absolute;right:9%;bottom:10%;width:20px;height:20px;border-radius:50%;border:4px dotted #313a52;background:#aeb6c6;animation:wheel .9s linear infinite}.warning-light{position:absolute;right:8%;top:10%;width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 7px var(--green)}.conveyor{position:absolute;left:17%;right:-4%;bottom:1px;height:10px;border-radius:3px;background:#30384f;border:2px solid #1b2237;display:flex;gap:8px;align-items:center;padding:0 5px}.conveyor i{display:block;width:10px;height:5px;border-radius:2px;background:#e8b85b;animation:conveyor 1.2s linear infinite}.machine-leg{position:absolute;bottom:0;width:5px;height:8px;background:#232a40}.machine-leg.l1{left:15%}.machine-leg.l2{right:12%}.smoke{display:none;position:absolute;right:10%;top:-12px;color:#d9dce6;font-size:12px;filter:drop-shadow(5px -8px 0 rgba(220,222,231,.55));animation:smoke 1.4s ease-out infinite}.assembly .machine-body{background:linear-gradient(135deg,#8b7cff,#4f5cba)}.quality .machine-body{background:linear-gradient(135deg,#55d7c0,#338da4)}
.pallet{position:absolute;z-index:2;bottom:20px;width:42px;height:10px;border-bottom:6px solid #a86f38;display:flex;gap:2px}.pallet i{width:13px;height:16px;margin-top:-12px;background:#d69a56;border:1px solid #77502d}.pallet-one{left:38%}.pallet-two{left:69%}.material-pile{display:none;position:absolute;left:17%;bottom:17px;z-index:8;width:34px;height:16px}.material-pile i{position:absolute;left:50%;bottom:0;width:6px;height:6px;border-radius:50%;background:#e8dfc5;border:1px solid #9b8f72}.material-pile i:nth-child(2){transform:translate(-10px,-1px)}.material-pile i:nth-child(3){transform:translate(8px,0)}.material-pile i:nth-child(4){transform:translate(-5px,-6px)}.material-pile i:nth-child(5){transform:translate(5px,-6px)}
.worker{--worker:#ff8d47;position:absolute;z-index:7;bottom:16px;width:31px;height:63px;transform-origin:50% 100%;animation:workBob .7s ease-in-out infinite alternate}.worker-a{left:15%}.worker-b{left:38%}.worker-c{left:64%}.worker-d{left:84%}.worker-e{left:6%;bottom:5px;transform:scale(.82)}.worker-shadow{position:absolute;left:3px;bottom:-2px;width:26px;height:6px;border-radius:50%;background:rgba(4,6,15,.28)}.head{position:absolute;left:7px;top:8px;width:20px;height:20px;border-radius:46% 50% 44% 48%;background:#edbd8c;border:1px solid #8d5e42;z-index:4}.helmet{position:absolute;left:5px;top:4px;width:24px;height:10px;border-radius:13px 13px 3px 3px;background:var(--worker);border:1px solid rgba(22,23,36,.45);z-index:6}.helmet:after{content:"";position:absolute;right:-3px;bottom:-2px;width:13px;height:3px;border-radius:2px;background:var(--worker)}.eye{position:absolute;top:7px;width:2px;height:3px;border-radius:50%;background:#272235}.eye.e1{left:6px}.eye.e2{left:13px}.nose{position:absolute;left:10px;top:9px;width:5px;height:4px;border-radius:50%;border-right:1px solid #8c5b40}.smile{position:absolute;left:7px;top:14px;width:7px;height:3px;border-bottom:1px solid #713d36;border-radius:50%}.body{position:absolute;left:5px;top:26px;width:23px;height:23px;border-radius:6px 6px 4px 4px;background:var(--worker);border:1px solid rgba(31,29,41,.5);z-index:3}.body:after{content:"";position:absolute;left:3px;right:3px;bottom:2px;height:8px;border-radius:2px;background:#38465d}.badge{position:absolute;right:3px;top:3px;width:7px;height:7px;border-radius:2px;background:#fff;color:#20243a;font:700 5px/7px sans-serif;text-align:center}.arm,.leg{position:absolute;width:6px;background:#edbd8c;border:1px solid #8d5e42;transform-origin:top;border-radius:5px}.arm{top:28px;height:22px;z-index:2}.arm-left{left:2px;transform:rotate(10deg);animation:armWork .55s ease-in-out infinite alternate}.arm-right{right:1px;transform:rotate(-18deg);animation:armWork .55s ease-in-out infinite alternate-reverse}.leg{top:46px;height:17px;background:#38465d}.leg-left{left:7px;transform:rotate(6deg)}.leg-right{right:6px;transform:rotate(-6deg)}.hello{position:absolute;top:-16px;left:12px;opacity:0;padding:3px 5px;border-radius:7px 7px 7px 1px;background:#fff;color:#172038;font-size:6px;font-weight:800;white-space:nowrap}.carry-box{display:none;position:absolute;z-index:8;left:-2px;top:31px;width:38px;height:22px;border-radius:3px;background:#d89447;border:2px solid #76502f;overflow:hidden}.carry-box:before{content:"";position:absolute;left:48%;top:0;bottom:0;border-left:2px solid #f2c277}.carry-box i{display:block;position:absolute;top:-3px;width:7px;height:7px;border-radius:50%;background:#e6dfc8}.carry-box i:nth-child(1){left:5px}.carry-box i:nth-child(2){left:15px}.carry-box i:nth-child(3){left:25px}.clipboard,.magnifier{display:none;position:absolute;z-index:8}.clipboard{left:-3px;top:29px;width:17px;height:23px;border-radius:3px;background:#ff6e7e;border:2px solid #712c3f;color:#fff;font:900 14px/20px sans-serif;text-align:center}.magnifier{left:0;top:30px;width:16px;height:16px;border-radius:50%;border:3px solid #dceeff}.magnifier:after{content:"";position:absolute;width:12px;height:3px;background:#dceeff;right:-10px;bottom:-6px;transform:rotate(48deg)}.quality-part,.rush-card{display:none;position:absolute;z-index:8}.quality-part{right:12%;bottom:63px;color:var(--red);font-size:10px;animation:qualityPart 1.1s ease-in-out infinite alternate}.rush-card{left:2%;bottom:58px;width:29px;height:38px;padding-top:4px;background:#ffefe9;border:2px solid #f06a70;border-radius:4px;color:#6f2631;font:800 7px/10px sans-serif;text-align:center;transform:rotate(-7deg)}.rush-card b{font-size:15px}

/* Scene choreography */
.scene-breakdown .machine-two .machine-wheel,.scene-breakdown .machine-two .machine-window i,.scene-material .machine-one .machine-wheel,.scene-material .machine-one .machine-window i{animation-play-state:paused;opacity:.25}.scene-breakdown .machine-two .warning-light{background:var(--red);box-shadow:0 0 9px var(--red);animation:alarm .55s steps(2,end) infinite}.scene-breakdown .machine-two .smoke{display:block}.scene-breakdown .worker-b{animation:inspectMachine 1.4s ease-in-out infinite alternate}.scene-material .worker-a{animation:fetchMaterial 6s ease-in-out infinite}.scene-material .worker-a .carry-box{display:block;animation:boxDump 6s linear infinite;transform-origin:right bottom}.scene-material .worker-a .arm{z-index:9;top:34px;transform:rotate(75deg);height:18px}.scene-material .material-pile{display:block;animation:materialDrop 6s ease-out infinite}.scene-quality .worker-d .magnifier{display:block}.scene-quality .worker-d{animation:inspectPart 1.1s ease-in-out infinite alternate}.scene-quality .quality-part{display:block}.scene-rush .worker-e{animation:runner 3.4s ease-in-out infinite}.scene-rush .worker-e .clipboard,.scene-rush .rush-card{display:block}.scene-rush .worker-e .arm{animation:none;transform:rotate(70deg)}.scene-break .worker-c{animation:leaveForBreak 4.8s ease-in-out infinite}.scene-break .worker-c .arm-right{animation:wave 1s ease-in-out infinite}.scene-bottleneck .pallet-two{animation:queueGrow 1.5s ease-in-out infinite alternate}.scene-bottleneck .worker-d{animation:fastWork .38s ease-in-out infinite alternate}.scene-bottleneck .machine-four .machine-wheel{animation-duration:.34s}.scene-bottleneck .machine-four .warning-light{background:var(--amber);box-shadow:0 0 9px var(--amber);animation:alarm .55s steps(2,end) infinite}
.scene-intro .worker{animation:introWalk 5.7s cubic-bezier(.2,.7,.25,1) both}.scene-intro .worker-a{--intro-x:-340px;animation-delay:0s}.scene-intro .worker-b{--intro-x:-370px;animation-delay:.12s}.scene-intro .worker-c{--intro-x:-400px;animation-delay:.24s}.scene-intro .worker-d{--intro-x:-450px;animation-delay:.36s}.scene-intro .worker-e{--intro-x:-300px;animation-delay:.06s}.scene-intro .hello{animation:hello 5.5s ease both}.scene-intro .worker-b .hello{animation-delay:.18s}.scene-intro .worker-c .hello{animation-delay:.34s}.scene-intro .arm-right{animation:introWave 1.8s ease-in-out 1.25s 2}.scene-intro .machine-wheel,.scene-intro .machine-window i,.scene-intro .conveyor i{animation-delay:4.4s;animation-fill-mode:backwards}

@keyframes statusPulse{50%{opacity:.45;transform:scale(.8)}}@keyframes machineFeed{to{transform:translateX(16px)}}@keyframes wheel{to{transform:rotate(360deg)}}@keyframes conveyor{to{transform:translateX(13px)}}@keyframes workBob{to{transform:translateY(-2px) rotate(.5deg)}}@keyframes armWork{to{transform:rotate(34deg)}}@keyframes smoke{from{opacity:.8;transform:translateY(4px) scale(.8)}to{opacity:0;transform:translate(5px,-15px) scale(1.4)}}@keyframes alarm{50%{opacity:.2}}@keyframes inspectMachine{to{transform:translate(-11px,-2px) rotate(-7deg)}}@keyframes fetchMaterial{0%,12%{transform:translateX(0)}35%{transform:translateX(-220px)}48%{transform:translateX(-220px) scaleX(-1)}75%{transform:translateX(0) scaleX(-1)}82%,100%{transform:translateX(0)}}@keyframes boxDump{0%,38%,88%,100%{opacity:0;transform:rotate(0)}48%,75%{opacity:1;transform:rotate(0)}78%,85%{opacity:1;transform:rotate(-38deg) translate(5px,4px)}}@keyframes materialDrop{0%,77%{opacity:0;transform:translateY(-14px) scale(.2)}84%,96%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0}}@keyframes inspectPart{to{transform:translate(-4px,-4px) rotate(-6deg)}}@keyframes qualityPart{to{transform:translateY(-8px) scale(1.2)}}@keyframes runner{0%{transform:translateX(-60px) rotate(-4deg)}50%{transform:translateX(450px) rotate(4deg)}50.01%{transform:translateX(450px) scaleX(-1)}100%{transform:translateX(-60px) scaleX(-1)}}@keyframes leaveForBreak{0%,18%{transform:translateX(0)}66%,100%{transform:translateX(260px)}}@keyframes wave{50%{transform:rotate(-145deg)}}@keyframes queueGrow{to{transform:translateX(-15px);filter:drop-shadow(-22px 0 #d89447) drop-shadow(-44px 0 #d89447)}}@keyframes fastWork{to{transform:translate(-5px,-4px) rotate(-3deg)}}@keyframes introWalk{0%{transform:translateX(var(--intro-x)) translateY(0) rotate(-3deg)}18%{transform:translateX(-55px) translateY(-2px) rotate(3deg)}38%{transform:translateX(-34px) translateY(0) rotate(-2deg)}55%{transform:translateX(-30px) translateY(-2px) rotate(2deg)}78%,100%{transform:translateX(0) translateY(0)}}@keyframes hello{0%,17%,62%,100%{opacity:0;transform:translateY(5px) scale(.7)}27%,52%{opacity:1;transform:translateY(0) scale(1)}}@keyframes introWave{0%,100%{transform:rotate(-18deg)}50%{transform:rotate(-150deg)}}

/* Operators keep their feet on the floor. Normal activity is shown with manual arm work. */
.factory-world:not(.scene-intro) .worker{animation:none}.factory-world:not(.scene-intro) .worker .arm-left{animation:manualLeft 1.15s ease-in-out infinite alternate}.factory-world:not(.scene-intro) .worker .arm-right{animation:manualRight 1.15s ease-in-out infinite alternate}.factory-status.status-event i{background:var(--red);box-shadow:0 0 12px var(--red)}.factory-status.status-resolve i{background:var(--cyan);box-shadow:0 0 12px var(--cyan)}
.scene-event-breakdown .machine-two .machine-wheel,.scene-event-breakdown .machine-two .machine-window i,.scene-event-material .machine-one .machine-wheel,.scene-event-material .machine-one .machine-window i{animation-play-state:paused;opacity:.25}.scene-event-breakdown .machine-two .warning-light{background:var(--red);box-shadow:0 0 9px var(--red);animation:alarm .55s steps(2,end) infinite}.scene-event-breakdown .machine-two .smoke{display:block}
.scene-event-breakdown .worker-b,.scene-event-material .worker-a,.scene-event-quality .worker-d,.scene-event-rush .worker-e,.scene-event-break .worker-c,.scene-event-bottleneck .worker-d{animation:concernedPause 5.8s ease-in-out infinite!important}.scene-event-breakdown .worker-b .helmet,.scene-event-material .worker-a .helmet,.scene-event-quality .worker-d .helmet,.scene-event-rush .worker-e .helmet,.scene-event-break .worker-c .helmet,.scene-event-bottleneck .worker-d .helmet{animation:helmetOff 1.15s ease-out forwards}.scene-event-breakdown .worker-b .arm-left,.scene-event-material .worker-a .arm-left,.scene-event-quality .worker-d .arm-left,.scene-event-rush .worker-e .arm-left,.scene-event-break .worker-c .arm-left,.scene-event-bottleneck .worker-d .arm-left{animation:reactLeft 5.8s ease-in-out infinite!important}.scene-event-breakdown .worker-b .arm-right,.scene-event-material .worker-a .arm-right,.scene-event-quality .worker-d .arm-right,.scene-event-rush .worker-e .arm-right,.scene-event-break .worker-c .arm-right,.scene-event-bottleneck .worker-d .arm-right{animation:reactRight 5.8s ease-in-out infinite!important}
.scene-resolve-breakdown .worker-b .arm-left{animation:repairThenVictoryLeft 3.4s ease-in-out forwards!important}.scene-resolve-breakdown .worker-b .arm-right{animation:repairThenVictoryRight 3.4s ease-in-out forwards!important}.scene-resolve-breakdown .machine-two .machine-wheel{animation:wheel .9s linear .8s infinite}.scene-resolve-breakdown .machine-two .machine-window i{animation:machineFeed 1.15s linear .8s infinite}.scene-resolve-breakdown .machine-two .warning-light{animation:machineRestartLight 3.4s steps(2,end) forwards}.scene-resolve-breakdown .machine-two .smoke{display:block;animation:smoke .7s ease-out 2}.scene-resolve-material .worker-a{animation:fetchMaterial 3.3s ease-in-out 1}.scene-resolve-material .worker-a .carry-box{display:block;animation:boxDump 3.3s linear 1;transform-origin:right bottom}.scene-resolve-material .worker-a .arm{z-index:9;top:34px;transform:rotate(75deg);height:18px;animation:none!important}.scene-resolve-material .material-pile{display:block;animation:materialDrop 3.3s ease-out 1}.scene-resolve-quality .worker-d .magnifier{display:block}.scene-resolve-quality .worker-d{animation:inspectPart .7s ease-in-out infinite alternate}.scene-resolve-quality .quality-part{display:block}.scene-resolve-rush .worker-e{animation:runner 3.3s ease-in-out 1}.scene-resolve-rush .worker-e .clipboard,.scene-resolve-rush .rush-card{display:block}.scene-resolve-rush .worker-e .arm{animation:none!important;transform:rotate(70deg)}.scene-resolve-break .worker-c{animation:leaveForBreak 3.3s ease-in-out 1 forwards}.scene-resolve-break .worker-e{animation:replacementArrives 3.3s ease-out 1 forwards}.scene-resolve-bottleneck .pallet-two{animation:queueShrink 3.3s ease-in-out 1 forwards}.scene-resolve-bottleneck .worker-d .arm-left{animation:manualLeft .28s ease-in-out infinite alternate}.scene-resolve-bottleneck .worker-d .arm-right{animation:manualRight .28s ease-in-out infinite alternate}.scene-resolve-bottleneck .machine-four .machine-wheel{animation-duration:.3s}
@keyframes manualLeft{from{transform:rotate(5deg)}to{transform:rotate(42deg)}}@keyframes manualRight{from{transform:rotate(-18deg)}to{transform:rotate(-64deg)}}@keyframes concernedPause{0%,15%,34%,63%,82%,100%{transform:rotate(0)}21%,28%,70%,77%{transform:rotate(-4deg)}}@keyframes helmetOff{0%,12%{transform:translate(0,0) rotate(0)}62%,100%{transform:translate(-10px,38px) rotate(-34deg)}}@keyframes reactLeft{0%,12%{transform:rotate(5deg)}18%,31%{transform:rotate(48deg)}38%,63%{transform:rotate(-52deg)}69%,80%{transform:rotate(48deg)}87%,100%{transform:rotate(-52deg)}}@keyframes reactRight{0%,12%{transform:rotate(-18deg)}18%,31%{transform:rotate(-148deg)}38%,63%{transform:rotate(52deg)}69%,80%{transform:rotate(-148deg)}87%,100%{transform:rotate(52deg)}}@keyframes repairThenVictoryLeft{0%,38%{transform:rotate(42deg)}48%{transform:rotate(10deg)}62%,100%{transform:rotate(138deg)}}@keyframes repairThenVictoryRight{0%,18%{transform:rotate(-105deg)}38%{transform:rotate(-70deg)}48%{transform:rotate(-18deg)}62%,100%{transform:rotate(-138deg)}}@keyframes machineRestartLight{0%,24%{background:var(--red);box-shadow:0 0 9px var(--red)}30%,100%{background:var(--green);box-shadow:0 0 10px var(--green)}}@keyframes replacementArrives{0%,35%{transform:translateX(-320px)}80%,100%{transform:translateX(58px)}}@keyframes queueShrink{0%{filter:drop-shadow(-22px 0 #d89447) drop-shadow(-44px 0 #d89447)}100%{filter:none;transform:translateX(16px)}}
.resolution-banner{min-height:72px;border:1px solid rgba(37,216,199,.35);border-radius:16px;background:linear-gradient(135deg,rgba(37,216,199,.12),rgba(109,93,252,.15));display:flex;align-items:center;justify-content:center;gap:12px;color:#e8fff9;font-size:14px;font-weight:850;letter-spacing:.01em}.resolution-banner i{width:20px;height:20px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--cyan);border-radius:50%;animation:decisionSpin .75s linear infinite}@keyframes decisionSpin{to{transform:rotate(360deg)}}

.meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.meta{background:rgba(255,255,255,.045);border-radius:12px;padding:11px 8px;text-align:center}.meta strong{display:block;font-size:18px}.meta span{display:block;color:var(--muted);font-size:10px;margin-top:3px}.primary,.choice,.ghost,.text-button,.invite-button,.sms-button{cursor:pointer}.primary,.choice,.ghost,.text-button{border:0}.primary{width:100%;margin-top:18px;padding:16px 18px;border-radius:15px;background:linear-gradient(120deg,var(--violet),#5d7cff 55%,var(--cyan));color:#07091a;font-weight:900;font-size:16px;box-shadow:0 10px 35px rgba(109,93,252,.32);transition:.2s transform}.primary:active{transform:scale(.985)}.invite-button{width:100%;margin-top:9px;padding:13px 16px;border-radius:14px;border:1px solid rgba(139,124,255,.5);background:linear-gradient(135deg,rgba(139,124,255,.16),rgba(37,216,199,.09));color:#edf0ff;font-size:13px;font-weight:850;transition:.18s border-color,.18s background,.18s transform}.invite-button:hover{border-color:rgba(37,216,199,.7);background:linear-gradient(135deg,rgba(139,124,255,.24),rgba(37,216,199,.14))}.invite-button:active{transform:scale(.99)}.sms-button{width:100%;margin-top:8px;padding:12px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#edf0ff;font-size:13px;font-weight:850;transition:.18s border-color,.18s background,.18s transform}.sms-button:hover{border-color:rgba(37,216,199,.55);background:rgba(37,216,199,.08)}.sms-button:active{transform:scale(.99)}.fine{color:var(--muted);font-size:11px;text-align:center;margin:12px 0 0}.intro-screen{text-align:center;padding-top:8px}.intro-screen h2{font-size:24px;line-height:1.18;margin:10px auto 20px;max-width:520px}.intro-screen .factory-world{height:340px}.intro-screen .machine{top:130px}.intro-screen .worker{bottom:30px;transform:scale(1.25)}.intro-screen .pallet{bottom:32px}.intro-screen .floor-line{top:69%}.intro-countdown{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0 8px;color:var(--muted);font-size:13px}.intro-countdown b{width:42px;height:42px;border-radius:14px;background:var(--panel2);display:grid;place-items:center;color:var(--cyan);font-size:22px}.text-button{background:transparent;color:#c8cce2;padding:10px;font-weight:700;font-size:12px}.game-head{position:sticky;top:0;z-index:30;margin:-18px -16px 12px;padding:max(14px,env(safe-area-inset-top)) 16px 10px;background:rgba(9,11,27,.88);backdrop-filter:blur(16px)}.game-row{display:flex;align-items:center;justify-content:space-between}.timer{font-variant-numeric:tabular-nums;font-size:22px;font-weight:900;letter-spacing:.03em}.timer.warning{color:var(--amber)}.round{color:var(--muted);font-size:12px}.progress{height:5px;background:#202543;border-radius:99px;margin-top:10px;overflow:hidden}.progress>i{display:block;height:100%;background:linear-gradient(90deg,var(--violet),var(--cyan));transition:width .45s ease}.score-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}.score{border:1px solid var(--line);border-radius:13px;background:rgba(18,22,47,.88);padding:10px}.score span{display:block;color:var(--muted);font-size:10px}.score b{display:block;margin-top:3px;font-size:17px}.incident{display:grid;grid-template-columns:auto 1fr;column-gap:14px;border:1px solid rgba(255,110,126,.25);border-radius:20px;background:linear-gradient(145deg,rgba(73,28,50,.58),rgba(22,25,54,.94));padding:16px;margin-bottom:13px}.incident-icon{grid-row:1;width:44px;height:44px;border-radius:14px;background:rgba(255,110,126,.15);display:grid;place-items:center;font-size:23px}.incident h2{font-size:21px;line-height:1.05;margin:2px 0 7px}.incident p{color:#c8ccdf;line-height:1.4;margin:0;font-size:13px}.orders-label,.order-track{grid-column:1/-1}.orders-label{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin:13px 2px 7px}.order-track{display:flex;gap:7px}.order{height:7px;flex:1;border-radius:99px;background:#2a2e50}.order.done{background:var(--green)}.order.risk{background:var(--amber);animation:statusPulse 1.2s infinite}.choices{display:grid;gap:9px}.choice{width:100%;text-align:left;border:1px solid var(--line);border-radius:16px;background:rgba(24,29,60,.9);color:var(--text);padding:15px;transition:.18s border-color,.18s transform,.18s background}.choice:active{transform:scale(.99)}.choice:hover{border-color:rgba(139,124,255,.65);background:#202650}.choice b{display:block;font-size:14px;margin-bottom:5px}.choice span{color:var(--muted);font-size:12px;line-height:1.35}.choice-impact{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.chip{font-size:10px!important;color:#dfe2f2!important;background:rgba(255,255,255,.07);padding:4px 7px;border-radius:99px}.toast{position:fixed;left:50%;bottom:max(20px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 32px),480px);background:#f5f5ff;color:#14162c;border-radius:14px;padding:13px 15px;font-size:13px;font-weight:700;box-shadow:0 14px 40px rgba(0,0,0,.45);animation:toast .35s ease both;z-index:40}@keyframes toast{from{opacity:0;transform:translate(-50%,16px)}}.result{text-align:center}.result-badge{width:88px;height:88px;margin:14px auto;border-radius:28px;background:linear-gradient(135deg,var(--violet),var(--cyan));display:grid;place-items:center;color:#090b1b;font-size:34px;font-weight:950;transform:rotate(-5deg)}.result h1{font-size:42px}.result-copy{color:var(--muted);line-height:1.5}.compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left;margin:20px 0}.compare-card{border:1px solid var(--line);border-radius:18px;padding:15px;background:var(--panel)}.compare-card.rtaps{border-color:rgba(37,216,199,.4);background:linear-gradient(145deg,rgba(37,216,199,.11),rgba(24,29,60,.9))}.compare-card small{color:var(--muted);font-weight:700}.big{font-size:26px;font-weight:950;margin:6px 0}.metric-list{display:grid;gap:8px;margin-top:12px}.metric-row{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}.metric-row b{color:var(--text)}.savings{border:1px solid rgba(87,223,163,.3);background:rgba(87,223,163,.08);color:#b9f6d9;border-radius:16px;padding:14px;margin:12px 0;font-weight:800}.actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:9px}.ghost{padding:14px;border-radius:14px;background:var(--panel2);border:1px solid var(--line);color:var(--text);font-weight:800}.footer{margin-top:24px;text-align:center;color:#707795;font-size:10px}.footer strong{color:#c4c8dc}
.scenario-note{margin:11px 0 0;text-align:center;color:#c9cdef;font-size:11px;font-weight:750}.critical-path{margin:18px 0;text-align:left;border:1px solid rgba(37,216,199,.28);border-radius:20px;background:linear-gradient(145deg,rgba(37,216,199,.08),rgba(109,93,252,.1));padding:16px}.critical-head .eyebrow{margin-bottom:5px}.critical-head p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}.critical-steps{display:grid;gap:9px;margin-top:14px}.critical-step{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:start;padding:11px;border-radius:14px;background:rgba(9,11,27,.55);border:1px solid rgba(255,255,255,.08)}.critical-index{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--violet),var(--cyan));color:#090b1b;font-weight:950}.critical-copy{display:grid;gap:3px;min-width:0}.critical-copy small{color:var(--cyan);font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.critical-copy strong{font-size:13px;line-height:1.3}.critical-copy span{color:#d9dcef;font-size:12px;line-height:1.35}.critical-copy em{font-style:normal;color:var(--muted);font-size:10px}
@media(max-width:470px){.factory-world{height:178px}.machine{top:63px;height:76px}.worker{bottom:10px;transform:scale(.88)}.pallet{bottom:16px}.factory-clock{display:none}.intro-screen .factory-world{height:280px}.intro-screen .machine{top:105px}.intro-screen .worker{bottom:24px;transform:scale(1.02)}.incident{padding:14px}.score b{font-size:14px}.score span{font-size:9px}}
@media(min-width:700px){.app-shell{padding-top:30px}.hero-card{padding:18px 18px 28px}.game-head{top:0}.choice{padding:17px}.factory-world{height:240px}.machine{top:92px}.worker{bottom:19px;transform:scale(1.08)}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* Neutral work-center naming and three-level routing */
.machine-label{top:-22px;left:5%;min-width:52px;padding:3px 5px;border-radius:5px;font-size:inherit}
.machine-label b,.machine-label small{display:block;white-space:nowrap}
.machine-label b{font-size:7px}
.machine-label small{margin-top:1px;color:#aeb7d5;font-size:5.5px;font-weight:700}
.route-map{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:5px;padding:9px;background:linear-gradient(180deg,#11162e,#0b1025)}
.route-level{min-width:0;padding:7px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:rgba(255,255,255,.03);transition:.25s border-color,.25s background,.25s box-shadow}
.route-level.active{border-color:rgba(37,216,199,.75);background:rgba(37,216,199,.1);box-shadow:0 0 18px rgba(37,216,199,.12)}
.route-level.bottleneck{box-shadow:inset 0 0 0 1px rgba(255,194,78,.48)}
.route-title{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:6px;color:#aeb7d5;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.route-title b{padding:2px 4px;border-radius:99px;background:var(--amber);color:#181326;font-size:6px;white-space:nowrap}
.route-badges{display:flex;align-items:center;gap:3px}.route-badges em{padding:2px 4px;border-radius:99px;background:rgba(255,255,255,.08);color:#b9c2de;font-size:6px;font-style:normal;white-space:nowrap}.route-level.bottleneck .route-badges em{background:rgba(255,194,78,.18);color:#ffd987}
.route-machines{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}
.route-level:nth-of-type(2) .route-machines{grid-template-columns:repeat(3,minmax(0,1fr))}
.route-machine{min-width:0;padding:4px 2px;border-radius:5px;background:#202845;border:1px solid rgba(255,255,255,.08);text-align:center}
.route-machine strong,.route-machine small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.route-machine strong{font-size:6.5px;color:#f7f8ff}
.route-machine small{margin-top:2px;font-size:5px;color:#9da7c7}
.route-machine.state-down,.route-machine.state-operator{border-color:rgba(255,110,126,.75);background:rgba(255,110,126,.18)}.route-machine.state-repair,.route-machine.state-overtime,.route-machine.state-rerouted,.route-machine.state-covered{border-color:rgba(87,223,163,.7);background:rgba(87,223,163,.13)}
.route-arrow{align-self:center;color:var(--cyan);font-style:normal;font-size:13px;font-weight:900}
.rush-card{width:42px;font-size:6px}
@media(max-width:470px){.machine{top:67px;height:72px}.machine-label{top:-22px;min-width:45px}.machine-label small{font-size:5px}.route-map{gap:3px;padding:7px 5px}.route-level{padding:5px 3px}.route-title{display:block;font-size:6px}.route-title b{display:inline-block;margin-top:3px}.route-machines{gap:2px}.route-machine{padding:3px 1px}.route-machine strong{font-size:5.5px}.route-machine small{font-size:4.5px}.route-arrow{font-size:10px}.intro-screen .machine{top:109px}}

/* Constraint engine: calculated state and choice impact */
.constraint-strip{display:grid;grid-template-columns:.8fr 1.2fr;gap:8px;margin:0 0 10px}.constraint-strip>div{min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(135deg,rgba(255,194,78,.09),rgba(24,29,60,.9))}.constraint-strip small{display:block;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.constraint-strip strong{display:block;margin-top:4px;color:#f3f5ff;font-size:11px;line-height:1.3}.orders-label{gap:12px}.orders-label span:last-child{text-align:right}.strong-chip{background:rgba(37,216,199,.13)!important;color:#cafff6!important;border:1px solid rgba(37,216,199,.18)}.choice-impact{margin-top:10px}.choice .choice-impact .chip{line-height:1.2}.resolution-banner span{text-align:center}.compare-card .metric-row b{white-space:nowrap}
@media(max-width:470px){.constraint-strip{grid-template-columns:1fr}.constraint-strip>div{padding:8px 10px}.constraint-strip strong{font-size:10px}.route-badges{margin-top:3px;justify-content:center;flex-wrap:wrap}.route-badges em{font-size:5px}.choice-impact{gap:4px}.chip{font-size:9px!important}.orders-label{align-items:flex-end}}
.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 14px;margin-top:9px}.footer-links a{color:#b9c1e6;text-decoration:none;font-size:11px;font-weight:800}.footer-links a:hover,.footer-links a:focus-visible{color:var(--cyan);text-decoration:underline}
