/* October 2026: worlds, Deepy Prime and the generated app showcase. */
.v18-nav { gap:18px; }
.v18-header-inner { gap:20px; }
.pf-model-columns { grid-template-columns:repeat(5,minmax(0,1fr)); gap:22px; }
.pf-hero .pf-kicker { line-height:2; }
/* Keep hero copy and artwork in separate grid columns at every desktop width. */
.pf-hero { column-gap:32px; }
.pf-hero-copy { left:0; min-width:0; }
.pf-hero-visual { left:0; margin-left:0; transform:none; }
/* Enlarge the airship crop by 40% while keeping it inside the artwork column. */
.pf-hero-scene { mask-image:radial-gradient(ellipse 46.2% 49% at 50% 38%,#000 25%,rgb(0 0 0 / .98) 40%,rgb(0 0 0 / .82) 58%,rgb(0 0 0 / .5) 73%,rgb(0 0 0 / .18) 86%,rgb(0 0 0 / .035) 94%,transparent 100%); }
.pf-hero-scene img { width:451.765%; left:-281.177%; top:-53.311%; }
.pf-hero .pf-create-line { max-width:100%; text-wrap:balance; }
.release-strip { display:flex; flex-wrap:wrap; align-items:center; gap:14px 26px; padding-block:18px; border-block:1px solid var(--pf-line); font-size:12px; }
.release-strip > span { font:500 10px/1.6 var(--font-geist-mono),monospace; letter-spacing:.06em; color:var(--pf-muted); }
.release-strip a { color:var(--pf-blue); text-underline-offset:4px; }
.release-strip a:hover { text-decoration:underline; }
.release-strip a:last-child { margin-left:auto; }
.world-section { background:#102438; color:#f7f5ef; padding:66px 0 50px; margin-block:20px 40px; }
.world-section .pf-kicker,.world-kind,.world-link { color:#89d6c2; }
.world-intro { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.world-section h2 { font-size:clamp(36px,4vw,52px); line-height:1.08; letter-spacing:-.05em; font-weight:600; margin:0; }
.world-intro > div > p:not(.pf-kicker) { font-size:16px; line-height:1.8; color:#d1dce5; margin:0; }
.world-intro p.world-note { font-size:12px !important; color:#a3b6c8 !important; margin-top:18px !important; }
.world-models { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:42px; }
.world-models article { border-top:1px solid #ffffff35; padding-top:24px; }
.world-kind { font:500 10px/1.5 var(--font-geist-mono),monospace; letter-spacing:.12em; }
.world-models h3 { font-size:29px; letter-spacing:-.03em; font-weight:500; margin:14px 0; }
.world-models h3 small { font:400 14px/1.6 var(--font-geist-mono),monospace; color:#9db5c6; }
.world-models p { color:#bacbd8; font-size:14px; line-height:1.8; max-width:510px; }
.world-steps { display:flex; flex-wrap:wrap; gap:20px 34px; padding-block:27px; margin-top:28px; border-top:1px solid #ffffff25; font-size:12px; }
.world-steps b { margin-right:9px; color:#89d6c2; font:500 11px/1.5 var(--font-geist-mono),monospace; }
.world-link { display:inline-block; font-size:13px; text-underline-offset:4px; }
.world-link:hover { text-decoration:underline; }
.world-deepy { color:#c5d3de; font-size:14px; line-height:1.8; margin:0 0 20px; }
.update-apps { display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; align-items:center; padding-block:64px; }
.update-apps-copy h2,.update-heading h2 { font-size:clamp(32px,3.5vw,46px); line-height:1.13; letter-spacing:-.045em; font-weight:550; margin:0 0 24px; }
.update-apps-copy > p:not(.pf-kicker) { font-size:15px; color:var(--pf-muted); line-height:1.8; margin:20px 0; }
.update-apps-copy > p.pf-small { font-size:12px; }
.update-apps-visual { display:block; background:var(--pf-ink); color:#cbd7e7; border:1px solid var(--pf-line); border-radius:7px; overflow:hidden; }
.update-apps-visual img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.update-apps-visual span { display:block; font-size:12px; line-height:1.6; padding:18px 22px; }
.prime-tools { padding-block:64px 36px; border-top:1px solid var(--pf-line); }
.update-heading > p:last-child { max-width:640px; font-size:16px; line-height:1.8; color:var(--pf-muted); }
.prime-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; margin-top:38px; }
.prime-grid article { border-top:2px solid var(--pf-blue); padding-top:24px; }
.prime-grid .pf-kicker { margin-bottom:14px; }
.prime-grid h3 { font-size:23px; letter-spacing:-.035em; font-weight:550; line-height:1.3; margin:0 0 15px; }
.prime-grid article > p:last-child { color:var(--pf-muted); font-size:14px; line-height:1.8; }
.prime-memory { margin-top:42px; padding:25px 28px; background:var(--pf-tint); border-radius:5px; }
.prime-memory strong { font-weight:600; font-size:18px; }
.prime-memory p { margin:10px 0; font-size:14px; line-height:1.8; color:var(--pf-muted); }
.apps-page { color:var(--pf-ink); background:var(--pf-paper); }
.apps-hero { padding-block:56px 64px; display:grid; grid-template-columns:1fr 1.03fr; gap:60px; align-items:center; }
.apps-back { font-size:12px; color:var(--pf-muted); display:inline-block; margin-bottom:26px; }
.apps-hero h1 { font-size:clamp(40px,4.5vw,65px); letter-spacing:-.06em; font-weight:600; line-height:1.05; margin:0; }
.apps-hero h1 em { color:var(--pf-blue); font-style:normal; }
.apps-lead { font-size:16px; line-height:1.8; color:var(--pf-muted); margin:26px 0; }
.apps-hero .pf-actions { justify-content:flex-start; }
.apps-hero .pf-small { margin-top:20px; }
.apps-hero-art > a { display:block; border:1px solid var(--pf-line); border-radius:6px; overflow:hidden; box-shadow:0 15px 40px #14254112; }
.apps-hero-art > a > img { aspect-ratio:16/9; width:100%; object-fit:cover; }
.apps-hero-art > a > span { display:flex; justify-content:space-between; gap:10px; background:var(--pf-ink); padding:16px 20px; color:white; font:500 10px/1.7 var(--font-geist-mono),monospace; }
.apps-hero-art b { font-weight:400; color:#afbed4; }
.hero-art-bottom { display:grid; grid-template-columns:1.5fr 1fr; gap:16px; margin-top:16px; }
.hero-art-bottom > img { border-radius:5px; width:100%; height:100%; min-height:0; object-fit:cover; aspect-ratio:16/9; }
.hero-art-bottom > div { background:#e7ecdf; border:1px solid #dce4d0; border-radius:5px; display:flex; align-items:center; justify-content:center; gap:12px; padding:18px; }
.hero-art-bottom strong { font-size:55px; font-weight:500; letter-spacing:-.07em; }
.hero-art-bottom span { font-size:12px; line-height:1.6; }
.apps-preview-note { display:flex; align-items:center; gap:26px; padding-block:23px; background:#eaf0ff; border-block:1px solid #d6e0fa; }
.preview-badge { color:#234eaf; font:500 10px/1.5 var(--font-geist-mono),monospace; white-space:nowrap; letter-spacing:.08em; }
.apps-preview-note p { color:#435b7c; font-size:13px; line-height:1.7; margin:0; max-width:850px; }
.apps-examples { padding-block:66px; }
.apps-gallery-heading { display:flex; flex-wrap:wrap; gap:20px; align-items:flex-end; justify-content:space-between; }
.apps-gallery-heading h2 { font-size:clamp(28px,3vw,40px); font-weight:550; letter-spacing:-.04em; line-height:1.15; }
.apps-gallery-heading .pf-kicker { margin-bottom:13px; }
#app-count { font-size:12px; color:var(--pf-muted); }
.app-filters { display:flex; flex-wrap:wrap; gap:8px; margin:30px 0; }
.app-filters button { padding:11px 17px; min-height:44px; background:transparent; border:1px solid var(--pf-line); border-radius:4px; font:inherit; font-size:12px; font-weight:500; line-height:1.5; cursor:pointer; }
.app-filters button[aria-pressed=true] { background:var(--pf-ink); color:white; border-color:var(--pf-ink); }
.app-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:30px; }
.app-card { display:flex; flex-direction:column; background:#fffdf9; border:1px solid var(--pf-line); border-radius:7px; overflow:hidden; scroll-margin-top:30px; }
.app-preview { display:block; position:relative; background:#0a1424; overflow:hidden; }
.app-preview img { width:100%; aspect-ratio:16/9; height:auto; object-fit:cover; transition:transform .25s; }
.app-preview:hover img { transform:scale(1.025); }
.app-play-icon { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:56px; height:56px; border-radius:50%; color:white; background:#102039cc; border:1px solid #ffffff60; box-shadow:0 4px 15px #0003; padding-left:3px; font-size:18px; }
.app-preview:hover .app-play-icon { background:var(--pf-blue); }
.app-number { position:absolute; top:14px; left:16px; background:#102039d9; color:#fff; padding:5px 9px; border-radius:3px; font:400 10px/1.5 var(--font-geist-mono),monospace; }
.app-card-body { padding:26px; display:flex; flex-direction:column; flex:1; }
.app-card .pf-kicker { margin-bottom:10px; font-size:10px; }
.app-card h3 { font-size:27px; line-height:1.2; letter-spacing:-.04em; font-weight:550; margin:0 0 14px; }
.app-description { color:var(--pf-muted); font-size:14px; line-height:1.75; margin-bottom:16px; }
.app-assets { color:#546c78; font-size:11px; line-height:1.7; padding-top:14px; border-top:1px solid #e0e5e8; }
.app-prompt { margin:18px 0 22px; font-size:12px; line-height:1.8; }
.app-prompt summary { cursor:pointer; color:var(--pf-blue); padding-block:5px; }
.app-prompt p { background:#eff3fc; color:#435b7c; padding:15px; margin:10px 0; border-radius:4px; }
.copy-prompt { color:var(--pf-blue); font:inherit; background:none; border:0; padding:8px 0; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.app-card-actions { display:flex; flex-wrap:wrap; gap:20px; justify-content:space-between; align-items:center; margin-top:auto; }
.app-card .pf-button { min-height:44px; padding:10px 17px; font-size:13px; }
.app-download { color:var(--pf-ink); font-size:12px; line-height:1.6; text-underline-offset:4px; }
.app-download:hover { text-decoration:underline; }
.app-download span { display:block; font-size:10px; color:var(--pf-muted); }
.app-controls { margin-top:20px; font-size:11px; color:var(--pf-muted); line-height:1.7; }
.gallery-footnote { color:var(--pf-muted); font-size:12px; line-height:1.8; max-width:800px; margin:30px 0 0; }
.apps-how { padding-block:65px; background:#eaf0ff; }
.apps-how-steps { list-style:none; padding:0; margin:40px 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; }
.apps-how-steps li { border-top:1px solid #becce9; padding-top:24px; }
.apps-how-steps li > span { color:var(--pf-blue); font:500 11px/1.5 var(--font-geist-mono),monospace; }
.apps-how-steps h3 { font-size:23px; font-weight:550; margin:15px 0; letter-spacing:-.03em; }
.apps-how-steps p { color:var(--pf-muted); font-size:14px; line-height:1.8; }
.apps-how-steps strong,.apps-how-bottom strong { font-weight:600; }
.apps-how-bottom { border-top:1px solid #becce9; padding-top:28px; display:flex; gap:35px; align-items:center; justify-content:space-between; }
.apps-how-bottom p { max-width:780px; font-size:13px; line-height:1.8; color:var(--pf-muted); }
.apps-how-bottom a { flex-shrink:0; }
.app-dialog { width:min(1280px,96vw); max-width:96vw; max-height:96dvh; padding:0; border:1px solid #385575; border-radius:8px; color:#e6edf7; background:#102039; overflow:auto; margin:auto; box-shadow:0 25px 100px #0008; }
.app-dialog::backdrop { background:#08111de6; }
.player-toolbar { display:flex; justify-content:space-between; gap:16px; align-items:center; padding:16px 20px; }
.player-toolbar .pf-kicker { color:#9bb8ef; font-size:9px; margin:0; }
.player-toolbar h2 { font-size:18px; line-height:1.4; font-weight:550; margin:3px 0 0; letter-spacing:-.02em; }
.player-buttons { display:flex; gap:7px; flex-wrap:wrap; }
.player-buttons button { border:1px solid #52637a; padding:10px 12px; min-height:40px; background:#21344f; color:#e8eef8; border-radius:4px; font:inherit; font-size:12px; font-weight:500; line-height:1.3; cursor:pointer; }
.player-buttons button:hover { background:#36527b; }
.player-stage { position:relative; background:#080d16; height:min(66vh,720px); min-height:280px; }
.player-stage iframe { width:100%; height:100%; border:0; display:block; }
.player-footer { display:flex; justify-content:space-between; gap:20px; padding:15px 20px 4px; font-size:12px; line-height:1.7; }
.player-footer a { white-space:nowrap; color:#a4c2ff; }
#player-status { padding:4px 20px 14px; font-size:11px; color:#b2c0d6; line-height:1.6; }
.app-dialog:fullscreen { width:100vw; max-width:none; max-height:none; height:100dvh; border:0; border-radius:0; display:flex; flex-direction:column; }
.app-dialog:fullscreen .player-stage { flex:1; min-height:0; height:auto; }
button,a,summary { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid #da9e27; outline-offset:4px; }
@media(max-width:1050px) {
  .v18-nav { gap:13px; font-size:12px; }
  .apps-hero { gap:32px; }
  .hero-art-bottom > div { flex-direction:column; align-items:flex-start; gap:0; }
  .hero-art-bottom strong { font-size:40px; }
  .update-apps { gap:36px; }
}
@media(max-width:800px) {
  .pf-model-columns { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .apps-hero { grid-template-columns:1fr; padding-block:40px; }
  .apps-hero-art { max-width:640px; }
  .apps-hero h1 { font-size:52px; }
  .hero-art-bottom > div { flex-direction:row; align-items:center; gap:16px; }
  .world-intro { gap:30px; }
  .prime-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
  .update-apps { grid-template-columns:1fr; gap:30px; padding-block:46px; }
  .update-apps-copy { max-width:600px; }
  .app-card-body { padding:22px; }
  .apps-how-steps { grid-template-columns:1fr; gap:28px; }
  .apps-how-bottom { align-items:flex-start; flex-direction:column; gap:22px; }
  .player-toolbar { flex-wrap:wrap; }
  .apps-preview-note { align-items:flex-start; gap:20px; }
}
@media(max-width:560px) {
  .v18-nav { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 10px; }
  .v18-nav a { font-size:11px; }
  .pf-model-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .release-strip { gap:12px 20px; }
  .release-strip > span { flex-basis:100%; }
  .release-strip a:last-child { margin-left:0; }
  .world-section { padding-block:44px 35px; }
  .world-intro,.world-models { grid-template-columns:1fr; gap:28px; }
  .world-steps { flex-direction:column; gap:18px; }
  .prime-grid { grid-template-columns:1fr; }
  .prime-tools { padding-block:42px 26px; }
  .apps-hero h1 { font-size:clamp(39px,11vw,54px); }
  .apps-lead { font-size:15px; }
  .apps-hero-art > a > span { font-size:8px; padding:12px; }
  .hero-art-bottom > div { padding:12px; gap:10px; }
  .hero-art-bottom strong { font-size:35px; }
  .hero-art-bottom span { font-size:10px; }
  .apps-preview-note { flex-direction:column; gap:10px; }
  .apps-examples { padding-block:42px; }
  .app-grid { grid-template-columns:1fr; gap:26px; }
  .app-filters { gap:6px; margin-block:23px; }
  .app-filters button { font-size:11px; padding-inline:12px; }
  .app-card h3 { font-size:26px; }
  .apps-how { padding-block:42px; }
  .player-toolbar { padding:12px; gap:12px; }
  .player-toolbar h2 { font-size:17px; }
  .player-buttons { gap:5px; }
  .player-buttons button { padding:9px 10px; font-size:11px; }
  .player-stage { min-height:260px; height:54dvh; }
  .player-footer { flex-wrap:wrap; gap:7px; padding:12px 12px 4px; }
  #player-status { padding:4px 12px 12px; }
}
@media(prefers-reduced-motion:reduce) { .app-preview img { transition:none; } }
