/* Shared app surfaces. Load after feature styles; feature layout and data remain intact.
 * The generated main[class] context outranks the existing shared migration selectors. */
body.dg-app-redesign {
  background: linear-gradient(180deg, var(--dg-ivory) 0, var(--dg-member-bg) 34rem);
  color: var(--dg-text);
  font-size: var(--dg-font-body-md);
  line-height: var(--dg-line-height-base);
}
body.dg-app-redesign main[class] { overflow-wrap: anywhere; }
body.dg-app-redesign [hidden] { display: none !important; }
/* One local icon family across navigation, home and personal tasks. */
body.dg-app-redesign .dg-app-icon { display: block; overflow: visible; flex: none; }
body.dg-app-redesign :is(.dg-global-desktop-nav-icon,.dg-nav-icon,.dg-my-card-icon) {
  border: 1px solid var(--dg-border);
  border-radius: 30%;
  background: linear-gradient(145deg, var(--dg-surface), var(--dg-ivory));
  box-shadow: var(--dg-shadow-card);
}
body.dg-app-redesign .dg-global-desktop-nav-icon { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; flex: 0 0 2.5rem; min-width: 0; padding: 0; box-sizing: border-box; line-height: 0; }
body.dg-app-redesign .dg-global-desktop-nav-icon > .dg-app-icon { width: 1.875rem; height: 1.875rem; margin: 0; }
body.dg-app-redesign .dg-nav-icon { display: grid; place-items: center; width: 2.5rem; height: 2.5rem; min-width: 0; padding: 0; box-sizing: border-box; line-height: 0; }
body.dg-app-redesign .dg-nav-icon > .dg-app-icon { width: 1.875rem; height: 1.875rem; margin: 0; }
body.dg-app-redesign :is(.dg-global-desktop-icon,.dg-global-mobile-action) .dg-app-icon { width: 1.75rem; height: 1.75rem; }
body.dg-app-redesign .dg-global-desktop-nav-link { gap: var(--dg-space-3); }
/* The old featured shell had padding sized for a smaller line icon. A fixed app symbol must center inside the full shell. */
body.dg-app-redesign :is(.dg-global-desktop-nav-link,.dg-global-bottom-link).is-featured :is(.dg-global-desktop-nav-icon,.dg-nav-icon) { display: grid; place-items: center; min-width: 0; padding: 0; box-sizing: border-box; line-height: 0; background: var(--dg-surface); border-color: var(--dg-brand-10); }
@media (hover: hover) and (pointer: fine) {
  body.dg-app-redesign :is(.dg-global-desktop-nav-link,.dg-card-link):hover .dg-app-icon { transform: translateY(-2px) rotate(-3deg); }
}
body.dg-app-redesign :is(.dg-global-desktop-nav-link,.dg-global-bottom-link,.dg-card-link):focus-visible .dg-app-icon { transform: translateY(-2px); }
body.dg-app-redesign :is(.dg-global-desktop-nav-link,.dg-global-bottom-link,.dg-card-link):active .dg-app-icon { transform: scale(.92); }
body.dg-app-redesign .dg-app-icon { transition: transform var(--dg-duration-base) var(--dg-ease); }

