/* Shared defaults. Category CSS keeps its own sizes, variants and breakpoints.
   Fallbacks in category styles preserve pages not yet rebuilt (including Theme).
   Footer hit areas are opt-in: only pages that already had them get the attribute.
*/
:root {
  --dc-color-text: #56517f;
  --dc-color-muted: #918cab;
  --dc-color-primary: #756bb3;
  --dc-color-border: #dedbf0;
  --dc-color-soft: #efedff;
  --dc-color-background: #f8f7ff;
  --dc-color-paper: #fff;
  --dc-button-weight: 800;
  --dc-button-radius: 12px;
  --dc-cta-weight: 800;
  --dc-cta-radius: 12px;
  --dc-card-radius: 22px;
  --dc-heading-weight: 800;
  --dc-shell-gutter: 40px;
}

/* Language switch */

.dc-global-lang-switch{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:0;
  font-size:11px;
  font-weight:600;
  color:var(--dc-color-muted,#918cab);
  white-space:nowrap;
  vertical-align:middle
}
.dc-global-lang-switch a{color:inherit!important;text-decoration:none!important}
.dc-global-lang-switch a:hover{color:var(--dc-color-primary,#756bb3)!important}
.dc-global-lang-switch .is-current{color:var(--dc-color-text,#56517f)}
.dc-global-lang-switch .sep{opacity:.5}

/* Footer links: preserve deployed hit areas and selector specificity. */

/* Larger footer link hit areas without making the footer look bulky. */
:where(html[data-footer-hitarea]) footer nav a,
:where(html[data-footer-hitarea]) .site-footer-nav a,
:where(html[data-footer-hitarea]) .footer-nav a,
:where(html[data-footer-hitarea]) .footer-inner a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 5px;
  margin:-8px -5px;
}
:where(html[data-footer-hitarea]) .dc-global-lang-switch{
  min-height:34px;
}
:where(html[data-footer-hitarea]) .dc-global-lang-switch a{
  display:inline-flex!important;
  align-items:center;
  min-height:34px;
  padding:8px 5px!important;
  margin:-8px -5px;
}
@media(max-width:650px){
  :where(html[data-footer-hitarea]) footer nav a,
  :where(html[data-footer-hitarea]) .site-footer-nav a,
  :where(html[data-footer-hitarea]) .footer-nav a,
  :where(html[data-footer-hitarea]) .footer-inner a,
  :where(html[data-footer-hitarea]) .dc-global-lang-switch a{
    min-height:38px;
    padding-top:10px!important;
    padding-bottom:10px!important;
  }
}

/* Catalog chrome. Opt-in on the three frame roots only: legacy HTML and
   Explorer/detail/root entrance retain their existing presentation. */
.dc-catalog-chrome,
.dc-catalog-chrome * {
  all: revert;
  box-sizing: border-box;
}
.dc-catalog-chrome {
  display: block;
  width: auto;
  margin: 0;
  padding: 0;
  border: 0;
  background: var(--dc-color-background);
  color: var(--dc-color-text);
  font: 400 16px/1.65 -apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
}
.dc-catalog-chrome * { font: inherit; color: inherit; }
.dc-catalog-chrome a { text-decoration: none; }
.dc-catalog-chrome > .site-chrome-shell {
  width: min(1120px,calc(100% - 40px));
  max-width: none;
  margin: 0 auto;
  padding: 0;
}
.dc-catalog-chrome.site-header-global {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid var(--dc-color-border);
}
.dc-catalog-chrome.site-header-global > .site-chrome-shell {
  display: flex;
  min-height: 60px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.dc-catalog-chrome .site-brand-global {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}
.dc-catalog-chrome .site-nav-global {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 17px;
  flex-wrap: wrap;
}
.dc-catalog-chrome .site-nav-global a {
  color: var(--dc-color-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.3;
}
.dc-catalog-chrome .site-nav-global a:hover,
.dc-catalog-chrome .site-nav-global .site-cafe-global { color: var(--dc-color-primary); }
.dc-catalog-chrome .site-nav-global .site-cafe-global { display: inline-flex; align-items: center; gap: 5px; }
.dc-catalog-chrome .site-cafe-global img { display: block; width: 15px; height: 15px; }
.dc-catalog-chrome.site-breadcrumb-band { position: relative; z-index: 10; }
.dc-catalog-chrome.site-breadcrumb-band > .site-chrome-shell { padding: 22px 0 4px; }
.dc-catalog-chrome .site-breadcrumb-global {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0;
  padding: 0;
  color: var(--dc-color-muted);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.5;
}
.dc-catalog-chrome .site-breadcrumb-global a:hover { text-decoration: underline; }
.dc-catalog-chrome.site-footer-global {
  border-top: 1px solid var(--dc-color-border);
  margin: 64px 0 0;
  color: var(--dc-color-muted);
  font-size: 11px;
}
.dc-catalog-chrome.site-footer-global > .site-chrome-shell {
  display: flex;
  min-height: 82px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.dc-catalog-chrome .site-footer-brand { font-size: 12px; font-weight: 700; line-height: 1.4; }
.dc-catalog-chrome .site-footer-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 15px;
}
.dc-catalog-chrome .site-footer-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 5px;
  margin: -8px -5px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
}
.dc-catalog-chrome .site-footer-nav a:hover { color: var(--dc-color-primary); }
.dc-catalog-chrome .dc-global-lang-switch {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin: 0;
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
  vertical-align: middle;
  min-height: 34px;
}
.dc-catalog-chrome .dc-global-lang-switch .is-current { color: var(--dc-color-text); }
.dc-catalog-chrome .dc-global-lang-switch .sep { opacity: .5; }
@media(max-width:720px) {
  .dc-catalog-chrome > .site-chrome-shell { width: min(100% - 28px,1120px); }
  .dc-catalog-chrome.site-header-global > .site-chrome-shell {
    min-height: 0;
    padding: 13px 0;
    align-items: flex-start;
    flex-direction: column;
    gap: 9px;
  }
  .dc-catalog-chrome .site-nav-global { gap: 10px 14px; }
  .dc-catalog-chrome.site-breadcrumb-band > .site-chrome-shell { padding: 16px 0 2px; }
  .dc-catalog-chrome.site-footer-global > .site-chrome-shell {
    padding: 22px 0;
    min-height: 0;
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
  .dc-catalog-chrome .site-footer-nav { justify-content: flex-start; }
}
@media(max-width:650px) {
  .dc-catalog-chrome .site-footer-nav a { min-height: 38px; padding-top: 10px; padding-bottom: 10px; }
}

/* Normal-page start: measured from the breadcrumb band to the first hero/content.
   Opt-in keeps individual NFT pages, the language entrance and Theme Buddy intact.
   !important only neutralizes older category start-spacing rules, not inner gaps. */
main[data-main-spacing],
main.page[data-main-spacing] {
  --dc-main-top-space: 24px;
  margin-top: 0 !important;
  padding-top: var(--dc-main-top-space) !important;
}
main[data-main-spacing] > .creator-page-v109,
main[data-main-spacing] > .creator-static-page {
  padding-top: 0 !important;
}
main[data-main-spacing] > h1:first-child {
  margin-top: 0;
}
@media(max-width:650px) {
  main[data-main-spacing], main.page[data-main-spacing] { --dc-main-top-space: 18px; }
}

/* Catalog trait pages start with a 12px inline back link in the existing
   16px line box. Offset the whole content by its 5px baseline inset; keep
   the link-to-hero and all subsequent internal spacing unchanged. */
main[data-main-spacing="catalog-trait"] {
  padding-top: calc(var(--dc-main-top-space) - 5px) !important;
}

/* Shared current-location accent; hover retains its existing treatment. */
:root{--dc-color-current:#7478E8}
.site-header-global a[aria-current],.site-footer-global a[aria-current],
.site-breadcrumb-global > :last-child{color:var(--dc-color-current)!important}
.site-header-global .site-cafe-global{position:relative}
.site-header-global .site-cafe-global img{visibility:hidden}
.site-header-global .site-cafe-global::after{content:"";position:absolute;right:0;width:15px;height:15px;color:var(--dc-color-current);background:currentColor;-webkit-mask:url('/guide/assets/common/cmn_icon_cafe.svg') center/contain no-repeat;mask:url('/guide/assets/common/cmn_icon_cafe.svg') center/contain no-repeat;pointer-events:none}
