:root{ --gold: var(--dm-accent); }
/* 문.css — crowny.org/doors/<문>/ 레이아웃 전용. 세븐.css 를 본뜬다.
   대문.css(--dm-* 토큰)·조각-기본.css·조각-영역.css 를 소비만 한다. 색 리터럴 0, 여백은 --dm-sp-* 만.
   <link> 순서: 크라우니디자인.css → studio 폰트 → 대문.css → 조각-기본.css → 조각-영역.css → 문.css */

*{ box-sizing:border-box; }
body{ margin:0; padding:var(--dm-sp-8) 0 var(--dm-sp-10); }

#drMain{ gap:var(--dm-sp-8); align-items:stretch; }
#drMain > .dm-wrap{ width:100%; }

.dr-top{ gap:var(--dm-sp-3); flex-wrap:wrap; justify-content:center; }
.dr-top .dm-chip{ text-decoration:none; }

.dr-hero{ text-align:left; gap:var(--dm-sp-4); }
.dr-hero .dm-display{ color:var(--dm-on-accent); margin:0; }
.dr-hero-desc{ color:var(--dm-on-dark-sub); margin:0; }
.dr-hero .dm-label{ margin:0; color:var(--dm-on-dark-sub); }
.dr-hero .dm-row{ gap:var(--dm-sp-4); flex-wrap:wrap; }

@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .dr-hero .dm-label,
  :root:not([data-theme="light"]) .dr-hero-desc{ color:var(--dm-on-accent); }
}
:root[data-theme="dark"] .dr-hero .dm-label,
:root[data-theme="dark"] .dr-hero-desc{ color:var(--dm-on-accent); }

.dr-sec{ gap:var(--dm-sp-5); scroll-margin-top:var(--dm-sp-8); text-align:left; }
.dr-sec > .dm-row{ gap:var(--dm-sp-4); flex-wrap:wrap; }
.dr-sec > .dm-row > .dm-hr{ min-width:var(--dm-sp-10); }

.dr-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--dm-sp-5); text-align:left; }
.dr-grid > .dm-card{ gap:var(--dm-sp-4); padding:var(--dm-sp-6) var(--dm-sp-7); color:var(--dm-ink); text-decoration:none; min-width:0; }
.dr-grid > .dm-card-link:hover{ transform:translateY(-3px); box-shadow:var(--dm-shadow-up); border-color:var(--dm-accent); }
.dr-grid > .dm-card-link:focus-visible{ outline:none; box-shadow:var(--dm-ring-accent); }
.dr-grid .dm-icon{ flex:none; }
.dr-card .dm-row{ gap:var(--dm-sp-3); flex-wrap:wrap; }
.dr-card .dm-btn{ min-height:40px; margin-left:auto; text-decoration:none; }
.dr-card .dm-body, .dr-card .dm-body-sm, .dr-card .dm-title-sm{ overflow-wrap:anywhere; margin:0; }

.dr-empty{ margin:0; color:var(--dm-muted); }
.dr-close{ gap:var(--dm-sp-3); text-align:left; }
.dr-close .dm-label{ overflow-wrap:anywhere; margin:0; }
.dr-meta{ margin:0; text-align:center; color:var(--dm-muted); }
.dr-hero .dm-btn{ min-height:40px; text-decoration:none; }

@media (max-width:720px){
  .dr-grid{ grid-template-columns:1fr; }
  .dr-hero .dm-display{ font-size:var(--dm-sp-9); line-height:1.2; }
  .dr-card .dm-btn{ margin-left:0; }
}
@media (prefers-reduced-motion:reduce){
  .dr-grid > .dm-card-link{ transition:none; }
  .dr-grid > .dm-card-link:hover{ transform:none; }
}
@media print{
  body{ padding:var(--dm-sp-4) 0; }
  .dr-top{ display:none; }
}

/* 조각-기본.css 의 .dm-page a.dm-btn(흰 글자)이 보조 버튼 위에서 글자를 지우므로 되돌린다 */
.dm-page a.dm-btn.dm-btn-ghost, .dm-page a.dm-btn.dm-btn-ghost:hover{ color:var(--dm-ink-strong); }
