/* Games and full-service capabilities for the local editorial preview. */
.games-showcase{background:#0c292f;color:#f7f2e9;position:relative;overflow:hidden}
.games-showcase::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 4%,#bb986822,transparent 38%);pointer-events:none}
.games-showcase .section-top{border-color:#d7e3df40;position:relative}
.games-showcase .section-top>span{color:#b9ceca}
.games-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px;position:relative}
.games-heading h2{margin:0;max-width:660px}
.games-heading>p{max-width:310px;color:#b9ceca;font-size:15px;margin:0 0 5px}
.games-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 26px;position:relative;width:100%;max-width:1060px;margin-inline:auto}
.game-card{min-width:0;border-top:1px solid #c6b18580;padding-top:18px}
.game-media{width:100%;aspect-ratio:16/9;background:#162b31;overflow:hidden;position:relative}
.game-media video,.game-media img{display:block;width:100%;height:100%;object-fit:cover}
.game-media video{cursor:pointer}
.game-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:9px 20px 9px 10px;border:1px solid #ffffffb8;border-radius:999px;background:#08232cdd;color:#fff;font-family:inherit;font-size:13px;font-weight:650;line-height:1;letter-spacing:.06em;white-space:nowrap;box-shadow:0 10px 32px #0008,0 0 0 1px #12394355;cursor:pointer;backdrop-filter:blur(10px);transition:background .2s,box-shadow .2s,transform .2s}
.game-play span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#f6ede1;color:#10353d;font-size:13px;padding-left:2px}
.game-play:hover,.game-play:focus-visible{background:#0c4755;box-shadow:0 12px 38px #0009,0 0 0 4px #d6b47d55;transform:translate(-50%,-50%) scale(1.04)}
.game-play:focus-visible{outline:2px solid #f6d59e;outline-offset:4px}
.game-play:active{transform:translate(-50%,-50%) scale(.98)}
.game-play[hidden]{display:none}
.game-card-coming .game-media img{transition:transform .45s ease}
.game-card-coming:hover .game-media img{transform:scale(1.025)}
.game-meta{display:flex;justify-content:space-between;gap:12px;color:#a9c1bd;font-size:10px;font-weight:650;letter-spacing:.13em;margin-top:19px}
.game-status{color:#e2c58f}
.game-card h3{font-family:Georgia,serif;font-size:clamp(25px,2.2vw,32px);font-weight:400;letter-spacing:-.025em;line-height:1.1;margin:12px 0 7px;color:#f7f2e9}
.game-card>p{margin:0;color:#b9ceca;font-size:14px}
.game-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #d5b783;color:#f7f2e9;font-size:12px;font-weight:650;letter-spacing:.05em;margin-top:18px;padding:8px 0 10px;min-height:44px;transition:color .2s,border-color .2s}
.game-link span{font-size:20px;line-height:1;transition:transform .2s}
.game-link:hover,.game-link:focus-visible{color:#e4c38c;border-color:currentColor}
.game-link:hover span,.game-link:focus-visible span{transform:translate(3px,-3px)}
.capabilities{background:#f7f3eb;color:#123b40}
.capabilities .section-top{border-color:#aabbb6}
.capabilities-lead{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:48px}
.capabilities-lead h2{margin:0;max-width:770px}
.capabilities-lead>p{max-width:380px;font-size:17px;color:#496a68;margin:0 0 5px}
.capability-factory{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:170px 170px;gap:48px 10px;padding:32px 0 30px;margin:0 0 22px;isolation:isolate}
.factory-route{position:absolute;z-index:0;pointer-events:none}
.factory-route-top,.factory-route-bottom{left:10%;width:80%;height:2px;background:#c7ad78;box-shadow:0 0 0 3px #e7dac233}
.factory-route-top{top:87px}.factory-route-bottom{top:305px;left:10%;width:80%}
.factory-route-turn{right:10%;top:87px;height:220px;width:34px;border-right:2px solid #c7ad78;border-top:2px solid #c7ad78;border-bottom:2px solid #c7ad78;border-radius:0 24px 24px 0;transform:translateX(32px)}
.factory-route-top::after,.factory-route-bottom::after,.factory-route-turn::after{content:"";position:absolute;width:8px;height:8px;border:1px solid #b5833e;border-radius:2px;background:linear-gradient(135deg,#fff5db,#d09c45);box-shadow:0 0 0 3px #d09c4522,0 0 10px 2px #d09c4540;transform:rotate(45deg)}
.factory-route-top::after{top:-3px;left:0}.factory-route-bottom::after{top:-3px;left:100%}.factory-route-turn::after{top:0;right:-4px}
.capability-factory.is-in-view .factory-route-top::after{animation:factory-packet-forward 13s linear infinite}
.capability-factory.is-in-view .factory-route-bottom::after{animation:factory-packet-back 13s linear infinite 6.5s}
.capability-factory.is-in-view .factory-route-turn::after{animation:factory-packet-down 13s linear infinite 5.2s}
.factory-station{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;gap:13px;min-width:0;text-align:center}
.factory-station:nth-of-type(6){grid-column:5;grid-row:2}.factory-station:nth-of-type(7){grid-column:4;grid-row:2}.factory-station:nth-of-type(8){grid-column:3;grid-row:2}.factory-station:nth-of-type(9){grid-column:2;grid-row:2}.factory-station:nth-of-type(10){grid-column:1;grid-row:2}
.factory-plinth{position:relative;display:grid;place-items:center;width:min(120px,74%);height:102px;background:linear-gradient(145deg,#fffefb,#eee7d9);border:1px solid #d7c9af;border-radius:25px;box-shadow:0 7px 0 -2px #d0b887,0 13px 22px #886f4830,inset 0 2px 0 #fff;transform:perspective(220px) rotateX(9deg)}
.factory-plinth svg{width:76px;height:76px;overflow:visible;transform:translateY(-8px);filter:drop-shadow(0 5px 3px #1a303522)}
.factory-piece{position:absolute;top:14px;right:12px;width:7px;height:7px;border:1px solid #be985d;background:#fff8e8;box-shadow:0 0 0 2px #eedfc2;border-radius:2px;opacity:.8}
.factory-name{font-size:11px;font-weight:650;letter-spacing:.035em;color:#214b4d;line-height:1.35}
.capability-factory.is-in-view .factory-plinth svg{animation:factory-breathe 6.5s ease-in-out infinite;animation-delay:calc(var(--station) * -.47s)}
.capability-factory.is-in-view .factory-piece{animation:factory-assemble 6.5s ease-in-out infinite;animation-delay:calc(var(--station) * -.47s)}
.capability-details{border-top:1px solid #aabbb6;border-bottom:1px solid #aabbb6;margin:0 0 26px}
.capability-details>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;padding:13px 2px;cursor:pointer;list-style:none;color:#164a4f;font-size:13px;font-weight:650;letter-spacing:.04em}
.capability-details>summary::-webkit-details-marker{display:none}
.capability-details>summary span{font-size:23px;font-weight:400;line-height:1;transition:transform .2s ease}
.capability-details[open]>summary span{transform:rotate(45deg)}
.capability-details .capabilities-grid{margin:0 0 22px}
@keyframes factory-packet-forward{0%{left:0;opacity:0}8%,92%{opacity:1}100%{left:100%;opacity:0}}
@keyframes factory-packet-back{0%{left:100%;opacity:0}8%,92%{opacity:1}100%{left:0;opacity:0}}
@keyframes factory-packet-down{0%{top:0;opacity:0}10%,85%{opacity:1}100%{top:100%;opacity:0}}
@keyframes factory-breathe{0%,100%{transform:translateY(-8px)}50%{transform:translateY(-11px)}}
@keyframes factory-assemble{0%,100%{transform:translate(0,0) rotate(0);opacity:.5}48%{transform:translate(-4px,4px) rotate(12deg);opacity:1}60%{transform:translate(-6px,5px) rotate(0);opacity:.25}}
.capabilities-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #aabbb6;border-left:1px solid #aabbb6}
.capabilities-grid article{padding:30px 28px 34px;min-height:205px;border-right:1px solid #aabbb6;border-bottom:1px solid #aabbb6;display:flex;flex-direction:column}
.capabilities-grid span{font-size:10px;color:#977344;letter-spacing:.12em;font-weight:700}
.capabilities-grid h3{font-family:Georgia,serif;font-size:clamp(21px,2vw,29px);line-height:1.15;font-weight:400;letter-spacing:-.02em;margin:25px 0 9px}
.capabilities-grid p{font-size:14px;line-height:1.6;color:#506d6a;margin:0;max-width:35ch}
.capabilities-end{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}
.capabilities-end p{font-family:Georgia,serif;font-size:clamp(20px,2.3vw,30px);margin:0}
.capabilities-end .game-link{color:#07576b;border-color:#07576b;margin:0;white-space:nowrap}
@media(max-width:900px){.capabilities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.games-heading,.capabilities-lead{align-items:start;flex-direction:column;gap:15px}.games-heading>p,.capabilities-lead>p{max-width:620px}}
@media(max-width:900px){.capability-factory{gap:35px 5px}.factory-plinth{width:min(100px,82%);height:90px}.factory-plinth svg{width:62px;height:62px}}
@media(max-width:650px){.games-grid,.capabilities-grid{grid-template-columns:1fr}.games-grid{gap:38px}.games-heading{margin-bottom:28px}.game-card{padding-top:14px}.game-meta{font-size:9px}.capabilities-grid article{min-height:0;padding:25px}.capabilities-grid h3{margin-top:16px}.capabilities-end{align-items:start;flex-direction:column}.capabilities-end .game-link{white-space:normal}.capability-factory{display:flex;flex-direction:column;gap:0;padding:10px 0 14px;margin-bottom:4px}.capability-factory::before{content:"";position:absolute;top:22px;bottom:53px;left:47px;width:2px;background:#c7ad78}.capability-factory::after{content:"";position:absolute;left:44px;top:22px;width:8px;height:8px;border:1px solid #b5833e;border-radius:2px;background:linear-gradient(135deg,#fff5db,#d09c45);box-shadow:0 0 0 3px #d09c4522;transform:rotate(45deg)}.capability-factory.is-in-view::after{animation:factory-mobile-packet 20s linear infinite}.factory-route{display:none}.factory-station{height:76px;flex-direction:row;text-align:left;gap:22px}.factory-station:nth-of-type(n){grid-column:auto;grid-row:auto}.factory-plinth{width:70px;height:58px;margin-left:12px;flex:0 0 70px;border-radius:15px;box-shadow:0 5px 0 -2px #d0b887,0 9px 14px #886f4828}.factory-plinth svg{width:44px;height:44px;transform:translateY(-4px)}.factory-name{font-size:13px}.factory-piece{width:5px;height:5px;top:8px;right:7px}.capability-factory.is-in-view .factory-plinth svg{animation-name:factory-breathe-mobile}}
@keyframes factory-breathe-mobile{0%,100%{transform:translateY(-4px)}50%{transform:translateY(-6px)}}
@keyframes factory-mobile-packet{0%{top:22px;opacity:0}5%,95%{opacity:1}100%{top:calc(100% - 53px);opacity:0}}
@media(prefers-reduced-motion:reduce){.game-card-coming .game-media img,.game-link,.game-link span,.capability-details>summary span{transition:none}.game-card-coming:hover .game-media img{transform:none}.capability-factory.is-in-view .factory-plinth svg,.capability-factory.is-in-view .factory-piece,.capability-factory.is-in-view .factory-route::after,.capability-factory.is-in-view::after{animation:none}}

/* The capability line is a small playable project build, not an ambient service carousel. */
.capability-game{border:1px solid #c9d1c7;background:linear-gradient(145deg,#fffdfa,#f4eee2);padding:23px 29px 17px;margin-bottom:27px;box-shadow:0 18px 38px #173d3810}
.factory-console{display:grid;grid-template-columns:minmax(0,1fr) 102px auto;align-items:center;gap:24px;border-bottom:1px solid #c8d3ca;padding-bottom:22px}
.factory-kicker{display:block;font-size:10px;font-weight:750;letter-spacing:.17em;color:#9b713a;margin-bottom:8px}
.factory-console-copy strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:clamp(22px,2.3vw,32px);line-height:1.16;color:#123e42}
.factory-console-copy p{margin:7px 0 0;color:#52706a;font-size:13px;min-height:20px}
.factory-product{position:relative;display:grid;place-items:center;width:94px;height:88px;border-radius:23px;background:radial-gradient(circle at 50% 35%,#fffbef,#e5efe8);border:1px solid #c0d0c8;box-shadow:inset 0 2px 4px #fff,0 8px 0 -3px #bcaa83,0 12px 24px #163d3829;overflow:hidden}
.factory-product svg{position:relative;z-index:1;width:68px;height:68px;filter:drop-shadow(0 4px 2px #15393b22)}
.factory-product-glow{position:absolute;inset:-20%;background:radial-gradient(circle,#c8ebc673,transparent 66%);opacity:0}
.factory-impact .factory-product-glow{animation:factory-impact-glow .7s ease-out}
.factory-impact .factory-product svg{animation:factory-product-pop .55s cubic-bezier(.2,.8,.25,1.3)}
.factory-console-actions{display:flex;align-items:flex-end;flex-direction:column;gap:8px;min-width:145px}
#factory-progress{color:#135c62;font-size:12px;font-weight:750;letter-spacing:.12em;white-space:nowrap}
.factory-meter{display:block;width:130px;height:5px;background:#cbd7ce;overflow:hidden;border-radius:9px}.factory-meter i{display:block;width:0;height:100%;background:linear-gradient(90deg,#086679,#cda15d);border-radius:inherit;transition:width .48s ease}
.factory-flying-piece{position:fixed;z-index:1000;pointer-events:none;width:60px;height:60px;filter:drop-shadow(0 8px 8px #08495456)}
.capability-game.is-finished .factory-product{box-shadow:inset 0 2px 4px #fff,0 8px 0 -3px #bcaa83,0 0 0 5px #a6dcd252,0 0 30px #2ea78c91}
.factory-play,.factory-reset{font:inherit;font-size:12px;font-weight:700;color:#f9f5ec;background:#07596b;border:1px solid #07596b;padding:10px 14px;min-height:42px;cursor:pointer;transition:background .2s,color .2s,transform .2s,box-shadow .2s}
.factory-reset{color:#07596b;background:transparent}
.factory-play:hover,.factory-play:focus-visible,.factory-reset:hover,.factory-reset:focus-visible{background:#083e49;color:#fff;transform:translateY(-2px);box-shadow:0 7px 15px #0a46542d}
.factory-play:active,.factory-reset:active{transform:translateY(1px);box-shadow:none}
.factory-play:focus-visible,.factory-reset:focus-visible,.factory-station:focus-visible{outline:3px solid #cc9b4d;outline-offset:4px}
.factory-play[hidden],.factory-reset[hidden]{display:none}
.capability-game .capability-factory{margin:0;padding-bottom:4px;--top-fill:0%;--bottom-fill:0%;--mobile-fill:0%}
.capability-game .factory-route-top{background:linear-gradient(90deg,#087486 var(--top-fill),#c7ad78 var(--top-fill))}
.capability-game .factory-route-bottom{background:linear-gradient(270deg,#087486 var(--bottom-fill),#c7ad78 var(--bottom-fill))}
.capability-game .factory-station{font:inherit;border:0;background:none;padding:0;cursor:pointer;opacity:.53;transition:opacity .3s,transform .3s;min-height:150px}
.capability-game .factory-station.is-next,.capability-game .factory-station.is-complete{opacity:1}
.capability-game .factory-station.is-next:hover,.capability-game .factory-station.is-next:focus-visible{transform:translateY(-5px)}
.capability-game .factory-station .factory-plinth{transition:box-shadow .3s,border-color .3s,background .3s,transform .3s}
.capability-game .factory-station.is-next .factory-plinth{border-color:#9abcb3;background:linear-gradient(145deg,#fff,#e1f1ec);box-shadow:0 7px 0 -2px #74a89e,0 0 0 5px #a6dcd252,0 0 26px #77cfb68a,inset 0 2px 0 #fff}
.capability-game .capability-factory.is-in-view .factory-station.is-next .factory-plinth{animation:factory-next-pulse 2.2s ease-in-out infinite}
.capability-game .factory-station.is-complete .factory-plinth{background:linear-gradient(145deg,#f9fffc,#d9ece6);border-color:#91b8aa;box-shadow:0 7px 0 -2px #76a898,0 10px 20px #396c5834,inset 0 2px 0 #fff}
.capability-game .factory-station.is-complete .factory-piece{background:#157b72;border-color:#157b72;box-shadow:0 0 0 3px #b9dfd1}
.capability-game .factory-station.is-next .factory-name{font-weight:800;color:#07596b}
.capability-game .factory-station.is-complete .factory-name{color:#116b67}
.capability-game .capability-factory.is-in-view .factory-plinth svg,.capability-game .capability-factory.is-in-view .factory-piece{animation:none}
.capability-game .capability-factory .factory-route::after{display:none}
.capability-game .capability-factory[data-progress="6"] .factory-route-turn,.capability-game .capability-factory[data-progress="7"] .factory-route-turn,.capability-game .capability-factory[data-progress="8"] .factory-route-turn,.capability-game .capability-factory[data-progress="9"] .factory-route-turn,.capability-game .capability-factory[data-progress="10"] .factory-route-turn{border-color:#087486;box-shadow:5px 0 14px #3ca9a347}
@keyframes factory-next-pulse{0%,100%{box-shadow:0 7px 0 -2px #74a89e,0 0 0 5px #a6dcd252,0 0 20px #77cfb65e,inset 0 2px 0 #fff}50%{box-shadow:0 7px 0 -2px #74a89e,0 0 0 8px #a6dcd269,0 0 32px #77cfb6b0,inset 0 2px 0 #fff}}
@keyframes factory-impact-glow{0%{opacity:0;transform:scale(.5)}35%{opacity:1}100%{opacity:0;transform:scale(1.3)}}
@keyframes factory-product-pop{0%{transform:scale(.75) rotate(-8deg);opacity:.4}60%{transform:scale(1.13) rotate(3deg);opacity:1}100%{transform:scale(1) rotate(0)}}
@media(max-width:750px){.factory-console{grid-template-columns:minmax(0,1fr) 82px;gap:12px}.factory-product{width:76px;height:72px}.factory-product svg{width:56px;height:56px}.factory-console-actions{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between}.capability-game{padding:19px 20px 12px}}
@media(max-width:650px){.capability-game .capability-factory{padding-top:18px}.capability-game .capability-factory::before{background:linear-gradient(180deg,#087486 var(--mobile-fill),#c7ad78 var(--mobile-fill))}.capability-game .capability-factory::after{display:none}.capability-game .factory-station{min-height:76px;height:76px}.capability-game .factory-station.is-next:hover,.capability-game .factory-station.is-next:focus-visible{transform:translateX(4px)}.capability-game .factory-station .factory-name{text-align:left}}
@media(prefers-reduced-motion:reduce){.factory-impact .factory-product-glow,.factory-impact .factory-product svg,.capability-game .capability-factory.is-in-view .factory-station.is-next .factory-plinth{animation:none}.capability-game .factory-station,.capability-game .factory-station .factory-plinth,.factory-meter i,.factory-play,.factory-reset{transition:none}}

/* Compact build-board refinement: the player collects modules in a clear 1–10 grid. */
.capability-game{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,310px);align-items:stretch;gap:20px;padding:19px}
.capability-game .capability-factory{grid-column:1;grid-row:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,155px);gap:10px;margin:0;padding:0}
.capability-game .factory-route,.capability-game .capability-factory::before,.capability-game .capability-factory::after{display:none}
.capability-game .capability-factory .factory-station:nth-of-type(n){grid-column:auto;grid-row:auto}
.capability-game .factory-station{min-height:0;height:155px;gap:6px;justify-content:center;border:1px solid #d4ded7;border-radius:15px;background:#fffcf7;opacity:.67;box-shadow:0 3px 0 #d8ccad;transform:none}
.capability-game .factory-station.is-next{border-color:#68b6a6;background:#ecf8f3;box-shadow:0 3px 0 #68a999,0 0 0 4px #afe0d359,0 12px 22px #367f6940}
.capability-game .factory-station.is-complete{border-color:#a2c9b5;background:#f4fbf5;box-shadow:0 3px 0 #88baa4}
.capability-game .factory-station.is-next:hover,.capability-game .factory-station.is-next:focus-visible{transform:translateY(-3px)}
.capability-game .factory-station .factory-plinth,.capability-game .factory-station.is-next .factory-plinth,.capability-game .factory-station.is-complete .factory-plinth{width:76px;height:73px;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none;margin:0}
.capability-game .factory-station .factory-plinth svg{width:62px;height:62px;transform:none}
.capability-game .factory-station .factory-name{font-size:11px;white-space:normal}
.capability-game .factory-station .factory-piece{top:0;right:0}
.capability-game .factory-station.is-next::after{content:"TAP TO ADD";font-size:9px;font-weight:800;letter-spacing:.09em;color:#0d696c}
.capability-game .factory-station.is-complete::after{content:"ADDED";font-size:9px;font-weight:700;letter-spacing:.08em;color:#468b73}
.capability-game .capability-factory.is-in-view .factory-station.is-next .factory-plinth{animation:none}
.factory-console{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:stretch;gap:8px;border:0;border-left:1px solid #d2dcd2;padding:7px 2px 7px 20px;min-width:0}
.factory-console-copy strong{font-size:clamp(20px,1.6vw,26px)}
.factory-console-copy p{font-size:12px;line-height:1.35;min-height:32px}
.factory-product{align-self:center;width:84px;height:76px;margin:1px 0}
.factory-product svg{width:58px;height:58px}
.factory-build-pieces{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:0 auto;width:min(100%,240px)}
.factory-build-piece{display:grid;place-items:center;height:32px;border:1px solid #d7dfd5;border-radius:5px;background:#f3f1ea;opacity:.42;transition:background .3s,border-color .3s,opacity .3s,transform .3s}
.factory-build-piece svg{width:28px;height:28px;filter:grayscale(1)}
.factory-build-piece.is-added{background:#e4f3e9;border-color:#a2c9b5;opacity:1}
.factory-build-piece.is-added svg{filter:none}
.factory-build-piece.is-just-added{animation:factory-slot-pop .55s ease-out}
.factory-console-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:6px;min-width:0;margin-top:auto}
#factory-progress,.factory-meter{grid-column:1/-1}
.factory-meter{width:100%}
.factory-play,.factory-reset{font-size:11px;padding:9px 7px;min-height:39px}
.factory-console-actions:has(.factory-reset[hidden]) .factory-play{grid-column:1/-1}
.factory-console-actions:has(.factory-play[hidden]) .factory-reset{grid-column:1/-1}
@keyframes factory-slot-pop{0%{transform:scale(.72)}60%{transform:scale(1.14)}100%{transform:scale(1)}}
@media(max-width:950px){.capability-game{grid-template-columns:1fr}.factory-console{grid-column:1;grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) 86px minmax(160px,.65fr);align-items:center;border:0;border-bottom:1px solid #d2dcd2;padding:4px 0 14px}.factory-product{grid-column:2;grid-row:1}.factory-build-pieces{grid-column:1/-1;grid-row:2;width:100%;grid-template-columns:repeat(10,minmax(0,1fr))}.factory-console-actions{grid-column:3;grid-row:1;margin:0}.capability-game .capability-factory{grid-column:1;grid-row:2}}
@media(max-width:650px){.capability-game{padding:14px;gap:13px}.factory-console{grid-template-columns:minmax(0,1fr) 75px;gap:7px}.factory-console-copy{grid-column:1;grid-row:1}.factory-product{grid-column:2;grid-row:1;width:70px;height:66px}.factory-product svg{width:49px;height:49px}.factory-build-pieces{grid-column:1/-1;grid-row:2}.factory-build-piece{height:25px}.factory-build-piece svg{width:22px;height:22px}.factory-console-actions{grid-column:1/-1;grid-row:3;grid-template-columns:1fr 1fr}.capability-game .capability-factory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;gap:8px;padding:0}.capability-game .factory-station{height:115px;min-height:115px;flex-direction:column;gap:2px;text-align:center}.capability-game .factory-station .factory-plinth{height:57px;width:62px}.capability-game .factory-station .factory-plinth svg{width:51px;height:51px;transform:none}.capability-game .factory-station .factory-name{text-align:center;font-size:11px}.capability-game .factory-station.is-next:hover,.capability-game .factory-station.is-next:focus-visible{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.factory-build-piece,.factory-build-piece.is-just-added{animation:none;transition:none}}

/* A digital product is the build target; the station board remains the controller. */
.capability-game{grid-template-columns:minmax(0,1.45fr) minmax(340px,1fr);align-items:stretch;gap:14px}
.factory-scene{position:relative;grid-column:1;grid-row:1;aspect-ratio:1.85;overflow:hidden;border:1px solid #d3d8cf;background:#f7f3eb;isolation:isolate}
.factory-scene-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(var(--scene-scale,1));transition:opacity .32s ease,transform 1.2s ease,filter .6s ease}
.factory-scene-idea{opacity:1}
.factory-scene-build{opacity:var(--build-opacity,0)}
.factory-scene-live{opacity:var(--live-opacity,0)}
.factory-scene.is-reacting .factory-scene-image{filter:brightness(1.055) saturate(1.08)}
.factory-scene-caption{position:absolute;z-index:2;left:12px;bottom:12px;display:flex;align-items:center;gap:10px;padding:8px 11px;background:#f9f5edee;border:1px solid #d9d9ca;box-shadow:0 5px 18px #143c381a;color:#123e42}
.factory-scene-caption span{font-size:9px;font-weight:750;letter-spacing:.1em;color:#825f32}
.factory-scene-caption strong{font-family:Georgia,serif;font-weight:400;font-size:16px}
.capability-game .factory-console{grid-column:1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,220px);gap:20px;align-items:center;padding:0 2px 15px;border:0;border-bottom:1px solid #d2dcd2}
.factory-console-copy strong{font-size:clamp(20px,2vw,29px)}
.factory-console-copy p{min-height:0}
.capability-game .factory-console-actions{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:7px;margin:0}
.capability-game .capability-factory{grid-column:2;grid-row:1 / span 2;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:8px;height:100%}
.capability-game .factory-station{height:100%;min-height:0}
.capability-game .factory-station .factory-plinth{height:61px}
.capability-game .factory-station .factory-plinth svg{width:51px;height:51px}
.capability-game .factory-station.is-next{box-shadow:0 3px 0 #68a999,0 0 0 3px #afe0d359,0 9px 19px #367f6933}
.capability-game.is-finished .factory-scene{border-color:#90b9a7;box-shadow:0 0 0 4px #abd9c95c}
@media(max-width:860px){.capability-game{grid-template-columns:minmax(0,1fr)}.factory-scene{width:min(100%,760px);justify-self:center}.capability-game .factory-console{grid-column:1;grid-row:2}.capability-game .capability-factory{grid-column:1;grid-row:3;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,105px);height:auto}.capability-game .factory-station{height:105px}}
@media(max-width:750px){.factory-scene{aspect-ratio:1.5}.factory-scene-image{object-fit:contain}.capability-game .factory-console{grid-template-columns:1fr}.capability-game .factory-console-actions{grid-column:1;grid-row:2;grid-template-columns:repeat(2,minmax(0,1fr))}.factory-scene-caption{left:10px;bottom:10px;gap:8px;padding:7px 9px}.factory-scene-caption span{font-size:8px}.factory-scene-caption strong{font-size:13px}}
@media(max-width:650px){.capability-game .capability-factory{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(5,105px)}}
@media(max-width:450px){.factory-scene-caption{right:10px;display:block}.factory-scene-caption span{display:block;margin-bottom:2px}.factory-scene-caption strong{display:block;font-size:14px}.capability-game .factory-station{height:105px;min-height:105px}.capability-game .factory-station .factory-plinth{height:52px}.capability-game .factory-station .factory-plinth svg{width:45px;height:45px}}
@media(prefers-reduced-motion:reduce){.factory-scene-image{transition:none;transform:none}.factory-scene.is-reacting .factory-scene-image{filter:none}}