/* The date and reporting action stay distinguishable, including on small screens. */
body.dg-app-redesign main[class] .dg-news-meta { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: center; justify-content: space-between; gap: var(--dg-space-2); width: 100%; }
body.dg-app-redesign main[class] .dg-news-meta > time { flex: 1 1 auto; min-width: 0; line-height: 1.5; }
body.dg-app-redesign main[class] .dg-news-report-button {
  display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: var(--dg-space-2);
  min-height: var(--dg-control-sm); width: auto; margin-inline-start: auto; padding: var(--dg-space-2); white-space: nowrap;
  border: 1px solid var(--dg-border-strong); border-radius: var(--dg-radius-md);
  background: var(--dg-surface); color: var(--dg-text-muted); text-decoration: none; font-weight: var(--dg-font-weight-bold);
}
body.dg-app-redesign main[class] .dg-news-report-button > svg { width: 1.25rem; height: 1.25rem; flex: none; color: var(--dg-accent); }
body.dg-app-redesign main[class] .dg-news-report-button > span[aria-hidden] { display: grid; place-items: center; width: 1.25rem; height: 1.25rem; flex: none; color: var(--dg-accent); }
body.dg-app-redesign main[class] .dg-news-report-button > span[aria-hidden] svg { display: block; width: 100%; height: 100%; }
body.dg-app-redesign main[class] .dg-news-report-button:hover { background: var(--dg-accent-soft); color: var(--dg-accent); }
body.dg-app-redesign main[class] .dg-news-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--dg-space-3); margin-block-start: var(--dg-space-3); }
body.dg-app-redesign main[class] .dg-post-footer.dg-news-actions { flex-direction: row; }
@media (max-width: 560px) {
  body.dg-app-redesign main[class] .dg-story-actions.dg-news-actions { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr) 48px; align-items: stretch; gap: var(--dg-space-2); width: 100%; margin-inline: 0; }
  body.dg-app-redesign main[class] .dg-story-actions.dg-news-actions .dg-feed-like { min-width: 0; align-items: stretch; }
  body.dg-app-redesign main[class] .dg-story-actions.dg-news-actions .dg-story-reply { width: 100%; min-width: 0; height: 100%; gap: var(--dg-space-1); padding-inline: var(--dg-space-2); line-height: 1.4; white-space: normal; word-break: keep-all; overflow-wrap: normal; text-align: center; }
  body.dg-app-redesign main[class] .dg-story-actions.dg-news-actions [data-dg-like-label] { flex: 1 1 auto; min-width: 0; word-break: keep-all; }
  body.dg-app-redesign main[class] .dg-story-actions.dg-news-actions [data-dg-like-count] { flex: none; }
  body.dg-app-redesign main[class] .dg-story-actions.dg-news-actions .dg-story-more { align-self: center; justify-self: end; margin: 0; }
  body.dg-app-redesign main[class] .dg-story-actions.dg-news-actions .dg-story-more summary { width: 48px; min-height: 48px; }
  body.dg-app-redesign main[class] .dg-post-footer.dg-news-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; gap: var(--dg-space-2); }
  body.dg-app-redesign main[class] .dg-post-footer.dg-news-actions > a { display: inline-flex; align-items: center; justify-content: center; min-width: 0; min-height: var(--dg-control-sm); gap: var(--dg-space-1); padding: var(--dg-space-2); border: 1px solid var(--dg-border); border-radius: var(--dg-radius-pill); line-height: 1.4; text-align: center; text-decoration: none; }
}
@media (max-width: 379px) {
  body.dg-app-redesign main[class] .dg-story-actions.dg-news-actions { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); }
  body.dg-app-redesign main[class] .dg-story-actions.dg-news-actions .dg-story-more { grid-column: 1 / -1; }
}

