:root {
  --bazi-red: #a83f38;
  --bazi-gold: #b98d48;
  --bazi-cream: #f7f1e6;
  --bazi-ink: #183b35;
  --bazi-muted: #65736f;
  --report-paper: url("/shop/bazi/assets/report-paper.svg");
}

.bazi-shell { width: min(calc(100% - 32px), 1080px); margin: 0 auto; padding: 54px 0 130px; }
.bazi-shell > * { min-width: 0; }
.bazi-hero { padding: 40px 0 54px; }
.bazi-hero h1 { max-width: 900px; margin: 16px 0 20px; overflow-wrap: anywhere; font-family: Georgia, "Noto Serif HK", serif; font-size: clamp(46px, 8vw, 86px); line-height: 1.03; letter-spacing: -.055em; }
.bazi-hero h1 em { color: var(--bazi-red); font-style: normal; }
.bazi-hero > p { max-width: 740px; color: #526c67; font-size: 19px; line-height: 1.8; }
.method-note { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 26px; padding: 16px 20px; border-left: 4px solid var(--bazi-red); background: #fff8ed; overflow-wrap: anywhere; }
.method-note span { color: var(--bazi-muted); }

.bazi-form-card, .chart-card, .interaction-panel, .full-report { border: 1px solid #d9d5c9; border-radius: 30px; background: #fffdf8; box-shadow: 0 18px 55px #173b3510; }
.bazi-form-card { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 38px; padding: clamp(26px, 5vw, 54px); }
.bazi-form-card h2, .result-heading h2 { margin: 10px 0; font-family: Georgia, "Noto Serif HK", serif; font-size: clamp(32px, 5vw, 52px); }
.bazi-form-card p, .result-heading p { color: #637570; line-height: 1.7; }
.step-tag { color: var(--bazi-red); font-size: 12px; font-weight: 900; letter-spacing: .15em; }
.bazi-entry-form { display: grid; gap: 14px; align-content: start; }
.bazi-entry-form label { font-weight: 800; }
.bazi-entry-form input, .bazi-entry-form select { width: 100%; color: #222; font: inherit; }
.birth-picker { display: grid; grid-template-columns: 1.25fr .75fr; overflow: hidden; border: 1px solid #dedbd6; border-radius: 22px; background: #fff; box-shadow: 0 7px 24px #172f2910; }
.input-tile, .select-tile { position: relative; display: grid; gap: 2px; min-width: 0; padding: 15px 17px 13px; border: 1px solid #dedbd6; border-radius: 18px; background: #fff; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.birth-picker .input-tile { border: 0; border-radius: 0; box-shadow: none; }
.birth-picker .input-tile + .input-tile { border-left: 1px solid #e7e4df; }
.input-tile:focus-within, .select-tile:focus-within { z-index: 1; border-color: #222; box-shadow: 0 0 0 2px #222, 0 8px 28px #172f2912; }
.birth-picker .input-tile:focus-within { box-shadow: inset 0 0 0 2px #222; }
.input-kicker, .form-section-title { color: #222; font-size: 12px; font-weight: 900; letter-spacing: .015em; }
.input-tile input, .select-tile select { min-height: 32px; padding: 2px 0 0; border: 0; outline: 0; background: transparent; font-size: 16px; font-weight: 650; }
.input-tile input::-webkit-calendar-picker-indicator { width: 22px; height: 22px; margin: 0; cursor: pointer; opacity: .62; }
.input-tile small, .form-section > small { color: #767676; font-size: 12px; font-weight: 500; line-height: 1.45; }
.check-row { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 11px 15px; border: 1px solid #dedbd6; border-radius: 18px; background: #fafafa; cursor: pointer; }
.check-row input { flex: 0 0 auto; width: 22px; height: 22px; margin: 0; accent-color: #ff385c; }
.check-row span { display: grid; gap: 2px; }
.check-row strong { color: #222; font-size: 14px; }
.check-row small { color: #717171; font-size: 12px; font-weight: 500; }
.form-section { display: grid; gap: 7px; padding-top: 4px; }
.form-section .select-tile { padding-block: 10px; }
.form-section .select-tile select { min-height: 36px; }
.location-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 10px; }
.location-grid [hidden] { display: none; }
#manual-time-zone-field { grid-column: 1 / -1; }
.dst-choice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 16px; border: 1px solid #d8c7a8; border-radius: 18px; background: #fffaf0; }
.dst-choice[hidden] { display: none; }
.dst-choice legend { padding: 0 7px; font-weight: 850; }
.dst-choice label { display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 10px 12px; border: 1px solid #dedbd6; border-radius: 14px; background: #fff; cursor: pointer; }
.dst-choice span { display: grid; gap: 2px; }
.dst-choice small { color: #767676; }
.form-error { margin: 0; padding: 13px 15px; border-radius: 14px; background: #fff0f0; color: #9f2525; font-weight: 750; line-height: 1.5; }
.form-error[hidden] { display: none; }
.report-year-tile { margin-top: 1px; }
form button, .premium-panel button, .report-actions button { min-height: 52px; border: 0; border-radius: 999px; background: var(--bazi-ink); color: white; font-size: 16px; font-weight: 900; cursor: pointer; }
.bazi-submit { display: flex; align-items: center; justify-content: space-between; min-height: 58px; margin-top: 4px; padding: 0 22px; background: linear-gradient(90deg, #ff385c, #e51d4f); box-shadow: 0 10px 26px #e51d4f35; transition: transform .18s ease, box-shadow .18s ease; }
.bazi-submit:hover { transform: translateY(-1px); box-shadow: 0 13px 32px #e51d4f42; }
.bazi-submit:active { transform: translateY(0) scale(.99); }
.bazi-submit span:last-child { font-size: 23px; font-weight: 500; }
.privacy-inline { text-align: center; font-size: 13px; }
.bazi-results { padding-top: 70px; }
.result-heading { margin-bottom: 28px; }
.chart-card { display: flex; align-items: flex-start; justify-content: space-between; gap: 32px; padding: 34px; }
.chart-card h2 { margin: 5px 0 8px; }
.chart-card p { max-width: 430px; color: var(--bazi-muted); line-height: 1.6; }
.pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.pillars div { display: grid; min-width: 94px; place-items: center; padding: 18px 12px; border-radius: 18px; background: var(--bazi-cream); }
.pillars small, .pillars span { color: #6b7773; font-size: 11px; }
.pillars strong { font-family: Georgia, "Noto Serif HK", serif; font-size: 30px; }
.pillars .unknown { opacity: .62; }
.correction { font-size: 12px; }
.interaction-tabs { display: grid; grid-template-columns: repeat(7, minmax(112px, 1fr)); gap: 8px; margin: 20px 0; padding: 7px; overflow-x: auto; border-radius: 20px; background: #dfe9e1; scrollbar-width: thin; }
.interaction-tabs button { min-height: 48px; border: 0; border-radius: 14px; background: transparent; color: #45615b; font-weight: 900; cursor: pointer; }
.interaction-tabs button.active { background: #fff; box-shadow: 0 6px 18px #183b3518; color: var(--bazi-red); }
.interaction-panel { position: relative; min-height: 390px; padding: clamp(30px, 6vw, 64px); overflow: hidden; }
.interaction-panel[hidden] { display: none; }
.interaction-panel h2 { max-width: 760px; margin: 12px 0 20px; font-family: Georgia, "Noto Serif HK", serif; font-size: clamp(34px, 6vw, 62px); line-height: 1.13; }
.interaction-panel > p { max-width: 760px; font-size: 18px; line-height: 1.8; }
.interaction-panel > small { color: var(--bazi-red); font-weight: 900; }
.panel-symbol { position: absolute; top: -26px; right: 4%; color: #b84a4210; font: 900 190px Georgia, serif; }
.element-bars { display: grid; gap: 10px; max-width: 600px; margin: 28px 0; }
.element-bars div { display: grid; grid-template-columns: 28px 1fr 30px; align-items: center; gap: 10px; }
.element-bars i { height: 9px; overflow: hidden; border-radius: 10px; background: #e9ece8; }
.element-bars b { display: block; height: 100%; border-radius: 10px; background: linear-gradient(90deg, var(--bazi-red), var(--bazi-gold)); }
.plain-note { padding: 16px 18px; border-radius: 16px; background: #f6f1e8; }
.action-box { max-width: 650px; margin-top: 30px; padding: 20px; border-left: 4px solid var(--bazi-gold); background: #f7f1e6; }
.action-box p { margin-bottom: 0; line-height: 1.7; }
.insight-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 26px 0; }
.insight-grid article { min-width: 0; padding: 18px; border: 1px solid #dfe3df; border-radius: 18px; background: #fff; }
.insight-grid strong { color: var(--bazi-red); font-size: 13px; }
.insight-grid p { margin: 8px 0 0; color: #43534f; line-height: 1.65; }
.compatibility-tool { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 18px; margin-top: 28px; padding: 22px; border-radius: 22px; background: #f4efe6; }
.compatibility-tool h3 { margin: 6px 0; font-family: Georgia, "Noto Serif HK", serif; font-size: 24px; }
.compatibility-tool > div > p { color: #62726e; line-height: 1.6; }
.compatibility-tool form { display: grid; gap: 10px; }
.compatibility-tool button, .roadmap-form button { min-height: 52px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--bazi-ink); color: #fff; font-weight: 900; }
.mini-result, .roadmap-result { grid-column: 1 / -1; padding: 22px; border: 1px solid #d6ddd8; border-radius: 20px; background: #fff; }
.mini-result[hidden], .roadmap-result[hidden] { display: none; }
.mini-result small, .roadmap-result small { color: var(--bazi-red); font-weight: 900; }
.mini-result h3, .roadmap-result h3 { margin: 8px 0 12px; font-family: Georgia, "Noto Serif HK", serif; font-size: 28px; }
.mini-result blockquote { margin: 14px 0 0; padding-left: 14px; border-left: 3px solid var(--bazi-gold); font-weight: 800; }
.match-facts { display: flex; flex-wrap: wrap; gap: 7px; }
.match-facts span { padding: 7px 10px; border-radius: 999px; background: #edf2ee; font-size: 12px; font-weight: 800; }
.safety-note { max-width: 720px; margin-top: 28px; padding: 18px; border: 1px solid #dfd8cc; border-radius: 18px; background: #f8f3ea; }
.safety-note p { margin: 7px 0 0; color: #5b6965; line-height: 1.65; }
.number-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 28px 0; }
.number-summary article { padding: 24px; border: 1px solid #e0ded8; border-radius: 22px; background: #fff; }
.number-summary span { color: #6b7773; font-size: 12px; font-weight: 900; }
.number-summary strong { display: block; margin: 8px 0; color: var(--bazi-red); font: 900 34px Georgia, "Noto Serif HK", serif; }
.number-summary p { color: #5d6c68; line-height: 1.65; }
.roadmap-panel > p { max-width: 760px; }
.roadmap-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: 820px; margin-top: 26px; }
.roadmap-form label { display: grid; gap: 8px; padding: 15px; border: 1px solid #dedbd6; border-radius: 18px; background: #fff; font-size: 13px; font-weight: 900; }
.roadmap-form select { min-height: 38px; padding: 0; border: 0; outline: 0; background: transparent; color: #222; font: inherit; }
.roadmap-form button { grid-column: 1 / -1; background: linear-gradient(90deg, #ff385c, #e51d4f); }
.roadmap-result { max-width: 820px; margin-top: 18px; }
.roadmap-result ol { display: grid; gap: 8px; padding-left: 22px; }
.roadmap-result li { padding-left: 5px; line-height: 1.6; }
.roadmap-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 16px; }
.roadmap-facts p { margin: 0; padding: 13px; border-radius: 14px; background: #f3f0e9; font-size: 13px; line-height: 1.55; }
.roadmap-facts strong { display: block; margin-bottom: 5px; color: var(--bazi-red); }
.premium-panel { background: linear-gradient(145deg, #fffdf8 58%, #f2dfc3); }
.report-price { display: grid; gap: 5px; margin: 28px 0; }
.report-price s { color: #7c8783; }
.report-price strong { font-size: 32px; }
.report-price span { color: #687772; font-size: 13px; }
.premium-panel button { padding: 0 24px; }
.premium-panel button:disabled { cursor: not-allowed; opacity: .42; }
.consent-row a { color: var(--bazi-red); }
.form-status { color: var(--bazi-red); font-weight: 750; line-height: 1.5; }
.form-status a { color: inherit; text-decoration: underline; }
.annual-card-button { display: grid; gap: 12px; width: min(280px, 74vw); margin: 28px auto; padding: 16px; border: 0; border-radius: 26px; background: #173b35; color: #fff; font-weight: 900; box-shadow: 0 22px 48px #173b3530; }
.annual-card-button img { display: block; width: 100%; border-radius: 18px; }
.annual-card-button:disabled { opacity: .5; }
.annual-card-result { display: grid; grid-template-columns: minmax(140px, 240px) 1fr; gap: 24px; align-items: center; max-width: 760px; margin: 24px auto 0; padding: 20px; border-radius: 24px; background: #f6f1e8; }
.annual-card-result[hidden] { display: none; }
.annual-card-result img { width: 100%; border-radius: 17px; }
.annual-card-result h3 { margin: 8px 0; font: 800 34px Georgia, serif; }
.annual-card-result p { line-height: 1.7; }
.share-preview-panel canvas { display: block; width: min(100%, 360px); height: auto; margin: 24px auto; border-radius: 24px; box-shadow: 0 18px 44px #173b3526; }
.share-preview-panel > button { display: block; min-height: 52px; margin: 0 auto; padding: 0 24px; border: 0; border-radius: 999px; background: var(--bazi-ink); color: white; font-weight: 900; }
.quote-toggle { display: flex; gap: 8px; margin-top: 24px; }
.quote-toggle button { min-height: 42px; padding: 0 17px; border: 1px solid #d8d8d4; border-radius: 999px; background: #fff; }
.quote-toggle button.active { background: var(--bazi-ink); color: #fff; }
.free-chapters { display: grid; gap: 12px; margin: 28px 0; }
.free-chapters article { padding: 20px; border: 1px solid #e0ded8; border-radius: 20px; background: #fff; }
.free-chapters h3 { margin: 6px 0 10px; font: 800 24px Georgia, serif; }
.free-chapters p { line-height: 1.7; }
.blurred-windows { display: grid; gap: 9px; max-width: 640px; margin: 24px 0; }
.blurred-windows span { padding: 15px 18px; border-radius: 14px; background: #fff; }
.blurred-windows b { filter: blur(7px); user-select: none; }

/* 命書母版：背景只提供紙張與山水，不把任何個人文字烘進圖片。 */
.full-report { width: min(100%, 850px); margin: 28px auto 0; overflow: hidden; border-color: #d1c5ae; background: #e9dfcd; }
.report-sheet { position: relative; display: flex; flex-direction: column; aspect-ratio: 210 / 297; min-height: 1040px; padding: 52px 62px 42px; overflow: hidden; border-bottom: 1px solid #cdbfa7; background-color: #f7f1e6; background-image: var(--report-paper); background-position: center; background-size: cover; color: #1d302c; }
.report-sheet::before { position: absolute; inset: 24px; border: 1px solid #a83f385c; content: ""; pointer-events: none; }
.report-page-header, .report-folio { position: relative; z-index: 1; display: flex; justify-content: space-between; color: #725c4a; font-size: 11px; font-weight: 800; letter-spacing: .15em; }
.report-page-header { padding: 0 8px 15px; border-bottom: 1px solid #9e3f3955; }
.report-folio { margin-top: auto; padding: 15px 8px 0; border-top: 1px solid #9e3f3930; }
.report-safe-zone { position: relative; z-index: 1; flex: 1; min-height: 0; padding: 26px 14px 18px; }
.report-safe-zone > small, .report-kicker { display: block; color: var(--bazi-red); font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.report-safe-zone > h2 { margin: 8px 0 20px; font-family: Georgia, "Noto Serif HK", serif; font-size: clamp(34px, 4.4vw, 58px); line-height: 1.08; }
.report-safe-zone p { line-height: 1.72; }
.report-cover { color: #172f2a; }
.report-cover::before { border-width: 2px; }
.report-cover-main { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); flex: 1; align-items: stretch; gap: 34px; padding: 20px 12px; }
.report-cover-copy { display: flex; flex-direction: column; justify-content: center; padding: 30px 20px 30px 18px; border-right: 1px solid #a83f3860; }
.report-cover-copy > small { color: var(--bazi-red); font-weight: 900; letter-spacing: .15em; }
.report-cover h1 { margin: 24px 0 26px; font-family: Georgia, "Noto Serif HK", serif; font-size: clamp(50px, 7vw, 86px); line-height: 1.02; letter-spacing: -.05em; }
.report-cover p { margin: 4px 0; font-size: 17px; }
.report-edition { color: #7b6350; }
.report-cover-chart { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; align-content: center; }
.report-cover-chart div { display: grid; min-height: 145px; place-items: center; border: 1px solid #a83f386b; background: #fffaf0a8; }
.report-cover-chart small { color: #795f4a; font-size: 11px; letter-spacing: .18em; }
.report-cover-chart strong { font-family: Georgia, "Noto Serif HK", serif; font-size: 43px; letter-spacing: .12em; }
.cover-seal { position: absolute; right: 45px; bottom: 54px; z-index: 2; display: grid; width: 70px; height: 70px; place-items: center; border: 2px solid var(--bazi-red); border-radius: 50%; color: var(--bazi-red); font: 900 20px Georgia, serif; text-align: center; transform: rotate(-5deg); }

.report-fact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 18px 0; }
.report-fact-grid > div { display: grid; gap: 5px; padding: 14px 16px; border: 1px solid #aa8c6c55; background: #fffaf0a8; }
.report-fact-grid small { color: #806b58; font-size: 11px; }
.report-fact-grid strong { overflow-wrap: anywhere; font-family: Georgia, "Noto Serif HK", serif; font-size: 19px; }
.report-index { display: grid; grid-template-columns: repeat(5, 1fr); gap: 9px; margin-top: 28px; }
.report-index div { display: grid; gap: 8px; padding: 17px 12px; border-top: 2px solid var(--bazi-red); background: #fdf8edb5; }
.report-index b { color: var(--bazi-red); font-family: Georgia, serif; font-size: 23px; }
.report-index span { font-size: 13px; font-weight: 800; }
.report-method-line { margin-top: 24px; color: #665b50; font-size: 12px; }
.report-two-column { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.report-two-column > div, .report-life-columns > article { min-width: 0; padding: 24px; border: 1px solid #aa8c6c4d; background: #fffaf0b8; }
.report-two-column p { font-size: 14px; }
.report-element-grid { display: grid; gap: 8px; margin-top: 18px; }
.report-element-grid > div { display: grid; grid-template-columns: 24px 1fr 30px; align-items: center; gap: 8px; font-size: 12px; }
.report-element-grid i { height: 7px; overflow: hidden; border-radius: 7px; background: #dfd7c7; }
.report-element-grid b { display: block; height: 100%; background: linear-gradient(90deg, var(--bazi-red), var(--bazi-gold)); }
.report-god-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }
.report-god-row span { padding: 7px 10px; border: 1px solid #a83f3847; border-radius: 999px; font-size: 11px; }
.report-god-row b { color: var(--bazi-red); }
.report-life-columns h3 { margin: 8px 0 16px; font-family: Georgia, "Noto Serif HK", serif; font-size: 28px; }
.report-question-list { display: grid; gap: 8px; margin: 18px 0 0; padding-left: 24px; }
.report-question-list li { padding-left: 5px; color: #5c5147; font-size: 13px; line-height: 1.55; }

.report-chapter-note { margin: -8px 0 18px; color: #685b4f; font-size: 12px; }
.decade-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.decade-entry { padding: 14px 16px; border: 1px solid #aa8c6c55; background: #fffaf0c7; }
.decade-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.decade-heading strong { color: var(--bazi-red); font: 900 25px Georgia, "Noto Serif HK", serif; letter-spacing: .08em; }
.decade-heading span { color: #6d5b4e; font-size: 11px; }
.decade-entry h3 { margin: 5px 0 8px; font-size: 15px; }
.decade-entry > p { margin: 5px 0; font-size: 11px; line-height: 1.5; }
.decade-entry dl { display: grid; grid-template-columns: 54px 1fr; gap: 3px 8px; margin: 8px 0 0; font-size: 10px; line-height: 1.42; }
.decade-entry dt { color: var(--bazi-red); font-weight: 900; }
.decade-entry dd { margin: 0; }
.year-pair { display: grid; gap: 12px; }
.year-entry { padding: 15px 18px; border: 1px solid #aa8c6c55; background: #fffaf0c9; }
.year-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.year-heading > div { display: flex; align-items: baseline; gap: 12px; }
.year-heading strong { color: var(--bazi-red); font: 900 32px Georgia, serif; }
.year-heading span { color: #715f50; font-size: 12px; }
.year-heading em { font-family: Georgia, "Noto Serif HK", serif; font-size: 17px; font-style: normal; font-weight: 900; }
.year-tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.year-tags span { padding: 5px 9px; border-radius: 999px; background: #e8ddcb; color: #5f5348; font-size: 10px; }
.year-entry > p { margin: 5px 0; font-size: 11px; line-height: 1.5; }
.year-summary { font-weight: 800; }
.year-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 9px; }
.year-detail-grid > div { padding: 9px 10px; border-left: 2px solid #a83f3866; background: #f7f0e2; }
.year-detail-grid small { color: var(--bazi-red); font-size: 9px; font-weight: 900; }
.year-detail-grid p { margin: 4px 0 0; font-size: 10px; line-height: 1.42; }
.year-entry blockquote { margin: 9px 0 0; padding: 7px 11px; border-left: 3px solid var(--bazi-gold); color: #4d463f; font: 700 11px Georgia, "Noto Serif HK", serif; }
.report-disclaimer .report-safe-zone { display: flex; flex-direction: column; justify-content: center; max-width: 760px; }
.report-disclaimer .report-safe-zone p { font-size: 16px; }
.report-card-feature { display: grid; grid-template-columns: minmax(180px, 280px) 1fr; gap: 28px; align-items: center; }
.report-card-feature img { width: 100%; border-radius: 16px; }
.month-entry h3 { margin: 0 0 22px; font: 800 30px Georgia, serif; }
.month-entry section { padding: 11px 0; border-top: 1px solid #aa8c6c55; }
.month-entry section small { color: var(--bazi-red); font-weight: 900; }
.month-entry section p { margin: 5px 0 0; }
.window-list { display: grid; gap: 16px; }
.window-list article { padding: 20px; border: 1px solid #aa8c6c55; background: #fffaf0b8; }
.window-list h3 { margin: 8px 0; font: 800 25px Georgia, serif; }
.report-actions { display: flex; gap: 12px; padding: 30px 64px; background: #fffdf8; }
.report-actions button { padding: 0 24px; }
.report-actions .secondary { background: #e7ede9; color: var(--bazi-ink); }

@media (max-width: 760px) {
  .bazi-page header nav { display: none; }
  .bazi-shell { width: calc(100% - 22px); padding-top: 24px; }
  .bazi-hero { padding: 26px 5px 38px; }
  .bazi-hero h1 { font-size: 43px; }
  .bazi-hero h1 em { display: inline; }
  .bazi-hero > p { font-size: 16px; }
  .method-note { display: grid; }
  .bazi-form-card { grid-template-columns: minmax(0, 1fr); gap: 16px; padding: 24px; border-radius: 22px; }
  .bazi-form-card > div:first-child { padding: 2px 2px 8px; }
  .birth-picker { grid-template-columns: 1fr; }
  .birth-picker .input-tile + .input-tile { border-top: 1px solid #e7e4df; border-left: 0; }
  .input-tile, .select-tile { padding: 14px 15px 12px; }
  .location-grid { grid-template-columns: 1fr; }
  .dst-choice { grid-template-columns: 1fr; }
  .bazi-results { padding-top: 44px; }
  .chart-card { display: grid; padding: 23px; }
  .pillars { width: 100%; gap: 6px; }
  .pillars div { min-width: 0; padding: 14px 4px; }
  .pillars strong { font-size: 24px; }
  .pillars span { font-size: 9px; }
  .interaction-tabs { position: sticky; top: 6px; z-index: 12; grid-template-columns: repeat(7, minmax(112px, 1fr)); overflow-x: auto; }
  .interaction-panel { min-height: 430px; padding: 28px 24px; border-radius: 22px; }
  .interaction-panel h2 { font-size: 37px; }
  .interaction-panel > p { font-size: 16px; }
  .panel-symbol { font-size: 140px; }
  .insight-grid, .compatibility-tool, .number-summary, .roadmap-form, .roadmap-facts, .annual-card-result, .report-card-feature { grid-template-columns: 1fr; }
  .compatibility-tool { padding: 17px; }
  .roadmap-form button { grid-column: auto; }
  .full-report { max-width: 100%; margin-inline: 0; border-radius: 20px; }
  .report-sheet { aspect-ratio: auto; min-height: 0; padding: 36px 28px 30px; }
  .report-sheet::before { inset: 12px; }
  .report-cover-main { grid-template-columns: 1fr; gap: 16px; padding: 12px 0; }
  .report-cover-copy { padding: 24px 8px; border-right: 0; border-bottom: 1px solid #a83f3860; }
  .report-cover h1 { font-size: 48px; }
  .report-cover-chart { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5px; }
  .report-cover-chart div { min-height: 92px; }
  .report-cover-chart strong { font-size: 24px; letter-spacing: 0; }
  .cover-seal { right: 30px; bottom: 49px; width: 56px; height: 56px; font-size: 16px; }
  .report-safe-zone { padding: 22px 2px 16px; }
  .report-safe-zone > h2 { font-size: 34px; }
  .report-fact-grid, .report-two-column, .decade-grid { grid-template-columns: 1fr; }
  .report-index { grid-template-columns: repeat(2, 1fr); }
  .report-two-column > div, .report-life-columns > article { padding: 18px; }
  .decade-entry { padding: 16px; }
  .year-heading { align-items: flex-start; }
  .year-heading { display: grid; gap: 4px; }
  .year-heading > div { justify-content: space-between; }
  .year-heading em { font-size: 16px; }
  .year-detail-grid { grid-template-columns: 1fr; }
  .year-entry { padding: 15px; }
  .report-actions { display: grid; padding: 24px; }
}

@media print {
  html, body { background: #fff; print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .no-print, .interaction-panel, .interaction-tabs, .chart-card { display: none !important; }
  .bazi-shell { width: 100%; padding: 0; }
  .bazi-results { padding: 0; }
  .full-report { display: block !important; margin: 0; overflow: visible; border: 0; border-radius: 0; box-shadow: none; background: #fff; }
  .report-sheet { width: 210mm; height: 297mm; min-height: 297mm; padding: 14mm 17mm 11mm; break-after: page; page-break-after: always; }
  .report-sheet::before { inset: 7mm; }
  .report-cover h1 { font-size: 54pt; }
  .report-safe-zone > h2 { font-size: 30pt; }
  .report-disclaimer { break-after: auto; page-break-after: auto; }
  .report-actions { display: none !important; }
  .full-report[hidden] { display: none !important; }
  @page { size: A4 portrait; margin: 0; }
}
