:root { --brand-jade: #00594f; --brand-coral: #b3354a; --brand-violet: #704571; --brand-gold: #f5bd32; --brand-ink: #173a3e; --brand-muted: #51676d; --brand-rule: #dce5e7; color: var(--brand-ink); background: #fff; }
body { background: #fff; line-height: 1.6; }
h1, h2, h3 { font-family: inherit; letter-spacing: 0; }
h2 { font-size: 36px; line-height: 1.2; font-weight: 750; }
img { filter: none; opacity: 1; mix-blend-mode: normal; }
.wrap { width: min(1440px, calc(100% - 96px)); }
.eyebrow { color: var(--brand-jade); font-size: 11px; margin-bottom: 12px; }
.site-header { padding: 14px 40px; background: #fff; border-bottom: 1px solid var(--brand-rule); }
.site-header::after { content: none; }
.brand-lockup { line-height: 1; flex-shrink: 0; min-height: 44px; }
.brand-wordmark { display: block; width: 200px; height: 54px; object-fit: contain; }
.site-header .main-nav { gap: 30px; }
.site-header .main-nav a { font-size: 14px; font-weight: 700; }
.site-action-buttons { display: flex; gap: 4px; }
.locale-picker select { border-color: #d0dddf; background: #fff; padding-inline: 12px; }
.icon-button, .refresh-button { border-radius: 6px; }
.icon-button:hover, .refresh-button:hover { background: #edf5f3; border-color: #c3d6d2; }
.main-nav a[aria-current="page"] { color: var(--brand-jade); }
.main-nav a[aria-current="page"]::after { background: var(--brand-jade); height: 3px; }
.button { border-radius: 6px; box-shadow: none; min-height: 48px; gap: 12px; transition: background-color .15s, border-color .15s; }
.button:hover { filter: none; }
.button.primary, .hero .light { color: #fff; background: var(--brand-jade); border: 1px solid var(--brand-jade); }
.button.primary:hover, .hero .light:hover { background: #087366; border-color: #087366; }
.button.secondary { color: var(--brand-jade); background: #fff; border-color: #a9bfbc; }
.button.secondary:hover { background: #edf5f3; }
.text-link, .hero-link { color: var(--brand-jade); font-weight: 700; }

/* Artwork is ungraded; supporting copy has its own full-width page band. */
.hero { display: block; height: auto; min-height: 0; max-height: none; overflow: visible; color: var(--brand-ink); border-bottom: 1px solid var(--brand-rule); }
.hero-scene { position: relative; isolation: isolate; overflow: hidden; height: min(540px, calc(100svh - 290px)); min-height: 250px; background: #dceff4; }
.hero-image { z-index: -1; object-fit: cover; object-position: center 46%; }
.hero-copy { position: relative; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; padding-block: 32px; text-shadow: none; pointer-events: none; }
.hero-copy .eyebrow { display: none; }
.hero-brand { width: 480px; max-width: 68%; line-height: 1; margin: 0; }
.hero-wordmark { display: block; width: 100%; height: auto; aspect-ratio: 26 / 7; object-fit: contain; }
.hero-caption { background: #fff; color: #28464b; border: 1px solid #dae5e8; border-radius: 4px; font-size: 10px; line-height: 1.4; inset-inline-end: 28px; bottom: 18px; padding: 5px 8px; }
.hero-details { background: #fff; }
.hero-details-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 26px; }
.hero-lead { margin: 0; font-size: 24px; line-height: 1.35; font-weight: 700; }
.hero .actions { gap: 24px; }
.hero-link { font-size: 14px; text-shadow: none; }
.games-section, .stories-section { padding-block: 64px; }
.section-heading { margin-bottom: 32px; align-items: end; }
.section-heading h2 { font-size: 36px; color: var(--brand-ink); }
.section-heading > p { max-width: 360px; font-size: 15px; color: var(--brand-muted); }
.games-grid { gap: 40px; }
.game { min-width: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
.game-art { aspect-ratio: 16 / 10; border-radius: 8px; background: #f2f6f7; }
.game-art img { transition: none; }
.game:hover .game-art img { transform: none; }
.game-art figcaption { background: #fff; color: #29464b; border: 1px solid #dce6e8; border-radius: 4px; }
.game-body, .arenas .game-body { padding: 26px 0 0; background: transparent; border: 0; }
.game-category { display: inline-flex; align-items: center; gap: 8px; color: var(--brand-violet); font-size: 11px; line-height: 1.5; }
.game-category::before { content: ""; width: 16px; height: 3px; background: currentColor; }
.arenas .game-category { color: var(--brand-coral); }
.game h3 { font-size: 34px; line-height: 1.15; margin-block: 10px 14px; color: var(--brand-ink); }
.game p { color: var(--brand-muted); font-size: 16px; margin-bottom: 24px; min-height: 52px; }
.game-bottom { padding-block: 20px 0; border-top: 1px solid var(--brand-rule); }
.worlds-button { background: var(--brand-violet); }
.worlds-button:hover { background: #5e365f; }
.arena-button, .arenas .arena-button { background: var(--brand-coral); }
.arena-button:hover { background: #95293c; }
.build-label { color: var(--brand-muted); font-size: 12px; }

/* Identical three-column tracks align the two live game summaries. */
.activity-band { background: #f4f8f9; border-block: 1px solid var(--brand-rule); padding-block: 44px; }
.activity-band .section-heading { margin-bottom: 30px; align-items: center; }
.activity-band .section-heading h2 { font-size: 28px; }
.refresh-button { color: var(--brand-jade); border-color: #c6d7d9; background: #fff; }
.activity-games { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; }
.activity-game { min-width: 0; padding: 0; border: 0; }
.activity-game h3 { margin: 0 0 20px; font-size: 20px; line-height: 1.3; min-height: 26px; color: var(--brand-violet); }
.activity-game[data-game-activity="prismarenas"] h3 { color: var(--brand-coral); }
.activity-metrics, .activity-metrics.worlds-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
.activity-metrics > div { min-width: 0; padding: 0 18px; border-inline-start: 1px solid #cbd9dc; }
.activity-metrics > div:first-child { padding-inline-start: 0; border-inline-start: 0; }
.activity-metrics strong { min-height: 56px; font-size: 40px; line-height: 1.2; color: var(--brand-ink); font-weight: 700; font-variant-numeric: tabular-nums; }
.activity-metrics span { font-size: 12px; line-height: 1.5; min-height: 36px; color: #4e656c; }
.activity-status-line { align-items: center; gap: 4px 14px; font-size: 11px; min-height: 46px; margin: 20px 0 0; padding-top: 14px; border-top: 1px solid var(--brand-rule); }
.activity-game [data-state="live"] { color: #17634d; }
.activity-game [role="status"]::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-inline-end: 7px; border-radius: 50%; background: #80959a; vertical-align: 1px; }
.activity-game [role="status"][data-state="live"]::before { background: #18805b; }
.activity-game [role="status"][data-state="unavailable"]::before, .activity-game [role="status"][data-state="stale"]::before { background: #a86528; }
.activity-status-line time { color: #60777d; font-variant-numeric: tabular-nums; }
.activity-hosts { margin-inline-start: auto; color: #50686d; }
.activity-hosts strong { font-variant-numeric: tabular-nums; }
.activity-footer { border-top: 1px solid var(--brand-rule); padding-top: 22px; margin-top: 24px; align-items: start; gap: 16px 36px; }
.activity-footer .activity-scope { max-width: 880px; line-height: 1.6; color: #5c7076; }
.activity-footer .text-link { font-size: 12px; min-height: 24px; }
.activity-scope { font-size: 12px; }
.stories-section { border-bottom: 1px solid var(--brand-rule); }
.books-grid { gap: 40px; }
.book img { background: #f5f7f8; border-radius: 6px; box-shadow: none; }
.book > span { color: #61717a; margin-top: 22px; }
.book h3 { font-size: 23px; line-height: 1.3; color: var(--brand-ink); }
.family-band, .collection-band, .checklist-band { background: #f3f7f6; border: 0; padding-block: 52px; }
.family-content { gap: 80px; }
.family-content h2 { font-size: 34px; }
.family-content p:not(.eyebrow), .split-band p { color: var(--brand-muted); }
.page-intro { padding-block: 48px 36px; border-bottom: 1px solid var(--brand-rule); }
.page-intro > .eyebrow { color: var(--brand-jade); margin-bottom: 14px; }
.page-intro > .eyebrow::before { content: none; }
.page-intro h1 { color: var(--brand-ink); font-size: 48px; margin-bottom: 16px; }
.page-lead { color: var(--brand-muted); font-size: 18px; max-width: 780px; }
body[data-site-page="games"] .page-intro { padding-block: 28px; }
body[data-site-page="games"] .page-intro > .eyebrow { display: none; }
body[data-site-page="games"] .games-section { padding-top: 32px; }
.page-section { padding-block: 36px 56px; }
.collection-toolbar { border-bottom: 1px solid var(--brand-rule); padding-bottom: 22px; align-items: center; }
.collection-toolbar > p, .product-meta, .product-copy > p:not(.product-meta) { color: var(--brand-muted); }
.edition-control { padding-inline-start: 20px; border-inline-start: 2px solid #c6d7d5; }
.product-grid { gap: 40px; }
.product { border: 0; border-radius: 0; background: transparent; }
.product-cover, .product:nth-child(2) .product-cover, .product:nth-child(3) .product-cover { margin: 0; background: #f5f7f8; border: 0; border-radius: 6px; }
.product-cover img { padding: 0; }
.product-copy { padding: 24px 0 0; }
.product-copy h2 { color: var(--brand-ink); }
.product-copy .product-price strong, .bundle-row strong { color: var(--brand-jade); font-size: 25px; }
.product-actions { width: 100%; justify-content: space-between; gap: 12px; }
.bundle-row { border-top: 1px solid var(--brand-rule); padding-block: 36px; }
.tabs { gap: 20px; border-color: var(--brand-rule); }
.tabs button { color: #52666c; padding-inline: 12px; }
.tabs button[aria-selected="true"] { color: var(--brand-jade); border-bottom-color: var(--brand-jade); background: transparent; }
.tabs button:hover { background: #f1f6f5; }
.plush-heading { border-bottom: 1px solid var(--brand-rule); padding-block: 0 20px; }
.plush-heading h2 { font-size: 32px; color: var(--brand-ink); }
.plush-disclosure { font-size: 14px; border-color: #c3d6d2; }
.plush-disclosure p { margin-block: 6px; }
.plush-grid { gap: 36px; }
.plush-product { border: 0; border-radius: 0; padding: 0; background: transparent; }
.plush-image-button, .plush-product:nth-child(3n + 2) .plush-image-button, .plush-product:nth-child(3n) .plush-image-button { width: 100%; margin: 0; background: #f5f7f8; border: 0; border-radius: 6px; }
.plush-image-button img { transition: none; }
.plush-image-button:hover img { transform: none; }
.plush-product h3 { font-size: 22px; color: var(--brand-ink); }
.plush-origins { color: #61717a; }
.plush-product > .button { margin-top: auto; }
.shipping-plan { background: #f5f8f9; border-color: #d8e3e5; border-radius: 0; }
.adventures-hero { display: block; height: auto; min-height: 0; max-height: none; color: var(--brand-ink); border-bottom: 1px solid var(--brand-rule); background: #fff; }
.adventures-scene { height: min(440px, calc(100svh - 310px)); min-height: 200px; overflow: hidden; }
.adventures-scene > img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.adventures-hero > .wrap { padding-block: 28px; }
.adventures-hero h1 { font-size: 44px; line-height: 1.15; margin-bottom: 14px; }
.adventures-hero p:not(.eyebrow) { color: var(--brand-muted); font-size: 18px; margin-bottom: 12px; }
.episode-list li { padding-block: 28px; border-color: var(--brand-rule); }
.episode-number { color: var(--brand-coral); font-size: 28px; }
.episode-list h3 { color: var(--brand-ink); }
.contact-layout { gap: 80px; }
.company-details { border-inline-start: 0; padding-inline-start: 0; }
.company-details h2 { color: var(--brand-ink); }
.site-form input, .site-form textarea, .site-form select { background: #fff; border-color: #adbec3; border-radius: 5px; }
.site-form label { color: #344e57; }
.shared-account { max-width: 980px; }
.shared-account > h2, .account-heading { color: var(--brand-ink); }
.account-toolbar .tabs { min-width: 0; }
.policy-symbol { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 8px; color: var(--brand-jade); background: #ecf5f2; }
.policy-grid article:nth-child(2) .policy-symbol { color: var(--brand-coral); background: #fff1f3; }
.policy-grid article:nth-child(3) .policy-symbol { color: var(--brand-violet); background: #f4f0f7; }
.policy-grid h2, .checklist-layout h2, .policy-document h2 { color: var(--brand-ink); }
.document-toc { border-inline-start: 2px solid #d7e1e3; }
.document-toc a, .policy-document p { color: #465f68; }
dialog { background: #fff; border-color: #c2d3d7; border-top: 4px solid var(--brand-jade); }
.global-footer { background: #103d41; color: #fff; border-top: 0; padding-block: 48px 24px; }
.footer-brand .brand-wordmark { width: 240px; height: 65px; max-width: 100%; }
.global-footer .footer-brand p, .global-footer .footer-grid h2 { color: #b9d5d6; }
.global-footer .footer-grid nav a { min-height: 40px; color: #f4fbfb; }
.global-footer .footer-bottom { border-color: #356065; color: #b9d5d6; }
.global-footer .footer-bottom p, .global-footer .footer-bottom small { color: #b9d5d6; }
a:focus-visible, button:focus-visible, select:focus-visible { outline-color: #ad6200; }
@media (min-width: 901px) and (max-width: 1100px) { .site-header { padding-inline: 24px; gap: 16px; } .site-header .brand-wordmark { width: 180px; height: 49px; } .site-header .main-nav { gap: 16px; } }
@media (max-width: 900px) {
  .wrap { width: calc(100% - 48px); }
  .site-header { padding: 10px 14px; }
  .site-header .brand-lockup { grid-column: 1; grid-row: 1; justify-self: start; }
  .site-header .brand-wordmark { width: 170px; height: 44px; }
  .site-header .site-action-buttons { justify-self: end; }
  .hero-details-inner { gap: 18px; } .hero-lead { font-size: 21px; } .hero .actions { gap: 12px; }
  .games-grid, .books-grid, .product-grid { gap: 28px; } .section-heading h2 { font-size: 30px; } .game h3 { font-size: 30px; }
  .activity-games { gap: 28px; } .activity-metrics > div { padding-inline: 12px; } .activity-metrics strong { font-size: 32px; min-height: 44px; } .activity-hosts { margin-inline-start: 0; }
  .family-content, .contact-layout { gap: 36px; }
}
@media (max-width: 740px) {
  .hero-details-inner { align-items: start; } .hero .actions { align-items: start; flex-direction: column; gap: 4px; } .hero-lead { font-size: 20px; }
  .activity-games { grid-template-columns: minmax(0, 1fr); gap: 28px; } .activity-game + .activity-game { border-top: 1px solid #cbd9dc; padding-top: 26px; }
  .activity-status-line { min-height: 32px; } .activity-hosts { margin-inline-start: auto; }
  .page-intro { padding-block: 32px 24px; } .page-intro h1 { font-size: 38px; } .page-lead { font-size: 17px; }
  .adventures-hero h1 { font-size: 34px; }
  .product { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); gap: 24px; } .product-copy { padding: 0; } .product-copy h2 { font-size: 22px; } .edition-control { padding-inline-start: 12px; }
}
@media (max-width: 620px) {
  .wrap { width: calc(100% - 36px); }
  .hero-scene { height: min(380px, calc(100svh - 400px)); min-height: 180px; } .hero-image { object-position: 66% center; }
  .hero-copy { padding-block: 22px 26px; } .hero-brand { width: 320px; max-width: 88%; }
  .hero-caption { bottom: 8px; inset-inline-end: 12px; font-size: 9px; padding: 3px 5px; }
  .hero-details-inner { flex-direction: column; gap: 14px; padding-block: 20px; } .hero-lead { font-size: 20px; } .hero-lead br { display: none; } .hero-lead span { display: block; }
  .hero .actions { width: 100%; flex-direction: row; align-items: center; gap: 8px 16px; } .hero .button { padding-inline: 14px; font-size: 13px; } .hero-link { font-size: 12px; }
  .games-section, .stories-section { padding-block: 40px; } .section-heading { gap: 14px; margin-bottom: 24px; } .section-heading > p { font-size: 14px; }
  .games-grid { gap: 36px; } .game-body { padding-top: 20px; } .game h3 { font-size: 30px; } .game p { font-size: 15px; min-height: 0; } .game-bottom .button { width: 100%; }
  .activity-band { padding-block: 32px; } .activity-band .section-heading h2 { font-size: 25px; } .activity-game h3 { font-size: 19px; margin-bottom: 18px; }
  .activity-metrics strong { font-size: 28px; min-height: 40px; } .activity-metrics span { font-size: 11px; min-height: 34px; }
  .activity-status-line { font-size: 10px; margin-top: 14px; gap: 4px 12px; } .activity-footer { margin-top: 20px; padding-top: 18px; }
  .book { grid-template-columns: 110px minmax(0, 1fr); } .book img { border-radius: 4px; } .book h3 { font-size: 20px; }
  .family-content h2 { font-size: 28px; } .family-band, .collection-band { padding-block: 36px; } .page-section { padding-block: 28px 40px; }
  .plush-heading h2 { font-size: 28px; } .plush-grid { gap: 32px; } .global-footer { padding-block: 36px 20px; }
}
@media (max-width: 480px) { .product { grid-template-columns: minmax(0, 1fr); gap: 20px; } .activity-metrics > div { padding-inline: 10px; } .activity-metrics strong { font-size: 24px; min-height: 34px; } .tabs { gap: 0; } .tabs button { padding-inline: 12px; } .product-actions { align-items: stretch; } }
@media (max-height: 650px) { .hero-scene { min-height: 160px; height: calc(100svh - 330px); } .hero-brand { width: 340px; } .hero-copy { padding-block: 14px 22px; } .hero-details-inner { padding-block: 14px; gap: 10px; } .hero-lead { font-size: 18px; } .hero .button { min-height: 44px; padding-block: 8px; } .games-section { padding-top: 32px; } }
@media (max-height: 650px) and (min-width: 621px) { .hero-scene { min-height: 120px; height: calc(100svh - 280px); } .hero-brand { width: 260px; } .hero-lead { font-size: 18px; } .hero-details-inner { align-items: center; } .hero .actions { flex-direction: row; align-items: center; } }
@media (forced-colors: active) { .hero, .activity-band, .hero-details, .global-footer { background: Canvas; color: CanvasText; border-color: CanvasText; } .hero .light { background: ButtonFace; color: ButtonText; border-color: ButtonText; } .brand-wordmark, .hero-wordmark { forced-color-adjust: none; } .activity-metrics > div, .activity-status-line, .activity-footer { border-color: CanvasText; } }
@media (prefers-reduced-motion: reduce) { .button, .game-art img, .plush-image-button img { transition: none; } }