/* Fixed navigation observes the footer boundary just as the sticky right rail does. */
@media (min-width: 47.5625rem) {
  body.dg-app-redesign :is(.dg-global-desktop-sidebar,.dg-member-frame-rail) { translate: 0 var(--dg-rail-footer-offset, 0px); }
  body.dg-app-redesign .dg-global-desktop-sidebar { max-block-size: calc(100dvh - 8.25rem); overflow-y: auto; scrollbar-width: thin; padding-block-end: var(--dg-space-4); }
}
body.dg-app-redesign main[class] :where(h1,h2,h3,legend) { color: var(--dg-text-bolder); text-wrap: balance; }
body.dg-app-redesign main[class] h1 { font-weight: var(--dg-font-weight-display); line-height: 1.3; letter-spacing: -.035em; }
body.dg-app-redesign main[class] :where(.dg-page-header,.dg-life-header,.dg-workflow-header) {
  position: relative;
  gap: var(--dg-space-5);
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--dg-brand-10);
  border-radius: var(--dg-radius-xl);
  background: linear-gradient(120deg, var(--dg-surface), var(--dg-accent-soft));
}
body.dg-app-redesign main[class] :where(.dg-page-header,.dg-life-header,.dg-workflow-header) :where(h1,p) { margin-block-start: 0; }
body.dg-app-redesign main[class] :where(.dg-page-header,.dg-life-header,.dg-workflow-header) :where(p,small) { color: var(--dg-text-muted); }
body.dg-app-redesign main[class] h1:has(> .dg-app-heading-art) { display: flex; align-items: center; gap: var(--dg-space-4); }
body.dg-app-redesign .dg-app-heading-art {
  display: inline-grid;
  place-items: center;
  flex: 0 0 3.5rem;
  inline-size: 3.5rem;
  block-size: 3.5rem;
  border-radius: var(--dg-radius-lg);
  color: var(--dg-accent);
  background: var(--dg-accent-soft);
  box-shadow: inset 0 0 0 1px var(--dg-brand-10);
}
body.dg-app-redesign .dg-app-heading-art svg { inline-size: 2rem; block-size: 2rem; }
body.dg-app-redesign[data-dg-service-tone="community"] .dg-app-heading-art { background: var(--dg-visual-blue-bg); color: var(--dg-visual-blue); box-shadow: none; }
body.dg-app-redesign[data-dg-service-tone="trade"] .dg-app-heading-art { background: var(--dg-visual-green-bg); color: var(--dg-visual-green); box-shadow: none; }
body.dg-app-redesign[data-dg-service-tone="care"] .dg-app-heading-art { background: var(--dg-visual-orange-bg); color: var(--dg-visual-orange); box-shadow: none; }
body.dg-app-redesign[data-dg-service-tone="help"] .dg-app-heading-art { background: var(--dg-visual-purple-bg); color: var(--dg-visual-purple); box-shadow: none; }
body.dg-app-redesign[data-dg-service-tone="community"] main[class] :where(.dg-page-header,.dg-life-header,.dg-workflow-header) { background: linear-gradient(120deg, var(--dg-surface), var(--dg-visual-blue-bg)); border-color: var(--dg-border); }
body.dg-app-redesign[data-dg-service-tone="trade"] main[class] :where(.dg-page-header,.dg-life-header,.dg-workflow-header) { background: linear-gradient(120deg, var(--dg-surface), var(--dg-visual-green-bg)); border-color: var(--dg-border); }
body.dg-app-redesign[data-dg-service-tone="care"] main[class] :where(.dg-page-header,.dg-life-header,.dg-workflow-header) { background: linear-gradient(120deg, var(--dg-surface), var(--dg-visual-orange-bg)); border-color: var(--dg-border); }
body.dg-app-redesign[data-dg-service-tone="help"] main[class] :where(.dg-page-header,.dg-life-header,.dg-workflow-header) { background: linear-gradient(120deg, var(--dg-surface), var(--dg-visual-purple-bg)); border-color: var(--dg-border); }

/* A clear boundary separates each task from the next, without nesting every paragraph in a box. */
body.dg-app-redesign main[class] :where(.dg-card,.dg-workflow-card,.dg-business-card,.dg-life-card,.dg-auth-card) {
  border: 1px solid var(--dg-border);
  border-radius: var(--dg-radius-xl);
  background: var(--dg-surface);
  box-shadow: var(--dg-shadow-card);
}
body.dg-app-redesign main[class] :where(.dg-card,.dg-workflow-card,.dg-business-card) + :where(.dg-card,.dg-workflow-card,.dg-business-card) { margin-block-start: var(--dg-space-5); }
body.dg-app-redesign main[class] :where(.dg-card,.dg-workflow-card) > :where(h2,h3):first-child { margin-block-start: 0; }
body.dg-app-redesign main[class] :where(p,li,label,small,.dg-note,.dg-help,.dg-field-help) { font-size: max(1.125rem, 1em); line-height: 1.65; }
body.dg-app-redesign main[class] :where(.dg-note,.dg-help,.dg-field-help) { color: var(--dg-text-muted); }
body.dg-app-redesign main[class] :where(.dg-kicker,.dg-life-kicker,.dg-auth-kicker) { color: var(--dg-accent); font-weight: var(--dg-font-weight-bold); letter-spacing: .02em; }

