/* 공통 화면 배치 */
.page-shell { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.page-shell__header, .page-shell__footer { padding-block: 1.5rem; }
.page-shell__main { flex: 1; display: grid; place-items: center; padding: 2rem 1rem 3rem; }
.page-shell__footer { text-align: center; }

/* 은은한 배경 */
.bg-soft { background: radial-gradient(ellipse at 15% 0%, rgb(22 135 167 / 8%), transparent 50% ), var(--color-bg); }
/* 폭 제한: 카드·설정 화면·안내 화면 등에 재사용 */
.panel { width: 100%; max-width: var(--panel-width, 440px); min-width: 0; }
.panel--wide { --panel-width: 640px; }

/* 브랜드 */
.brand { display: inline-flex; align-items: center; gap: .625rem; font-weight: 700; letter-spacing: -.03em; }
.brand__mark { display: inline-grid; place-items: center; width: 32px; height: 32px; flex: 0 0 auto;
  border-radius: 10px; background: var(--color-text); color: var(--color-surface); font-size: .875rem;
}

/* 기존 .card와 함께 사용 */
.card--elevated {
  padding: clamp(1.5rem, 5vw, 2.5rem);
  border-color: rgb(37 49 60 / 8%);
  border-radius: 20px;
  box-shadow:
    0 20px 60px rgb(34 51 63 / 6%),
    0 2px 6px rgb(34 51 63 / 3%);
}
