/* 도화서원 상품 흐름 공통 디자인 (2026-11-08)
   입력 시트 · 진행 단계 · 기본 버튼 · 이용 방식 선택을 상품과 관계없이 같은 모양으로 맞춘다.
   각 상품 CSS 뒤에 로드되며, 레이아웃(높이·키보드 처리)은 건드리지 않고 시각 요소만 통일한다. */
:root{
  --df-navy:#1d334a;
  --df-navy-deep:#172b43;
  --df-ink:#162a45;
  --df-muted:#8f97a6;
  --df-line:#c9ced6;
  --df-soft:#f3f6fa;
  --df-disabled-bg:#dce1e8;
  --df-disabled-ink:#8b95a5;
  --df-sheet-radius:24px;
  --df-cta-height:52px;
  --df-cta-font:700 17px/1.5 'Noto Serif KR','Batang',serif;
}

/* 1. 화면 읽기용 숨김 제목이 width:100% 규칙에 덮여 시트가 19px 옆으로 밀리던 문제 */
.love-input-panel legend.love-sr-only{float:none;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%)}

/* 2. 입력 시트 외형 */
.love-input-sheet,
.is-reunion #reunion-input-sheet,
.ls-sheet{border-radius:var(--df-sheet-radius) var(--df-sheet-radius) 0 0;box-shadow:0 -10px 44px #101c2a26;color:var(--df-ink)}

/* 3. 진행 단계 표시: 현재 단계는 남색, 지난 단계는 체크 */
.love-sheet-steps,
.reunion-input-stages{color:var(--df-muted);font-size:12px}
.love-sheet-steps li[aria-current],
.reunion-input-stages li[aria-current]{color:var(--df-navy);font-weight:700}
.love-sheet-steps li::before,
.reunion-input-stages li::before{width:12px;height:12px;border-color:var(--df-line)}
.love-sheet-steps li[aria-current]::before,
.reunion-input-stages li[aria-current]::before{border-color:var(--df-navy);background:var(--df-navy);box-shadow:0 0 0 3px #1d334a1f}
.love-sheet-steps li:has(~ li[aria-current])::before,
.love-sheet-steps li.is-complete::before,
.reunion-input-stages li:has(~ li[aria-current])::before{content:'\2713';display:grid;place-items:center;border-color:var(--df-navy);background:var(--df-navy);color:#fff;font:700 8px/1 sans-serif}
.love-sheet-steps li:has(~ li[aria-current]),
.reunion-input-stages li:has(~ li[aria-current]){color:var(--df-navy)}
.reunion-input-stages li+li::after{top:5px}
.love-sheet-steps::before{top:5px;background:var(--df-line)}

/* 4. 질문 제목 · 입력 라벨 */
.love-input-sheet .love-input-heading #input-title,
.is-reunion #reunion-input-sheet .love-input-heading #input-title{color:var(--df-ink);letter-spacing:-.6px}
.love-input-sheet .love-field-label,
.is-reunion #reunion-input-sheet .love-field-label{color:var(--df-ink);font-size:15px;font-weight:700}

/* 5. 기본(다음) 버튼 */
.love-input-sheet .love-form-actions .love-primary,
.is-reunion #reunion-input-sheet .love-form-actions .love-primary{min-height:var(--df-cta-height);border-radius:999px;background:linear-gradient(105deg,var(--df-navy),var(--df-navy-deep));color:#fff;font:var(--df-cta-font);letter-spacing:-.3px;box-shadow:0 6px 16px #172b4329}
.love-input-sheet .love-form-actions .love-primary:disabled,
.is-reunion #reunion-input-sheet .love-form-actions .love-primary:disabled{opacity:1;background:var(--df-disabled-bg);color:var(--df-disabled-ink);box-shadow:none}
/* 이전 버튼: 모든 타로 시트에서 '‹ 이전' 텍스트 버튼으로 통일 */
.is-reunion #reunion-input-sheet .love-form-actions [data-input-back]{display:inline-flex;align-items:center;gap:2px;width:auto;min-width:64px;padding:8px 6px;border:0;border-radius:10px;background:none;color:#5d6a80;font-size:14px}
.is-reunion #reunion-input-sheet .love-form-actions [data-input-back] svg{width:18px;height:18px}
.is-reunion #reunion-input-sheet .love-form-actions [data-input-back]::after{content:'이전'}
.ls-sheet-actions .ls-back{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:auto;min-width:64px;border:0!important;border-radius:10px;background:none!important;color:#5d6a80;font-size:0!important}
.ls-sheet-actions .ls-back::before{content:'\2039';font-size:22px;line-height:1}
.ls-sheet-actions .ls-back::after{content:'이전';font-size:14px}
.ls-sheet .ls-primary,
.ls-page .ls-primary,
.bn-page .bn-question-actions .bn-primary{min-height:var(--df-cta-height);border-radius:999px;background:linear-gradient(105deg,var(--df-navy),var(--df-navy-deep));border-color:transparent;color:#fff;font:var(--df-cta-font)!important;letter-spacing:-.3px;box-shadow:0 6px 16px #172b4329}
.ls-sheet .ls-primary:disabled,
.ls-page .ls-primary:disabled,
.bn-page .bn-question-actions .bn-primary:disabled{background:var(--df-disabled-bg);color:var(--df-disabled-ink);border-color:var(--df-disabled-bg);box-shadow:none}

/* 아기이름: 이전 버튼 · 선택지 */
.bn-page .bn-question-actions [data-naming-back]{display:inline-flex;align-items:center;justify-content:center;gap:2px;width:auto;min-width:64px;border:0!important;border-radius:10px;background:none!important;color:#5d6a80;font-size:14px}
.bn-page .bn-question-actions [data-naming-back] svg{display:none}
.bn-page .bn-question-actions [data-naming-back]::before{content:'\2039';font-size:22px;line-height:1}
.bn-page .bn-question-actions [data-naming-back]::after{content:'이전'}
.bn-page .bn-question-actions [data-naming-back]:disabled{color:#b7bdc8}
.bn-page .bn-options label>span{border-radius:14px;border-color:#d8dde5}
.bn-page .bn-options label:has(input:checked)>span{border-color:var(--df-navy);background:var(--df-soft);box-shadow:0 0 0 3px #1d334a14;color:var(--df-ink)}
.ls-progress #ls-progress>span{background:var(--df-navy)}
.bn-page .bn-progress progress{accent-color:var(--df-navy)}

/* 6. 이용 방식(무료/유료) 선택 카드 */
#love-app .love-checkout-offer{border-width:1.5px;border-color:#d8dde5;border-radius:16px;color:var(--df-ink);transition:border-color .15s,background-color .15s}
#love-app .love-checkout-offer:has(input:checked){border-color:var(--df-navy);background:var(--df-soft);box-shadow:0 0 0 3px #1d334a14}
#love-app .love-checkout-offer:focus-within{outline-color:var(--df-navy)}
#love-app .love-checkout-offer input{accent-color:var(--df-navy)}

/* 8. 신년사주: 진행 단계 · 선택 버튼 · 입력칸 · 이용 방식 카드 */
html body .ny-sheet-steps{color:var(--df-muted)}
html body .ny-sheet-steps li[aria-current]{color:var(--df-navy);font-weight:700}
html body .ny-sheet-steps li::before{border-color:var(--df-line)}
html body .ny-sheet-steps li[aria-current]::before{border-color:var(--df-navy);background:var(--df-navy);box-shadow:0 0 0 3px #1d334a1f}
html body .ny-sheet-steps li:has(~ li[aria-current])::before{content:'\2713';display:grid;place-items:center;border-color:var(--df-navy);background:var(--df-navy);color:#fff;font:700 8px/1 sans-serif}
html body .ny-sheet-steps li:has(~ li[aria-current]){color:var(--df-navy)}
html body .ny-input-sheet label:has(> input[type=radio]:checked){border-color:var(--df-navy);background:var(--df-soft);color:var(--df-navy);box-shadow:inset 0 0 0 1px var(--df-navy)}
html body .ny-input-sheet input[type=radio],html body .ny-input-sheet input[type=checkbox]{accent-color:var(--df-navy)}
html body .ny-input-sheet :is(input[type=text],input[type=time],input:not([type]),select){border-color:#d8dde5;border-radius:10px}
html body .ny-offers label{border-width:1.5px;border-color:#d8dde5;border-radius:16px;background:#fff;color:var(--df-ink)}
html body .ny-offers label:has(input:checked){border-color:var(--df-navy);background:var(--df-soft);box-shadow:0 0 0 3px #1d334a14}
html body .ny-offers input{accent-color:var(--df-navy)}

/* 9. 결과 화면 하단 구매 바 · 결제 화면 버튼 */
html body .checkout-purchase-dock .love-primary,
html body .nyr-purchase-dock .nyr-dock-button{border-radius:999px;border-color:transparent;background:linear-gradient(105deg,var(--df-navy),var(--df-navy-deep));color:#fff;font:var(--df-cta-font);letter-spacing:-.3px}
html body .checkout-purchase-dock .love-primary:disabled{background:var(--df-disabled-bg);color:var(--df-disabled-ink);box-shadow:none}

html body :is(.ny-page,.bn-page,#love-app) input:is([type=checkbox],[type=radio]){accent-color:var(--df-navy)}

/* 10. 결과 화면 안의 보조 버튼: 모서리 12px · 회색 테두리 · 남색 글자로 통일 */
html body :is(.bn-result-actions .bn-secondary,.bn-candidate-bottom button,.ny-page .ny-secondary){border-radius:12px;border:1px solid #d8dde5;background:#fff;color:var(--df-navy);font-weight:700}
html body .bn-result-actions .bn-primary{border-radius:12px;background:linear-gradient(105deg,var(--df-navy),var(--df-navy-deep));border-color:transparent;color:#fff}
html body :is(.bn-free-actions button,.bn-candidate-bottom button:disabled){border-radius:12px}

/* 7. 움직임을 줄이도록 설정한 사용자 */
@media (prefers-reduced-motion:reduce){
  .love-input-sheet,.ls-sheet,#reunion-input-sheet{animation:none!important;transition:none!important}
}

/* 11. 영상 인트로: 기기의 '동작 줄이기' 설정이 켜져 있어도 영상을 숨기지 않음 (자동 재생은 JS가 결정) */
@media (prefers-reduced-motion:reduce){html body .love-intro-media video,html body .destiny-intro-media video{visibility:visible}}

/* 12. 모든 공유 창: 아래에서 올라오는 시트로 통일 (오늘의 운세 · 아기이름 · 도화서 · 탄생타로) */
@keyframes df-sheet-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes df-sheet-dim{from{opacity:0}to{opacity:1}}
:is(html body:has(.bn-page[data-view]),html body) :is(.sr-download-dialog,.bn-share-dialog,.df-share-sheet){position:fixed;inset:auto 0 0 0;margin:0 auto;width:min(450px,100%);max-width:450px;height:auto;max-height:88dvh;overflow:auto;padding:12px 22px calc(22px + env(safe-area-inset-bottom));border:0;border-radius:24px 24px 0 0;background:#fff;color:var(--df-ink);box-shadow:0 -10px 44px #101c2a33}
:is(html body:has(.bn-page[data-view]),html body) :is(.sr-download-dialog,.bn-share-dialog,.df-share-sheet)::before{content:'';display:block;width:43px;height:4px;margin:0 auto 16px;border-radius:4px;background:#c9ced5}
:is(html body:has(.bn-page[data-view]),html body) :is(.sr-download-dialog,.bn-share-dialog,.df-share-sheet,.cn-share-sheet,#bt-share-sheet)[open]{animation:df-sheet-up .3s cubic-bezier(.2,.8,.2,1) !important}
:is(html body:has(.bn-page[data-view]),html body) :is(.sr-download-dialog,.bn-share-dialog,.df-share-sheet,.cn-share-sheet,#bt-share-sheet)::backdrop{background:#0b122073;animation:df-sheet-dim .25s ease-out !important}
:is(html body:has(.bn-page[data-view]),html body) .cn-share-sheet{height:auto}
:is(html body:has(.bn-page[data-view]),html body) .sr-download-dialog h2,:is(html body:has(.bn-page[data-view]),html body) .bn-share-dialog h2{margin:0 0 8px;font-size:19px;color:var(--df-ink)}
:is(html body:has(.bn-page[data-view]),html body) .sr-download-dialog p,:is(html body:has(.bn-page[data-view]),html body) .bn-share-dialog p{color:#4b5568}
/* 버튼: 세로로 꽉 차게, 카카오톡은 노란색, 닫기는 글자 버튼 */
:is(html body:has(.bn-page[data-view]),html body) .sr-download-dialog > div{display:grid;gap:8px;margin:14px 0 6px}
:is(html body:has(.bn-page[data-view]),html body) .sr-download-dialog > div > button,:is(html body:has(.bn-page[data-view]),html body) .bn-share-dialog-actions button{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin:0;padding:12px 16px;border:1px solid #d8dde5;border-radius:12px;background:#fff;color:var(--df-ink);font:600 15px/1.5 var(--app-font,system-ui),sans-serif}
:is(html body:has(.bn-page[data-view]),html body) .bn-share-dialog-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:14px}
:is(html body:has(.bn-page[data-view]),html body) .sr-download-dialog > div > button:first-child,:is(html body:has(.bn-page[data-view]),html body) .bn-share-dialog-actions .bn-share-confirm,:is(html body:has(.bn-page[data-view]),html body) .cn-share-sheet .cn-kakao{border-color:#f5d800;background:#fee500;color:#191600}
:is(html body:has(.bn-page[data-view]),html body) .sr-download-dialog > button:last-child{display:block;width:100%;min-height:46px;margin:6px 0 0;border:0;background:none;color:#5d6a80;font:500 14px/1.5 var(--app-font,system-ui),sans-serif}
:is(html body:has(.bn-page[data-view]),html body) .sr-download-dialog textarea{width:100%;border:1px solid #d8dde5;border-radius:10px;padding:10px;font-size:13px}
/* share sheets always slide up, even with OS reduced motion (requested) */
:is(html body:has(.bn-page[data-view]),html body) .bn-share-dialog > header{display:flex;align-items:center;justify-content:space-between;gap:12px}
:is(html body:has(.bn-page[data-view]),html body) .bn-share-dialog .bn-share-preview-image{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover;border-radius:12px;margin:12px 0 4px}
:is(html body:has(.bn-page[data-view]),html body) .bn-share-dialog .bn-share-link-label{display:grid;gap:6px;font-size:13px;color:#5d6a80}
:is(html body:has(.bn-page[data-view]),html body) .bn-share-dialog .bn-share-link-label input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #d8dde5;border-radius:10px;font-size:13px;color:var(--df-ink);background:#f7f8fa}
/* 13. 공통 공유 시트(.df-share-sheet) 내용 + 도화서 공유 버튼 통일 */
:is(html body:has(.bn-page[data-view]),html body) .df-share-sheet h2{margin:0 0 6px;font-size:19px;color:var(--df-ink)}
:is(html body:has(.bn-page[data-view]),html body) .df-share-sheet .df-share-note{margin:0 0 4px;font-size:13px;line-height:1.7;color:#5d6a80}
:is(html body:has(.bn-page[data-view]),html body) :is(.df-share-actions,.cn-share-menu){display:grid;gap:8px;margin:14px 0 6px}
:is(html body:has(.bn-page[data-view]),html body) :is(.df-share-actions,.cn-share-menu) > button,:is(html body:has(.bn-page[data-view]),html body) .df-share-actions > a{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;margin:0;padding:12px 16px;border:1px solid #d8dde5;border-radius:12px;background:#fff;color:var(--df-ink);font:600 15px/1.5 var(--app-font,system-ui),sans-serif}
:is(html body:has(.bn-page[data-view]),html body) :is(.df-share-actions,.cn-share-menu) > button[hidden]{display:none}
:is(html body:has(.bn-page[data-view]),html body) :is(.df-share-actions .df-share-kakao,.cn-share-menu .cn-kakao){order:-1;border-color:#f5d800;background:#fee500;color:#191600}
:is(html body:has(.bn-page[data-view]),html body) .df-share-actions .df-share-kakao img{width:20px;height:20px}
:is(html body:has(.bn-page[data-view]),html body) .df-share-close{display:block;width:100%;min-height:46px;margin:4px 0 0;border:0;background:none;color:#5d6a80;font:500 14px/1.5 var(--app-font,system-ui),sans-serif}
:is(html body:has(.bn-page[data-view]),html body) .df-share-sheet [role=status]{margin:6px 0 0;font-size:13px;color:#5d6a80;text-align:center}
:is(html body:has(.bn-page[data-view]),html body) .df-share-sheet textarea{width:100%;border:1px solid #d8dde5;border-radius:10px;padding:10px;font-size:13px}
:is(html body:has(.bn-page[data-view]),html body) .cn-share-sheet header{border-bottom:0}
:is(html body:has(.bn-page[data-view]),html body) .cn-share-sheet .cn-share-menu{padding:0 22px calc(18px + env(safe-area-inset-bottom))}

/* 14. 영상 첫 화면(메인) 통일: 화면 높이 고정 · 같은 제목/부제/시작 버튼 · 낮은 화면만 스크롤 */
html body :is(.love-intro-copy,.destiny-intro-copy,.ls-intro-copy,.ny-landing-copy,.bn-intro-title,.bt-hero-copy) h1{font-family:'Noto Serif KR','Batang',serif;font-weight:700;font-size:clamp(26px,min(10vw,5.4vh),42px);line-height:1.35;letter-spacing:-.04em}
html body :is(.love-intro-kicker,.destiny-intro-kicker,.ls-eyebrow,.ny-landing-kicker,.bn-kicker,.bt-kicker){font-family:'Noto Serif KR','Batang',serif;font-size:14px;font-weight:600;letter-spacing:.02em}
html body :is(.love-intro-description,.destiny-intro-description,.ny-landing-subtitle,.bn-intro-subtitle,.bt-hero-subtitle),html body .ls-intro-copy > h1 + p{font-family:'Noto Serif KR','Batang',serif;font-size:15px;font-weight:600;line-height:1.6}
html body :is(.love-intro-start,.destiny-intro-start,.ls-start,.ny-landing-start,#bt-start),html body .bn-intro-actions .bn-primary{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;max-width:340px;min-height:56px;margin-left:auto;margin-right:auto;padding:12px 22px;border:1px solid #b48449;border-radius:999px;background:linear-gradient(110deg,#1d374b,#142b42);color:#fff9f3;font:600 18px/1.4 'Noto Serif KR','Batang',serif!important;letter-spacing:-.02em;box-shadow:0 8px 22px #0f1d3033}
html body :is(.love-intro-start,.destiny-intro-start,.ls-start,.ny-landing-start,#bt-start,.bn-intro-actions .bn-primary)::before{display:none}
/* 낮은 화면(가로로 펼친 폴드 등): 내용이 넘치면 스크롤 */
@media (max-height:560px){
  html:has(body :is(.love-video-intro,.destiny-video-intro,.ls-video-intro,.ny-landing,.bn-intro-title,#bt-hero)),
  html body:has(:is(.love-video-intro,.destiny-video-intro,.ls-video-intro,.ny-landing,.bn-intro-title,#bt-hero)){overflow-y:auto!important;height:auto!important}
  html body :is(.love-intro-copy,.destiny-intro-copy,.ls-intro-copy,.ny-landing-copy,.bn-intro-title,.bt-hero-copy) h1{font-size:clamp(24px,7vh,32px)}
}

/* 15. 입력 시트 하단: '이전'과 다음/확인 버튼 영역을 확실히 분리 (겹침 방지) */
html body :is(.ls-sheet-actions,.bn-question-actions){display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:12px!important;align-items:center}
html body :is(.ls-sheet-actions,.bn-question-actions) > *{min-width:0;margin:0!important}
html body .is-reunion #reunion-input-sheet:not([data-question-step="0"]) .love-form-actions{grid-template-columns:auto minmax(0,1fr)!important;gap:12px!important}
html body :is(.love-input-sheet,.is-reunion #reunion-input-sheet) .love-form-actions [data-input-back]{flex:0 0 auto;min-width:64px;margin:0}
html body :is(.love-input-sheet,.is-reunion #reunion-input-sheet) .love-sheet-button-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}
html body .ny-input-sheet .ny-sheet-button-row:has(> .ny-sheet-edit:not([hidden])){display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}
html body .ny-input-sheet .ny-sheet-button-row > .ny-sheet-edit{min-width:84px;margin:0}

/* 11. 결제 화면 하단: 상태 문구 · 구매 내역 / 결과로 돌아가기 · 약관 링크 (연애·재회·신년 공통) */
html body .love-checkout-screen>.checkout-state{margin:16px 0 0;padding:0;color:#748198;font-size:11px;line-height:1.6;text-align:center}
html body .love-checkout-screen>.checkout-state:empty{display:none}
html body .love-checkout-screen>.checkout-confirmation{padding-bottom:4px;border-bottom:1px solid #e9e3ed}
html body .checkout-footer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0 0}
html body .checkout-footer-actions>[hidden]{display:none!important}
html body .checkout-footer-actions>.checkout-footer-wide{grid-column:1/-1}
html body .checkout-footer-button{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:0 10px;border:1px solid #d8dde5;border-radius:12px;background:#fff;color:var(--df-navy);font-family:inherit;font-size:13px;font-weight:600;line-height:1.3;letter-spacing:-.2px;text-align:center;text-decoration:none;cursor:pointer}
html body .checkout-footer-button:focus-visible{outline:2px solid var(--df-navy);outline-offset:2px}
@media(hover:hover){html body .checkout-footer-button:hover{border-color:#b9c1ce;background:var(--df-soft)}}
html body .checkout-footer-policy{display:flex;justify-content:center;align-items:center;gap:8px;margin:12px 0 0;color:#b0b7c4;font-size:11px}
html body .checkout-footer-policy a{display:inline-flex;align-items:center;min-height:32px;color:#7a8499;font-size:11px;text-decoration:underline;text-underline-offset:3px}
/* 연애·재회 결제 화면의 상태 문구는 하단 버튼 안내와 겹쳐 화면에서는 숨기고 화면 읽기에만 남긴다 */
html body #love-app .love-checkout-screen>[data-checkout-state]{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* 14. 앱 설치 안내(PWA) 한 줄 배치: 아이콘 · 문구 · [설치][닫기] (홈 묶음 CSS보다 우선) */
html body .pwa-install-banner{padding:10px 16px;background:#fff;border-bottom:1px solid #eceaf1}
html body .pwa-install-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center}
html body .pwa-install-banner .pwa-install-icon{width:40px;height:40px;border-radius:10px}
html body .pwa-install-banner .pwa-install-copy{min-width:0}
html body .pwa-install-banner .pwa-install-copy h2{margin:0;font-size:13px;line-height:1.4;font-weight:750;letter-spacing:-.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .pwa-install-banner .pwa-install-copy p{margin:1px 0 0;font-size:11px;line-height:1.4;color:#686277;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body .pwa-install-banner .pwa-install-actions{display:flex;gap:6px;margin:0}
html body .pwa-install-banner :is(.pwa-install-primary,.pwa-install-secondary){min-height:36px;min-width:48px;padding:6px 12px;border-radius:10px;font-size:13px;font-weight:700;line-height:1.3;white-space:nowrap}
html body .pwa-install-banner .pwa-install-primary{border:1px solid #171830;background:#171830;color:#fff}
html body .pwa-install-banner .pwa-install-secondary{border:1px solid #d7cfdf;background:#fff;color:#51495f}
html body .pwa-install-banner .pwa-install-status{margin:8px 0 0}
@media(max-width:360px){html body .pwa-install-banner{padding:9px 12px}html body .pwa-install-row{grid-template-columns:36px minmax(0,1fr) auto;gap:8px}html body .pwa-install-banner .pwa-install-icon{width:36px;height:36px}html body .pwa-install-banner :is(.pwa-install-primary,.pwa-install-secondary){min-width:44px;padding:6px 9px;font-size:12px}}
html[data-theme="dark"] body .pwa-install-banner{background:#181b29;border-color:#2c3045;color:#e9e9f2}
html[data-theme="dark"] body .pwa-install-banner .pwa-install-copy p{color:#a3a6b8}
html[data-theme="dark"] body .pwa-install-banner .pwa-install-secondary{background:transparent;border-color:#3a3f58;color:#e9e9f2}
/* 15. 신년사주 무료 결과의 사주 원국 기둥 이름 (전체 풀이와 같은 모양) */
html body .ny-table thead th.ny-column-head{font-size:12px;font-weight:700;color:#5b4a58;letter-spacing:.02em;padding:6px 0 4px}
html body .ny-table thead th.ny-column-head .ny-column-hanja{display:block;margin-top:1px;font-size:9px;font-weight:500;letter-spacing:.18em;color:#a68c98}
html body .ny-table thead th.ny-column-head.is-self{color:#a95572}
html body .ny-table thead th.ny-column-head.is-self .ny-column-hanja{color:#c27a95}
html body .ny-table .ny-pillar-card.ny-pillar-self{border-color:#d9a3b7;box-shadow:0 0 0 2px #f3d9e3,0 4px 12px #a9557214}
/* 16. 신년사주 무료 결과 원국표 행 이름 한 줄 */
html body .ny-table .ny-label-col{width:36px}
html body .ny-table tbody th[scope="row"]{font-size:9.5px;white-space:nowrap;letter-spacing:-.04em;padding-left:0;padding-right:0}
/* 17. 사이드바(전체 메뉴) 모서리 둥글림 없음 */
html body dialog:is(.side-drawer,.checkout-menu,.menu-dialog){border-radius:0!important}
/* 18. 입력 시트 하단 '이전'(신년사주는 '수정하기'): 글자만 있던 버튼을 '다음'과 같은 높이의 테두리 버튼으로 바꿔
   채워진 남색 '다음'과 한눈에 구분한다. 연애·운명·재회 타로, 연애 사주, 아이 이름, 신년 사주 공통 (2026-11-08) */
html body :is(.love-input-sheet .love-form-actions [data-input-back],.is-reunion #reunion-input-sheet:not([data-question-step="0"]) .love-form-actions [data-input-back],.bn-page .bn-question-actions > .bn-nav-back:not(:disabled),.ny-input-sheet .ny-sheet-button-row > .ny-sheet-edit:not([hidden]),.ls-sheet .ls-sheet-actions > .ls-back){
  display:inline-flex!important;align-items:center;justify-content:center;gap:7px;width:auto!important;min-width:104px!important;height:var(--df-cta-height)!important;min-height:var(--df-cta-height)!important;margin:0!important;padding:0 16px 0 14px!important;
  border:1.5px solid #aeb8c7!important;border-radius:999px!important;background:#fff!important;box-shadow:none!important;opacity:1;
  color:var(--df-navy)!important;letter-spacing:-.2px!important;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent}
html body :is(.love-input-sheet .love-form-actions [data-input-back],.is-reunion #reunion-input-sheet .love-form-actions [data-input-back],.bn-page .bn-question-actions > .bn-nav-back,.ny-input-sheet .ny-sheet-button-row > .ny-sheet-edit){font:700 15px/1.2 'Noto Sans KR',system-ui,sans-serif!important}
/* 연애 사주 버튼 안의 '←' 글자는 숨기고 아래 모양 글자(‹ 이전)만 보인다 */
html body .ls-sheet .ls-sheet-actions > .ls-back{font-family:'Noto Sans KR',system-ui,sans-serif!important;font-size:0!important;font-weight:700!important;line-height:1.2!important}
html body :is(.love-input-sheet .love-form-actions [data-input-back],.is-reunion #reunion-input-sheet .love-form-actions [data-input-back]) svg{display:none!important}
html body :is(.love-input-sheet .love-form-actions [data-input-back],.is-reunion #reunion-input-sheet:not([data-question-step="0"]) .love-form-actions [data-input-back],.bn-page .bn-question-actions > .bn-nav-back:not(:disabled),.ny-input-sheet .ny-sheet-button-row > .ny-sheet-edit:not([hidden]),.ls-sheet .ls-sheet-actions > .ls-back)::before{
  content:''!important;display:block!important;flex:none;width:7px;height:7px;margin:0 0 0 3px;border:0;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);font-size:0}
html body :is(.is-reunion #reunion-input-sheet .love-form-actions [data-input-back],.ls-sheet .ls-sheet-actions > .ls-back)::after{content:'이전'!important;font-size:15px!important;font-weight:700;line-height:1.2}
html body :is(.love-input-sheet .love-form-actions [data-input-back],.is-reunion #reunion-input-sheet .love-form-actions [data-input-back],.bn-page .bn-question-actions > .bn-nav-back,.ny-input-sheet .ny-sheet-button-row > .ny-sheet-edit,.ls-sheet .ls-sheet-actions > .ls-back):focus-visible{outline:2px solid var(--df-navy)!important;outline-offset:2px}
html body :is(.love-input-sheet .love-form-actions [data-input-back],.is-reunion #reunion-input-sheet .love-form-actions [data-input-back],.ny-input-sheet .ny-sheet-button-row > .ny-sheet-edit,.ls-sheet .ls-sheet-actions > .ls-back):disabled{opacity:.45!important;cursor:default}
html body :is(.love-input-sheet .love-form-actions [data-input-back],.is-reunion #reunion-input-sheet .love-form-actions [data-input-back],.bn-page .bn-question-actions > .bn-nav-back,.ny-input-sheet .ny-sheet-button-row > .ny-sheet-edit,.ls-sheet .ls-sheet-actions > .ls-back):not(:disabled):active{background:#eef1f6!important}
@media(hover:hover){html body :is(.love-input-sheet .love-form-actions [data-input-back],.is-reunion #reunion-input-sheet .love-form-actions [data-input-back],.bn-page .bn-question-actions > .bn-nav-back,.ny-input-sheet .ny-sheet-button-row > .ny-sheet-edit,.ls-sheet .ls-sheet-actions > .ls-back):not(:disabled):hover{border-color:#8e9aac!important;background:var(--df-soft)!important}}
/* 칸 나누기: 이전은 내용 폭(최소 104px), 다음은 나머지 전부 */
html body .bn-page .bn-question-actions:has(> .bn-nav-back:not(:disabled)){grid-template-columns:auto minmax(0,1fr)!important;gap:10px!important}
html body :is(.love-input-sheet .love-sheet-button-row,.is-reunion #reunion-input-sheet:not([data-question-step="0"]) .love-form-actions,.ls-sheet .ls-sheet-actions,.ny-input-sheet .ny-sheet-button-row:has(> .ny-sheet-edit:not([hidden]))){display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:10px!important;align-items:center}
