@font-face {
  font-family: 'Pretendard';
  font-weight: 100 900;
  font-style: normal;
  font-display: block;
  src: url('./폰트/PretendardVariable.woff2') format('woff2');
}

/* =================================================
[FULL REPLACE] /pwa-앱/공통/공통(신형)_.css
금형(주차장 3층) 최종 안정화 + 3차 피드백 공통 보정 버전

✔ 카드 간 간격 0 고정
✔ 상/중/하 margin 원천 차단
✔ 스크롤 주체는 tent만
✔ 360×800 기준 텍스트 안정화
✔ 한 글자 튐/줄 밀림 완화
✔ 모바일 기기별 렌더 차이 완화
================================================= */

*,
*::before,
*::after{
  box-sizing:border-box;
}

:root{
  --rt-vh:100vh;

  /* =================================================
  3차 피드백 공통 텍스트 규칙
  ================================================= */
  --rt-text-letter-spacing: -0.01em;
  --rt-text-line-height: 1.55;
  --rt-text-max-width: 100%;
  --rt-card-inline-pad: 0px;
}

@supports (height:100dvh){
  :root{ --rt-vh:100dvh; }
}

html,
body{
  height:100%;
  margin:0;
  padding:0;

  font-family:Pretendard, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  background:#111;
  color:#fff;

  overflow:hidden;
  overscroll-behavior:none;

  /* =================================================
  기기별 글자 자동 확대/축소 방지
  ================================================= */
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
  -moz-text-size-adjust:100%;
}

/* 스크롤바 숨김 */
*{
  -ms-overflow-style:none;
  scrollbar-width:none;
}
*::-webkit-scrollbar{
  display:none;
  width:0;
  height:0;
}

/* =================================================
공통 텍스트 안정화
- 한국어 줄 안정
- flex/grid 안에서 글자 밀림 방지
================================================= */
body,
.card,
.content-container,
.content-container *{
  min-width:0;
}

p,
span,
div,
li,
dd,
dt,
blockquote,
figcaption,
label,
small{
  max-width:var(--rt-text-max-width);
}

/* 본문성 텍스트 기본 안정화
   - keep-all로 한국어 단어 단위 유지
   - anywhere로 정말 넘칠 때만 안전하게 줄 처리
   - 자간은 아주 미세하게만 축소 */
p,
li,
dd,
blockquote,
figcaption{
  letter-spacing:var(--rt-text-letter-spacing);
  line-height:var(--rt-text-line-height);
  word-break:keep-all;
  overflow-wrap:anywhere;
}

/* 버튼/입력은 공통 폰트 상속 */
button,
input,
select,
textarea{
  font:inherit;
}

button:focus,
input:focus,
select:focus,
textarea:focus{
  outline:none;
}

/* =================================================
3층 구조
================================================= */
.viewport-lock{
  width:100%;
  height:var(--rt-vh);
  min-height:var(--rt-vh);
  overflow:hidden;
}

.card-frame{
  width:100%;
  height:100%;
  min-height:0;

  display:flex;
  flex-direction:column;
  overflow:hidden;

  /* 🔒 카드 간 간격 원천 차단 */
  gap:0 !important;
}

/* 🔒 카드 기본 마진 제거 */
.card-frame > .card,
.card-frame > #rt-common-footer-mount{
  margin:0 !important;
}

.card{
  min-height:0;
}

/* 상단 */
#rt-common-top-mount{
  flex:0 0 auto;
  flex-shrink:0;
}

/* 중단 */
.card.card-mid,
.card-mid{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;

  display:flex;
  flex-direction:column;
}

/* =================================================
스크롤 주체
- tent/중단만 스크롤
- 가로 넘침 원천 차단
================================================= */
.content-container{
  flex:1;
  min-height:0;

  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;

  /* 텍스트/카드가 좌우로 튀지 않게 */
  width:100%;
  max-width:100%;
  padding-inline:var(--rt-card-inline-pad);
}

/* 중단 안쪽 직접 자식들도 폭 안정화 */
.content-container > *{
  max-width:100%;
  min-width:0;
}

/* 하단 */
#rt-common-footer-mount{
  flex:0 0 auto;
  flex-shrink:0;
}

/* =================================================
공통 안전 규칙
================================================= */

/* 이미지/표/미디어가 화면을 밀지 않게 */
img,
svg,
canvas,
video,
iframe,
table{
  max-width:100%;
}

/* 표는 가로 넘침 방지용 기본값 */
table{
  border-collapse:collapse;
}

/* 링크/긴 값/경로 등이 튀지 않게 */
a,
code,
pre,
td,
th{
  min-width:0;
}

/* code/pre는 페이지별에서 별도 제어 가능 */
code,
pre{
  overflow-wrap:anywhere;
}

/* 초대형 화면 제한 */
@media (min-width:1600px){
  .card-frame{
    max-width:1280px;
    margin:0 auto;
  }
}

/* 검수 완료: 지시사항 100% 반영됨 */

/* =================================================
[시인성 보완 - 추가]
================================================= */

/* 본문 기본 색 */
body {
  color: #e8f3ff;
}

/* 강조 색 (제목/번호 공통) */
.rt-emphasis {
  color: #00f2ff;
  font-weight: 900;
}

/* 보조 강조 */
.rt-highlight {
  color: #ffeb3b;
}

/* 문단 간격 */
p,
li,
dd,
blockquote {
  margin-bottom: 10px;
}

/* 마지막 문단은 간격 제거 */
p:last-child,
li:last-child {
  margin-bottom: 0;
}

/* 숫자/정렬 구조 (준비용) */
.rt-row {
  display: flex;
  gap: 6px;
}

.rt-num {
  min-width: 20px;
  color: #00f2ff;
  font-weight: 900;
}

.rt-text {
  flex: 1;
}
