/* Avlory Engine /engine/nebula: a coming-soon page. Scoped to main.xp.eg; shared parts are in engine-core.css.
   The demo layout repeats the few rules it needs from the Sculpt page, so neither page depends on the other. */

/* hero: two rows of platform badges, editor and games */
.eg .nb-plats{display:grid;gap:10px;justify-items:center}
.eg .nb-plat{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center}
.eg .nb-plat-k{font:600 12px var(--f-body);color:var(--muted);min-width:4.5em;text-align:right}
@media (max-width:520px){.eg .nb-plat{flex-direction:column;gap:6px}.eg .nb-plat-k{text-align:center;min-width:0}}

/* lists styled as the tile grid */
.eg ul.tgrid{list-style:none;margin:0;padding:0}
.eg .nb-new{border-style:dashed;background:transparent}

/* demo layout (as on Sculpt) */
.eg .demo2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
@media (max-width:900px){.eg .demo2{grid-template-columns:1fr}}
.eg .demo-view{padding:20px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-content:start;background:radial-gradient(80% 80% at 50% 40%,#1d2233,#111218);min-width:0}
.eg .demo-view.report{background:var(--card-2)}
.eg .demo-side{padding:20px;display:grid;gap:12px;align-content:start;border-left:1px solid var(--border);min-width:0}
@media (max-width:900px){.eg .demo-side{border-left:0;border-top:1px solid var(--border)}}
.eg .btnrow{display:flex;gap:8px;flex-wrap:wrap}

/* world-boundary demo */
.eg .nb-ask{display:grid;gap:8px}
.eg .nb-ask-l{font:600 13px var(--f-body);color:var(--text)}
.eg .nb-ask-row{display:flex;gap:8px}
.eg .nb-ask input{flex:1;width:0;min-width:0;background:var(--field);border:1px solid var(--border-strong);border-radius:12px;padding:10px 14px;color:var(--text);font:15px var(--f-body)}
.eg .nb-ask input::placeholder{color:var(--faint)}
.eg .nb-ask input:focus-visible{outline:2px solid var(--acc);outline-offset:1px;border-color:transparent}
.eg .nb-try{display:flex;gap:6px;flex-wrap:wrap}
.eg .nb-try .btn{font-weight:600}
.eg .nb-out{display:grid;gap:8px;min-height:150px;align-content:start}
.eg .nb-empty{font-size:13px;color:var(--faint)}
.eg .nb-msg{display:grid;gap:4px;padding:10px 14px;border-radius:14px;background:var(--surface-2);font-size:14px;max-width:44ch;overflow-wrap:anywhere}
.eg .nb-msg small{font:600 11px var(--f-body);color:var(--faint)}
.eg .nb-msg.you{justify-self:end;background:color-mix(in srgb,var(--acc) 16%,transparent)}
.eg .nb-msg.npc{justify-self:start;border:1px solid var(--border)}
.eg .nb-msg mark{background:rgba(255,93,115,.2);color:var(--text);border-bottom:1.5px solid var(--danger);border-radius:3px;padding:0 2px}
.eg .nb-checks{list-style:none;margin:0;padding:10px 14px;border-radius:14px;border:1px solid var(--border);display:grid;gap:4px;font-size:13px;color:var(--muted)}
.eg .nb-checks li{display:grid;grid-template-columns:16px 1fr;gap:6px}
.eg .nb-checks li::before{content:"✓";color:var(--ok)}
.eg .nb-checks li.bad::before{content:"!";color:var(--warn);font-weight:700;text-align:center}
.eg .nb-tally{list-style:none;margin:0;padding:0;display:flex;gap:6px;flex-wrap:wrap;font-size:12.5px}
.eg .nb-tally li{padding:4px 9px;border-radius:999px;border:1px solid rgba(255,93,115,.45);color:var(--text)}
.eg .nb-tally li.empty{border:0;padding:0;color:var(--faint)}
.eg .nb-lex summary{cursor:pointer;font-size:12.5px;color:var(--accent-text);border-radius:6px}
.eg .nb-lex p{margin-top:8px;line-height:1.6}

.eg .nb-card{padding:24px;border-radius:24px;display:grid;gap:10px;align-content:start}
.eg .nb-card h3{font-size:19px}
.eg .tbl td.n{color:var(--faint)}