/* Required fields, values, form actions and submission behavior are owned by their services. */
body.dg-app-redesign main[class] :where(label,legend) { font-weight: var(--dg-font-weight-bold); }
body.dg-app-redesign main[class] :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select,textarea) {
  min-block-size: var(--dg-control-lg);
  max-inline-size: 100%;
  padding: .8rem 1rem;
  border: 1px solid var(--dg-border-strong);
  border-radius: var(--dg-radius-md);
  background-color: var(--dg-surface);
  color: var(--dg-text);
  font: inherit;
  font-size: var(--dg-font-body-md);
  line-height: 1.5;
  transition: border-color var(--dg-duration-fast), box-shadow var(--dg-duration-fast);
}
body.dg-app-redesign main[class] :where(input,textarea)::placeholder { color: var(--dg-text-muted); opacity: 1; }
body.dg-app-redesign main[class] :where(input[type="checkbox"],input[type="radio"]) { inline-size: 1.5rem; block-size: 1.5rem; accent-color: var(--dg-accent); flex-shrink: 0; }
/* These semantic states must override the existing input/button migration !important rules. */
body.dg-app-redesign main[class] :where(input,select,textarea)[aria-invalid="true"] { border: 2px solid var(--dg-color-danger) !important; background: var(--dg-color-danger-soft) !important; }
body.dg-app-redesign main[class] :where(input,select,textarea):disabled { color: var(--dg-text-muted); background: var(--dg-surface-soft); }
body.dg-app-redesign main[class] :where(button,summary,.dg-primary,.dg-secondary,.dg-button,.dg-auth-primary,.dg-auth-secondary) { min-block-size: var(--dg-control-sm); font-size: var(--dg-font-body-md); }
body.dg-app-redesign main[class] :where(.dg-primary,.dg-button--primary,.dg-auth-primary) {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: var(--dg-space-2);
  min-block-size: var(--dg-control-lg);
  padding: .85rem 1.4rem;
  border: 1px solid var(--dg-accent);
  border-radius: var(--dg-radius-lg);
  background: var(--dg-accent);
  color: var(--dg-surface) !important;
  font-size: var(--dg-font-body-md);
  font-weight: var(--dg-font-weight-bold);
  line-height: 1.4;
  text-decoration: none;
  box-shadow: 0 .2rem 0 var(--dg-brand-70);
}
body.dg-app-redesign main[class] :where(.dg-secondary,.dg-button--secondary,.dg-auth-secondary) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--dg-space-2);
  padding: .8rem 1.2rem;
  border: 1px solid var(--dg-border-strong);
  border-radius: var(--dg-radius-lg);
  background: var(--dg-surface);
  color: var(--dg-text) !important;
  font-weight: var(--dg-font-weight-bold);
  text-decoration: none;
}
body.dg-app-redesign main[class] :where(.dg-primary,.dg-secondary,.dg-button,.dg-auth-primary,.dg-auth-secondary) { transition: background-color var(--dg-duration-fast), box-shadow var(--dg-duration-fast), transform var(--dg-duration-fast) var(--dg-ease); }
body.dg-app-redesign main[class] :where(.dg-primary,.dg-secondary,.dg-button,.dg-auth-primary,.dg-auth-secondary):active { transform: translateY(1px); }
body.dg-app-redesign main[class] :where(.dg-primary,.dg-secondary,.dg-button,.dg-auth-primary,.dg-auth-secondary):disabled { background: var(--dg-surface-soft) !important; border-color: var(--dg-border-strong) !important; color: var(--dg-text-muted) !important; box-shadow: none; cursor: not-allowed; }
body.dg-app-redesign :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid var(--dg-accent); outline-offset: 4px; box-shadow: var(--dg-focus-ring); }
body.dg-app-redesign main[class] :where(.dg-groupbuy-filters a,.dg-community-filter,.dg-category-chip,.dg-filter-chip,.dg-chip,[role="tab"]) {
  min-block-size: var(--dg-control-sm);
  border: 1px solid var(--dg-border);
  border-radius: var(--dg-radius-lg);
  background-color: var(--dg-surface);
  color: var(--dg-text);
  font-size: var(--dg-font-body-md);
  transition: background-color var(--dg-duration-fast), border-color var(--dg-duration-fast);
}
body.dg-app-redesign main[class] :where(.dg-groupbuy-filters a,.dg-community-filter,.dg-category-chip,.dg-filter-chip,.dg-chip,[role="tab"]):is([aria-current="page"],[aria-selected="true"],[aria-pressed="true"],.is-current,.is-active) { border: 2px solid var(--dg-accent); background-color: var(--dg-accent-soft); color: var(--dg-accent); font-weight: var(--dg-font-weight-bold); }
body.dg-app-redesign main[class] :where(.dg-groupbuy-filters a:nth-child(3n+2)) { background-color: var(--dg-visual-green-bg); }
body.dg-app-redesign main[class] :where(.dg-groupbuy-filters a:nth-child(3n+3)) { background-color: var(--dg-visual-orange-bg); }
body.dg-app-redesign main[class] :where(.dg-groupbuy-filters a:nth-child(3n+4)) { background-color: var(--dg-visual-blue-bg); }
body.dg-app-redesign main[class] :where(.dg-community-filter--notice,.dg-category-chip--food) { background-color: var(--dg-visual-orange-bg); }
body.dg-app-redesign main[class] :where(.dg-community-filter--question,.dg-category-chip--living) { background-color: var(--dg-visual-blue-bg); }
body.dg-app-redesign main[class] :where(.dg-community-filter--daily,.dg-category-chip--farm) { background-color: var(--dg-visual-green-bg); }
/* The existing community page paints selected descendants white. Keep the
 * selected background equally strong and make every descendant inherit white. */
