:root{--night:#111527;--panel:#20283d;--line:#ffffff42;--light:#f8f5ec;--orange:#ff804d;--lime:#e7ff80;--mint:#9beed8;--purple:#bdabff;color-scheme:dark;background:var(--night)}
*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{color:var(--light);font:15px/1.42 -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--lime);outline-offset:2px}img{display:block}h1,h2,h3,p{margin:0}em{font-style:normal;color:var(--orange)}.skip{position:fixed;top:-100px;left:10px;z-index:999;background:var(--lime);color:var(--night);padding:10px}.skip:focus{top:10px}
.app-shell{height:100vh;height:100dvh;display:grid;grid-template-rows:calc(56px + env(safe-area-inset-top)) minmax(0,1fr) calc(68px + env(safe-area-inset-bottom));background:var(--night);overflow:hidden}.app-header{grid-row:1;display:flex;align-items:center;gap:10px;padding:calc(6px + env(safe-area-inset-top)) 14px 6px;border-bottom:1px solid var(--line);background:#111527f0;z-index:20}.app-brand{display:flex;align-items:center;gap:6px;white-space:nowrap}.brand-tile{width:35px;height:35px;border-radius:8px;background:var(--orange);color:var(--night);display:grid;place-items:center;font:1000 26px/.9 Arial;letter-spacing:-.1em}.brand-tile span{color:var(--light)}.app-brand>b{font:1000 18px/.95 "Arial Black",Arial,sans-serif;letter-spacing:-.075em}.app-brand small{display:block;font:700 7px/1.1 ui-monospace,SFMono-Regular,monospace;color:var(--lime);letter-spacing:.06em;margin-top:2px}.app-status{margin-left:auto;display:flex;align-items:center;gap:6px;font:800 8px ui-monospace,SFMono-Regular,monospace;letter-spacing:.025em;color:var(--mint);white-space:nowrap}.status-light{width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 4px #9beed826}.header-source{border:1px solid #ffffff54;padding:8px;font:800 9px ui-monospace,SFMono-Regular,monospace;white-space:nowrap;min-height:33px}
.app-tabs{grid-row:3;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom);background:#111527f4;border-top:1px solid #ffffff70}.app-tabs button{min-width:0;border:0;border-top:3px solid transparent;background:transparent;display:grid;place-content:center;gap:4px;text-align:center;padding:5px 2px;min-height:68px}.app-tabs button.is-current{border-top-color:var(--orange);color:var(--orange);background:#ff804d13}.app-tabs span{font:800 11px ui-monospace,SFMono-Regular,monospace}.app-tabs b{font:1000 clamp(8px,2.3vw,10px) "Arial Black",Arial,sans-serif;letter-spacing:-.02em}
.screen-host{grid-row:2;min-height:0;overflow:hidden;position:relative}.screen{height:100%;min-height:0;overflow:hidden;display:none;background:var(--night);animation:screen-in .24s both}.screen.is-current{display:block}.screen-inner{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ff804d80 transparent;-webkit-overflow-scrolling:touch}.screen-inner::-webkit-scrollbar{width:4px}.screen-inner::-webkit-scrollbar-thumb{background:#ff804d8c}@keyframes screen-in{from{opacity:.15;transform:translateX(13px)}to{opacity:1;transform:none}}
.panel-heading,.control-head,.play-scene-top,.play-scene-bottom,.robot-art-top,.map-art-top,.map-art-bottom,.boss-art-top,.boss-art-bottom,.skill-head{display:flex;justify-content:space-between;gap:8px;font:800 9px/1.2 ui-monospace,SFMono-Regular,monospace;letter-spacing:.05em}.panel-source{display:block;border-top:1px solid var(--line);padding:14px 0;font:800 10px ui-monospace,SFMono-Regular,monospace;color:var(--lime);min-height:44px}.context-note{font:10px/1.4 ui-monospace,SFMono-Regular,monospace;color:#b6c0d1}.eyebrow{font:800 10px ui-monospace,SFMono-Regular,monospace;letter-spacing:.08em;color:var(--lime)}
/* The active run changes image and emphasis as the player explores its five moments. */
.play-layout{background:#161e2a}.play-scene{height:clamp(270px,46dvh,470px);position:relative;overflow:hidden;isolation:isolate;background:#384148}.play-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% 50%;filter:brightness(.82) saturate(1.15);transition:opacity .24s,transform .48s}.play-scene.changing>img{opacity:.1;transform:scale(1.1)}.play-scene[data-tone="white"]>img{filter:brightness(.56) saturate(.9)}.play-scene[data-tone="dark"]>img{filter:brightness(1.1) saturate(1.2)}.play-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#101527ee 0%,#10152775 47%,#10152750 100%),linear-gradient(90deg,#101527b0,transparent 88%)}.play-rain{position:absolute;inset:0;pointer-events:none;opacity:.55}.play-rain i{width:2px;height:22%;position:absolute;top:-25%;background:linear-gradient(transparent,var(--lime),transparent);animation:app-rain 3.8s linear infinite}.play-rain i:nth-child(1){left:14%;animation-delay:-1s}.play-rain i:nth-child(2){left:32%;animation-delay:-2.8s;height:14%}.play-rain i:nth-child(3){left:51%;animation-delay:-.5s}.play-rain i:nth-child(4){left:76%;animation-delay:-3.2s;height:16%}.play-rain i:nth-child(5){left:91%;animation-delay:-1.9s}@keyframes app-rain{to{transform:translateY(140dvh)}}.play-scene-top,.play-scene-bottom{position:absolute;left:16px;right:16px;color:#fff}.play-scene-top{top:16px}.play-scene-bottom{bottom:12px;border-top:1px solid #ffffff70;padding-top:7px}.play-scene-bottom .phase-mark{font-size:17px;color:var(--lime)}.play-scene-copy{position:absolute;left:16px;right:16px;bottom:44px}.play-scene h1{font:1000 clamp(40px,10vw,62px)/.88 "Arial Black","Helvetica Neue",Arial,sans-serif;letter-spacing:-.08em;margin:13px 0 9px;max-width:530px}.play-scene-copy>p:last-child{font-size:15px;line-height:1.3;max-width:400px;font-weight:600}.play-control{padding:18px 15px 23px;background:#1b2434;border-top:2px solid var(--orange)}.control-head{color:var(--mint)}.play-steps{display:flex;gap:5px;overflow-x:auto;scrollbar-width:none;padding:13px 0 10px;scroll-snap-type:x mandatory}.play-steps::-webkit-scrollbar{display:none}.play-steps button{flex:0 0 112px;scroll-snap-align:start;min-height:62px;text-align:left;border:1px solid #ffffff46;background:#28344a;padding:8px;color:#d7e0ee}.play-steps button[aria-selected="true"]{background:var(--orange);border-color:var(--orange);color:var(--night)}.play-steps button span{display:block;font:800 10px ui-monospace,SFMono-Regular,monospace;opacity:.7}.play-steps button b{display:block;font:1000 12px "Arial Black",Arial,sans-serif;letter-spacing:-.035em;line-height:1.05;margin-top:7px}.play-step-note{padding:10px 0 14px;margin-top:11px;border-top:1px solid var(--line)}.play-step-note span{font:800 9px ui-monospace,SFMono-Regular,monospace;color:var(--orange)}.play-step-note p{font-size:14px;margin-top:5px}.play-actions{display:flex;gap:7px;margin-top:7px}.play-actions button{border:1px solid #ffffff6c;background:#273249;min-height:44px}.play-actions button:first-child{width:47px;font-size:22px}.play-actions button:last-child{flex:1;text-align:left;padding:0 12px;background:var(--lime);color:var(--night);display:flex;justify-content:space-between;align-items:center;font:900 11px ui-monospace,SFMono-Regular,monospace}.play-actions button:last-child span{font-size:20px}.play-shortcuts{display:flex;gap:13px;flex-wrap:wrap;padding:11px 0}.play-shortcuts button{border:0;border-bottom:1px solid var(--orange);background:none;padding:6px 0;font:800 9px ui-monospace,SFMono-Regular,monospace;color:var(--mint)}
/* Photographs of the four actual Unity prefabs. */
.robot-layout{background:#1c2231}.robot-art{--operator-accent:#ff8b4e;height:clamp(280px,45dvh,480px);position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 44%,color-mix(in srgb,var(--operator-accent) 30%,transparent) 0 10%,transparent 42%),linear-gradient(142deg,#070b14 0%,#142137 52%,#090d17 100%)}.robot-squad{position:absolute;z-index:2;inset:0}.robot-squad img{--thumb-index:0;position:absolute;right:15px;top:calc(54px + var(--thumb-index) * 70px);width:62px;height:62px;object-fit:contain;padding:6px;border:1px solid color-mix(in srgb,var(--operator-accent) 74%,#ffffff55);background:#0b1220e8;opacity:.9;filter:saturate(.95) brightness(1.08) contrast(1.04) drop-shadow(0 9px 14px #000b);transform:scale(.96);transition:opacity .28s,transform .55s cubic-bezier(.2,.7,.2,1),filter .35s,border-color .35s}.robot-squad img.is-active{left:43%;right:auto;top:50%;width:auto;height:68%;max-height:360px;max-width:67%;padding:0;border:0;background:transparent;opacity:1;object-fit:contain;transform:translate(-50%,-47%) scale(1);filter:saturate(1.06) contrast(1.04) drop-shadow(0 24px 25px #000a) drop-shadow(0 0 24px color-mix(in srgb,var(--operator-accent) 28%,transparent))}.robot-art[data-operator="gunner"] .robot-squad img.is-active{height:59%;max-height:300px}.robot-art.changing .robot-squad img.is-active{opacity:.16;transform:translate(-50%,-47%) scale(.9);filter:blur(3px) saturate(.65)}.robot-art:before{content:"";position:absolute;z-index:4;inset:10px;border:1px solid color-mix(in srgb,var(--operator-accent) 72%,transparent);clip-path:polygon(0 0,34px 0,34px 1px,calc(100% - 34px) 1px,calc(100% - 34px) 0,100% 0,100% 34px,calc(100% - 1px) 34px,calc(100% - 1px) calc(100% - 34px),100% calc(100% - 34px),100% 100%,calc(100% - 34px) 100%,calc(100% - 34px) calc(100% - 1px),34px calc(100% - 1px),34px 100%,0 100%,0 calc(100% - 34px),1px calc(100% - 34px),1px 34px,0 34px);pointer-events:none}.robot-art:after{content:"";position:absolute;z-index:1;left:-18%;right:-18%;bottom:-41%;height:72%;background-image:linear-gradient(color-mix(in srgb,var(--operator-accent) 36%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--operator-accent) 32%,transparent) 1px,transparent 1px);background-size:34px 24px;transform:perspective(310px) rotateX(58deg);transform-origin:center bottom;opacity:.46;animation:operator-grid 9s linear infinite;pointer-events:none}@keyframes operator-grid{to{background-position:0 96px,136px 0}}.robot-art-wash{position:absolute;z-index:3;inset:0;background:linear-gradient(0deg,#080c18e8 0%,transparent 24%),linear-gradient(90deg,#080c188a 0%,transparent 25%,transparent 75%,#080c188a 100%);pointer-events:none}.robot-art-wash:before{content:"";position:absolute;left:50%;top:47%;width:min(64vw,340px);aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid color-mix(in srgb,var(--operator-accent) 50%,transparent);border-radius:50%;box-shadow:0 0 0 26px color-mix(in srgb,var(--operator-accent) 9%,transparent),0 0 65px color-mix(in srgb,var(--operator-accent) 26%,transparent);opacity:.6}.robot-art-wash:after{content:"";position:absolute;left:50%;bottom:9%;width:48%;height:8%;transform:translateX(-50%);border-radius:50%;background:color-mix(in srgb,var(--operator-accent) 38%,transparent);filter:blur(17px);opacity:.66}.robot-art-top{position:absolute;z-index:5;top:14px;left:15px;right:15px;color:#fff;text-shadow:0 2px 12px #000}.robot-art-top b{color:var(--operator-accent)}.robot-art-label{position:absolute;z-index:5;bottom:13px;left:15px;border-left:3px solid var(--operator-accent);background:#080c18d9;padding:8px 10px;font:800 9px ui-monospace,SFMono-Regular,monospace;color:#fff;box-shadow:0 8px 25px #0007}.robot-panel{padding:18px 15px 25px;background:#f7f3ea;color:#141b28}.robot-panel .panel-heading{color:#e85c38}.robot-panel h2{font:1000 clamp(34px,8vw,52px)/.9 "Arial Black",Arial,sans-serif;letter-spacing:-.075em;margin:13px 0 2px;overflow-wrap:anywhere}.robot-role{font:800 10px ui-monospace,SFMono-Regular,monospace;color:#db5a39}.robot-description{font-size:14px;margin:10px 0 17px;max-width:500px}.robot-selector{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;margin:0 -15px;padding:0 15px 13px}.robot-selector::-webkit-scrollbar{display:none}.robot-selector button{flex:0 0 124px;min-height:54px;scroll-snap-align:center;border:1px solid #17203266;background:#fffefa;padding:8px 9px;text-align:left;color:#141b28}.robot-selector button[aria-selected="true"]{background:var(--orange);border-color:#eb5e3a}.robot-selector button span{display:block;font:800 9px ui-monospace,SFMono-Regular,monospace}.robot-selector button b{font:1000 12px "Arial Black",Arial,sans-serif;letter-spacing:-.03em;display:block;margin-top:4px}.skill-head{border-top:1px solid #141b2860;padding-top:12px;color:#db5a39}.skill-selector{display:flex;gap:6px;margin-top:9px}.skill-selector button{flex:1;min-width:0;border:1px solid #141b2855;background:#e8e4dd;color:#141b28;padding:9px 4px;min-height:43px;font:800 10px ui-monospace,SFMono-Regular,monospace}.skill-selector button[aria-pressed="true"]{background:#171d2c;color:var(--lime);border-color:#171d2c}.skill-detail{margin:10px 0 15px;border-left:4px solid var(--orange);padding:7px 12px;background:#fffefa}.skill-detail b{font:1000 17px "Arial Black",Arial,sans-serif;letter-spacing:-.04em}.skill-detail p{font-size:13px;margin-top:5px}.robot-panel .panel-source{border-color:#141b2860;color:#db5a39}
/* Worlds use the same gameplay camera language as the in-engine capture system. */
.map-layout{background:#10282e}.map-art{height:clamp(285px,48dvh,470px);position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(120deg,#58a176,#395e7b);background-size:cover;background-position:center;transition:opacity .2s,transform .4s}.map-art.changing{opacity:.35;transform:scale(1.015)}.map-art:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#0b12256b 0%,transparent 38%,#0b1225cc 100%),linear-gradient(90deg,#0b12254d,transparent 70%)}.map-art.with-image:after{content:"";position:absolute;inset:11px;z-index:0;border:1px solid #ffffff30;clip-path:polygon(0 0,28px 0,28px 1px,calc(100% - 28px) 1px,calc(100% - 28px) 0,100% 0,100% 28px,calc(100% - 1px) 28px,calc(100% - 1px) calc(100% - 28px),100% calc(100% - 28px),100% 100%,calc(100% - 28px) 100%,calc(100% - 28px) calc(100% - 1px),28px calc(100% - 1px),28px 100%,0 100%,0 calc(100% - 28px),1px calc(100% - 28px),1px 28px,0 28px)}.map-art:not(.with-image):after{content:"";position:absolute;inset:0;opacity:.27;background:repeating-linear-gradient(65deg,transparent 0 32px,#ffffff55 33px 34px),radial-gradient(circle at 65% 40%,#ffffff 0 2%,transparent 2.5%)}.map-art[data-theme="grass"]{background-color:#6ca36b}.map-art[data-theme="canyon"]{background-color:#bd8a63}.map-art[data-theme="redlands"]{background-color:#aa6158}.map-art[data-theme="crystal"]{background-color:#6866af}.map-art-top,.map-art-bottom{position:absolute;z-index:2;left:15px;right:15px;color:var(--light);text-shadow:0 2px 12px #050812}.map-art-top{top:14px}.map-art-bottom{bottom:10px;border-top:1px solid #ffffff87;padding-top:7px}.map-art-bottom span:last-child{color:var(--lime);font-size:18px}.map-art-center{position:absolute;z-index:2;left:15px;right:15px;bottom:45px;display:flex;align-items:center;gap:11px;width:max-content;max-width:calc(100% - 30px);padding:11px 14px 10px;background:#0b1225c7;border-left:3px solid var(--orange);box-shadow:0 12px 32px #05081266;backdrop-filter:blur(7px)}.map-art-center>div{min-width:0}.orbit-glyph{flex:0 0 auto;font-size:18px;color:var(--lime);display:block;animation:orbit-spin 8s linear infinite}@keyframes orbit-spin{to{transform:rotate(360deg)}}.map-art h2{font:1000 clamp(30px,8vw,48px)/.88 "Arial Black",Arial,sans-serif;letter-spacing:-.065em;text-shadow:0 4px 24px #111527a0;margin:0;overflow-wrap:anywhere;text-wrap:balance}.map-art-center p{font:800 9px ui-monospace,SFMono-Regular,monospace;color:var(--lime);margin-top:5px}.map-panel{padding:18px 15px 25px}.map-panel .panel-heading{color:var(--lime)}.map-context{font-size:14px;line-height:1.37;color:#e1e9e8;margin:2px 0 14px}.biome-rail{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;margin:0 -15px;padding:13px 15px 14px}.biome-rail::-webkit-scrollbar{display:none}.biome-rail button{position:relative;isolation:isolate;overflow:hidden;flex:0 0 154px;height:88px;scroll-snap-align:center;padding:0;border:1px solid #ffffff58;background:#183942;text-align:left;color:#fff}.biome-rail button img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.92) brightness(.8);transition:transform .35s,filter .25s}.biome-shade{position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#07101b4d 8%,transparent 42%,#07101be8 100%)}.biome-index{position:absolute;top:7px;left:8px;padding:3px 5px;background:#0b1225c9;font:900 9px ui-monospace,SFMono-Regular,monospace;color:var(--lime)}.biome-rail button b{position:absolute;left:8px;right:8px;bottom:7px;font:1000 13px/.95 "Arial Black",Arial,sans-serif;letter-spacing:-.035em}.biome-rail button[aria-selected="true"]{border:2px solid var(--lime);box-shadow:0 0 0 2px #e7ff8020}.biome-rail button[aria-selected="true"] img{filter:saturate(1.18) brightness(1);transform:scale(1.05)}.map-details{display:grid;gap:13px;border-top:1px solid var(--line);padding:13px 0}.map-details small{font:800 9px ui-monospace,SFMono-Regular,monospace;color:var(--mint)}.map-details p{font-size:14px;margin-top:3px}.enemy-list{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.enemy-list span{border:1px solid #ffffff66;background:#1c3d45;padding:5px 7px;font:700 10px ui-monospace,SFMono-Regular,monospace}.map-boss-action{border:0;background:var(--lime);color:var(--night);width:100%;min-height:45px;padding:10px 12px;display:flex;justify-content:space-between;align-items:center;text-align:left;font:900 10px ui-monospace,SFMono-Regular,monospace}.map-boss-action span{font-size:18px}
/* Prefab portrait + attack language are a codex screen, not a long card row. */
.boss-layout{background:#171a2a}.boss-art{height:clamp(240px,43dvh,480px);position:relative;overflow:hidden;background:radial-gradient(circle at 50% 60%,#43335d,#111527 65%)}.boss-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;filter:contrast(1.3) saturate(1.2);transform:scale(1.55);transition:opacity .2s,transform .5s}.boss-art.changing img{opacity:0;transform:scale(1.25)}.boss-iris{position:absolute;inset:12% 21%;border:1px solid #ff804d93;border-radius:50%;box-shadow:0 0 45px #ff804d3b}.boss-iris:before{content:"";position:absolute;inset:17%;border:1px dashed #bdabff9b;border-radius:50%}.boss-art-top,.boss-art-bottom{position:absolute;left:15px;right:15px;z-index:2}.boss-art-top{top:13px;color:var(--mint)}.boss-art-bottom{bottom:10px;border-top:1px solid #ffffff6b;padding-top:7px}.boss-art-bottom .scan-symbol{color:var(--orange);font-size:18px}.model-scan{position:absolute;top:0;bottom:0;left:-10%;z-index:2;width:3px;background:var(--orange);box-shadow:0 0 25px 7px #ff804d57;opacity:0}.boss-art.scanning .model-scan{animation:codex-scan .65s ease-out}@keyframes codex-scan{0%{left:-10%;opacity:1}90%{opacity:1}100%{left:110%;opacity:0}}.boss-panel{padding:18px 15px 25px;background:#21263b}.boss-panel .panel-heading{color:var(--orange)}.boss-panel h2{font:1000 clamp(34px,9vw,60px)/.9 "Arial Black",Arial,sans-serif;letter-spacing:-.075em;margin:14px 0 12px;overflow-wrap:anywhere}.boss-type{font:800 9px ui-monospace,SFMono-Regular,monospace;color:var(--mint);border-top:2px solid var(--orange);padding-top:11px}.boss-description{font-size:15px;margin:7px 0 19px}.boss-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.boss-nav button{width:46px;height:43px;border:1px solid #ffffff72;background:#303853;font-size:22px}.boss-nav span{font:800 12px ui-monospace,SFMono-Regular,monospace;color:var(--orange)}.boss-rail{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;margin:13px -15px 4px;padding:0 15px 10px}.boss-rail::-webkit-scrollbar{display:none}.boss-rail button{flex:0 0 65px;scroll-snap-align:center;height:70px;background:#313952;border:1px solid #ffffff46;padding:2px}.boss-rail button[aria-selected="true"]{border:2px solid var(--orange);background:#4c3650}.boss-rail img{width:100%;height:52px;object-fit:cover;mix-blend-mode:screen}.boss-rail span{display:block;text-align:center;font:800 8px ui-monospace,SFMono-Regular,monospace;color:var(--orange)}

@media(max-height:650px){.app-shell{grid-template-rows:calc(50px + env(safe-area-inset-top)) minmax(0,1fr) calc(60px + env(safe-area-inset-bottom))}.app-tabs button{min-height:60px}.play-scene{height:clamp(215px,41dvh,320px)}.robot-art,.boss-art{height:clamp(200px,39dvh,290px)}.map-art{height:clamp(225px,44dvh,300px)}.play-scene h1{font-size:clamp(35px,9vw,50px)}}
@media(min-width:900px){body{display:grid;place-items:center;background:#0b0e1a}.app-shell{width:min(100%,1480px);height:100dvh;grid-template-columns:170px minmax(0,1fr);grid-template-rows:66px minmax(0,1fr);border-left:1px solid #ffffff20;border-right:1px solid #ffffff20}.app-header{grid-column:1/-1;grid-row:1;padding:10px 24px}.app-brand>b{font-size:22px}.brand-tile{width:43px;height:43px;font-size:33px}.app-status{font-size:11px}.header-source{font-size:11px}.app-tabs{grid-column:1;grid-row:2;display:flex;flex-direction:column;border-top:0;border-right:1px solid #ffffff50;padding:25px 0;background:#141b2c}.app-tabs button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;width:100%;min-height:92px;padding:16px 22px;border-top:0;border-left:4px solid transparent;text-align:left}.app-tabs button.is-current{border-left-color:var(--orange)}.app-tabs span{font-size:12px}.app-tabs b{font-size:14px}.screen-host{grid-column:2;grid-row:2}.screen-inner{overflow-y:auto}.play-layout,.robot-layout,.map-layout,.boss-layout,.game-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(370px,.9fr);align-items:stretch;min-height:100%}.play-scene,.robot-art,.map-art,.boss-art{height:100%;min-height:calc(100dvh - 66px)}.play-scene-copy{left:clamp(22px,3vw,48px);right:clamp(22px,3vw,48px);bottom:85px}.play-scene h1{font-size:clamp(60px,5.5vw,95px)}.play-scene-copy>p:last-child{font-size:20px}.play-scene-top,.play-scene-bottom,.robot-art-top,.map-art-top,.map-art-bottom,.boss-art-top,.boss-art-bottom{left:30px;right:30px;font-size:11px}.play-control,.robot-panel,.map-panel,.boss-panel{padding:clamp(30px,4vw,64px);display:flex;flex-direction:column;justify-content:center}.panel-heading,.control-head{font-size:11px}.play-steps{flex-wrap:wrap;overflow:visible}.play-steps button{flex:1 1 120px;min-height:85px}.play-step-note{margin-top:25px}.play-step-note p,.robot-description,.map-context,.boss-description{font-size:18px}.play-actions{margin-top:20px}.robot-panel h2,.boss-panel h2{font-size:clamp(56px,5vw,78px)}.robot-selector{margin:0;padding:0 0 18px}.robot-selector button{flex:1 1 110px}.skill-selector button{min-height:55px}.robot-squad img{right:20px;top:calc(112px + var(--thumb-index) * 112px);width:100px;height:100px;padding:8px}.robot-squad img.is-active{left:45%;top:48%;height:58%;max-height:360px;max-width:62%;padding:0}.robot-art[data-operator="gunner"] .robot-squad img.is-active{height:46%;max-height:300px}.map-art h2{font-size:clamp(48px,4vw,68px)}.map-art-center{left:30px;right:auto;bottom:70px;max-width:calc(100% - 60px);padding:15px 18px}.biome-rail{flex-wrap:wrap;overflow:visible;margin:0;padding:18px 0 16px}.biome-rail button{flex:1 1 145px;height:84px}.map-details p{font-size:17px}.boss-art img{transform:scale(1.33)}.boss-rail{flex-wrap:wrap;overflow:visible;margin:17px 0;padding:0}.boss-rail button{flex-basis:63px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}.screen{animation:none}.play-scene>img,.boss-art img{transform:none!important}.robot-squad img{transition:none!important}.robot-squad img.is-active{transform:translate(-50%,-47%)!important}.play-rain{display:none}}
@media(max-width:899px) and (max-height:700px){.robot-art{height:clamp(235px,43dvh,310px)}.map-art,.boss-art{height:clamp(195px,38dvh,290px)}.play-control{padding-top:14px}.play-steps{padding-top:9px}.robot-panel,.map-panel,.boss-panel{padding-top:14px}}
@media(min-width:900px){.robot-panel h2{font-size:clamp(45px,4vw,62px);overflow-wrap:normal}}

/* v4 — production game site */
.app-brand{min-width:0}.app-brand img{width:clamp(92px,28vw,128px);height:36px;object-fit:contain;object-position:left center}.lang-switch{display:flex;border:1px solid #ffffff55;padding:2px;gap:2px;margin-left:2px}.lang-switch button{border:0;background:transparent;min-width:31px;min-height:28px;padding:4px;font:900 9px ui-monospace,SFMono-Regular,monospace}.lang-switch button[aria-pressed="true"]{background:var(--lime);color:var(--night)}
.map-boss-action[hidden]{display:none}.empty-enemies{font:700 10px ui-monospace,SFMono-Regular,monospace;color:#b9c8ca;margin-top:7px}.map-art.with-image{background-size:cover;background-position:center}.map-art[data-theme="island"]{background-color:#4aa784}.map-art[data-theme="arena"]{background-color:#141424}
.game-layout{background:#f4f0e8;color:#182034}.game-intro{padding:24px 17px 25px;border-bottom:2px solid var(--orange);background:linear-gradient(145deg,#f4f0e8 58%,#e7ff80 160%)}.game-intro .panel-heading{color:#e65f39}.game-logo{width:min(72%,340px);height:auto;filter:drop-shadow(0 10px 16px #10152728);margin:24px 0 20px}.game-intro h2{font:1000 clamp(42px,11vw,75px)/.88 "Arial Black",Arial,sans-serif;letter-spacing:-.08em;margin:0 0 18px}.game-intro h2 em{color:#ec6540}.game-intro>p{font-size:15px;line-height:1.45;max-width:560px}.game-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:18px}.game-facts span{border:1px solid #18203491;background:#fff9;padding:7px 9px;font:900 9px ui-monospace,SFMono-Regular,monospace}.mode-list{background:#182034;color:#f8f5ec}.mode-card{display:grid;grid-template-columns:34px 1fr 20px;gap:10px;align-items:start;padding:16px 17px;border-bottom:1px solid #ffffff35;min-height:94px}.mode-card>span{font:900 11px ui-monospace,SFMono-Regular,monospace;color:var(--orange)}.mode-card h3{font:1000 17px "Arial Black",Arial,sans-serif;letter-spacing:-.04em}.mode-card p{font-size:13px;line-height:1.4;color:#cbd3df;margin-top:5px}.mode-card i{font-style:normal;color:var(--lime);font-size:12px}
@media(max-width:370px){.app-header{padding-left:10px;padding-right:10px;gap:6px}.app-brand img{width:88px;height:31px}.app-status{display:none}.lang-switch{margin-left:auto}.lang-switch button{min-width:29px}.map-art h2{font-size:clamp(27px,8.5vw,36px)}}
@media(min-width:900px){.app-brand img{width:150px;height:43px}.lang-switch{margin-left:8px}.game-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);min-height:100%}.game-intro{border-bottom:0;border-right:2px solid var(--orange);padding:clamp(44px,5vw,76px);display:flex;flex-direction:column;justify-content:center}.game-intro h2{font-size:clamp(60px,5vw,88px)}.game-intro>p{font-size:18px}.mode-list{overflow-y:auto;display:flex;flex-direction:column;justify-content:center}.mode-card{padding:22px 30px;min-height:116px;grid-template-columns:42px 1fr 20px}.mode-card h3{font-size:22px}.mode-card p{font-size:15px}}
@media(min-width:900px){.map-layout{height:100%;min-height:0;align-items:start}.map-art{position:sticky;top:0;height:calc(100dvh - 66px);min-height:0}}

/* Four individually photographed models, with equal space for every silhouette. */
.robot-art{height:460px;min-height:0;background:radial-gradient(ellipse at 50% 40%,#27394e 0,#101827 68%)}
.robot-squad{inset:43px 14px 45px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:9px;z-index:4}
.robot-portrait{min-width:0;min-height:0;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:6px 5px 9px;border:1px solid #ffffff29;border-radius:5px;background:radial-gradient(ellipse at 50% 50%,#31475b66,transparent 72%);transition:border-color .2s,background .2s}
.robot-portrait.is-active{border-color:var(--operator-accent);background:radial-gradient(ellipse at 50% 50%,color-mix(in srgb,var(--operator-accent) 19%,#172231),#131d2b 85%);box-shadow:inset 0 0 0 1px var(--operator-accent)}
.robot-squad .robot-portrait img{position:static;inset:auto;width:100%;height:calc(100% - 21px);max-width:100%;max-height:none;padding:0;border:0;background:none;object-fit:contain;opacity:1;transform:none;filter:drop-shadow(0 9px 8px #0007);transition:transform .3s}
.robot-portrait.is-active img{transform:translateY(-2px)}
.robot-portrait span{display:flex;align-items:center;gap:6px;font:800 9px/1.3 ui-monospace,SFMono-Regular,monospace;letter-spacing:.04em;white-space:nowrap}
.robot-portrait small{font:inherit;color:#8898ae}.robot-portrait.is-active small{color:var(--operator-accent)}
.robot-art-wash{display:none}.robot-art:after{opacity:.15}.robot-art.changing .robot-squad{opacity:1}
.robot-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;margin:12px 0 0;padding:0 0 17px;gap:7px}.robot-selector button{min-width:0;min-height:54px}.robot-selector button b{font-size:11px}
@media(max-width:370px){.robot-art{height:420px}.robot-squad{left:11px;right:11px;gap:7px}.robot-portrait span{font-size:8px}}
@media(min-width:600px) and (max-width:899px){.robot-art{height:560px}.robot-squad{left:30px;right:30px}.robot-portrait span{font-size:12px}}
@media(min-width:900px){.robot-art{position:sticky;top:0;height:calc(100dvh - 66px);min-height:560px;max-height:1000px}.robot-squad{inset:62px 20px 62px;gap:14px}.robot-portrait{padding:10px 8px 16px}.robot-portrait span{font-size:11px}.robot-panel{padding:clamp(22px,3vw,50px)}.robot-layout{align-items:start}.robot-panel{min-height:calc(100dvh - 66px)}}

.robot-role{margin-bottom:20px}.robot-panel .skill-head{margin-top:0}

/* RUN: the choice of operator and the totem objective have distinct visuals. */
.play-roster{display:none;position:absolute;inset:48px 10px auto;height:44%;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;z-index:1;gap:0}
.play-roster img{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain;filter:drop-shadow(0 12px 10px #0008)}
.play-scene[data-tone="roster"]{height:clamp(420px,57dvh,560px);background:radial-gradient(ellipse at 50% 32%,#40526c 0,#182438 44%,#0d1524 78%)}
.play-scene[data-tone="roster"]>img{visibility:hidden}.play-scene[data-tone="roster"] .play-roster{display:grid}.play-scene[data-tone="roster"] .play-overlay{background:linear-gradient(0deg,#101527,transparent 62%)}
.play-scene[data-tone="roster"] .play-scene-copy,.play-scene[data-tone="roster"] .play-scene-top,.play-scene[data-tone="roster"] .play-scene-bottom{z-index:2}
@media(min-width:900px){.play-scene[data-tone="roster"]{height:100%;min-height:calc(100dvh - 66px)}.play-roster{top:10%;height:42%;left:20px;right:20px}}
.play-scene[data-tone="roster"] .play-roster{display:block;height:47%;left:0;right:0;top:54px}.play-roster img{position:absolute;top:0;width:39%;height:100%}.play-roster img:nth-child(1){left:-6%;z-index:2}.play-roster img:nth-child(2){left:18%;top:-9px}.play-roster img:nth-child(3){left:42%;top:-9px}.play-roster img:nth-child(4){left:66%;z-index:2}
@media(min-width:900px){.play-scene[data-tone="roster"] .play-roster{top:9%;height:44%}}
.play-roster img{width:33%}.play-roster img:nth-child(1){left:0}.play-roster img:nth-child(2){left:23%}.play-roster img:nth-child(3){left:46%}.play-roster img:nth-child(4){left:69%}

/* Preserve both fighters in the real portrait capture; keep copy outside the action. */
.play-scene[data-tone="combat"]{height:auto;min-height:0;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 30%,#34314a,#0e1525 72%)}
.play-scene[data-tone="combat"]>img{position:relative;inset:auto;display:block;width:100%;height:clamp(420px,58dvh,640px);padding-top:38px;object-fit:contain;object-position:center;filter:none}
.play-scene[data-tone="combat"] .play-overlay,.play-scene[data-tone="combat"] .play-rain{display:none}
.play-scene[data-tone="combat"] .play-scene-copy{position:relative;inset:auto;padding:18px 20px 16px;background:#101727}
.play-scene[data-tone="combat"] h1{font-size:clamp(36px,8vw,54px);margin:10px 0}
.play-scene[data-tone="combat"] .play-scene-bottom{position:relative;inset:auto;margin:0 20px 12px}
@media(min-width:900px){.play-scene[data-tone="combat"]{min-height:calc(100dvh - 66px)}.play-scene[data-tone="combat"]>img{height:clamp(430px,64dvh,800px)}.play-scene[data-tone="combat"] .play-scene-copy{padding:18px 28px}.play-scene[data-tone="combat"] .play-scene-bottom{margin:0 28px 12px}}
