/* Shared product-portal palette: charcoal, cyan glass, warm photographic light.
   Scoped to the web document; model canvases, source photos and QR images retain their colors. */
html.cyan-theme {
  --bg: #090d13;
  --panel: #121d26;
  --panel2: #182a34;
  --text: #eaf3f6;
  --muted: #9aafb9;
  --line: #2a424d;
  --purple: #4ec0dc;
  --bright: #2693b3;
  color-scheme: dark;
  background: var(--bg);
  color: var(--text);
}
.cyan-theme body,
.cyan-theme body.account-light,
.cyan-theme body:has(.scene-form-page),
.cyan-theme body:has(.scene-settings-page) {
  --panel: #121d26;
  --panel2: #182a34;
  --text: #eaf3f6;
  --muted: #9aafb9;
  --line: #2a424d;
  color-scheme: dark;
  color: var(--text);
  background:
    radial-gradient(ellipse 760px 420px at 80% 0, #16344366, transparent 75%),
    radial-gradient(ellipse 600px 300px at 25% 90%, #22213b44, transparent),
    #090d13;
}
.cyan-theme .topbar,
.cyan-theme .account-light .topbar {
  background: linear-gradient(110deg, #0d131c, #12212b);
  border-color: #29414d;
  color: #eaf3f6;
  box-shadow: 0 8px 32px #0002;
}
.cyan-theme .brand strong,
.cyan-theme .account-light .brand strong {
  background: linear-gradient(120deg, #edfaff, #7bd5ed);
  background-clip: text;
  color: transparent;
}
.cyan-theme .topbar .brand > span,
.cyan-theme .account-light .topbar .brand > span {
  color: #9bb9c7;
}
.cyan-theme .account-light .topbar a,
.cyan-theme .account-light .topbar button {
  color: #e8f5fa;
}
.cyan-theme .topbar nav .active,
.cyan-theme .account-light .topbar nav a.active,
.cyan-theme .top-right .account-link.active {
  background: linear-gradient(120deg, #22506899, #183443);
  color: #9de7f5;
  box-shadow: inset 0 0 0 1px #42768966;
}
.cyan-theme button,
.cyan-theme .button {
  background: linear-gradient(130deg, #1d3440, #14252e);
  border-color: #335361;
  color: #e6f1f5;
}
.cyan-theme button:hover,
.cyan-theme .button:hover {
  background: linear-gradient(130deg, #274958, #1a3340);
  border-color: #5da4b9;
}
.cyan-theme button:focus-visible,
.cyan-theme a:focus-visible,
.cyan-theme input:focus-visible,
.cyan-theme textarea:focus-visible,
.cyan-theme select:focus-visible {
  outline-color: #7ddff4;
}
.cyan-theme .primary,
.cyan-theme .overview-layout .overview-primary,
.cyan-theme .native-checkout .native-primary {
  background: linear-gradient(110deg, #59cce2, #2996b9);
  border-color: #7bd9e9;
  color: #071822;
  box-shadow: 0 0 24px #45bddd22;
}
.cyan-theme .primary:hover,
.cyan-theme .overview-layout .overview-primary:hover,
.cyan-theme .native-checkout .native-primary:hover {
  background: linear-gradient(110deg, #83e2f1, #44b2cc);
  border-color: #9aebf5;
}
.cyan-theme .topbar .top-right [data-action="login"] {
  color: #071822;
}
.cyan-theme .outline,
.cyan-theme .account-light .page .button:not(.primary) {
  background: #122530;
  border-color: #4c7b8d;
  color: #b9edfa;
}
.cyan-theme .pill,
.cyan-theme .scene-card-info .pill,
.cyan-theme .default-scene-badge {
  color: #a4e2ef;
  background: #19455388;
  border-color: #406e80;
}
.cyan-theme .panel {
  background: linear-gradient(135deg, #15232ee8, #0f1a23eb);
  border-color: #29414d;
  box-shadow: 0 10px 28px #0002;
}
.cyan-theme .decor-rail {
  background:
    radial-gradient(ellipse at 105% 110%, #225b70, transparent 65%),
    linear-gradient(155deg, #14232d, #101820);
}
.cyan-theme .decor-rail:after {
  box-shadow: inset 0 15px 45px #6bcef733;
}
.cyan-theme .decor-rail span {
  color: #8ed4e4;
}
.cyan-theme .hero {
  background: #0c1720;
  box-shadow: 0 8px 40px #0003;
  border-color: #2c4c5b;
}
.cyan-theme .hero-picture .art {
  background: url("/web/art/portal-cyan.png") 95.20885% 38%/212.74238% auto
    no-repeat;
  background-color: #10212a;
}
.cyan-theme .hero-picture .art > svg {
  visibility: hidden;
}
.cyan-theme .hero-picture:after {
  background: linear-gradient(
    90deg,
    #0c1720 0%,
    #0c1720e6 15%,
    #0c172055 40%,
    transparent 66%
  );
}
.cyan-theme .hero-copy h1 {
  background: linear-gradient(110deg, #f3f9fa 35%, #91def0);
  background-clip: text;
  color: transparent;
}
.cyan-theme .hero-copy p {
  color: #b3c6cf;
}
.cyan-theme .home-empty {
  background: radial-gradient(ellipse at center, #2c6a7833, transparent);
}
.cyan-theme .shortcut > i,
.cyan-theme .generation-next > i,
.cyan-theme .next-step > i {
  background: linear-gradient(130deg, #204c60, #182938);
  color: #90e1f3;
  border-color: #3b7182;
}
.cyan-theme .recommendation > div:last-child {
  background: linear-gradient(transparent, #10212aec);
}
.cyan-theme .recommendation > div:last-child:after {
  background: #3c768066;
}
.cyan-theme .add-card {
  border-color: #3b6778;
  background: #142a3433;
  color: #a9dbe7;
}
.cyan-theme .add-card:hover {
  background: #1e435055;
  border-color: #75c5db;
}
.cyan-theme .section-title small,
.cyan-theme .text-button,
.cyan-theme .flow-caption,
.cyan-theme .breadcrumb {
  color: #9bb3c0;
}
.cyan-theme
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not(
    [type="color"]
  ),
.cyan-theme textarea,
.cyan-theme select {
  background: linear-gradient(110deg, #172b35, #13232c);
  border-color: #345564;
  color: #e7f1f6;
}
.cyan-theme input::placeholder,
.cyan-theme textarea::placeholder {
  color: #92a9b6;
}
.cyan-theme .search input {
  background: transparent !important;
}
.cyan-theme .choice {
  background: #172832;
  border-color: #355260;
}
.cyan-theme .choice.selected,
.cyan-theme .image-radio input:checked,
.cyan-theme .material-card.selected {
  border-color: #65cde4;
  box-shadow: 0 0 12px #57c7e329;
}
.cyan-theme .choice.selected i,
.cyan-theme .image-radio input:checked:after,
.cyan-theme .material-card.selected:after {
  background: #45afcb;
  border-color: #7bd9ed;
  color: #071922;
}
.cyan-theme .voice-options .selected,
.cyan-theme .small-scene.selected,
.cyan-theme .accessory-categories .active {
  background: #204a5b;
  border-color: #71d0e5;
  color: #edfaff;
  box-shadow: 0 0 15px #5bd1ea22;
}
.cyan-theme .range-field input {
  accent-color: #6cd7ec;
}
.cyan-theme .range-field output {
  color: #95e3f2;
}
.cyan-theme .color-swatches button.selected i {
  box-shadow:
    0 0 0 3px #162f3b,
    0 0 0 5px #65cde3;
}
.cyan-theme .small-scene {
  border-color: #365666;
  background: linear-gradient(115deg, #1a303d, #12242e);
}
.cyan-theme .scene-image {
  background-color: #15252f;
}
.cyan-theme .scene-image .scene-identity,
.cyan-theme .preview-message {
  background: #0b202bbd;
  color: #c4e7f1;
}
.cyan-theme .avatar-card-info {
  background: linear-gradient(transparent, #101e28f5 26%);
}
.cyan-theme .avatar-card-info p {
  color: #b5cbd5;
}
.cyan-theme .avatar-card-picture:not(.preview-ready) {
  background: radial-gradient(ellipse at center, #294653, #162832);
}
.cyan-theme .create-page .body-art,
.cyan-theme .create-summary .male-summary-art {
  background: radial-gradient(ellipse at center, #2c4651, #12242e);
}
.cyan-theme .create-page .style-art {
  background: #16262f;
}
.cyan-theme .style-art:before {
  background: linear-gradient(90deg, #16262f, transparent);
}
.cyan-theme .style-art:after {
  background: linear-gradient(270deg, #16262f, transparent);
}
.cyan-theme .source-photo {
  background: radial-gradient(#314b57, #12212b);
}
.cyan-theme .source-photo > .pill {
  background: #234854bf;
  color: #caedf3;
}
.cyan-theme .source-unavailable svg {
  color: #8bcbd9;
}
.cyan-theme .role-select {
  background: #234a59;
  color: #b7e9f4;
}
.cyan-theme .preview-link {
  color: #c6eef6;
  background: #1b3d4b;
  border-color: #52859a;
}
.cyan-theme .progress-line progress::-webkit-progress-bar {
  background: #1f3541;
}
.cyan-theme .progress-line progress::-webkit-progress-value {
  background: linear-gradient(90deg, #6fd7e8, #2b99bf);
}
.cyan-theme .generation-steps .complete i {
  background: #379ebc;
  border-color: #6bc9df;
}
.cyan-theme .generation-steps .current i {
  border-color: #6bd4e8;
}
.cyan-theme .generation-steps li:not(:last-child):before {
  background: #31505d;
}
.cyan-theme .generation-figure > span {
  background: #1b303c;
  color: #accbd8;
}
.cyan-theme .conversation-modes .active {
  background: linear-gradient(110deg, #286782, #224454);
}
.cyan-theme .conversation-settings,
.cyan-theme .conversation-hint,
.cyan-theme .transcript-heading > a,
.cyan-theme .transcript-heading .text-button {
  color: #b3ced9;
}
.cyan-theme .microphone-select {
  background: #162d38;
  border-color: #365766;
}
.cyan-theme .live-caption {
  background: #0e2633d9;
  color: #d7f1f8;
}
.cyan-theme .avatar-conversation .runtime:after {
  background: linear-gradient(transparent, #0c1d27db);
}
.cyan-theme .avatar-conversation .message.user p {
  background: #245d76;
  color: #eaf8ff;
}
.cyan-theme .avatar-conversation .message.assistant p {
  background: #172b37;
  border-color: #34515e;
  color: #d6e9f0;
}
.cyan-theme .avatar-conversation .small-scene:before {
  background: linear-gradient(transparent, #10232df5);
}
.cyan-theme .conversation-scenes > .button {
  border-color: #66bfd3;
  color: #b4e9f5;
}
.cyan-theme dialog,
.cyan-theme .account-light dialog:not(.native-checkout-dialog),
.cyan-theme .account-light #mobile-popover,
.cyan-theme #mobile-popover,
.cyan-theme .desktop-download-menu {
  background: linear-gradient(140deg, #182c38, #0c1922);
  color: #e8f5fa;
  border-color: #426775;
  box-shadow: 0 20px 70px #0008;
}
.cyan-theme dialog::backdrop {
  background: #040b10bf;
  backdrop-filter: blur(5px);
}
.cyan-theme .desktop-download[open] > summary,
.cyan-theme .desktop-download .download-action {
  color: #8addf0;
}
.cyan-theme .desktop-download-menu a {
  background: #1b303b;
  border-color: #385663;
  color: #e0f0f5;
}
.cyan-theme .desktop-download-menu a:hover {
  background: #244856;
  border-color: #6ebbd0;
}
.cyan-theme .download-label small,
.cyan-theme .download-heading > span,
.cyan-theme .download-platform-icon {
  color: #a6c8d5;
}
.cyan-theme .modal-close,
.cyan-theme .account-light dialog:not(.native-checkout-dialog) .icon-button {
  color: #b7d5df;
  background: transparent;
}
.cyan-theme .account-light dialog:not(.native-checkout-dialog) input,
.cyan-theme .account-light dialog:not(.native-checkout-dialog) textarea,
.cyan-theme .account-light dialog:not(.native-checkout-dialog) select {
  background: #162b36;
  color: #e8f4f8;
  border-color: #355765;
}
.cyan-theme #toast,
.cyan-theme .account-light #toast {
  background: #203c49;
  color: #e9f9ff;
  border-color: #518496;
}
.cyan-theme .account-monogram,
.cyan-theme .overview-monogram {
  background: linear-gradient(135deg, #619eae, #23495e);
  border-color: #7ac4d5;
  color: #e6f9ff;
}
.cyan-theme .overview-sidebar {
  background: #0e1b25;
  border-color: #2d4551;
}
.cyan-theme .overview-sidebar nav button,
.cyan-theme .overview-sidebar nav a {
  color: #bed5df;
  background: transparent;
  border-color: transparent;
}
.cyan-theme .overview-sidebar nav .active,
.cyan-theme .overview-sidebar nav button:hover,
.cyan-theme .overview-sidebar nav a:hover {
  background: #204151;
  color: #9ae6f5;
}
.cyan-theme .overview-card {
  background: linear-gradient(130deg, #152732, #10202b);
  border-color: #2c4755;
  color: #e3eff5;
  box-shadow: 0 10px 30px #0002;
}
.cyan-theme .overview-subtitle,
.cyan-theme .overview-muted,
.cyan-theme .overview-profile p,
.cyan-theme .overview-security-row small,
.cyan-theme .overview-tasks .overview-empty,
.cyan-theme .overview-security footer button {
  color: #99b4c1;
}
.cyan-theme .overview-profile h2 > span,
.cyan-theme .overview-task-status {
  background: #234b5a;
  color: #9fdae8;
}
.cyan-theme .overview-layout .overview-edit,
.cyan-theme .overview-layout .overview-outline {
  background: #152b37;
  color: #addfec;
  border-color: #497789;
}
.cyan-theme .overview-edit svg,
.cyan-theme .overview-asset > i,
.cyan-theme .overview-layout .overview-ledger,
.cyan-theme .overview-tasks a,
.cyan-theme .overview-layout .overview-view-tasks {
  color: #88d6eb;
}
.cyan-theme .overview-asset > i {
  background: #234352;
}
.cyan-theme .overview-layout .overview-balance,
.cyan-theme .overview-layout .overview-security-row {
  color: #e3f2f7;
}
.cyan-theme .overview-tasks th {
  color: #a0bdcb;
  background: #122631;
}
.cyan-theme .overview-tasks td,
.cyan-theme .overview-security-row,
.cyan-theme .overview-security footer,
.cyan-theme .overview-sidebar {
  border-color: #294552;
}
.cyan-theme .overview-task-name img,
.cyan-theme .overview-task-placeholder {
  background: #24404f;
  color: #aad5e4;
}
.cyan-theme .overview-task-status.complete {
  color: #7bd9a5;
  background: #163d32;
}
.cyan-theme .overview-security footer i,
.cyan-theme .account-light .topbar .separator {
  background: #34505d;
}
.cyan-theme dialog.task-records-dialog {
  background: #11222e;
  color: #dbeff7;
}
.cyan-theme .task-records-list summary:hover,
.cyan-theme .task-records-list details[open] summary,
.cyan-theme .task-record-detail {
  background: #1b3542;
}
.cyan-theme .task-record-icon {
  background: #244958;
  color: #9bddec;
}
.cyan-theme .task-records-dialog .task-records-subtitle,
.cyan-theme .task-record-title small,
.cyan-theme .task-record-status,
.cyan-theme .task-record-detail p,
.cyan-theme .task-records-empty {
  color: #a4bfcc;
}
.cyan-theme dialog.native-checkout-dialog,
.cyan-theme .native-checkout {
  background: #10212c;
  color: #e6f3f8;
  border-color: #3b6576;
}
.cyan-theme dialog.native-checkout-dialog > .modal-close,
.cyan-theme .native-checkout .native-title,
.cyan-theme .native-checkout .native-back,
.cyan-theme .native-checkout .native-scan-instruction,
.cyan-theme .native-checkout .native-deadline {
  color: #e2f2f8;
}
.cyan-theme .native-checkout .native-package {
  background: #172c39;
  color: #e6f4f9;
  border-color: #365564;
}
.cyan-theme .native-checkout .native-package:hover,
.cyan-theme .native-checkout .native-package[aria-pressed="true"] {
  background: linear-gradient(125deg, #21495a, #1c3c4e);
  border-color: #75d1e3;
}
.cyan-theme .native-checkout .native-benefit,
.cyan-theme .native-checkout .native-order-product p,
.cyan-theme .native-checkout .native-order-price > span,
.cyan-theme .native-checkout .native-payment-hint,
.cyan-theme .native-checkout .native-status {
  color: #a2bfcc;
}
.cyan-theme .native-checkout .native-benefit svg,
.cyan-theme .native-checkout .native-deadline strong {
  color: #81dced;
}
.cyan-theme .native-checkout .native-selected-check {
  background: linear-gradient(135deg, #68d3e5, #2c9abb);
  color: #081922;
}
.cyan-theme .native-checkout .native-secondary {
  color: #aae9f4;
  background: #1b3e4d;
  border-color: #3a758a;
}
.cyan-theme .native-checkout .native-order-summary {
  background: #192f3d;
}
/* Machine-readable codes always stay on white, regardless of theme. */
.cyan-theme .native-checkout .native-code,
.cyan-theme .qr-slot img,
.cyan-theme .mobile-code {
  background: #fff;
}
.cyan-theme .native-checkout .native-code.is-paid {
  background: #14382e;
  color: #83dda8;
}
.cyan-theme .danger {
  background: #ce3c59;
  border-color: #ef6b81;
  color: white;
}
@media (prefers-reduced-motion: reduce) {
  .cyan-theme * {
    scroll-behavior: auto !important;
  }
}
.cyan-theme .hero {
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid #2c4c5b;
}
.cyan-theme .hero-picture {
  top: 0;
  bottom: 0;
  right: 0;
}
.cyan-theme .decor-rail:after {
  border-top-color: #5192a5;
}
.cyan-theme .shortcut i {
  box-shadow: inset 0 0 9px #8bd9e766;
}
.cyan-theme .shortcut > svg,
.cyan-theme .recommendation > div:last-child > svg {
  background: #244552;
  color: #bdebf7;
}
/* Keep the artwork above the opaque hero surface after clipping its rounded corners. */
.cyan-theme .hero-picture { z-index: 0; }
