html[data-edition="international"] .public-support-contact{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 22px;max-width:100%;margin:12px auto 0;padding:12px 18px;overflow-wrap:anywhere;font-size:14px;line-height:1.5}
html[data-edition="international"] .public-support-contact a{color:inherit;text-underline-offset:3px}
.mail-thread-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0}
.mail-thread-actions button{min-height:36px;padding:6px 10px;font:inherit;font-size:12px;cursor:pointer}
/* The default theme comes from styles.css and theme.css. New themes only define
   these surface layers and colors; the selectors below map them to site parts. */
.theme-picker-button {
  display: inline-grid;
  place-items: center;
  flex: none;
  width: 44px;
  height: 43px;
  padding: 5px;
  border: 2px solid #a98250;
  background: linear-gradient(#332216a8, #332216a8), url('/assets/oak-planks.svg?v=cc70edd2') repeat;
  background-size: auto, 96px 96px;
  box-shadow: inset 1px 1px #d9b47d, 0 2px #111617;
}
.theme-picker-button img { display: block; width: 27px; height: 27px; image-rendering: pixelated; border: 1px solid #f3d8ad; }
.theme-picker-button:hover, .theme-picker-button:focus-visible { border-color: #f0d49d; outline: 2px solid #f0d49d; outline-offset: 2px; }

.theme-dialog {
  width: min(590px, calc(100% - 28px));
  max-height: calc(100dvh - 30px);
  padding: 0;
  border: 4px solid #302216;
  background: linear-gradient(#332216a8, #332216a8), url('/assets/oak-planks.svg?v=cc70edd2') repeat;
  background-size: auto, 96px 96px;
  box-shadow: inset 2px 2px #bd9867, 0 9px #19120d;
  color: #fff1da;
}
.theme-dialog::backdrop { background: #0d1114c9; }
.theme-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 20px 22px 12px; border-bottom: 1px solid #b48d60; }
.theme-dialog-head h2 { margin: 0 0 5px; font-size: 24px; }
.theme-dialog-head p { margin: 0; color: #e8d4b1; font-size: 12px; }
.theme-dialog-head button { flex: none; width: 34px; height: 34px; border: 2px solid #3a281a; background: #d8b47b; color: #352413; font-size: 21px; line-height: 1; }
.theme-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; padding: 20px 22px 8px; }
.theme-option { display: grid; gap: 7px; min-width: 0; padding: 10px; border: 3px solid #6b5339; background: #332519; color: #fff1da; text-align: left; }
.theme-option:hover, .theme-option:focus-visible { border-color: #efcb95; outline: none; }
.theme-option[aria-pressed="true"] { border-color: #ffe1aa; box-shadow: 0 0 0 2px #e0b56b66; }
.theme-option strong { font-size: 15px; }
.theme-option small { color: #dac6a7; font-size: 11px; }
.theme-option-preview { display: block; height: 96px; border: 2px solid #201711; image-rendering: pixelated; }
.theme-option-default { background: linear-gradient(140deg, transparent 56%, #45301cd1 56%), url('/assets/stone-grid.svg?v=cc70edd2') center / 128px 128px; }
.theme-option-cherry { background: url('/assets/minecraft-1.20.1/textures/block/cherry_leaves.png') right top / 32px 32px repeat-y, url('/assets/minecraft-1.20.1/textures/block/cherry_planks.png') left top / 64px 64px repeat; }
.theme-option-oak { background: url('/assets/minecraft-1.20.1/textures/block/oak_log_top.png') right top / 32px 32px repeat-y, url('/assets/minecraft-1.20.1/textures/block/oak_planks.png') left top / 64px 64px repeat; }
.theme-option-birch { background: url('/assets/minecraft-1.20.1/textures/block/birch_log.png') right top / 32px 32px repeat-y, url('/assets/minecraft-1.20.1/textures/block/birch_planks.png') left top / 64px 64px repeat; }
.theme-dialog-note { margin: 0; padding: 9px 22px 19px; color: #e8d4b1; font-size: 11px; }
@media (max-width: 520px) { .theme-picker-button { width: 36px; height: 35px; padding: 4px; } .theme-picker-button img { width: 23px; height: 23px; } .theme-options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 15px 14px 8px; } .theme-dialog-head { padding: 17px 14px 12px; } .theme-dialog-note { padding: 9px 14px 15px; } }

/* Themes supply the same semantic layers. New features use theme-surface-card,
   theme-surface-inset and theme-action-*; only special sections need overrides. */
:root {
  --theme-panel-background: linear-gradient(#1c2323b0, #1c2323b0), url('/assets/panel-grid.svg?v=cc70edd2');
  --theme-panel-size: auto, 48px 48px;
  --theme-inset-background: #303937;
  --theme-inset-size: auto;
  --theme-button-background: linear-gradient(#46504e, #303837);
  --theme-edge: #101718;
  --theme-edge-light: #728278;
  --theme-ink: #eff1e8;
  --theme-muted-ink: #b3c1b1;
  --theme-button-ink: #eff1e8;
  --theme-promo-background: #654524;
  --theme-promo-border: #d6a24e;
  --theme-promo-ink: #fff0b4;
  --theme-bonus-ink: #f4ddab;
  --theme-bonus-card-background: linear-gradient(105deg, #c98b2b 8%, #ffe19a 28%, #e8b957 42%, #fff0b1 62%, #c98b2b 88%);
  --theme-bonus-card-border: #654019;
  --theme-bonus-card-ink: #2d1b09;
  --theme-bonus-card-shadow: #51310d;
  --theme-author-background: #1d2725ed url('/assets/panel-grid.svg?v=cc70edd2') repeat;
  --theme-author-size: auto;
  --theme-author-border: #0e1515;
  --theme-author-ink: #e6f3d9;
}
.theme-surface-card { background: var(--theme-panel-background); background-size: var(--theme-panel-size); border: 3px solid var(--theme-edge); color: var(--theme-ink); box-shadow: inset 2px 2px #ffffff50, 0 4px var(--theme-edge); }
.theme-surface-inset { background: var(--theme-inset-background); background-size: var(--theme-inset-size); border: 2px solid var(--theme-edge-light); color: var(--theme-ink); }
.theme-action-neutral { background: var(--theme-button-background); border: 2px solid var(--theme-edge); color: var(--theme-button-ink); }
.theme-action-gold { background: linear-gradient(#f6d984, #c9973d); border: 2px solid #654419; color: #302513; box-shadow: inset 1px 1px #fff0b1, 0 3px #563919; }
.theme-action-green { background: linear-gradient(#6fbd50, #417e2e); border: 2px solid #315d2b; color: #fff; box-shadow: inset 1px 1px #b3dc91, 0 3px #23451f; }

/* Cherry Grove: planks on the page, stripped cherry logs on main cards,
   white terracotta inside cards, cherry bark on the wallet, and leaves on its rim. */
html[data-theme="cherry"] {
  --mod-card-background: linear-gradient(135deg, #fff1f5c7, #f5cddcc9), url('/assets/minecraft-1.20.1/textures/block/cherry_leaves.png') repeat;
  --mod-card-border: #b76482;
  --mod-card-highlight: #ec9fba;
  --mod-button-background: linear-gradient(#ffe8ef, #efafc5 55%, #d985a5);
  --mod-button-border: #a65976;
  --mod-button-ink: #452333;
  --mod-button-shadow: #7e3e59;
  --theme-block: url('/assets/minecraft-1.20.1/textures/block/cherry_planks.png');
  --theme-page-background: linear-gradient(#0000, #0000), var(--theme-block);
  --theme-shell-background: linear-gradient(#fff7f1, #f4dcd6);
  --theme-panel-background: url('/assets/minecraft-1.20.1/textures/block/stripped_cherry_log.png');
  --theme-inset-background: url('/assets/minecraft-1.20.1/textures/block/white_terracotta.png');
  --theme-selected-background: #f3c7d1;
  --theme-button-background: linear-gradient(#fffaf4, #edcfd1);
  --theme-field-background: #fffbf7;
  --theme-edge: #704954;
  --theme-edge-light: #c78c9b;
  --theme-ink: #392430;
  --theme-muted-ink: #654a5a;
  --theme-button-ink: #392430;
  --theme-block-size: 128px 128px;
  --theme-panel-size: 96px 96px;
  --theme-inset-size: 64px 64px;
  --theme-feature-background: url('/assets/minecraft-1.20.1/textures/block/cherry_leaves.png');
  --theme-feature-size: 48px 48px;
  --theme-wallet-background: url('/assets/minecraft-1.20.1/textures/block/cherry_log.png');
  --theme-wallet-size: 96px 96px;
  --theme-promo-background: #482633;
  --theme-promo-border: #a96881;
  --theme-promo-ink: #fff7ed;
  --theme-bonus-ink: #392430;
  --theme-author-background: url('/assets/minecraft-1.20.1/textures/block/cherry_log.png') repeat;
  --theme-author-size: 64px 64px;
  --theme-author-border: #9b6976;
  --theme-author-ink: #fff7ed;
  --theme-base-color: #e6b4b8;
  --theme-shadow: #704954;
  --theme-bevel-light: #fffdfa;
  --theme-bevel-dark: #d7a9ae;
  --theme-shell-highlight: #fffdf9;
  --theme-nav-shadow: #fff2ee;
  --theme-hover-highlight: #fff6f4;
  --theme-page-note: #503847;
  --theme-heading-shadow: #fff0eb;
  --theme-hero-shade: linear-gradient(90deg, #352036e8 4%, #352036a8 48%, #35203638 100%);
  --theme-hero-accent: #ffdaeb;
  --theme-trim-background: url('/assets/minecraft-1.20.1/textures/block/cherry_log.png');
  --theme-trim-border: #b77e89;
  --theme-selected-border: #a45e76;
  --theme-choice-background: #fffaf5;
  --theme-choice-border: #b88c94;
  --theme-choice-active-background: linear-gradient(#83c85d, #4b8a35);
  --theme-choice-active-border: #34652a;
  --theme-choice-active-ink: #fff;
  --theme-choice-active-highlight: #d2efb3;
  --theme-choice-active-shadow: #2d6426;
  --theme-choice-active-price-background: #315d30;
  --theme-choice-active-price-border: #244921;
  --theme-choice-active-price-ink: #ffe9a1;
  --theme-control-highlight: #fffefa;
  --theme-control-shadow: #d5a6ae;
  --theme-picker-border: #ffd7e8;
  --theme-option-border: #bd87a4;
  --theme-dialog-backdrop: #28121fab;
  --theme-auth-tab-border: #a45479;
  --theme-shop-status-ink: #ffe7ce;
  --theme-field-border: #ab7896;
  --theme-placeholder-ink: #795969;
  --theme-step-background: #f2b9d0;
  --theme-step-border: #915477;
  --theme-step-ink: #3b2132;
  --theme-step-highlight: #ffe4ef;
  --theme-step-shadow: #bd7d9e;
  --theme-wallet-rim-shadow: #9b6976;
  --theme-wallet-ink: #fff6f1;
  --theme-wallet-text-shadow: #2b1320;
  --theme-wallet-value-ink: #3a280f;
  color-scheme: light;
  color: var(--theme-ink);
  background: var(--theme-base-color);
}

/* Oak Workshop: plank floor, stripped oak panels, sandstone inserts and bark accents. */
html[data-theme="oak"] {
  --mod-card-background: linear-gradient(135deg, #fff2cbc4, #e8c58abf), url('/assets/minecraft-1.20.1/textures/block/oak_log_top.png') repeat;
  --mod-card-border: #a87435;
  --mod-card-highlight: #f7d783;
  --mod-button-background: linear-gradient(#fff1b5, #eab35d 55%, #cd8539);
  --mod-button-border: #8b5522;
  --mod-button-ink: #3d260d;
  --mod-button-shadow: #70431d;
  --theme-block: url('/assets/minecraft-1.20.1/textures/block/oak_planks.png');
  --theme-page-background: linear-gradient(#0000, #0000), var(--theme-block);
  --theme-shell-background: linear-gradient(#fff3d4, #ead19f);
  --theme-panel-background: url('/assets/minecraft-1.20.1/textures/block/stripped_oak_log.png');
  --theme-inset-background: url('/assets/minecraft-1.20.1/textures/block/sandstone.png');
  --theme-selected-background: #f3d899;
  --theme-button-background: linear-gradient(#fff5d9, #e5c88f);
  --theme-field-background: #fff9ea;
  --theme-edge: #62401f;
  --theme-edge-light: #a57943;
  --theme-ink: #2a1b0b;
  --theme-muted-ink: #3c2816;
  --theme-button-ink: #2a1b0b;
  --theme-block-size: 128px 128px;
  --theme-panel-size: 96px 96px;
  --theme-inset-size: 64px 64px;
  --theme-feature-background: url('/assets/minecraft-1.20.1/textures/block/oak_log_top.png');
  --theme-feature-size: 48px 48px;
  --theme-wallet-background: url('/assets/minecraft-1.20.1/textures/block/oak_log.png');
  --theme-wallet-size: 96px 96px;
  --theme-promo-background: #593616;
  --theme-promo-border: #bb8746;
  --theme-promo-ink: #fff1cc;
  --theme-bonus-ink: #3e2a14;
  --theme-author-background: url('/assets/minecraft-1.20.1/textures/block/oak_log.png') repeat;
  --theme-author-size: 64px 64px;
  --theme-author-border: #a57943;
  --theme-author-ink: #fff1d7;
  --theme-base-color: #d9ba7e;
  --theme-shadow: #62401f;
  --theme-bevel-light: #fff8e8;
  --theme-bevel-dark: #bc8e50;
  --theme-shell-highlight: #fff9e9;
  --theme-nav-shadow: #fff5d9;
  --theme-hover-highlight: #fff2cd;
  --theme-page-note: #2a1b0b;
  --theme-heading-shadow: #fff4d7;
  --theme-hero-shade: linear-gradient(90deg, #291a0ce8 4%, #291a0cb0 48%, #291a0c42 100%);
  --theme-hero-accent: #ffe3a2;
  --theme-trim-background: url('/assets/minecraft-1.20.1/textures/block/oak_log.png');
  --theme-trim-border: #a57943;
  --theme-selected-border: #9c6b30;
  --theme-choice-background: #fff6dd;
  --theme-choice-border: #b48a53;
  --theme-choice-active-background: linear-gradient(#f8dc8c, #c89a45);
  --theme-choice-active-border: #765022;
  --theme-choice-active-ink: #332313;
  --theme-choice-active-highlight: #fff2cf;
  --theme-choice-active-shadow: #8d6229;
  --theme-choice-active-price-background: #efd084;
  --theme-choice-active-price-border: #9d6f2e;
  --theme-choice-active-price-ink: #332313;
  --theme-control-highlight: #fff9e8;
  --theme-control-shadow: #c29963;
  --theme-picker-border: #f0cd85;
  --theme-option-border: #a57943;
  --theme-dialog-backdrop: #281907ab;
  --theme-auth-tab-border: #9d6b31;
  --theme-shop-status-ink: #fff1cc;
  --theme-field-border: #a57943;
  --theme-placeholder-ink: #795c37;
  --theme-step-background: #e8c27e;
  --theme-step-border: #8c5f2f;
  --theme-step-ink: #342313;
  --theme-step-highlight: #fff2d5;
  --theme-step-shadow: #bd9156;
  --theme-wallet-rim-shadow: #ba9258;
  --theme-wallet-ink: #fff6dc;
  --theme-wallet-text-shadow: #241305;
  --theme-wallet-value-ink: #3a280f;
  color-scheme: light;
  color: var(--theme-ink);
  background: var(--theme-base-color);
}

/* Birch Forest: pale planks, stripped birch panels, quartz inserts,
   birch bark on the wallet and log rings around its edge. */
html[data-theme="birch"] {
  --mod-card-background: linear-gradient(135deg, #fffdf0c9, #e7d9afc9), url('/assets/minecraft-1.20.1/textures/block/birch_log_top.png') repeat;
  --mod-card-border: #8d7750;
  --mod-card-highlight: #f5e3ad;
  --mod-button-background: linear-gradient(#fff9d7, #ead58f 55%, #d2b46b);
  --mod-button-border: #7e673a;
  --mod-button-ink: #332813;
  --mod-button-shadow: #63502b;
  --theme-block: url('/assets/minecraft-1.20.1/textures/block/birch_planks.png');
  --theme-page-background: linear-gradient(#0000, #0000), var(--theme-block);
  --theme-shell-background: linear-gradient(#fffdf1, #e9dfc0);
  --theme-panel-background: url('/assets/minecraft-1.20.1/textures/block/stripped_birch_log.png');
  --theme-inset-background: url('/assets/minecraft-1.20.1/textures/block/quartz_block_bottom.png');
  --theme-selected-background: #e9dbac;
  --theme-button-background: linear-gradient(#fffdf1, #e2d5ae);
  --theme-field-background: #fffdf4;
  --theme-edge: #494131;
  --theme-edge-light: #8e7a55;
  --theme-ink: #292417;
  --theme-muted-ink: #514936;
  --theme-button-ink: #292417;
  --theme-block-size: 128px 128px;
  --theme-panel-size: 96px 96px;
  --theme-inset-size: 64px 64px;
  --theme-feature-background: url('/assets/minecraft-1.20.1/textures/block/birch_log_top.png');
  --theme-feature-size: 48px 48px;
  --theme-wallet-background: url('/assets/minecraft-1.20.1/textures/block/birch_log.png');
  --theme-wallet-size: 96px 96px;
  --theme-promo-background: #403522;
  --theme-promo-border: #c6a869;
  --theme-promo-ink: #fff5db;
  --theme-bonus-ink: #332716;
  --theme-author-background: url('/assets/minecraft-1.20.1/textures/block/birch_log.png') repeat;
  --theme-author-size: 64px 64px;
  --theme-author-border: #7e714f;
  --theme-author-ink: #292417;
  --theme-base-color: #e7dbb5;
  --theme-shadow: #494131;
  --theme-bevel-light: #fffef4;
  --theme-bevel-dark: #bbaa80;
  --theme-shell-highlight: #fffef6;
  --theme-nav-shadow: #fff9e7;
  --theme-hover-highlight: #fff9e7;
  --theme-page-note: #403626;
  --theme-heading-shadow: #fff9e7;
  --theme-hero-shade: linear-gradient(90deg, #28241ce8 4%, #28241caf 48%, #28241c42 100%);
  --theme-hero-accent: #fff0c5;
  --theme-trim-background: url('/assets/minecraft-1.20.1/textures/block/birch_log.png');
  --theme-trim-border: #8e7a55;
  --theme-selected-border: #8a7243;
  --theme-choice-background: #fffdf0;
  --theme-choice-border: #a99771;
  --theme-choice-active-background: linear-gradient(#f7e4a7, #d4ad5f);
  --theme-choice-active-border: #6b5126;
  --theme-choice-active-ink: #292417;
  --theme-choice-active-highlight: #fff7d8;
  --theme-choice-active-shadow: #866634;
  --theme-choice-active-price-background: #f3d893;
  --theme-choice-active-price-border: #9a7738;
  --theme-choice-active-price-ink: #292417;
  --theme-control-highlight: #fffdf1;
  --theme-control-shadow: #c4b188;
  --theme-picker-border: #eddb9f;
  --theme-option-border: #8e7a55;
  --theme-dialog-backdrop: #221d12ab;
  --theme-auth-tab-border: #907143;
  --theme-shop-status-ink: #fff5db;
  --theme-field-border: #8e7a55;
  --theme-placeholder-ink: #71644e;
  --theme-step-background: #e9d4a4;
  --theme-step-border: #796342;
  --theme-step-ink: #292417;
  --theme-step-highlight: #fff6dd;
  --theme-step-shadow: #ad9365;
  --theme-wallet-rim-shadow: #8f805d;
  --theme-wallet-ink: #221c13;
  --theme-wallet-text-shadow: #fffdf2;
  --theme-wallet-value-ink: #3a280f;
  color-scheme: light;
  color: var(--theme-ink);
  background: var(--theme-base-color);
}


/* Graystone Workshop; retain the quartz ID for saved user preferences. */
html[data-theme="quartz"] {
  --theme-action-green-background: linear-gradient(#4d7228, #36551c);
  --theme-action-green-ink: #fff8df;
  --theme-action-gold-background: linear-gradient(#ffe29b, #d9a443);
  --theme-action-gold-ink: #3b270f;
  --mod-card-background: linear-gradient(#ead9aa, #dfca97);
  --mod-card-border: #708643;
  --mod-card-highlight: #b6cb77;
  --mod-button-background: var(--theme-action-green-background);
  --mod-button-border: #39591b;
  --mod-button-ink: #fff8dd;
  --mod-button-shadow: #a78b52;
  --theme-block: url('/assets/minecraft-1.20.1/textures/block/stone_bricks.png');
  --theme-page-background: linear-gradient(#a4a29d80, #a4a29d80), var(--theme-block);
  --theme-block-size: 96px 96px;
  --theme-shell-background: linear-gradient(#353638ed, #282a2ded), url('/assets/stone-grid.svg?v=cc70edd2');
  --theme-panel-background: linear-gradient(#e3cc99, #d8bd85);
  --theme-panel-size: auto;
  --theme-inset-background: #ecd7a8;
  --theme-inset-size: auto;
  --theme-selected-background: #dbc28b;
  --theme-button-background: linear-gradient(#ebd09a, #d1ad6d);
  --theme-field-background: #f0e1bd;
  --theme-edge: #987340;
  --theme-edge-light: #b9985e;
  --theme-heading-ink: #603b18;
  --theme-ink: #69431d;
  --theme-muted-ink: #604a33;
  --theme-button-ink: #513418;
  --theme-feature-background: url('/assets/minecraft-1.20.1/textures/block/sandstone_top.png');
  --theme-feature-size: 48px 48px;
  --theme-wallet-background: linear-gradient(#e9d2a0, #d5b879);
  --theme-wallet-size: auto;
  --theme-promo-background: #875120;
  --theme-promo-border: #ce9552;
  --theme-promo-ink: #ffffff;
  --theme-bonus-ink: #725027;
  --theme-author-background: url('/assets/minecraft-1.20.1/textures/block/sandstone_top.png');
  --theme-author-size: 48px 48px;
  --theme-author-border: #b89b66;
  --theme-author-ink: #69431d;
  --theme-base-color: #9c9b96;
  --theme-shadow: #967548;
  --theme-bevel-light: #efd49c;
  --theme-bevel-dark: #b48d51;
  --theme-shell-highlight: #99958e;
  --theme-nav-shadow: #28292b;
  --theme-hover-highlight: #f4dfae;
  --theme-page-note: #604a33;
  --theme-heading-shadow: #edd7a5;
  --theme-hero-shade: linear-gradient(90deg, #2b2c30d9 4%, #2b2c307a 48%, #2b2c301a 100%);
  --theme-hero-accent: #f8e8b9;
  --theme-trim-background: url('/assets/minecraft-1.20.1/textures/block/sandstone_top.png');
  --theme-trim-border: #ae8449;
  --theme-selected-border: #5f7a2a;
  --theme-choice-background: #e7d09b;
  --theme-choice-border: #bea16a;
  --theme-choice-active-background: var(--theme-action-green-background);
  --theme-choice-active-border: #3b5b1a;
  --theme-choice-active-ink: #fff9df;
  --theme-choice-active-highlight: #afc66c;
  --theme-choice-active-shadow: #375a1b;
  --theme-choice-active-price-background: #385a1b;
  --theme-choice-active-price-border: #2e4918;
  --theme-choice-active-price-ink: #ffedb0;
  --theme-control-highlight: #f2dcae;
  --theme-control-shadow: #bc9a63;
  --theme-picker-border: #989081;
  --theme-option-border: #b79a61;
  --theme-dialog-backdrop: #29292b99;
  --theme-auth-tab-border: #78902f;
  --theme-shop-status-ink: #fff1cc;
  --theme-field-border: #b99a65;
  --theme-placeholder-ink: #78603f;
  --theme-step-background: #d79b4e;
  --theme-step-border: #a46d31;
  --theme-step-ink: #402a11;
  --theme-step-highlight: #f4ce84;
  --theme-step-shadow: #ac7235;
  --theme-wallet-rim-shadow: #b69a64;
  --theme-wallet-ink: #69431d;
  --theme-wallet-text-shadow: #eed6a0;
  --theme-wallet-value-ink: #3a280f;
  color-scheme: light;
  color: var(--theme-ink);
  background: var(--theme-base-color);
}
.theme-option-quartz { background: linear-gradient(160deg, #303236 0 24%, #dfc58e 24% 72%, #588126 72% 88%, #d49b43 88%); }

html.custom-theme body { background: var(--theme-page-background); background-size: auto, var(--theme-block-size); image-rendering: pixelated; }
html.custom-theme .site-header,
html.custom-theme .site-footer { background: var(--theme-shell-background); border-color: var(--theme-edge); box-shadow: inset 0 2px var(--theme-shell-highlight), 0 4px var(--theme-shadow); }
html.custom-theme .brand strong,
html.custom-theme .footer-inner strong,
html.custom-theme .main-nav a { color: var(--theme-ink); text-shadow: 1px 1px var(--theme-nav-shadow); }
html.custom-theme .main-nav a.active,
html.custom-theme .main-nav a:hover { color: var(--theme-ink); }
html.custom-theme .main-nav a:hover,
html.custom-theme .main-nav a.active,
html.custom-theme .account-menu a:hover { background: var(--theme-selected-background); border-color: var(--theme-edge-light); box-shadow: inset 1px 1px var(--theme-hover-highlight), 0 2px var(--theme-shadow); }
html.custom-theme .page-intro {
  display: table;
  max-width: 100%;
  padding: 14px 18px;
  border: 2px solid var(--theme-edge-light);
  background: var(--theme-inset-background);
  background-size: var(--theme-inset-size);
  box-shadow: inset 1px 1px var(--theme-bevel-light), 0 4px var(--theme-shadow);
}
html.custom-theme .brand small,
html.custom-theme .footer-inner small,
html.custom-theme .page-intro p { color: var(--theme-page-note); text-shadow: none; }
html.custom-theme .brand small,
html.custom-theme .footer-inner small { color: var(--theme-muted-ink); }
html.custom-theme .page-intro h1,
html.custom-theme .page-intro .kicker { color: var(--theme-ink); text-shadow: none; }
html.custom-theme :is(.creator-card, .gallery-card, .empty-card, .package, .auth-dialog, .orders-summary, .shop-hero, .coming-banner, .preview-card, .preview-dialog, .detail-preview-panel, .detail-side-card, .shop-panel, .profile-card, .announcement-contacts, .announcement-list, .announcement-article, .announcement-popup, .mail-list, .mail-paper, .gallery-message, .share-dialog, .theme-dialog, .tutorial-popover) :is(h1, h2, h3, h4, p, small, strong, span, label, a, button, header, time) {
  color: var(--theme-ink);
  text-shadow: none;
}
/* The immersive preview stays dark in every theme, so its text stays light. */
html.custom-theme .preview-gallery button[data-view-mode="3d"] .immersive-preview-copy small { color: #f0d789; text-shadow: 1px 1px #071416; }
html.custom-theme .preview-gallery button[data-view-mode="3d"] .immersive-preview-copy strong { color: #fff9e8; text-shadow: 1px 1px #071416; }
html.custom-theme .preview-stage :is(h1, h2, h3, p, small, strong, span, label) { color: #f4f4e7; }
html.custom-theme .hero-shade { background: var(--theme-hero-shade); }
html.custom-theme .hero h1 em,
html.custom-theme .kicker,
html.custom-theme .eyebrow { color: var(--theme-hero-accent); }
html.custom-theme .gallery-card .gallery-author-label { color: var(--theme-ink); text-shadow: none; }
html.custom-theme .gallery-card .gallery-build-facts > span {
  border: 3px solid transparent;
  background: linear-gradient(#fffaf0, #fffaf0) padding-box, var(--theme-feature-background) repeat border-box;
  background-size: auto, var(--theme-feature-size);
  box-shadow: inset 0 0 0 1px #c6a66c, 0 2px var(--theme-shadow);
  color: #292417;
  text-shadow: none;
}
html.custom-theme .gallery-card .gallery-admin-badge {
  background: var(--theme-promo-background);
  border-color: var(--theme-promo-border);
  color: var(--theme-promo-ink);
}

html.custom-theme .creator-card,
html.custom-theme .gallery-card,
html.custom-theme .empty-card,
html.custom-theme .package,
html.custom-theme .auth-dialog,
html.custom-theme .orders-summary,
html.custom-theme .shop-hero,
html.custom-theme .coming-banner,
html.custom-theme .preview-card,
html.custom-theme .preview-dialog,
html.custom-theme .detail-preview-panel,
html.custom-theme .detail-side-card,
html.custom-theme .shop-panel,
html.custom-theme .profile-card,
html.custom-theme .announcement-contacts,
html.custom-theme .announcement-list,
html.custom-theme .announcement-article,
html.custom-theme .announcement-popup,
html.custom-theme .mail-list,
html.custom-theme .mail-paper,
html.custom-theme .gallery-message,
html.custom-theme .share-dialog,
html.custom-theme .theme-dialog,
html.custom-theme .tutorial-popover {
  background: var(--theme-panel-background);
  background-size: var(--theme-panel-size);
  border-color: var(--theme-edge);
  box-shadow: inset 2px 2px var(--theme-bevel-light), inset -2px -2px var(--theme-bevel-dark), 0 5px var(--theme-shadow);
  color: var(--theme-ink);
}
html.custom-theme :is(.creator-card, .preview-card, .shop-panel, .profile-card, .mail-list, .mail-paper, .gallery-message, .announcement-list, .announcement-article)::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 7px;
  background: var(--theme-trim-background) repeat 0 0 / 64px 64px;
  border-bottom: 1px solid var(--theme-trim-border);
  pointer-events: none;
}
html.custom-theme :is(.creator-card, .preview-card, .shop-panel, .profile-card, .mail-list, .mail-paper, .gallery-message, .announcement-list, .announcement-article) { position: relative; }
html.custom-theme .profile-identity { background: var(--theme-inset-background); background-size: var(--theme-inset-size); }
html.custom-theme #detailMeta { background: var(--theme-inset-background); background-size: var(--theme-inset-size); color: var(--theme-ink); }
html.custom-theme .preview-dialog.is-native-fullscreen .preview-dialog-head,
html.custom-theme .preview-dialog.is-native-fullscreen .preview-gallery-large { background: var(--theme-shell-background); }

html.custom-theme .gallery-tabs a,
html.custom-theme .filter,
html.custom-theme .tutorial-trigger,
html.custom-theme .gallery-message,
html.custom-theme .order-card,
html.custom-theme .shop-preset,
html.custom-theme .announcement-list-item,
html.custom-theme .mail-list-item,
html.custom-theme .mail-message,
html.custom-theme .detail-description,
html.custom-theme .detail-download-option,
html.custom-theme .detail-material,
html.custom-theme .shop-quote,
html.custom-theme .choice-button,
html.custom-theme .account-menu,
html.custom-theme .theme-option {
  background: var(--theme-inset-background);
  background-size: var(--theme-inset-size);
  border-color: var(--theme-edge-light);
  color: var(--theme-ink);
}
html.custom-theme .delivery-platforms button { background: var(--theme-inset-background); background-size: var(--theme-inset-size); border-color: var(--theme-edge-light); color: var(--theme-ink); }
html.custom-theme .order-card:hover,
html.custom-theme .order-card:focus-within { border-color: var(--theme-selected-border); box-shadow: inset 1px 1px var(--theme-bevel-light), inset -1px -1px var(--theme-bevel-dark), 0 0 0 2px var(--theme-selected-border); }
html.custom-theme .delivery-platforms button[aria-pressed="true"] { background: var(--theme-button-background); color: var(--theme-button-ink); border-color: var(--theme-edge); }
html.custom-theme .delivery-help { background: var(--theme-inset-background); background-size: var(--theme-inset-size); color: var(--theme-ink); border-color: var(--theme-edge-light); }
html.custom-theme .mod-delivery-option .mod-bridge-status { background: var(--theme-inset-background); background-size: var(--theme-inset-size); color: var(--theme-ink); border-color: var(--theme-edge-light); }
html.custom-theme .mod-delivery-option .mod-update-notice { background: var(--theme-promo-background); color: var(--theme-promo-ink); border-color: var(--theme-promo-border); }
html.custom-theme .mod-panel-key-setting { background: var(--theme-inset-background); background-size: var(--theme-inset-size); color: var(--theme-ink); border-color: var(--theme-edge-light); }
html.custom-theme .mod-panel-key-setting select { background: var(--theme-inset-background); color: var(--theme-ink); border-color: var(--theme-edge); }
html.custom-theme .mod-panel-key-setting span { color: var(--theme-muted-ink); }
html.custom-theme .mod-delivery-option button, html.custom-theme .mod-delivery-option .mod-bridge-controls a { background: var(--theme-button-background); border-color: var(--theme-edge); color: var(--theme-button-ink); }
html.custom-theme .mod-delivery-option .mod-bridge-controls .mod-download-primary { border-color: var(--mod-button-border); background: var(--mod-button-background); box-shadow: inset 1px 1px #ffffffb8, 0 2px var(--mod-button-shadow); color: var(--mod-button-ink); }
html.custom-theme .mod-delivery-option a.mod-guide-link { background: var(--theme-button-background); border-color: var(--theme-edge); color: var(--theme-button-ink); }
html.custom-theme .mod-delivery-option a.mod-guide-link:hover { filter: brightness(1.08); }
html.custom-theme .detail-download-option .delivery-version { color: var(--theme-ink); }
html.custom-theme .delivery-version-row { color: var(--theme-ink); }
html.custom-theme .delivery-version-row select { background: var(--theme-inset-background); background-size: var(--theme-inset-size); color: var(--theme-ink); border-color: var(--theme-edge); }
html.custom-theme .delivery-site-base { background:var(--theme-inset-background); background-size:var(--theme-inset-size); color:var(--theme-ink); border-color:var(--theme-edge); }
html.custom-theme .delivery-site-base:has(input:checked) { border-color:#708b32; }
html.custom-theme .delivery-file-list .detail-download-option { background: var(--theme-inset-background); background-size: var(--theme-inset-size); color: var(--theme-ink); }
html.custom-theme .delivery-file-list .detail-download-option.mod-delivery-option { border-color: var(--mod-card-border); background: var(--mod-card-background); background-size: auto, 64px 64px; box-shadow: inset 0 0 0 1px #ffffffa6, 0 3px var(--theme-shadow); }
html.custom-theme .delivery-file-list .detail-download-option.mod-delivery-option::before { background: linear-gradient(90deg, var(--mod-card-border), var(--mod-card-highlight)); }
html.custom-theme .delivery-file-list .detail-download-option .delivery-tool,
html.custom-theme .delivery-file-list .detail-download-option .delivery-usage { color: var(--theme-ink); }
html.custom-theme .delivery-file-list .detail-download-option .delivery-extension { background: var(--theme-button-background); border-color: var(--theme-edge); color: var(--theme-button-ink); }
html.custom-theme .delivery-file-list .mod-delivery-option .delivery-extension { background: var(--theme-promo-background); border-color: var(--theme-promo-border); color: var(--theme-promo-ink); }
html.custom-theme .delivery-command code { background: var(--theme-inset-background); background-size: var(--theme-inset-size); border-color: var(--theme-edge-light); color: var(--theme-ink); }
html.custom-theme .delivery-guide-button { background: var(--theme-button-background); border-color: var(--theme-edge); color: var(--theme-button-ink); }
html.custom-theme .detail-downloads .delivery-download-button { background: linear-gradient(#ffe29b, #dca847); border-color: #714a1d; color: #2b1a09; }
html.custom-theme .detail-downloads .delivery-unavailable-label { background: #a79b86; border-color: #777268; color: #2b251c; }
html.custom-theme .gallery-tabs a.active,
html.custom-theme .filter.active,
html.custom-theme .filter:hover,
html.custom-theme .announcement-list-item.active,
html.custom-theme .announcement-list-item:hover,
html.custom-theme .mail-list-item.active,
html.custom-theme .mail-list-item:hover,
html.custom-theme .theme-option[aria-pressed="true"] { background: var(--theme-selected-background); border-color: var(--theme-selected-border); }
html.custom-theme .shop-preset.selected { background: #fff0dc; border-color: #ba8c3f; }
html.custom-theme .mail-message.is-self { background: var(--theme-selected-background); }
html.custom-theme .upload-zone,
html.custom-theme .upload-zone.dragging {
  background: var(--theme-inset-background);
  background-size: var(--theme-inset-size);
  border-color: var(--theme-edge-light);
  color: var(--theme-ink);
}
html.custom-theme .upload-zone.dragging { box-shadow: 0 0 0 2px var(--theme-edge-light); }
html.custom-theme .preset-row button { border-color: var(--theme-edge-light); color: var(--theme-muted-ink); }
html.custom-theme .preset-row button:hover { background: var(--theme-selected-background); color: var(--theme-ink); }
html.custom-theme .choice-button { background: var(--theme-choice-background); border-color: var(--theme-choice-border); box-shadow: inset 1px 1px var(--theme-bevel-light), 0 2px var(--theme-shadow); }
html.custom-theme .choice-button.active { background: var(--theme-choice-active-background); border-color: var(--theme-choice-active-border); box-shadow: inset 1px 1px var(--theme-choice-active-highlight), inset -1px -1px var(--theme-choice-active-shadow), 0 2px var(--theme-shadow); color: var(--theme-choice-active-ink); }
html.custom-theme .choice-button.active .choice-main { color: var(--theme-choice-active-ink); }

html.custom-theme .account-button,
html.custom-theme .auth-name-control button,
html.custom-theme .auth-back-button,
html.custom-theme .tutorial-actions button {
  background: var(--theme-button-background);
  border-color: var(--theme-edge);
  box-shadow: inset 2px 2px var(--theme-control-highlight), inset -2px -2px var(--theme-control-shadow), 0 3px var(--theme-shadow);
  color: var(--theme-button-ink);
  text-shadow: none;
}
html.custom-theme .account-button:hover,
html.custom-theme .auth-back-button:hover { filter: brightness(1.05); }
html.custom-theme .notice-button,
html.custom-theme .theme-picker-button,
html.custom-theme .logout-button,
html.custom-theme .profile-uid,
html.custom-theme .profile-works-link,
html.custom-theme .profile-file-button,
html.custom-theme .mail-toolbar #mailRefresh,
html.custom-theme .mail-pagination button,
html.custom-theme .gallery-favorite-button,
html.custom-theme .detail-social-button,
html.custom-theme .announcement-popup-actions button,
html.custom-theme .theme-dialog-head button {
  background: var(--theme-selected-background);
  border-color: var(--theme-edge-light);
  box-shadow: inset 1px 1px var(--theme-control-highlight), 0 2px var(--theme-shadow);
  color: var(--theme-ink);
}
html.custom-theme .theme-picker-button img { border-color: var(--theme-picker-border); }
html.custom-theme .theme-option { border-color: var(--theme-option-border); }
html.custom-theme .theme-option small,
html.custom-theme .theme-dialog-head p,
html.custom-theme .theme-dialog-note { color: var(--theme-muted-ink); }
html.custom-theme .auth-dialog::backdrop { background: var(--theme-dialog-backdrop); }
html.custom-theme .auth-tabs button.active { border-bottom-color: var(--theme-auth-tab-border); }
html.custom-theme .auth-dialog :is(.auth-brand, .auth-foot, .resend-button) { color: var(--theme-ink); }
html.custom-theme .site-footer,
html.custom-theme .footer-inner :is(span, small, a),
html.custom-theme .mail-toolbar,
html.custom-theme .mail-pagination,
html.custom-theme .choice-button .choice-main,
html.custom-theme .choice-button:not(.active) .choice-main { color: var(--theme-ink); }
html.custom-theme .cost-note {
  padding: 8px 10px;
  border: 2px solid var(--theme-edge-light);
  background: var(--theme-inset-background);
  background-size: var(--theme-inset-size);
  box-shadow: 0 2px var(--theme-shadow);
}
html.custom-theme .cost-note small { color: var(--theme-muted-ink); font-size: 11px; font-weight: 700; }
html.custom-theme .shop-panel .shop-panel-status { color: var(--theme-shop-status-ink); }
html.custom-theme .shop-panel .shop-error {
  background: var(--theme-field-background);
  border-color: var(--theme-field-border);
  color: var(--theme-ink);
  text-shadow: none;
}
html.custom-theme #voucherHistory { color: var(--theme-muted-ink); }

html.custom-theme .creator-card textarea,
html.custom-theme .auth-dialog input,
html.custom-theme .profile-control-row input,
html.custom-theme .profile-password-form > input,
html.custom-theme .mail-paper input,
html.custom-theme .mail-paper textarea,
html.custom-theme .mail-reply-form textarea,
html.custom-theme .shop-custom-row,
html.custom-theme .shop-custom-row input,
html.custom-theme .voucher-form input {
  background: var(--theme-field-background);
  border-color: var(--theme-field-border);
  color: var(--theme-ink);
}
html.custom-theme .auth-dialog input::placeholder,
html.custom-theme .creator-card textarea::placeholder,
html.custom-theme input::placeholder,
html.custom-theme textarea::placeholder { color: var(--theme-placeholder-ink); opacity: 1; }
html.custom-theme .profile-card p,
html.custom-theme .mail-list-item small,
html.custom-theme .mail-thread-head small,
html.custom-theme .announcement-list-item small,
html.custom-theme .announcement-article time,
html.custom-theme .shop-help,
html.custom-theme .shop-hero p,
html.custom-theme .share-dialog p { color: var(--theme-muted-ink); }
html.custom-theme #shopRateNote {
  padding: 8px 10px;
  border: 2px solid var(--theme-edge-light);
  background: var(--theme-inset-background);
  background-size: var(--theme-inset-size);
  color: var(--theme-ink);
  font-weight: 700;
}
html.custom-theme .choice-price,
html.custom-theme .choice-button.active .choice-price,
html.custom-theme .preview-controls,
html.custom-theme .preview-slice-panel,
html.custom-theme .preview-block { background: var(--theme-inset-background); background-size: var(--theme-inset-size); border-color: var(--theme-edge-light); color: var(--theme-ink); }
html.custom-theme .preview-controls kbd,
html.custom-theme .preview-slice-panel button,
html.custom-theme .preview-head-actions button.is-selected,
html.custom-theme .preview-dialog-actions button.is-selected { background: var(--theme-selected-background); border-color: var(--theme-edge-light); color: var(--theme-ink); }
html.custom-theme .creation-step,
html.custom-theme .input-label .creation-step { background: var(--theme-step-background); border-color: var(--theme-step-border); color: var(--theme-step-ink); box-shadow: inset 1px 1px var(--theme-step-highlight), inset -1px -1px var(--theme-step-shadow); }
html.custom-theme .generate-button .generate-step { color: #fff0bc; text-shadow: none; }

/* Semantic promotional text stays readable on both dark and light surfaces. */
html.custom-theme body :is(.shop-activity-tag, .theme-promo-tag) {
  background: var(--theme-promo-background);
  border-color: var(--theme-promo-border);
  color: var(--theme-promo-ink);
}
html.custom-theme body :is(.shop-bonus, .theme-bonus),
html.custom-theme body :is(.shop-bonus, .theme-bonus) span { color: var(--theme-bonus-ink); }
html.custom-theme body :is(.shop-bonus-number, .theme-bonus-number, .theme-points-badge) { color: var(--theme-bonus-card-ink); }

/* The wallet is the only feature surface with its own biome texture. */
html.custom-theme .shop-hero {
  background: var(--theme-wallet-background, var(--theme-panel-background)) repeat padding-box, var(--theme-feature-background) repeat border-box;
  background-size: var(--theme-wallet-size, var(--theme-panel-size)), var(--theme-feature-size);
  border: 12px solid transparent;
  box-shadow: inset 0 0 0 2px var(--theme-wallet-rim-shadow), 0 5px var(--theme-shadow);
}
html.custom-theme .shop-hero > div {
  padding: 0;
  border: 0;
  background: transparent;
}
html.custom-theme .shop-hero > div :is(span, h2, p) { color: var(--theme-wallet-ink); text-shadow: 1px 1px var(--theme-wallet-text-shadow); }
html[data-theme="birch"] .shop-hero > div {
  padding: 10px 14px;
  border: 2px solid var(--theme-edge-light);
  background: #fffaf0eb;
  box-shadow: inset 1px 1px #fff, 2px 2px var(--theme-shadow);
}
html.custom-theme .shop-hero > strong,
html.custom-theme .shop-hero > strong small { color: var(--theme-wallet-value-ink); }

/* Owned works use the same layered biome frame as the points wallet. */
html.custom-theme .orders-content-filled .order-card {
  background: var(--theme-wallet-background) repeat padding-box, var(--theme-feature-background) repeat border-box;
  background-size: var(--theme-wallet-size), var(--theme-feature-size);
  border: 11px solid transparent;
  box-shadow: inset 0 0 0 2px var(--theme-wallet-rim-shadow), 0 5px var(--theme-shadow);
  color: var(--theme-wallet-ink);
}
html.custom-theme .orders-content-filled .order-card::before { border-color: var(--theme-edge-light); box-shadow: inset 1px 1px var(--theme-bevel-light), inset -1px -1px var(--theme-bevel-dark); }
html.custom-theme .orders-content-filled .order-card:hover,
html.custom-theme .orders-content-filled .order-card:focus-within { box-shadow: inset 0 0 0 2px var(--theme-selected-border), 0 0 16px var(--theme-selected-border), 0 5px var(--theme-shadow); }
html.custom-theme .orders-content-filled .order-card .order-card-title {
  background: var(--theme-inset-background);
  background-size: var(--theme-inset-size);
  border-color: var(--theme-edge-light);
  color: var(--theme-ink);
  text-shadow: none;
}
html.custom-theme .orders-content-filled .order-card .order-card-title > span { color: var(--theme-ink); }
html.custom-theme .orders-content-filled .order-card .order-card-facts > span { color: #3c270d; }
html.custom-theme .orders-content-filled .order-card .order-number-row,
html.custom-theme .orders-content-filled .order-card .order-number-row :is(span, button) { color: var(--theme-wallet-ink); text-shadow: 1px 1px var(--theme-wallet-text-shadow); }
html.custom-theme .orders-content-filled .order-card .order-card-meta { background: #fffaf0; border-color: var(--theme-edge-light); color: #292417; text-shadow: none; }
html.custom-theme .orders-content-filled .order-card .order-status { border-color: var(--theme-edge-light); color: #322111; }
html.custom-theme .orders-content-filled .order-card .order-status.completed,
html.custom-theme .orders-content-filled .order-card .order-status.failed { color: #fff; }
html.custom-theme .orders-content-filled .order-card .order-download { color: #fff; }

/* Keep critical text on a fixed opaque contrast pair, independent of future textures. */
html.custom-theme .account-menu a { background: #fffaf0; color: #292417; text-shadow: none; }
html.custom-theme .account-menu a + a { border-top: 1px solid var(--theme-edge-light); }
html.custom-theme .account-menu a:hover,
html.custom-theme .account-menu a:focus-visible { background: #eddbb1; color: #292417; }

/* Existing gold and emerald actions keep their functional colors. */
html.custom-theme body :is(.buy-points-button, .shop-redeem, .order-download, .gallery-card-actions a, .primary-button:not(.generate-button):not(.generation-confirm-accept)) { color: #fff; }
html.custom-theme .buy-points-button span { color: #d6efbd; }
html.custom-theme .choice-button.active .choice-main { color: var(--theme-choice-active-ink); }
html.custom-theme .choice-button.active .choice-price { background: var(--theme-choice-active-price-background); border-color: var(--theme-choice-active-price-border); color: var(--theme-choice-active-price-ink); }
html.custom-theme .choice-button.active .choice-price :is(span, b) { color: var(--theme-choice-active-price-ink); }
html.custom-theme body :is(button, a).theme-action-gold { color: #302513; }
html.custom-theme body :is(button, a).theme-action-green { color: #fff; }
html.custom-theme .main-nav a[data-nav="shop"]:is(.active, :hover) {
  background: linear-gradient(#f3d379, #c68b2e);
  border-color: #39270f;
  box-shadow: inset 2px 2px #fff0ad, inset -2px -2px #93601d, 0 3px var(--theme-shadow);
  color: #2b210f;
  text-shadow: none;
}
/* Keep text on opaque surfaces; theme textures remain visible around the ledger. */
#pointsHistory {
  --points-paper: #202b29; --points-row: #293632; --points-ink: #f4f4df;
  --points-line: #53665a; --points-gain: #b3ec94; --points-spend: #ffd284;
  margin-bottom: 32px; scroll-margin-top: 110px;
}
html.custom-theme #pointsHistory {
  --points-paper: #fff8e8; --points-row: #f4ead6; --points-ink: #35291c;
  --points-line: #aa9270; --points-gain: #296220; --points-spend: #8b4213;
}
#pointsHistory :is(.shop-panel-head, .points-summary > div, .points-toolbar, .points-message, .points-pagination, .points-note) {
  background: var(--points-paper); color: var(--points-ink); padding: 12px 16px;
}
#pointsHistory :is(h2, strong, span, label, p, a) { color: inherit; text-shadow: none; }
#pointsHistory .shop-panel-head { align-items: center; border: 2px solid var(--points-line); }
#pointsHistory button, #pointsHistory select {
  padding: 8px 12px; background: var(--points-row); color: var(--points-ink);
  border: 2px solid var(--points-line); font: inherit; font-weight: 700;
}
#pointsHistory button:disabled { opacity: .45; cursor: default; }
#pointsHistory :is(button, select, a):focus-visible { outline: 3px solid #d9a944; outline-offset: 3px; }
#pointsHistory .points-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
#pointsHistory .points-summary > div { border: 2px solid var(--points-line); box-shadow: inset 2px 2px #ffffff25, 3px 3px #0003; }
#pointsHistory .points-summary span { display: block; font-size: 14px; }
#pointsHistory .points-summary strong { display: block; margin-top: 8px; font-size: 24px; font-variant-numeric: tabular-nums; }
#pointsHistory .points-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
#pointsHistory .points-toolbar > span { margin-left: auto; font-size: 13px; }
#pointsHistory .points-table-wrap { overflow-x: auto; border: 2px solid var(--points-line); }
#pointsHistory .points-table { width: 100%; min-width: 600px; border-collapse: collapse; background: var(--points-paper); color: var(--points-ink); font-size: 15px; }
#pointsHistory .points-table :is(th, td) { padding: 16px; text-align: left; border-bottom: 1px solid var(--points-line); }
#pointsHistory .points-table th, #pointsHistory .points-table tr:nth-child(even) { background: var(--points-row); }
#pointsHistory .points-table td:first-child { white-space: nowrap; font-size: 14px; }
#pointsHistory .points-table td:nth-last-child(-n+2) { white-space: nowrap; font-weight: 700; font-variant-numeric: tabular-nums; }
#pointsHistory .points-table a { display: block; margin-top: 6px; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 3px; }
#pointsHistory .points-table .points-in { color: var(--points-gain); }
#pointsHistory .points-table .points-out { color: var(--points-spend); }
#pointsHistory .points-pagination { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 16px; margin-top: 12px; }
#pointsHistory .points-note { font-size: 13px; line-height: 1.7; margin: 12px 0 0; }
#pointsHistory [hidden] { display: none; }
@media (max-width: 600px) {
  #pointsHistory .points-summary { grid-template-columns: 1fr; gap: 8px; }
  #pointsHistory .points-summary > div { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
  #pointsHistory .points-summary strong { font-size: 20px; margin: 0; }
  #pointsHistory .points-toolbar > span { margin-left: 0; }
}

/* Generation feedback has a solid, readable surface in every texture theme. */
html body #previewTaskPicker { background: #24352d; border-color: #859777; margin: 0 0 12px; }
html body #previewTaskPicker :is(label, span) { color: #fff0bf; text-shadow: none; }
html body #previewTaskPicker label { font-size: 14px; }
html body #previewTaskPicker select { background: #fff4da; color: #302516; }
html body .preview-progress[data-preview-progress] {
  inset: auto 12px; top: 50%; transform: translateY(-50%);
  max-height: calc(100% - 24px); padding: 44px 16px 20px; gap: 10px;
  background: #16271f; color: #fff4d6; border-color: #8da47b;
}
html body .preview-progress[data-preview-progress] :is(span, strong, small) { color: #fff4d6; text-shadow: none; }
html body .preview-progress[data-preview-progress] .preview-progress-kicker { color: #f3d38a; }
html body .preview-progress[data-preview-progress] strong { color: #ffffff; }
html body .preview-progress[data-preview-progress] .preview-progress-meter { background: none; border: 0; box-shadow: none; color: #fff4d6; }
html body .preview-progress[data-preview-progress] .preview-progress-close {
  position: static; display: grid; place-items: center;
  width: 30px; height: 30px; padding: 0; line-height: 1;
  background: #30483b; color: #fff4d6; border: 2px solid #8da47b; font-size: 24px;
}
html body .preview-progress[data-preview-progress] .preview-progress-action { background: #477e2c; color: #fff; }
html body .preview-progress[data-preview-progress].is-failed { background: #321f1c; border-color: #be8372; }
html body [data-progress-close]:focus-visible { outline: 3px solid #f3d38a; outline-offset: 2px; }
html body [data-progress-reopen][hidden] { display: none; }

/* Graystone Workshop keeps a muted preview surface and readable feedback. */
html[data-theme="quartz"] .preview-stage {
  background: linear-gradient(#aa987355 1px, transparent 1px), linear-gradient(90deg, #aa987355 1px, transparent 1px), #d4c7aa;
  background-size: 24px 24px; border-color: #a38d64;
  box-shadow: inset 0 0 0 2px #ded9cd;
}
html[data-theme="quartz"] .preview-stage :is(h1, h2, h3, p, small, strong, span, label) { color: var(--theme-ink); text-shadow: none; }
html[data-theme="quartz"] .preview-placeholder .preview-block { border-color: #969084; background: #c6b182; box-shadow: inset 2px 2px #ded6c6, inset -2px -2px #999387; }
html[data-theme="quartz"] .account-menu a { background: #ebd8ad; color: #69431d; }
html[data-theme="quartz"] .account-menu a:is(:hover, :focus-visible) { background: #c7b58e; }
html[data-theme="quartz"] #pointsHistory {
  --points-paper: #ecdaaf; --points-row: #dfc893; --points-ink: #69431d; --points-line: #b59a69;
}
html[data-theme="quartz"] body #previewTaskPicker { background: #c8c3b8; border-color: #9d9586; }
html[data-theme="quartz"] body #previewTaskPicker :is(label, span) { color: var(--theme-ink); }
html[data-theme="quartz"] body #previewTaskPicker select { background: #dfdbd2; color: var(--theme-ink); border-color: #969082; }
html[data-theme="quartz"] body .preview-progress[data-preview-progress] { background: #ebd8ad; color: var(--theme-ink); border-color: #948975; box-shadow: inset 2px 2px #e8dfce, 0 4px #77736c66; }
html[data-theme="quartz"] body .preview-progress[data-preview-progress] :is(span, strong, small) { color: var(--theme-ink); }
html[data-theme="quartz"] body .preview-progress[data-preview-progress] .preview-progress-kicker { color: #5c4930; }
html[data-theme="quartz"] body .preview-progress[data-preview-progress] .preview-progress-close { background: #bfb7a5; color: #302f2c; border-color: #8e8068; }
html[data-theme="quartz"] body .preview-progress[data-preview-progress] .preview-progress-icon { background: #bfb9ab; border-color: #9e8d71; box-shadow: inset 2px 2px #e8dfce; }
html[data-theme="quartz"] body .preview-progress[data-preview-progress].is-failed { background: #dbc8bc; border-color: #a78068; }

/* Charcoal navigation anchors the muted stone surfaces. Scope palette changes
   to quartz so other themes and user-selected theme preferences stay intact. */
html[data-theme="quartz"].custom-theme :is(.site-header, .site-footer) {
  --theme-ink: #eee7d8;
  --theme-muted-ink: #c6bfb0;
  --theme-edge: #202124;
  --theme-edge-light: #8e8778;
  --theme-selected-background: #565451;
  --theme-button-background: linear-gradient(#64615b, #44423e);
  --theme-button-ink: #fff3d4;
  --theme-nav-shadow: #1d1e20;
  --theme-shadow: #202124;
  --theme-shell-highlight: #8d877c;
  --theme-hover-highlight: #b3a68c;
  --theme-control-highlight: #a19886;
  --theme-control-shadow: #302f2c;
  background-size: auto, 64px 64px;
  border-bottom-color: #9c8e73;
}
html[data-theme="quartz"].custom-theme .site-header .main-nav a.active {
  background: linear-gradient(#7a6b50, #5b4e39);
  color: #fff3ce;
  border-color: #aa9670;
}
html[data-theme="quartz"].custom-theme .account-menu { --theme-edge-light: #9e9483; }
html[data-theme="quartz"].custom-theme :is(.gallery-tabs a, .filter, .gallery-pagination button) {
  background: linear-gradient(#e9cf97, #d4b277);
  color: var(--theme-button-ink);
  border-color: #af8950;
  box-shadow: inset 1px 1px #f5dfad, 0 2px #b39561;
  text-shadow: none;
}
html[data-theme="quartz"].custom-theme :is(.gallery-tabs a.active, .filter.active, .gallery-pagination button[aria-current="page"]),
html[data-theme="quartz"].custom-theme :is(.gallery-tabs a, .filter, .gallery-pagination button):hover {
  background: linear-gradient(#60872b, #466a21);
  color: #fff6dc;
  border-color: #3a561a;
  box-shadow: inset 1px 1px #abc06e, 0 2px #ab925e;
}
html[data-theme="quartz"].custom-theme body .gallery-favorite-button {
  background: linear-gradient(#e2c478, #c4a058);
  color: #3d2c12;
  border-color: #947a42;
  box-shadow: inset 1px 1px #f5df9d, 0 2px #ad9b70;
}
html[data-theme="quartz"].custom-theme body .gallery-favorite-button[aria-pressed="true"] {
  background: linear-gradient(#a55c51, #80433b);
  color: #fff3d9;
  border-color: #66382f;
  box-shadow: inset 1px 1px #c89274, 0 2px #ad9b70;
}
html[data-theme="quartz"].custom-theme .gallery-pagination > span {
  padding: 8px 10px;
  background: var(--theme-inset-background);
  color: var(--theme-ink);
  border: 1px solid var(--theme-edge-light);
}

html[data-theme="quartz"].custom-theme body :is(.gallery-card-actions a, .buy-points-button, .shop-redeem, .order-download) {
  background: linear-gradient(#60872b, #466a21);
  border-color: #36541a;
  box-shadow: inset 1px 1px #a7c06a, inset -1px -1px #2f4a19, 0 2px #a68c58;
  color: #fff1d6;
}
html[data-theme="quartz"].custom-theme .buy-points-button span { color: #e7d2ac; }

/* Launcher-inspired action hierarchy: green actions, amber supporting controls. */
html[data-theme="quartz"].custom-theme .detail-downloads {
  --theme-button-background: linear-gradient(#e9c687, #d2a360);
}
html[data-theme="quartz"].custom-theme .delivery-platforms button[aria-pressed="true"],
html[data-theme="quartz"].custom-theme .detail-downloads .delivery-download-button,
html[data-theme="quartz"].custom-theme .mod-delivery-option .mod-bridge-controls button:not(:disabled) {
  background: linear-gradient(#60872b, #466a21);
  color: #fff8df;
  border-color: #3b591d;
  box-shadow: inset 1px 1px #abc26f, 0 2px #ad8e53;
}
html[data-theme="quartz"].custom-theme .detail-downloads :is(.delivery-help, .mod-bridge-status, .mod-panel-key-setting) {
  background: #dbc18b;
  border-color: #b69a62;
}
html[data-theme="quartz"].custom-theme .delivery-file-list .detail-download-option { border-top: 3px solid #c28a3d; }
html[data-theme="quartz"].custom-theme .delivery-file-list .mod-delivery-option { border-top-color: #718e3e; }
html[data-theme="quartz"].custom-theme .delivery-guide-button { background: linear-gradient(#e9c687, #d2a360); color: #4a3216; }

/* Sand-gold surfaces use warm ink and a lighter typographic hierarchy.
   Keep action/status colors independent from the reading surfaces. */
html[data-theme="quartz"].custom-theme :is(.page-intro,
  .creator-card, .preview-card, .detail-preview-panel, .detail-side-card,
  .detail-downloads, .gallery-card, .shop-panel, .profile-card,
  .announcement-article, .mail-paper) :is(h1, h2, h3, h4) {
  color: var(--theme-heading-ink);
  font-weight: 700;
  text-shadow: none;
}
html[data-theme="quartz"].custom-theme #creator :is(.input-label, .creation-option-label strong, .upload-zone strong) {
  color: var(--theme-heading-ink);
  font-weight: 600;
}
html[data-theme="quartz"].custom-theme #creator :is(.optional-note,
  .input-label > span:not(.creation-step), .creation-option-label small,
  .preset-row > span, .preset-row button, .upload-zone small, .cost-note small,
  .generation-note, .pricing-loading, .adaptive-refund-hint,
  .preview-placeholder small, .preview-foot, .preview-foot small) {
  color: var(--theme-muted-ink);
  font-weight: 400;
  text-shadow: none;
}
html[data-theme="quartz"].custom-theme :is(.preview-kicker,
  .page-intro .kicker) { color: var(--theme-ink); font-weight: 600; }
html[data-theme="quartz"].custom-theme .gallery-meta,
html[data-theme="quartz"].custom-theme .gallery-meta > :is(span, time),
html[data-theme="quartz"].custom-theme .detail-materials-empty {
  color: var(--theme-muted-ink);
  font-weight: 400;
}
html[data-theme="quartz"].custom-theme .gallery-card .gallery-author-name,
html[data-theme="quartz"].custom-theme .gallery-card .gallery-build-facts > span,
html[data-theme="quartz"].custom-theme .orders-content-filled .order-card .order-card-facts > span {
  color: var(--theme-ink);
}
html[data-theme="quartz"].custom-theme .orders-content-filled .order-card .order-card-meta {
  color: var(--theme-muted-ink);
  font-weight: 400;
}
html[data-theme="quartz"].custom-theme .detail-material-name { color: var(--theme-ink); }
html[data-theme="quartz"].custom-theme .detail-material-count {
  color: var(--theme-heading-ink);
  font-weight: 700;
}

/* Graystone actions use explicit foreground/background pairs. Nested labels
   must inherit the action color rather than the surrounding panel's ink. */
html[data-theme="quartz"].custom-theme body :is(.hero-link,
    .primary-button:not(.generate-button):not(.generation-confirm-accept),
    .theme-action-green, .buy-points-button, .shop-redeem, .order-download,
    .gallery-card-actions a, .profile-save-button, .mail-send,
    .gallery-tabs a.active, .filter.active, .gallery-pagination button[aria-current="page"],
    .delivery-platforms button[aria-pressed="true"], .delivery-download-button,
    .mod-bridge-controls button:not(:disabled)) {
  background: var(--theme-action-green-background);
  border-color: #36541a;
  color: var(--theme-action-green-ink);
  box-shadow: inset 1px 1px #a7c06a, inset -1px -1px #2f4a19, 0 2px #a68c58;
  text-shadow: none;
}
html[data-theme="quartz"].custom-theme body :is(.hero-link,
    .primary-button:not(.generate-button):not(.generation-confirm-accept),
    .theme-action-green, .buy-points-button, .shop-redeem, .order-download,
    .gallery-card-actions a, .profile-save-button, .mail-send,
    .gallery-tabs a.active, .filter.active, .delivery-download-button)
    :is(span, strong, small, b) { color: inherit; text-shadow: none; }
html[data-theme="quartz"].custom-theme body :is(.hero-link,
    .primary-button:not(.generate-button):not(.generation-confirm-accept),
    .theme-action-green, .buy-points-button, .shop-redeem, .order-download,
    .gallery-card-actions a, .profile-save-button, .mail-send,
    .gallery-tabs a, .filter, .gallery-pagination button):hover {
  background: var(--theme-action-green-background);
  color: var(--theme-action-green-ink);
  filter: brightness(1.04);
}
html[data-theme="quartz"].custom-theme body :is(.preview-expand, .preview-tool-button,
    .preview-dialog-head > .preview-dialog-actions > button, .profile-file-button,
    .profile-works-link, .auth-back-button, .detail-social-button,
    .theme-action-neutral, .announcement-contact button, .announcement-contact a,
    .mail-toolbar button, .mail-pagination button, .delivery-guide-button,
    .delivery-command button, .delivery-quick-copy button, .mod-panel-key-setting button) {
  background: var(--theme-button-background);
  border-color: var(--theme-edge);
  color: var(--theme-button-ink);
  box-shadow: inset 1px 1px var(--theme-control-highlight), 0 2px var(--theme-shadow);
  text-shadow: none;
}
html[data-theme="quartz"].custom-theme body :is(.theme-action-neutral,
    .preview-expand, .preview-tool-button, .detail-social-button,
    .profile-works-link) :is(span, strong, small, b) { color: inherit; text-shadow: none; }
html[data-theme="quartz"].custom-theme body :is(.generate-button, .generation-confirm-accept,
    .theme-action-gold, .points-pill, .voucher-purchase-link, .announcement-popup-actions a) {
  background: var(--theme-action-gold-background);
  border-color: #76501e;
  color: var(--theme-action-gold-ink);
  text-shadow: none;
}
html[data-theme="quartz"].custom-theme body :is(.generate-button,
    .generation-confirm-accept, .theme-action-gold, .points-pill,
    .voucher-purchase-link, .announcement-popup-actions a) :is(span, strong, small, b) {
  color: inherit;
  text-shadow: none;
}
html[data-theme="quartz"].custom-theme body .creation-step {
  color: var(--theme-step-ink);
  text-shadow: none;
}
html[data-theme="quartz"].custom-theme body .generate-button .generate-step {
  background: var(--theme-step-background);
  border-color: var(--theme-step-border);
  color: var(--theme-step-ink);
}
html[data-theme="quartz"].custom-theme body .announcement-contact b {
  padding: 2px 6px;
  border: 1px solid var(--theme-edge-light);
  background: #f2e5c6;
  color: #513418;
  text-shadow: none;
}
html[data-theme="quartz"].custom-theme body .announcement-contact :is(button, a) {
  min-height: 28px;
  padding: 4px 9px;
  font-size: 13px;
}
html[data-theme="quartz"].custom-theme body :is(.announcement-list-item em,
    .mail-status, .mail-list-item em) {
  background: #72512c;
  border-color: #967446;
  color: #fff1d5;
  text-shadow: none;
}
html[data-theme="quartz"].custom-theme body :is(.mail-status.is-reviewed,
    .mail-list-item em.is-reviewed, .mail-list-item em.mail-unread) {
  background: #36551c;
  color: #fff8df;
}
html[data-theme="quartz"].custom-theme body .announcement-popup-head span {
  color: #3b270f;
  text-shadow: none;
}
html[data-theme="quartz"].custom-theme body .announcement-popup-head {
  background: var(--theme-action-gold-background);
}
html[data-theme="quartz"].custom-theme body :is(.mail-toolbar, .mail-pagination) {
  padding: 10px 12px;
  border: 1px solid var(--theme-edge-light);
  background: var(--theme-inset-background);
  color: var(--theme-ink);
}
html[data-theme="quartz"].custom-theme body :is(.mail-toolbar, .mail-pagination) > span {
  color: var(--theme-ink);
  text-shadow: none;
}
html[data-theme="quartz"].custom-theme body .generation-confirm-summary {
  background: #f2e5c6;
  border-color: var(--theme-edge-light);
}
html[data-theme="quartz"].custom-theme body .generation-confirm-summary > div {
  border-color: var(--theme-edge-light);
  background: #f2e5c6;
}
html[data-theme="quartz"].custom-theme body .generation-confirm-summary .generation-confirm-total {
  background: #e5c789;
}
html[data-theme="quartz"].custom-theme body .generation-confirm-summary :is(span, strong, b) {
  color: #513418;
  text-shadow: none;
}
html[data-theme="quartz"].custom-theme body .preview-placeholder :is(strong, small) {
  color: #513b24;
  text-shadow: none;
}
html[data-theme="quartz"].custom-theme #creator .preview-stage .preview-placeholder small { color: #513b24; }
html[data-theme="quartz"].custom-theme body .shop-panel .shop-panel-status {
  background: #f2e5c6;
  color: #513418;
  border-color: var(--theme-edge-light);
}
html[data-theme="quartz"].custom-theme body .shop-hero > strong {
  background: var(--theme-action-gold-background);
  color: var(--theme-action-gold-ink);
}
html[data-theme="quartz"].custom-theme body .shop-hero > strong :is(b, small) {
  color: inherit;
  text-shadow: none;
}
html[data-theme="quartz"].custom-theme body .orders-content-filled .order-card .order-status {
  background: #ecd7a8;
  color: #513418;
}
html[data-theme="quartz"].custom-theme body .orders-content-filled .order-card .order-status.completed {
  background: var(--theme-action-green-background);
  color: var(--theme-action-green-ink);
}
html[data-theme="quartz"].custom-theme body .orders-content-filled .order-card .order-status.failed {
  background: linear-gradient(#934c3f, #70382f);
  color: #fff2e3;
}
/* The original error rule is important; override only this light theme. */
html[data-theme="quartz"].custom-theme body .order-card .order-error { color: #6d2d21 !important; }
html[data-theme="quartz"].custom-theme body .detail-heading {
  padding: 18px;
  border: 2px solid var(--theme-edge);
  background: var(--theme-panel-background);
}
html[data-theme="quartz"].custom-theme body .detail-heading :is(h1, .kicker) {
  color: var(--theme-heading-ink);
  text-shadow: none;
}
html[data-theme="quartz"].custom-theme body #detailDownloadOptions :is(.delivery-command, .delivery-quick-copy) button {
  background: var(--theme-button-background);
  color: var(--theme-button-ink);
  border-color: var(--theme-edge);
}

/* Announcement reading surfaces: date badge, title panel and opaque body paper. */
.announcement-popup, .announcement-article {
  --announcement-date-background: #dfbe78;
  --announcement-date-ink: #493114;
  --announcement-title-background: #3b433c;
  --announcement-title-ink: #fff0ce;
  --announcement-paper: #f5ead4;
  --announcement-body-ink: #48331d;
  --announcement-line: #ad8953;
}
html.custom-theme :is(.announcement-popup, .announcement-article) {
  --announcement-date-background: var(--theme-selected-background);
  --announcement-date-ink: var(--theme-ink);
  --announcement-title-background: var(--theme-button-background);
  --announcement-title-ink: var(--theme-heading-ink, var(--theme-ink));
  --announcement-line: var(--theme-edge-light);
}
html[data-theme="cherry"] :is(.announcement-popup, .announcement-article) {
  --announcement-paper: #fff2f3;
  --announcement-body-ink: #50323e;
}
html[data-theme="quartz"] :is(.announcement-popup, .announcement-article) {
  --announcement-date-background: #72512c;
  --announcement-date-ink: #fff1d5;
  --announcement-title-background: #ddbf81;
  --announcement-title-ink: #583715;
  --announcement-paper: #f2e5c6;
  --announcement-body-ink: #4c3520;
}
html body .announcement-popup-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
html body :is(#announcementPopupDate, #announcementArticle > time) {
  display: table;
  align-self: flex-start;
  max-width: 100%;
  margin: 0;
  padding: 6px 11px;
  border: 1px solid var(--announcement-line);
  background: var(--announcement-date-background);
  color: var(--announcement-date-ink);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .04em;
  text-shadow: none;
}
html body :is(#announcementPopupTitle, #announcementArticle > h2) {
  margin: 0;
  padding: 12px 16px;
  border: 1px solid var(--announcement-line);
  border-left-width: 4px;
  background: var(--announcement-title-background);
  color: var(--announcement-title-ink);
  font-size: 28px;
  line-height: 1.45;
  text-shadow: none;
  overflow-wrap: anywhere;
}
html body :is(#announcementPopupContent, #announcementArticle > .announcement-content) {
  min-height: 112px;
  margin: 0;
  padding: 16px 18px;
  border: 1px solid var(--announcement-line);
  background: var(--announcement-paper);
  color: var(--announcement-body-ink);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.9;
  text-shadow: none;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
html body #announcementArticle > :is(h2, time, .announcement-content) { margin-top: 14px; }
html body .announcement-popup-actions :is(button, a) { font-size: 14px; }
@media (max-width: 520px) {
  html body :is(#announcementPopupTitle, #announcementArticle > h2) {
    padding: 10px 12px;
    font-size: 24px;
  }
  html body :is(#announcementPopupContent, #announcementArticle > .announcement-content) {
    min-height: 96px;
    padding: 14px;
  }
}

/* Payment is a distinct action in every public-site theme. Keep the pixel frame. */
html body button.payment-continue-button {
  color: #fff !important;
  border: 2px solid #174c87 !important;
  background: linear-gradient(#397fc0, #245f9f) !important;
  box-shadow: inset 2px 2px #78b1df, inset -2px -2px #163e70 !important;
  min-height: 44px; padding: 10px 15px; font-weight: 900; cursor: pointer;
}
html body button.payment-continue-button:hover { background: linear-gradient(#478fd0, #2b6db1) !important; }
html body button.payment-continue-button:disabled { opacity: .65; cursor: wait; }
#detailGenerationState[hidden], #detailDownloadsSection[hidden], #detailCompletedLayout[hidden] { display: none !important; }
.detail-generation-state { margin-top: 24px; padding: clamp(20px, 4vw, 36px); }
.detail-generation-state p { line-height: 1.8; overflow-wrap: anywhere; }
.detail-generation-state progress { display: block; width: min(100%, 640px); height: 18px; margin: 20px 0; }
.detail-generation-state progress[hidden] { display: none; }
#detailGenerationActions { margin-top: 20px; }
#detailGenerationSupport { margin-top: 24px; }

html body #generationProgressDialog .preview-progress-close {
  min-height: 40px; padding: 7px 12px;
  background: linear-gradient(#f8e7bd, #e8c98e); color: #68431f;
  border: 2px solid #b18a50;
  box-shadow: inset 1px 1px #fff5d8, inset -1px -1px #cfab70;
}
html body #generationProgressDialog .preview-progress-close:hover { background: linear-gradient(#fff0cf, #f0d59f); border-color: #886332; }
html body #generationProgressDialog .preview-progress-close:focus-visible { outline: 3px solid #805b2b; outline-offset: 2px; }
