/* PAGE Engine page — inherits the exact approved ParkStarGames Home theme.
   No external fonts, CSS frameworks, images or CDNs required. */
.engine-page { background:#020903; }
.engine-page .engine-hero { height:460px; min-height:440px; background:#020a05; position:relative; isolation:isolate; overflow:hidden; }
.engine-hero-background { position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(0,7,2,.55) 0%,rgba(0,9,3,.18) 38%,rgba(1,8,5,.04) 75%),url('../assets/engine-hero-scene.webp') center / cover no-repeat; }
.engine-hero::after { content:""; pointer-events:none; position:absolute; height:2px; bottom:0; left:0; right:0; box-shadow:0 0 12px #70ff00,0 0 26px rgba(115,255,10,.7); background:linear-gradient(90deg,#a4ff3f,rgba(79,255,5,.6) 30%,#b7ff25 90%); }
.engine-hero-content { padding:43px var(--edge) 32px; position:relative; width:min(720px,63%); z-index:2; }
.engine-headline { margin:8px 0 0; display:flex; align-items:center; gap:9px; min-width:0; filter:drop-shadow(0 2px 5px #010903); }
.engine-headline img { width:clamp(250px,26vw,375px); height:auto; object-fit:contain; flex:0 1 auto; }
.engine-headline span { color:#9aff37; font-size:clamp(43px,5vw,69px); font-weight:900; font-style:italic; letter-spacing:-4.5px; line-height:1; margin:-24px 0 0 -6px; text-shadow:0 0 16px rgba(91,255,8,.28); }
.engine-hero-content h2 { margin:0 0 10px; font-size:clamp(24px,2.6vw,33px); line-height:1.04; font-weight:900; letter-spacing:-1.2px; text-shadow:0 2px 4px #030604; }
.engine-intro { font-size:14.3px; line-height:1.42; color:#eef5ee; margin:0; max-width:480px; text-shadow:0 1px 3px #000; }
.engine-version-row { display:flex; width:min(685px,calc(100vw - var(--edge) * 2)); gap:12px; margin-top:20px; }
.version-tile { position:relative; flex:1 1 0; display:flex; align-items:center; padding:10px 12px; gap:12px; min-width:0; text-align:left; color:#fff; border:1px solid #97ff25; background:linear-gradient(110deg,rgba(1,15,7,.93),rgba(2,12,5,.88)); border-radius:10px; box-shadow:inset 0 0 0 1px rgba(93,240,0,.17),0 0 15px rgba(83,239,8,.42); cursor:pointer; transition:transform .2s,box-shadow .2s; }
.version-tile:hover,.version-tile:focus-visible { transform:translateY(-3px); box-shadow:inset 0 0 0 1px rgba(147,255,12,.4),0 0 24px rgba(99,255,11,.65); }
.version-tile>img { width:67px;height:66px;flex:0 0 67px; object-fit:contain; }
.version-desc { min-width:0;display:flex;flex-direction:column;gap:3px;line-height:1.1; }
.version-desc strong { font-weight:900;font-size:18px;letter-spacing:-.5px;white-space:nowrap; }
.version-desc>span { color:#d4e3d5;font-size:15px;font-weight:700;white-space:nowrap; }
.version-desc>span b { color:#8fff26;font-size:20px; }
.version-desc small { color:#d5dfd4;font-size:11px;white-space:nowrap;display:flex;gap:6px;align-items:center; }
.status-dot { display:inline-block;width:9px;height:9px;border-radius:50%;background:#21f37a;box-shadow:0 0 6px #21f37a;flex:none; }
.hub-dot { background:#60cdff;box-shadow:0 0 7px #60cdff; }
.version-arrow { margin-left:auto;display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border:1px solid #8dfb2c;border-radius:50%;font-size:30px;font-weight:300;line-height:0;padding-bottom:5px; }
.engine-slogan { margin:0;position:absolute;right:43px;bottom:48px;font-family:"Segoe Print","Comic Sans MS",cursive;font-weight:700;font-style:italic;font-size:23px;line-height:1.15;text-align:right;transform:rotate(-9deg);text-shadow:1px 1px 4px #000,0 3px 8px #000;z-index:2; }
.engine-slogan span { display:block;height:3px;width:110px;background:#88ff00;box-shadow:0 0 7px #7cff08;transform:rotate(-9deg);margin:8px 0 0 auto; }
.engine-band { background:radial-gradient(ellipse 52% 50% at 50% 100%,rgba(7,58,12,.22),transparent),linear-gradient(180deg,#010904,#021007 85%,#020a05);position:relative;border-bottom:1px solid rgba(100,255,7,.66);box-shadow:0 6px 15px rgba(37,255,0,.06); }
.engine-band::before { content:""; position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,#8bff14,transparent);box-shadow:0 0 9px rgba(121,255,9,.67); }
.engine-features, .engine-workflow, .engine-roadmap { padding:24px var(--edge) 28px; }
.engine-section-head { max-width:1435px;margin:0 auto 15px;display:flex;gap:36px;align-items:flex-end; }
.engine-section-head>div { flex-shrink:0; }
.engine-section-head .eyebrow { margin-bottom:5px; }
.engine-section-head h2 { margin:0;white-space:nowrap;font-size:clamp(34px,3.5vw,48px);letter-spacing:-2.4px;line-height:1.06;font-weight:900; }
.engine-section-head h2 span { color:#8cff27;text-shadow:0 0 22px rgba(114,255,0,.1); }
.engine-section-head p:not(.eyebrow) { max-width:450px;font-size:13px;line-height:1.4;margin:0 0 3px;color:#c9d7cb; }
.mini-outline { margin:0 0 3px auto;flex-shrink:0;display:inline-flex;gap:12px;align-items:center;justify-content:center;border:1px solid #81ff0a;border-radius:7px;background:rgba(1,10,4,.9);color:#fff;font-size:10px;font-weight:900;letter-spacing:.4px;padding:10px 14px;box-shadow:0 0 12px rgba(98,255,1,.25);cursor:pointer;transition:background .2s,transform .2s; }
.mini-outline:hover { background:#143507;transform:translateY(-2px); }
.mini-outline span { font-size:18px;line-height:0; }
.feature-grid { max-width:1435px;margin:0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px; }
.feature-card { text-align:left;background:#021008;color:#fff;overflow:hidden;border:1px solid #4b9b31;border-radius:8px;padding:0;min-width:0;box-shadow:0 0 0 1px rgba(6,40,8,.7),0 0 7px rgba(44,255,0,.09);transition:transform .2s,box-shadow .2s,border-color .2s; }
.feature-card:hover { transform:translateY(-5px);border-color:#93ff1d;box-shadow:0 8px 22px rgba(40,250,13,.18); }
.feature-card>img { width:100%;height:133px;object-fit:cover;object-position:center; }
.feature-card-body { position:relative;display:flex; flex-direction:column;min-height:157px;padding:11px 15px 15px; background:linear-gradient(180deg,#0a1a0f,#020b06); }
.feature-icon { margin-top:-30px;margin-bottom:10px;width:38px;height:38px;border-radius:8px;display:grid;place-items:center;color:#fff;background:linear-gradient(150deg,rgba(2,42,16,.95),rgba(5,14,7,.95));border:1px solid rgba(93,255,29,.25);font-size:33px;line-height:1;filter:drop-shadow(0 2px 7px #000); }
.feature-card-body strong { font-size:17px;font-weight:900;line-height:1.09;margin-bottom:8px;letter-spacing:-.3px; }
.feature-card-body small { font-size:12px;color:#d0dfd1;line-height:1.35;max-width:92%; }
.feature-next { position:absolute;right:11px;bottom:16px;display:grid;place-items:center;width:29px;height:29px;border:1px solid #87ff16;border-radius:50%;font-size:28px;line-height:0;padding-bottom:4px; }
.engine-workflow { padding-top:26px;padding-bottom:29px; }
.workflow-header { margin-bottom:14px; }
.workflow-grid { max-width:1435px;margin:auto;display:grid;grid-template-columns:minmax(236px,.29fr) minmax(0,.71fr);gap:19px;align-items:center; }
.workflow-copy { padding:5px 8px 4px 0;display:flex;flex-direction:column;gap:19px; }
.workflow-item { display:flex;align-items:center;gap:14px; }
.workflow-glyph { width:42px;height:42px;flex:none;display:grid;place-items:center;color:#eaffdf;border:1px solid #84f92a;border-radius:7px;font-size:28px;background:#061509;box-shadow:0 0 10px rgba(39,255,11,.18); }
.workflow-item h3 { margin:0 0 4px;font-size:14.5px; }
.workflow-item p { color:#becfc0;margin:0;line-height:1.3;font-size:11.5px; }
.workflow-action { border:1px solid #9aff26;width:100%;max-width:292px;height:42px;margin-top:7px;font-size:11px; }
.workflow-action>span:first-child { font-size:24px;line-height:0; }
.hub-shot { margin:0;min-width:0;position:relative; }
.hub-image-button { width:100%;display:block;position:relative;padding:5px;background:linear-gradient(130deg,#0b2411,#020805);border:1px solid #477f34;border-radius:10px;color:#fff;box-shadow:0 0 23px rgba(24,157,17,.20),0 16px 35px #000;overflow:hidden;cursor:zoom-in; }
.hub-image-button img { width:100%;height:auto;display:block;aspect-ratio:1295/777;object-fit:cover;border-radius:6px; }
.hub-image-button:hover { border-color:#8eff28; }
.hub-image-hint { position:absolute;right:15px;bottom:14px;font-size:10px;font-weight:800;background:rgba(1,14,4,.94);border:1px solid #80ed2b;color:#e6ffda;padding:8px 12px;border-radius:6px;box-shadow:0 0 8px #090; }
.hub-shot figcaption { color:#9eb4a1;text-align:right;font-size:10px;margin-top:8px; }
.engine-roadmap { padding-top:22px;padding-bottom:32px; }
.roadmap-header { margin-bottom:14px; }
.roadmap-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:1435px;margin:auto; }
.roadmap-card { text-align:left;display:flex;align-items:flex-start;gap:10px;background:#06120b;border:1px solid #376c2b;color:#fff;border-radius:7px;min-height:111px;padding:15px 12px;box-shadow:inset 0 0 12px rgba(39,131,18,.1);transition:border-color .2s, transform .2s; }
.roadmap-card:hover,.roadmap-card.featured { border-color:#7cff13; }
.roadmap-card:hover { transform:translateY(-3px); }
.roadmap-symbol { width:33px;height:33px;display:grid;place-items:center;flex:none;border:1px solid #84ff2c;border-radius:50%;font-size:19px;color:#86ff28; }
.roadmap-symbol.upcoming { color:#cddacf;border-color:#638359; }
.roadmap-card>span:last-child { display:flex;flex-direction:column;gap:5px; }
.roadmap-card strong { font-size:20px;line-height:1;letter-spacing:-.6px; }
.roadmap-card small { font-size:10px;color:#9aff40;text-transform:uppercase;letter-spacing:.6px;font-weight:800; }
.roadmap-card>span:last-child>span { font-size:11.5px;color:#b8cabc;line-height:1.4; }
.engine-dialog { max-width:660px; }
.engine-dialog .dialog-image { max-height:min(63vh,510px);object-fit:contain;background:#010602; }
.engine-dialog .dialog-image.wide { max-height:min(68vh,640px); }
.engine-dialog ul { padding-left:18px;color:#d1d9d2;line-height:1.55;font-size:13px; }
.engine-dialog .dialog-actions { margin-top:14px;display:flex;gap:11px;flex-wrap:wrap; }
.engine-dialog .dialog-link { display:inline-block;border:1px solid #6ff010;color:#9bff34;border-radius:6px;padding:10px 13px;font-size:12px;font-weight:800; }
@media (max-width:1190px) {
 .engine-hero-content { width:min(740px,76%); }
 .engine-section-head { gap:19px; }
 .feature-grid { gap:8px; }
 .feature-card>img { height:116px; }
 .feature-card-body { padding:10px 11px 15px; min-height:158px; }
 .feature-card-body strong { font-size:15px; }
 .feature-card-body small { font-size:11px; }
 .engine-section-head p:not(.eyebrow) { max-width:350px; }
}
@media (max-width:990px) {
 .engine-hero { height:auto!important;min-height:500px!important; }
 .engine-hero-content { padding-top:48px;padding-bottom:34px;width:90%; }
 .engine-headline img { width:clamp(230px,39vw,340px); }
 .engine-headline span { font-size:clamp(41px,7vw,60px); }
 .engine-slogan { display:none; }
 .engine-section-head { align-items:flex-start; flex-wrap:wrap; }
 .engine-section-head>p { flex:1; }
 .feature-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .feature-card>img { height:140px; }
 .workflow-grid { grid-template-columns:1fr; }
 .workflow-copy { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-bottom:4px; }
 .workflow-action { max-width:none; }
 .roadmap-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:610px) {
 .engine-page .engine-hero { min-height:0!important; }
 .engine-hero-background { background-position:59% center;opacity:.78; }
 .engine-hero-content { padding:42px 19px 36px;width:100%; }
 .engine-headline { gap:1px;margin:12px 0 10px; }
 .engine-headline img { width:min(58vw,260px); }
 .engine-headline span { font-size:clamp(32px,8vw,46px); letter-spacing:-2.5px;margin:-12px 0 0 -3px; }
 .engine-hero-content h2 { font-size:27px; }
 .engine-intro { font-size:13px;max-width:410px; }
 .engine-version-row { width:100%;gap:9px;flex-direction:column;margin-top:24px; }
 .version-tile { min-height:76px;padding:7px 13px; }
 .version-tile>img { width:59px;height:59px;flex-basis:59px; }
 .version-desc strong { font-size:17px; }
 .version-desc>span b { font-size:19px; }
 .engine-features,.engine-workflow,.engine-roadmap { padding:27px 15px 30px; }
 .engine-section-head { gap:10px;align-items:start; }
 .engine-section-head h2 { font-size:clamp(34px,9vw,44px);white-space:normal; }
 .engine-section-head p:not(.eyebrow) { font-size:12px;flex-basis:100%; }
 .mini-outline { margin:10px 0 0; }
 .feature-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
 .feature-card>img { height:122px; }
 .feature-card-body { min-height:167px; }
 .feature-card-body strong { font-size:15px; }
 .feature-card-body small { font-size:11.5px; }
 .workflow-copy { grid-template-columns:1fr; gap:16px; }
 .roadmap-grid { gap:9px; }
 .roadmap-card { min-height:139px; padding:11px 9px;gap:7px; }
 .roadmap-symbol { width:27px;height:27px;font-size:15px; }
 .roadmap-card strong { font-size:18px; }
 .roadmap-card>span:last-child>span { font-size:11px; }
 .hub-image-hint { font-size:9px;padding:5px 8px; }
}
@media (max-width:390px) {
 .feature-grid { grid-template-columns:1fr 1fr;gap:8px; }
 .feature-card>img { height:100px; }
 .feature-card-body { min-height:172px;padding:9px; }
 .feature-icon { font-size:25px;width:31px;height:31px;margin-bottom:9px; }
 .feature-card-body strong { font-size:13px; }
 .feature-card-body small { font-size:10.5px; }
 .feature-next { width:23px;height:23px;font-size:20px;bottom:9px;right:8px; }
}
@media (prefers-reduced-motion: reduce) { .engine-page *, .engine-page *::after, .engine-page *::before { scroll-behavior:auto!important; transition:none!important; } }

/* Hub ZIP download uses the established version tile design. */
.hub-download-tile { text-decoration:none; }
.hub-download-tile .version-arrow { padding:0 0 1px; font-size:21px;font-weight:800; }
.hub-download-tile:focus-visible{outline:2px solid #fff;outline-offset:3px;}

/* PAGE Engine hero: only the downloadable PAGE Hub tile remains. */
.engine-version-row.engine-hub-only-row{width:min(336px,calc(100vw - var(--edge) * 2));}
@media(max-width:610px){.engine-version-row.engine-hub-only-row{width:100%;}}