body.dg-app-redesign main[class] .dg-community-filter:is(.is-current,[aria-current="page"]) { border-color: var(--dg-accent) !important; background: var(--dg-accent) !important; color: var(--dg-surface) !important; }
body.dg-app-redesign main[class] .dg-community-filter:is(.is-current,[aria-current="page"]) :where(strong,span,small,svg) { color: inherit !important; }
body.dg-app-redesign main[class] .dg-community-filter:is(.is-current,[aria-current="page"]) > span { background: transparent !important; }
body.dg-app-redesign main[class] :where(.dg-status,.dg-badge,.dg-pill) { border-radius: var(--dg-radius-sm); padding: .35rem .7rem; font-size: var(--dg-font-body-md); font-weight: var(--dg-font-weight-bold); }
body.dg-app-redesign main[class] :where([role="alert"],.dg-note--error) { border-inline-start: .25rem solid var(--dg-color-danger); padding-inline-start: var(--dg-space-4); color: var(--dg-color-danger); }
body.dg-app-redesign main[class] :where(.dg-goal-track,.dg-progress-track) { min-block-size: .65rem; border-radius: var(--dg-radius-pill); background-color: var(--dg-border); overflow: hidden; }
body.dg-app-redesign main[class] :where(.dg-goal-track,.dg-progress-track) > span { transition: inline-size var(--dg-duration-base) var(--dg-ease), width var(--dg-duration-base) var(--dg-ease); }

