/* Shared product hierarchy. Game palettes and type remain owned by realm-theme. */
.page:has(.nexus-product),.page:has(.game-dashboard){max-width:1440px;padding:28px 36px 64px}
.nexus-product,.game-dashboard{--radius:12px;line-height:1.6}
.nexus-product h1,.game-dashboard h1{font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.12;margin:10px 0 20px}
.nexus-product h2,.game-dashboard h2{font-size:1.65rem;margin:0 0 8px;line-height:1.25}
.nexus-product h3,.game-dashboard h3{font-size:1.18rem;line-height:1.35;margin:0 0 10px}
.nexus-product p,.game-dashboard p{margin:8px 0 14px}
.nexus-product .eyebrow,.game-dashboard .eyebrow{font:600 .68rem/1.6 system-ui;letter-spacing:.12em;margin:0 0 9px}
.product-intro{padding:24px 0 32px;max-width:850px}
.product-intro h1{font-size:clamp(2.65rem,5vw,4.5rem);max-width:900px}
.product-intro h1 em{color:var(--accent);font-weight:400}
.product-intro .lede{max-width:660px;font-size:1.12rem;line-height:1.7;margin:20px 0 24px}
.product-layers{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);padding:22px 0;gap:24px}
.product-layers>div{display:flex;flex-direction:column;gap:4px;border-left:2px solid var(--accent);padding-left:16px}
.product-layers strong{font:1.3rem var(--heading);color:var(--ink)}
.product-layers span{font-size:.83rem;color:var(--muted)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 20px}
.section-heading>p{max-width:400px;font-size:.85rem;color:var(--muted);margin:0}
.section-heading>a{font-size:.85rem;flex-shrink:0}
#environments{scroll-margin-top:20px;margin-top:36px}
.environment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.environment{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);display:grid;grid-template-rows:180px 1fr}
.environment-art{display:block;overflow:hidden;background:#101c24}
.environment-art img{width:100%;height:100%;object-fit:cover;transition:transform .2s ease}
.environment-art:hover img{transform:scale(1.025)}
.environment-body{padding:24px;display:flex;flex-direction:column}
.environment-body h3{font-size:1.7rem}
.environment-body h3 a{display:flex;justify-content:space-between;text-decoration:none;color:var(--ink)}
.environment-body>p{color:var(--muted);font-size:.93rem;max-width:60ch}
.environment-body .catalog-count{color:var(--accent);font-weight:650;font-size:.82rem}
.capability-list{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;padding:0;margin:6px 0 22px;font-size:.8rem}
.capability-list li:before{content:'·';color:var(--accent);margin-right:6px}
.environment-links{display:flex;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px;margin-top:auto;font-size:.85rem}
.environment:last-child{grid-column:1/-1;grid-template-columns:1fr 1.35fr;grid-template-rows:auto}
.environment:last-child .environment-art{min-height:260px}
.dashboard-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:32px;align-items:center;padding-bottom:26px}
.dashboard-intro>img{height:230px;width:100%;object-fit:cover;border-radius:var(--radius)}
.dashboard-intro>div>p:last-child{max-width:640px;color:var(--muted);font-size:.95rem;margin-bottom:0}
.dashboard-purpose{font-size:1.15rem;color:var(--accent)}
.dashboard-jumps{display:flex;gap:8px 26px;flex-wrap:wrap;padding:14px 0;border-block:1px solid var(--line);font-size:.85rem}
.dashboard-jumps a{padding:7px 0}
.dashboard-section{margin-top:36px;scroll-margin-top:20px}
.workflow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.workflow-grid:has(>.workflow-group:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.workflow-grid:has(>.workflow-group:only-child){grid-template-columns:1fr}
.workflow-group{border-top:3px solid var(--accent);background:var(--surface);border-radius:0 0 var(--radius) var(--radius);padding:20px}
.workflow-group ul{list-style:none;padding:0;margin:0}
.workflow-group li+li{border-top:1px solid var(--line)}
.workflow-group li a{display:block;padding:15px 0;text-decoration:none}
.workflow-group li:last-child a{padding-bottom:2px}
.workflow-group strong{display:flex;justify-content:space-between;gap:12px;font-size:.93rem;line-height:1.4;color:var(--accent)}
.workflow-group li a>span{display:block;font-size:.82rem;line-height:1.6;color:var(--muted);margin-top:6px}
.workflow-group a:hover strong{text-decoration:underline;text-underline-offset:4px}
.workflow-group:only-child ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.workflow-group:only-child li+li{border-top:0}
.reference-shortcuts{display:flex;gap:8px 20px;flex-wrap:wrap;padding:14px 0;font-size:.85rem}
.reference-shortcuts a{min-height:40px;display:inline-flex;gap:12px;align-items:center}
.connected-example{display:flex;align-items:center;gap:24px;padding:24px;margin-top:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.connected-example>img{width:112px;height:112px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 6px 14px #0003)}
.connected-example nav{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:.82rem}
.connected-example p{font-size:.87rem;color:var(--muted)}
.guide-shelf{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.guide-shelf article{padding:18px 0;border-top:1px solid var(--line)}
.guide-shelf article>p:last-child{font-size:.84rem;color:var(--muted)}
.guide-shelf h3 a{text-decoration:none;color:var(--ink)}
.guide-shelf h3 a:hover{text-decoration:underline}
.guide-shelf:has(>article:only-child){grid-template-columns:1fr;max-width:800px}
.quick-craft{display:flex;gap:20px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:22px}
.quick-craft p{font-size:.92rem}.quick-craft small{color:var(--muted)}
.reference-workbench,.data-context{padding:24px;border-block:1px solid var(--line);margin-top:32px}
.data-context p{max-width:900px;color:var(--muted);font-size:.9rem}
.data-context small{color:var(--muted)}
.event-briefings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.event-briefings article{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.event-briefings article>p{font-size:.87rem;color:var(--muted)}
.event-briefings .event-window{font-size:.78rem;border-left:2px solid var(--accent);padding-left:12px}
.event-briefings article>a{font-size:.85rem}
.provenance{display:flex;gap:8px 18px;flex-wrap:wrap;align-items:center;padding:16px 0;font-size:.75rem;color:var(--muted);line-height:1.5}
.status-mark{height:7px;width:7px;background:var(--accent);border-radius:100%;flex-shrink:0}
.provenance a{margin-left:auto}
.catalog-search{padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.catalog-search label{display:block;font-weight:650;font-size:.9rem;margin-bottom:10px}
.catalog-search input{width:100%;min-height:50px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:12px 16px;border-radius:6px;font:inherit}
.catalog-search .search-help{font-size:.8rem;color:var(--muted);margin:10px 0 0}
.search-results{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.search-results li{border-top:1px solid var(--line)}
.search-results a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;text-decoration:none}
.search-results small{color:var(--muted);text-transform:capitalize}
.saved-work{padding:22px 0;border-bottom:1px solid var(--line)}
.saved-work>p{font-size:.88rem;color:var(--muted)}
.saved-work h2{font-size:1.4rem}
.saved-work ul{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.saved-work li>a{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:8px;text-decoration:none;background:var(--surface)}
.saved-work small{color:var(--muted);font-size:.75rem}
.saved-work button{background:var(--surface);color:var(--accent);border:1px solid var(--line);padding:10px 16px;font:inherit;border-radius:6px}
.page a:focus-visible,.page button:focus-visible,.page input:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.reading-aside .aside-title{font-size:1.1rem;margin-top:24px}.guide-actions{padding-left:18px}.guide-actions li{padding:6px 0}
.osrs .game-dashboard{--radius:3px}.eve .game-dashboard{--radius:2px}.eve .workflow-group h3{font-family:Consolas,monospace;text-transform:uppercase;font-size:.92rem}
@media(min-width:1700px){.page:has(.nexus-product),.page:has(.game-dashboard){max-width:1580px}.environment{grid-template-rows:220px 1fr}.dashboard-intro>img{height:250px}}
@media(max-width:1000px){.workflow-grid{gap:14px}.workflow-group{padding:16px}.guide-shelf{grid-template-columns:1fr 1fr}.dashboard-intro{grid-template-columns:1.2fr 1fr;gap:24px}.dashboard-intro>img{height:230px}.section-heading{align-items:start}.section-heading>p{max-width:280px}.saved-work ul{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.page:has(.nexus-product),.page:has(.game-dashboard){padding:20px 20px 40px}.product-intro{padding:12px 0 26px}.product-layers{grid-template-columns:1fr 1fr;gap:20px}.environment-grid{grid-template-columns:1fr;gap:18px}.environment,.environment:last-child{grid-template-columns:1fr;grid-template-rows:160px 1fr}.environment:last-child .environment-art{min-height:0}.environment-body{padding:20px}.dashboard-intro{grid-template-columns:1fr;gap:18px}.dashboard-intro>img{height:150px;grid-row:1}.dashboard-intro h1{margin-bottom:14px}.section-heading{display:block}.section-heading>p{max-width:none;margin-top:10px}.section-heading>a{display:inline-block;margin-top:12px}.workflow-grid,.workflow-grid:has(>.workflow-group:nth-child(2):last-child){grid-template-columns:1fr}.workflow-group:only-child ul{grid-template-columns:1fr;gap:0}.workflow-group:only-child li+li{border-top:1px solid var(--line)}.workflow-group{padding:16px 20px}.workflow-group ul{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.workflow-group li+li{border-top:0}.workflow-group li{border-bottom:1px solid var(--line)}.workflow-group li a{padding:12px 0!important}.workflow-group li:last-child{border-bottom:0}.guide-shelf,.event-briefings{grid-template-columns:1fr}.guide-shelf article{padding:16px 0}.connected-example{gap:12px;padding:18px;align-items:flex-start}.connected-example>img{width:64px;height:72px}.connected-example nav{gap:6px}.connected-example nav a{display:block;min-height:40px}.connected-example p{margin-bottom:8px}.provenance{gap:8px 12px}.provenance a{margin-left:0}.search-results{grid-template-columns:1fr}.saved-work ul{grid-template-columns:1fr}.dashboard-jumps{gap:4px 20px}.reference-workbench,.data-context{padding:20px 0}.quick-craft{padding:18px;align-items:flex-start}.quick-craft img{width:42px;height:42px}.nexus-product h2,.game-dashboard h2{font-size:1.45rem}}
@media(max-width:360px){.page:has(.nexus-product),.page:has(.game-dashboard){padding-inline:14px}.workflow-group ul{grid-template-columns:1fr}.connected-example{display:block}.connected-example>img{float:right}.environment-body h3{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.environment-art img{transition:none}}

.game-quicklinks{display:flex;gap:8px 22px;flex-wrap:wrap;margin-top:24px;font-size:.83rem}.game-quicklinks a{padding:8px 0}#continue:has(>[data-nexus-continue]:empty){margin:0}.product-intro{max-width:none}.product-intro .game-quicklinks{border-top:1px solid var(--line);padding-top:14px}.product-intro h1{font-size:clamp(2.5rem,4vw,3.8rem)}

.environment-links a,.connected-example nav a,.event-briefings article>a{display:inline-flex;align-items:center;gap:8px;min-height:40px}.catalog-search button{padding:10px 14px;background:var(--surface);color:var(--accent);border:1px solid var(--line);font:inherit}

.catalog-search input::placeholder{color:var(--muted);opacity:1}

/* Preserve the full FFXIV image, including its embedded copyright notice. */
.environment-ffxiv .environment-art img,body.ffxiv .dashboard-intro>img{object-fit:contain;background:#10151c}
.environment-ffxiv .environment-art:hover img{transform:none}

/* The game environment is the primary destination; tasks are shortcuts. */
.environment-links{display:block}
.environment-links .environment-enter{font-size:.95rem;font-weight:700;color:var(--ink);border:1px solid var(--line);border-radius:5px;padding:8px 12px;text-decoration:none}
.environment-links .environment-enter:hover{border-color:var(--accent);color:var(--accent)}
.environment-shortcuts{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:8px;font-size:.77rem}
