/* V6 / SILVER EDITION
   Every rule is restricted to the inner-page shell. The arcade, its lighting,
   source artwork and colored brand assets are deliberately outside this theme. */
.portal-shell {
  --paper: #f4f4f4;
  --ink: #090a0b;
  --gold: #d6d9dd; /* Legacy accent token now supplies neutral silver UI. */
  --sub: #aeb1b5;
  --line: #36383c;
  --symbol-gold: #ffe052;
  color-scheme: dark;
  background: #090a0b;
  color: var(--paper);
}
.portal-shell::before {
  background: radial-gradient(ellipse at 80% 15%, #bfc4cc0b, transparent 48%),
    linear-gradient(90deg, #ffffff05 1px, transparent 1px);
  background-size: auto, calc(100% / 12) 100%;
}
.portal-shell :is(a, button, input, select, textarea):focus-visible {
  outline-color: #e3e6eb;
}
.portal-shell ::selection { background: #dedfe2; color: #111214; }
.portal-shell .topbar-scroll { scrollbar-color: #65676d #0b0c0e; }
.portal-shell .topbar-brand-link:hover,
.portal-shell .topbar-brand-link:focus-visible { background: #ffffff06; border-color: #d4d7dd44; }
.portal-shell .route-menu::before { background: linear-gradient(115deg, #0b0c0e, #0a0b0d 52%, #0c0d0f); }
.portal-shell .route-menu .route-link:hover { color: #fff; border-color: #c8cbd338; background: #ffffff08; }
.portal-shell .route-menu .route-link[aria-current='page'] {
  color: #f4f5f7;
  border-color: #7a7e854a;
  border-bottom-color: #d5d9df;
  background: linear-gradient(180deg, #393c438a, #1b1d22e6);
  box-shadow: inset 0 1px #ffffff0c, 0 2px 7px #0004;
  text-shadow: 0 0 7px #ffffff20;
}
.portal-shell .topnav .topbar-mobile { background: #101113; border-color: #33363b; }
.portal-shell .topnav .topbar-mobile a[aria-current='page'] {
  color: #f2f3f5;
  border-bottom-color: #d5d9df;
  background: #ffffff0b;
}

/* Neutral typography and chrome; retain intentional yellow identity symbols. */
.portal-shell .portal-main .large-copy,
.portal-shell .contact-heading > p,
.portal-shell .service-expanded > p,
.portal-shell .world-feature-copy p { color: #bfc2c7; }
.portal-shell .project-number { color: #a7aab0; }
.portal-shell .action-primary,
.portal-shell .action-light,
.portal-shell .gum-intro .action-primary {
  color: #101113;
  background: linear-gradient(180deg, #f2f3f5, #c7cbd1);
  border-color: #dde0e4;
  box-shadow: inset 0 1px #fff9;
}
.portal-shell .action-primary:hover,
.portal-shell .action-light:hover,
.portal-shell .gum-intro .action-primary:hover { background: #fff; border-color: #fff; color: #08090a; }
.portal-shell .action-ghost { color: #d7dade; border-color: #4b4e54; }
.portal-shell .action-ghost:hover { color: #fff; background: #ffffff05; border-color: #bfc3ca; }
.portal-shell .text-link { border-color: #a5abb44a; }
.portal-shell .text-link:hover { color: #fff; border-color: #fff; }
.portal-shell .project-status { color: #bdc0c6; }
.portal-shell .project-status:not(.is-live) i { background: #b7bdc7; box-shadow: 0 0 0 3px #b7bdc712; }
.portal-shell .project-status.is-live { color: #a6cba2; }
.portal-shell :is(.section-heading, .commission-band, .story-split, .personal-note,
  .release-notes, .project-facts, .service-accordion, .service-detail, .direct-line,
  .brief-help, .honesty-note, .theme-roadmap, .values-grid > article) { border-color: var(--line); }
.portal-shell .commission-band { background: radial-gradient(ellipse at 90% 40%, #c5ccd008, transparent 75%); }
.portal-shell .portal-footer { background: #08090a; border-color: #34363a; }
.portal-shell .portal-footer nav { color: #b5b8bf; }
.portal-shell .project-trail span { color: #e0e2e6; }
.portal-shell .project-trail .trail-index { border-color: #45484e; }
.portal-shell :is(.edition b, .admin-sign b, .portrait-label > span,
  .portrait-name span, .about-alias > b > span, .signature > b,
  .note-star, .small-star, .values-grid > article > span) { color: var(--symbol-gold); }

/* Collection: charcoal exhibition surfaces, silver rules, unchanged art. */
.portal-shell .filter-tabs button small { color: #8c919a; }
.portal-shell .filter-tabs button[aria-pressed='true'] { color: #f2f3f5; border-color: #737983; background: #ffffff0a; }
.portal-shell .world-feature {
  background: radial-gradient(ellipse at 70% 20%, #a3a9b51a, transparent 65%), #101114;
  border-color: #44484e;
}
.portal-shell .world-feature-art { background: radial-gradient(ellipse at 50% 60%, #dce4ed09, transparent 65%); }
.portal-shell .world-feature-art::before {
  background: radial-gradient(circle at 21% 18%, #fff 0 1px, transparent 1.3px),
    radial-gradient(circle at 70% 11%, #d1d5db 0 1px, transparent 1.3px),
    radial-gradient(circle at 78% 35%, #bfc5cd 0 1px, transparent 1.5px);
}
.portal-shell .art-caption { color: #999fa8; }
.portal-shell .software-item { background: #111214; }
.portal-shell .item-topline { color: #a6aab0; border-color: #303237; }
.portal-shell .artifact-stage {
  background: radial-gradient(ellipse at 50% 80%, #bcc4cf15, transparent 65%), linear-gradient(#101114, #16181c);
  border-color: #34373c;
}
.portal-shell .artifact-stage::before {
  background: linear-gradient(90deg, transparent calc(50% - .5px), #a7aeba25 50%, transparent calc(50% + .5px)),
    linear-gradient(0deg, #b5bcc512 1px, transparent 1px);
  background-size: 100% 100%, 100% 40px;
}
.portal-shell .specimen-corner { color: #858b94; }
.portal-shell :is(.artifact-cross, .artifact-star) { color: #c5cbd4; opacity: .2; }
.portal-shell .round-link { border-color: #5d626b; }
.portal-shell .gum-item,
.portal-shell .identity-item {
  background: radial-gradient(ellipse at 76% 50%, #c5cbd412, transparent 65%), #121316;
  border-color: #3e4248;
}
.portal-shell .gum-item img { filter: drop-shadow(0 12px 17px #0008); }

/* Heaven / Bible Gum: let the colorful cabinets be the light source. */
.portal-shell.heaven-page::before,
.portal-shell.gum-page::before { background: radial-gradient(ellipse at 50% 35%, #aab2c112, transparent 68%); }
.portal-shell .heaven-exhibit::before { background: radial-gradient(ellipse at 53% 40%, #b7beca0b, transparent 60%); }
.portal-shell .heaven-signature a { color: #f5f5f5; }
.portal-shell .heaven-signature a:hover { color: #fff; }
.portal-shell .hh-app-bubble {
  border-color: #747b86;
  background: linear-gradient(145deg, #373b43, #15171b 55%, #24272d);
  box-shadow: inset 0 0 0 5px #ffffff04, inset 0 1px #c4cbd4, 0 14px 35px #0008;
}
.portal-shell .hh-app-bubble::before { border-color: #abb3c130; }
.portal-shell .hh-app-bubble:hover { border-color: #dce1e9; box-shadow: 0 15px 40px #ccd5e412, inset 0 1px #fff8; }
.portal-shell .compact-control { color: #d8dce3; border-color: #555b65; }
.portal-shell .exhibit-notes { border-color: var(--line); }
.portal-shell .exhibit-number { color: #c2c6cd; }
.portal-shell .gum-art { background: radial-gradient(ellipse at 50% 55%, #d7dfea12, transparent 65%); }
.portal-shell .gum-halo { color: #c2cad710; }
.portal-shell .gum-art-note { color: #969ca6; }
.portal-shell .gum-intro h1 span { color: #d8dce3; }
.portal-shell .project-facts span { color: #969ca6; }
.portal-shell .project-facts a { color: #dde1e7; }
.portal-shell .gum-browser { background: #0e1013; border-color: #656b76; }
.portal-shell .browser-chrome { background: #24272d; border-color: #505660; color: #c5cad3; }
.portal-shell .gum-play-cover { background: radial-gradient(ellipse at center, #c4cbd411, transparent 70%); }
.portal-shell .pixel-cross { color: var(--symbol-gold); }
.portal-shell .gum-play-cover h3 { color: #f0f1f4; }
.portal-shell .gum-play-cover > small { color: #969ba5; }
.portal-shell .player-help { color: #959ba6; border-color: #3c414a; }
.portal-shell .player-help a { color: #d9dee7; }
.portal-shell .cathedral-callout > img { border-color: #4a505a; }
.portal-shell .cathedral-callout .overline { color: var(--gold) !important; }

/* Software: neutral specimen displays, tickets and explanatory sections. */
.portal-shell .software-hero { --software-accent: #d7dce4; }
.portal-shell .software-specimen,
.portal-shell .software-dash .software-specimen {
  border-color: #50565f;
  background: radial-gradient(ellipse at 50% 60%, #c3ccd813, transparent 68%), #111316;
}
.portal-shell .specimen-label,
.portal-shell .specimen-bottom,
.portal-shell .software-dash .specimen-label,
.portal-shell .software-dash .specimen-bottom { color: #aeb4bf; border-color: #383e47; }
.portal-shell .specimen-bottom small,
.portal-shell .software-dash .specimen-bottom small { color: #8d95a1; }
.portal-shell .specimen-display {
  background: repeating-linear-gradient(0deg, transparent 0 39px, #ccd4df08 39px 40px),
    repeating-linear-gradient(90deg, transparent 0 39px, #ccd4df08 39px 40px);
}
.portal-shell .feature-rows article > span { color: #9298a2; }
.portal-shell .price-ticket { background: #15171a; border-color: #838b98; }
.portal-shell .price-ticket::before,
.portal-shell .price-ticket::after { background: var(--ink); border-color: #838b98; }
.portal-shell .price-ticket::before { border-left-color: transparent; }
.portal-shell .price-ticket::after { border-right-color: transparent; }
.portal-shell .ticket-stub { color: #a5acb7; border-color: #656c78; }
.portal-shell .price-ticket > p:not(.ticket-price) { color: #bdc3cc; }
.portal-shell .price-ticket > small { color: #989fa9; }
.portal-shell .flow-diagram > div { border-color: #565e6b; background: #14171b; }
.portal-shell .flow-diagram > div > span { color: #acb5c3; }
.portal-shell .flow-diagram b { color: #e1e5ec; }
.portal-shell .flow-diagram p,
.portal-shell .flow-diagram > i { color: #a0a8b5; }
.portal-shell .release-notes h2 > span { color: #b0b6c0; }
.portal-shell .standard-theme-count { border-color: #454b55; background: #171a1f; }
.portal-shell .standard-theme-count > strong { color: #d2d8e1; }
.portal-shell .infernal-theme { border-color: #686e78; background: radial-gradient(ellipse at 50% 130%, #d4d9e021, transparent 75%), #15171a; }
.portal-shell .infernal-theme > span,
.portal-shell .infernal-theme p { color: #aeb5c0; }
.portal-shell .infernal-theme h3,
.portal-shell .infernal-theme h3 > span { color: #e0e5ec; }
.portal-shell .infernal-embers {
  background: radial-gradient(circle at 17% 80%, #e0e5ed 0 1px, transparent 2px),
    radial-gradient(circle at 76% 58%, #bfc8d6 0 1px, transparent 2px),
    radial-gradient(circle at 62% 94%, #bfc8d6 0 2px, transparent 3px),
    radial-gradient(circle at 92% 20%, #e7ecf4 0 1px, transparent 2px);
}
.portal-shell .theme-roadmap > p > b,
.portal-shell .theme-roadmap > span { color: #b3bac5; }
.portal-shell .theme-roadmap > span > b { color: #dce2eb; }
.portal-shell .theme-roadmap small { color: #949da9; }

/* Services: silver terminal chrome and a legible, larger DASHDEMON specimen. */
.portal-shell .commission-terminal { background: #101215; border-color: #7b828c; box-shadow: 7px 9px 0 #282c32, 20px 30px 50px #0006; }
.portal-shell .terminal-chrome { background: linear-gradient(180deg, #d5d9df, #adb5c0); color: #14171c; border-color: #737c89; }
.portal-shell .terminal-prompt { color: #97a0ad; }
.portal-shell .terminal-content h2 { color: #e6eaf0; }
.portal-shell .terminal-content h2 > span { color: var(--symbol-gold); }
.portal-shell .terminal-content h2 .terminal-cross { color: transparent; }
.portal-shell .terminal-content h2 .terminal-cross::before,
.portal-shell .terminal-content h2 .terminal-cross::after { background: var(--symbol-gold); }
.portal-shell .terminal-content ul { color: #b7c0cd; }
.portal-shell .terminal-content > p { color: #a3adbb; border-color: #3d4550; }
.portal-shell .terminal-content > p > i { background: #cbd4e1; }
.portal-shell .terminal-sticker { background: #dadfe7; color: #232830; border-color: #f0f3f7; box-shadow: 2px 3px 0 #090b0e; }
.portal-shell .service-no { color: #969da8; }
.portal-shell .service-detail summary > p { color: #9ba3ae; }
.portal-shell .service-expanded .micro-label { color: #a7b0bd; }
.portal-shell .process-grid article { border-color: #424a55; }
.portal-shell .process-grid p { color: #9fa7b2; }
.portal-shell .service-proof {
  border-color: #434a54;
  background: radial-gradient(ellipse at 80% 30%, #bac5d415, transparent 65%), linear-gradient(110deg, #1a1d22, #101215);
}
.portal-shell .service-proof .proof-art { grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 30px 22px; }
.portal-shell .service-proof .proof-art > .hh-hd { width: 100%; max-width: 160px; justify-self: center; }
.portal-shell .service-proof .proof-art > .dash-wordmark { width: 100%; max-width: 390px; height: auto; justify-self: center; }
.portal-shell .service-proof .proof-art > .psp-hd { width: 100%; max-width: 360px; grid-column: 1 / -1; justify-self: center; }

/* About and identity: graphite mounts and brushed-silver portrait edges. */
.portal-shell .about-gallery-hero .about-portrait {
  background: linear-gradient(135deg, #383c43, #181b20 48%, #121417);
  border-color: #8b929e;
  box-shadow: inset 0 0 0 4px #121519, inset 0 0 0 5px #bbc6d330, 7px 10px 0 #20242a, 0 22px 40px #0008;
}
.portal-shell .about-gallery-hero .about-portrait > .original-art { border-color: #737d8a; }
.portal-shell .portrait-label { color: #b4bdca; border-color: #484f5a; }
.portal-shell .portrait-caption { color: #929cab; }
.portal-shell .about-intro h1 > span { color: #d5dbe4; }
.portal-shell .about-alias { color: #a1aab7 !important; }
.portal-shell .personal-note blockquote { color: #e2e7ed; }
.portal-shell .signature { color: #b8c0cc; }
.portal-shell .identity-specimen {
  background: radial-gradient(ellipse at center, #c9d3e014, transparent 70%),
    repeating-linear-gradient(45deg, #d1dae504 0 1px, transparent 1px 6px), #14171b;
  border-color: #575f6a;
}
.portal-shell .identity-specimen > .micro-label,
.portal-shell .identity-specimen > p { color: #a8b2c0; }
.portal-shell .identity-markers { background: #3b424c; border-color: #3b424c; }
.portal-shell .identity-markers > div { background: #15181d; }

/* Contact: readable fields and a neutral, honest inquiry form. */
.portal-shell .inquiry-window { background: #14171b; border-color: #626a75; }
.portal-shell .form-titlebar { background: #252a32; color: #c8d0dc; border-color: #555e6b; }
.portal-shell .form-titlebar i { background: #c8d2df; }
.portal-shell .form-body > .form-intro { color: #e0e6ee; }
.portal-shell .form-body label { color: #b9c3d0; }
.portal-shell .form-body label > small { color: #949eac; }
.portal-shell .form-body :is(input, select, textarea) { background: #0b0e12; color: #eef1f5; border-color: #47515e; }
.portal-shell .form-body :is(input, textarea)::placeholder { color: #8791a0; }
.portal-shell .form-status { color: #9ca7b6 !important; }
.portal-shell .direct-line > a { color: #e1e6ee; }
.portal-shell .brief-help > .micro-label,
.portal-shell .brief-help li { color: #b1bbc9; }
.portal-shell .brief-help li::before,
.portal-shell .brief-help p { color: #96a1b0; }
.portal-shell .honesty-note > span { color: #bac4d3; }
.portal-shell .honesty-note > p { color: #969fae; }

@media (max-width: 850px) {
  .portal-shell .service-proof .proof-art { gap: 24px 16px; }
  .portal-shell .service-proof .proof-art > .hh-hd { max-width: 125px; }
}
@media (max-width: 600px) {
  .portal-shell .service-proof .proof-art { grid-template-columns: 1fr; max-width: 360px; gap: 22px; }
  .portal-shell .service-proof .proof-art > .hh-hd { max-width: 125px; }
  .portal-shell .service-proof .proof-art > .dash-wordmark { width: 100%; max-width: 340px; }
  .portal-shell .service-proof .proof-art > .psp-hd { max-width: 300px; }
}