/* Pictures describe a real empty state; they never insert stock, reviews or orders. */
body.dg-app-redesign main[class] :where(section.dg-empty,div.dg-empty,.dg-search-empty,.dg-life-empty,.dg-default-page-empty) { padding: clamp(1.5rem, 4vw, 2.5rem); text-align: center; border: 1px solid var(--dg-border); border-radius: var(--dg-radius-xl); background: var(--dg-surface); }
body.dg-app-redesign main[class] :where(section.dg-empty,div.dg-empty,.dg-search-empty,.dg-life-empty) :where(h2,h3) { margin-block: var(--dg-space-3); font-size: var(--dg-font-heading-md); }
body.dg-app-redesign main[class] :where(section.dg-empty,div.dg-empty) > p { max-inline-size: 34em; margin-inline: auto; }
body.dg-app-redesign main[class] .dg-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--dg-space-3); margin-block-start: var(--dg-space-5); }
body.dg-app-redesign main[class] .dg-empty-commerce--visual .dg-empty-actions { justify-content: flex-end; width: 100%; }
body.dg-app-redesign .dg-app-empty-visual { position: relative; display: block; inline-size: 11rem; block-size: 8rem; margin: 0 auto var(--dg-space-4); pointer-events: none; }
body.dg-app-redesign .dg-app-empty-visual > svg { display: block; inline-size: 100%; block-size: 100%; }
body.dg-app-redesign .dg-app-empty-visual.dg-app-lottie-ready > svg { visibility: hidden; }
body.dg-app-redesign .dg-app-empty-visual > .dg-motion-art { position: absolute; inset: 0; inline-size: 8rem; block-size: 8rem; float: none; margin: auto; }
body.dg-app-redesign .dg-app-scene-soft { fill: var(--dg-visual-orange-bg); }
body.dg-app-redesign .dg-app-scene-brand { fill: var(--dg-accent); }
body.dg-app-redesign .dg-app-scene-leaf { fill: var(--dg-visual-green); }
body.dg-app-redesign .dg-app-scene-line { stroke: var(--dg-accent); }
body.dg-app-redesign .dg-app-scene-paper { fill: var(--dg-surface); }
body.dg-app-redesign[data-dg-service-tone="community"] .dg-app-scene-soft { fill: var(--dg-visual-blue-bg); }
body.dg-app-redesign[data-dg-service-tone="care"] .dg-app-scene-soft { fill: var(--dg-visual-purple-bg); }
body.dg-app-redesign .dg-app-enter { transform-origin: center top; }

/* One illustrated entrance per service. The scene is outside h1, preserving br,
 * inline emphasis and the full accessible heading. Own-photo heroes are skipped. */
