/* Local refinement of the established layout, not a replacement theme. */
.features{border:1px solid var(--line);background:linear-gradient(120deg,#0c191a80,#080e10);align-items:stretch}
.features article,.features article:first-child{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:1fr auto;gap:19px 18px;padding:30px 28px;min-width:0;align-content:start}
.features article:last-child{border-bottom:0}
.features .feature-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid #31504b;background:#44dfc408;color:var(--mint);line-height:1}
.features .feature-icon svg{display:block;width:24px;height:24px}
.features article>div{min-width:0;padding-top:1px}
.features h3{margin:0 0 10px;font-size:15px;line-height:1.5}
.features p{font-size:11px;line-height:1.9;margin:0}
.features article>small{grid-column:2;margin:0;align-self:end;letter-spacing:1.35px;font-size:7px;line-height:1.8;color:#88a49b;flex-basis:auto}
.features article:hover .feature-icon{transform:none;border-color:#44dfc477;background:#44dfc410}
.devlog-card{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);border:1px solid #3f544a;background:linear-gradient(135deg,#112021,#0a1315);box-shadow:0 22px 65px #0002;overflow:hidden}
.devlog-card .devlog-image{width:100%;aspect-ratio:16/9;align-self:center;border:0;border-right:1px solid #3f544a;margin:0;padding:0;background:#04090b;text-align:initial;cursor:pointer;isolation:isolate}
.devlog-card .devlog-image>img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:none;transition:filter .3s}
.devlog-card .devlog-image:after{background:linear-gradient(0deg,#02090b80,transparent 38%);pointer-events:none;z-index:0}
.devlog-card .devlog-image:hover{box-shadow:none}
.devlog-card .devlog-image:hover>img{transform:none;filter:brightness(1.08)}
.devlog-card .big-play{top:50%;left:50%;transform:translate(-50%,-50%);width:66px;height:66px;padding:0;color:#f8f1dd;background:#061412c9;border:1px solid #e3c98ba6;box-shadow:0 3px 32px #0008}
.devlog-card .big-play svg{width:26px;height:26px}
.devlog-card .devlog-image:hover .big-play{transform:translate(-50%,-50%) scale(1.06);background:#153d36eb}
.play-caption{position:absolute;z-index:1;bottom:18px;left:22px;font-size:8px;letter-spacing:1.7px;color:#f4eddb;text-shadow:0 1px 6px #000}
.devlog-details{display:flex;align-items:flex-start;flex-direction:column;padding:30px;min-width:0;justify-content:center}
.devlog-details .video-label{position:static;display:flex;align-items:center;gap:15px;font-size:8px;line-height:1.5;letter-spacing:1.65px;color:var(--gold);text-shadow:none;margin-bottom:23px}
.devlog-details .video-label b{font-weight:500;border-color:#8f7d5380}
.devlog-details h3{font:500 clamp(22px,2.2vw,30px)/1.2 Bahnschrift,'Segoe UI',sans-serif;margin:0 0 16px;max-width:330px;letter-spacing:.1px}
.devlog-details p{font-size:12px;line-height:1.9;color:#a2b2ac;margin:0 0 25px;max-width:340px}
.devlog-details .button{min-height:42px;font-size:9px;padding:10px 20px}
.devlog-external{font-size:7px;letter-spacing:1px;color:#8ea09a;margin-top:17px;padding:4px 0}
.devlog-external:hover{color:var(--mint)}
.video-dialog{width:min(1060px,calc(100vw - 44px));max-width:none;max-height:calc(100dvh - 40px);overflow:auto;padding:0;border:1px solid #667251;background:#080f11;color:var(--text);box-shadow:0 30px 120px #000c}
.video-dialog::backdrop{background:#010609e8;backdrop-filter:blur(9px)}
.player-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;border-bottom:1px solid var(--line)}
.player-heading small{font-size:8px;letter-spacing:1.7px;color:var(--gold)}
.player-heading h2{font-size:17px;font-weight:500;line-height:1.4;margin:5px 0 0}
.player-close{flex-shrink:0;width:38px;height:38px;border:1px solid #31504b;background:#122322;color:var(--mint);font-size:25px;line-height:1;cursor:pointer}
.player-close:hover{background:#21403a;border-color:var(--mint)}
.player-screen{aspect-ratio:16/9;background:#000;width:100%}.player-screen iframe{border:0;display:block;width:100%;height:100%}
.player-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 24px;color:#90a099;font-size:10px}
.player-footer a{color:var(--mint);font-size:8px;letter-spacing:.9px}
body.video-open{overflow:hidden}
@media(max-width:1050px){.features article,.features article:first-child{padding:25px 20px;grid-template-columns:36px minmax(0,1fr);gap:17px 13px}.features .feature-icon{width:36px;height:36px}.features .feature-icon svg{width:21px;height:21px}.features h3{font-size:14px}.devlog-details{padding:24px}.devlog-details .video-label{margin-bottom:16px}.devlog-details p{font-size:11px;margin-bottom:18px}}
@media(max-width:800px){.devlog-card{grid-template-columns:1fr}.devlog-card .devlog-image{border-right:0;border-bottom:1px solid #3f544a}.devlog-details{padding:26px 28px}.devlog-details h3,.devlog-details p{max-width:none}.devlog-details .video-label{margin-bottom:15px}.devlog-details h3{font-size:26px}}
@media(max-width:700px){.features article,.features article:first-child{padding:23px 20px;grid-template-columns:38px minmax(0,1fr);gap:14px 17px;border-right:0;border-bottom:1px solid var(--line)}.features .feature-icon{width:38px;height:38px}.features article>small{margin:0;font-size:6px}.features h3{font-size:17px}.video-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 24px)}.player-heading{padding:16px;gap:12px}.player-heading h2{font-size:14px}.player-footer{padding:14px 16px;font-size:9px;align-items:flex-start}.player-footer a{font-size:7px;text-align:right}.devlog-details{padding:24px 22px}.devlog-card .big-play{width:55px;height:55px}.play-caption{font-size:7px;left:16px;bottom:12px}}
@media(prefers-reduced-motion:reduce){.devlog-card .devlog-image>img,.devlog-card .big-play{transition:none}}

.features .feature-icon img{display:block;width:28px;height:28px;object-fit:contain}
.devlog-details p{margin-bottom:18px}.devlog-details .devlog-external{margin-top:0}

/* Separate depth plates; transforms are damped in requestAnimationFrame. */
.hero-art{background-image:linear-gradient(90deg,#080e10cc 0%,#080e1066 34%,#080e1000 68%),linear-gradient(0deg,#080e10 0%,transparent 32%),url('assets/hero-background-v3.png')}
.motion-ready .hero-art,.hero-figures{position:absolute;inset:-100px 0; width:100%;height:calc(100% + 200px);scale:1.035;transition:none;will-change:translate;pointer-events:none}
.hero-figures{opacity:1;z-index:1;overflow:visible;mask-image:none}
.hero-content,.hero-bottom{z-index:2}
@media(max-width:980px){.motion-ready .hero-art,.hero-figures{inset:-65px 0;height:calc(100% + 130px);scale:1.015}}
@media(max-width:700px){.hero-figures{opacity:1}}

.features .feature-icon .steam-mark{width:28px;height:28px}

/* Native-engine roadmap: date and milestone-status filtering. */
.roadmap-foot{flex-wrap:wrap}.roadmap-updated{display:block;flex-basis:100%;color:var(--gold);font-size:10px;letter-spacing:1.4px;margin-bottom:12px}.milestones li[hidden]{display:none}.filters{flex-wrap:wrap}

/* Three-person hero party: one local coordinate system, anchored bottom-right. */
.hero-figures{position:absolute;inset:auto 0 0 auto;width:min(60%,1000px);height:auto;aspect-ratio:1536/1100;max-height:calc(100% - 120px);scale:1;transform-origin:100% 100%;overflow:visible;opacity:1;z-index:1;pointer-events:none;will-change:scale}
@media(max-width:980px) and (min-width:701px){.hero-figures{inset:auto 0 0 auto;width:57%;height:auto;max-height:calc(100% - 120px);scale:1}}
@media(max-width:700px){
  .hero{min-height:1080px}
  .hero-content{padding-bottom:355px}
  .hero-figures{inset:auto 0 0 auto;width:100%;height:auto;max-height:340px;scale:1}
}

.phase[hidden],.milestones li[hidden]{display:none!important}
.roadmap-filter-note{color:var(--muted);font-size:11px;line-height:1.7;margin:0 0 18px}
.filters button{font-variant-numeric:tabular-nums}