body.dg-app-redesign main[class] .dg-app-rich-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 10rem;
  align-items: center;
  gap: var(--dg-space-5);
  min-block-size: 0;
  padding: clamp(1.25rem, 3vw, 2rem);
  overflow: hidden;
  border: 1px solid var(--dg-brand-10);
  border-radius: var(--dg-radius-xl);
  background: linear-gradient(125deg, var(--dg-surface), var(--dg-accent-soft));
  box-shadow: var(--dg-shadow-card);
}
body.dg-app-redesign main[class] .dg-app-rich-hero[data-dg-app-scene="care"] { background: linear-gradient(125deg, var(--dg-surface), var(--dg-visual-purple-bg)); border-color: var(--dg-brand-10); }
body.dg-app-redesign main[class] .dg-app-rich-hero[data-dg-app-scene="life"] { background: linear-gradient(125deg, var(--dg-surface), var(--dg-visual-blue-bg)); border-color: var(--dg-border); }
body.dg-app-redesign main[class] .dg-app-rich-hero[data-dg-app-scene="trade"] { background: linear-gradient(125deg, var(--dg-surface), var(--dg-visual-green-bg)); border-color: var(--dg-border); }
body.dg-app-redesign main[class] .dg-app-rich-hero[data-dg-app-scene="people"] { background: linear-gradient(125deg, var(--dg-surface), var(--dg-visual-orange-bg)); }
body.dg-app-redesign main[class] .dg-app-rich-hero > :not(.dg-app-hero-copy):not(.dg-app-hero-scene):not(.dg-life-orbit) { grid-column: 1 / -1; }
body.dg-app-redesign main[class] .dg-app-hero-copy { min-inline-size: 0; max-inline-size: none; }
body.dg-app-redesign main[class] .dg-app-rich-hero h1 { display: block; max-inline-size: none; margin: 0; font-size: var(--dg-font-heading-xl); line-height: 1.3; }
body.dg-app-redesign main[class] .dg-app-rich-hero .dg-app-hero-copy > p { margin-block: var(--dg-space-2) 0; max-inline-size: 42em; font-size: var(--dg-font-body-md); line-height: 1.55; }
body.dg-app-redesign main[class] .dg-app-rich-hero .dg-app-hero-copy > :where(.dg-kicker,.dg-life-eyebrow) { margin-block: 0 var(--dg-space-2); color: var(--dg-accent); }
body.dg-app-redesign .dg-app-hero-scene { display: block; flex: none; inline-size: 10rem; block-size: 10rem; pointer-events: none; }
body.dg-app-redesign .dg-app-hero-scene > svg { display: block; inline-size: 100%; block-size: 100%; overflow: visible; }
body.dg-app-redesign .dg-app-hero-cloud { fill: var(--dg-brand-10); }
body.dg-app-redesign [data-dg-app-scene="life"] .dg-app-hero-cloud { fill: var(--dg-visual-blue-bg); }
body.dg-app-redesign [data-dg-app-scene="trade"] .dg-app-hero-cloud { fill: var(--dg-visual-green-bg); }
body.dg-app-redesign .dg-app-hero-petal { fill: var(--dg-brand-30); }
body.dg-app-redesign .dg-app-hero-center { fill: var(--dg-beige); }
body.dg-app-redesign .dg-app-hero-stem { stroke: var(--dg-visual-green); }
body.dg-app-redesign .dg-app-hero-blue { fill: var(--dg-visual-blue); }
body.dg-app-redesign .dg-app-hero-green { fill: var(--dg-visual-green); }
body.dg-app-redesign .dg-app-hero-face { fill: var(--dg-beige); }
body.dg-app-redesign .dg-app-hero-wheel { fill: var(--dg-text); }
body.dg-app-redesign main[class] .dg-app-rich-hero > .dg-life-orbit { display: none; }
body.dg-app-redesign main[class] .dg-app-rich-hero::after { content: none; }
body.dg-app-redesign main[class] [data-dg-app-main-action] { min-height: var(--dg-control-lg) !important; border-color: var(--dg-accent) !important; background: var(--dg-accent) !important; color: var(--dg-surface) !important; box-shadow: 0 .2rem 0 var(--dg-brand-70); }
body.dg-app-redesign main[class] > p:has(> [data-dg-app-main-action]) { display: flex; flex-wrap: wrap; gap: var(--dg-space-3); }
body.dg-app-redesign main[class] > p:has(> [data-dg-app-main-action]) > a { flex: 1 1 auto; }
body.dg-app-redesign.dunggeul-public-landing main .dgl-hero { background: linear-gradient(135deg, var(--dg-surface), var(--dg-visual-orange-bg) 55%, var(--dg-visual-blue-bg)); }
body.dg-app-redesign.dunggeul-public-landing main .dgl-hero h1 { display: block; }
body.dg-app-redesign.dunggeul-public-landing main .dgl-hero-stage { border-radius: var(--dg-radius-xl); background: radial-gradient(ellipse at center, var(--dg-visual-green-bg), transparent 70%); }
body.dg-app-redesign .dg-app-landing-scene { position: absolute; inset-block-end: var(--dg-space-3); inset-inline-end: 0; z-index: 2; }

@media (hover:hover) and (pointer:fine) {
  body.dg-app-redesign main[class] :where(.dg-primary,.dg-auth-primary):hover { background: var(--dg-accent-hover); box-shadow: 0 .25rem 0 var(--dg-brand-90); }
  body.dg-app-redesign main[class] :where(.dg-secondary,.dg-auth-secondary):hover { background: var(--dg-surface-soft); border-color: var(--dg-accent); }
}
@media (max-width: 47.5rem) {
  body.dg-app-redesign main[class] :where(.dg-page-header,.dg-life-header,.dg-workflow-header) { padding: var(--dg-space-5); }
  body.dg-app-redesign .dg-app-heading-art { inline-size: 3rem; block-size: 3rem; flex-basis: 3rem; border-radius: var(--dg-radius-md); }
  body.dg-app-redesign .dg-app-heading-art svg { inline-size: 1.75rem; block-size: 1.75rem; }
  body.dg-app-redesign main[class] :where(.dg-empty-actions,.dg-auth-actions) > :where(.dg-primary,.dg-secondary) { inline-size: 100%; }
  body.dg-app-redesign main[class] .dg-app-rich-hero { display: block; padding: var(--dg-space-5); }
  body.dg-app-redesign main[class] .dg-app-rich-hero > .dg-app-hero-scene { position: absolute; inset-block-start: var(--dg-space-5); inset-inline-end: var(--dg-space-4); inline-size: 6rem; block-size: 6rem; }
  body.dg-app-redesign main[class] .dg-app-rich-hero h1 { display: block; min-block-size: 6rem; padding-block: var(--dg-space-3); padding-inline-end: 7rem; font-size: var(--dg-font-heading-lg); }
  body.dg-app-redesign main[class] .dg-app-rich-hero h1:has(br) { display: block; padding-block-start: var(--dg-space-2); }
  body.dg-app-redesign main[class] .dg-app-rich-hero .dg-app-hero-copy > :where(.dg-kicker,.dg-life-eyebrow) { display: block; inline-size: auto; padding-inline-end: 7rem; font-size: var(--dg-font-body-md); }
  body.dg-app-redesign main[class] .dg-app-rich-hero .dg-app-hero-copy:has(> .dg-kicker,> .dg-life-eyebrow) h1 { min-block-size: 4.5rem; }
  body.dg-app-redesign main[class] .dg-app-rich-hero .dg-app-hero-copy > p:not(.dg-kicker):not(.dg-life-eyebrow) { margin-block-start: var(--dg-space-3); }
  body.dg-app-redesign .dg-app-landing-scene { inline-size: 7rem; block-size: 7rem; }
}
@media (prefers-reduced-motion: reduce) {
  body.dg-app-redesign *, body.dg-app-redesign *::before, body.dg-app-redesign *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
body.dg-app-redesign.dg-reduced-motion *, body.dg-app-redesign.dg-reduced-motion *::before, body.dg-app-redesign.dg-reduced-motion *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }

/* Shared touch rhythm, including the raised centre item in the mobile menu. */
@media(min-width:761px){body.dg-app-redesign main[class] .dg-app-rich-hero>.dg-app-hero-scene{grid-column:2;grid-row:1;align-self:center;justify-self:end}}
@media(max-width:760px){
 body.dg-app-redesign.dg-has-global-mobile-nav :is(.dg-community-compose,.dg-request-compose-fab,.dg-p2p-compose-fab){right:16px;bottom:calc(var(--dg-mobile-menu-obstruction,112px) + 20px)!important;min-height:48px;padding-inline:20px;font-size:16px;box-shadow:0 6px 20px #46151b20}
 body.dg-app-redesign:has(dialog[open]) :is(.dg-community-compose,.dg-request-compose-fab,.dg-p2p-compose-fab){visibility:hidden;pointer-events:none}
}
body.dg-app-redesign main>.dg-info-note,body.dg-app-redesign main :is(.dg-section,.dg-card)>.dg-info-note{margin-block:12px}
/* Native top-layer transitions also retain the overlay during a close fade. */
@supports (transition-behavior:allow-discrete){
 body.dg-app-redesign dialog{opacity:0;animation:none;transition:opacity 180ms ease,display 180ms allow-discrete,overlay 180ms allow-discrete}
 body.dg-app-redesign dialog[open]{opacity:1}
 body.dg-app-redesign dialog::backdrop{opacity:0;transition:opacity 180ms ease,display 180ms allow-discrete,overlay 180ms allow-discrete}
 body.dg-app-redesign dialog[open]::backdrop{opacity:1}
 @starting-style{body.dg-app-redesign dialog[open],body.dg-app-redesign dialog[open]::backdrop{opacity:0}}
}

@supports not (transition-behavior:allow-discrete){body.dg-app-redesign dialog[open]{animation:dg-modal-fade-in .18s ease both}@keyframes dg-modal-fade-in{from{opacity:0}to{opacity:1}}}
