:root {
    --fortune-blue: #086df5;
    --fortune-ink: #10284e;
    --fortune-muted: #617391;
    --fortune-line: #dce5f1;
    --fortune-soft: #f5f8ff;
}

* { box-sizing: border-box; }
.fortune-svg-defs { position: absolute; width: 0; height: 0; overflow: hidden; }
.fortune-app { color: var(--fortune-ink); }
.fortune-app a { text-decoration: none; }
.fortune-app button, .fortune-app input, .fortune-app select { font: inherit; }
.fortune-app svg { fill: none; stroke: currentColor; stroke-width: 2.15; stroke-linecap: round; stroke-linejoin: round; }
.fortune-main { width: min(1180px, calc(100% - 64px)); flex: 1 1 auto; margin: 0 auto; padding: 24px 0 30px; }
.fortune-home-main { width: min(1040px, calc(100% - 70px)); padding-top: 48px; }
.fortune-breadcrumb { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; color: #536987; font-size: 14px; }
.fortune-breadcrumb a { color: #536987; }
.fortune-breadcrumb a:hover { color: var(--fortune-blue); }

.fortune-hero { position: relative; padding: 8px 90px 30px; text-align: center; }
.fortune-hero.compact { padding-top: 0; padding-bottom: 20px; }
.fortune-hero h1 { margin: 0; color: var(--fortune-ink); font-size: clamp(34px, 3vw, 48px); line-height: 1.2; letter-spacing: .02em; }
.fortune-hero.compact h1 { font-size: clamp(31px, 2.5vw, 42px); }
.fortune-hero p { margin: 14px 0 0; color: var(--fortune-muted); font-size: 17px; }
.fortune-deco { position: absolute; top: 14px; color: #bfcee3; font-size: 38px; font-weight: 300; opacity: .9; }
.fortune-deco.deco-left { left: 24px; transform: rotate(-9deg); }
.fortune-deco.deco-right { right: 24px; }

.fortune-home-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.fortune-entry { min-height: 207px; padding: 24px 20px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid var(--fortune-line); border-radius: 15px; background: #fff; color: var(--fortune-ink); text-align: center; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.fortune-entry:hover { border-color: #84b5ff; box-shadow: 0 12px 32px rgba(23,92,180,.09); transform: translateY(-2px); }
.fortune-entry > svg, .fortune-entry > img { width: 72px; height: 72px; margin-bottom: 12px; object-fit: contain; color: var(--fortune-blue); }
.fortune-entry > img { width: 82px; height: 67px; mix-blend-mode: multiply; }
.fortune-entry h2 { margin: 0; font-size: 22px; line-height: 1.3; }
.fortune-entry p { margin: 9px 0 0; color: #74849d; font-size: 15px; }
.fortune-home-bottom { display: grid; grid-template-columns: minmax(0, 1fr) 295px; gap: 24px; margin-top: 24px; }
.fortune-methods, .fortune-explain { min-height: 185px; padding: 24px 28px; border: 1px solid var(--fortune-line); border-radius: 14px; background: #fff; }
.fortune-methods h2, .fortune-explain h2 { margin: 0; font-size: 18px; }
.fortune-explain h2 { display: flex; align-items: center; gap: 7px; }
.fortune-explain h2 svg, .fortune-explain h2 img { width: 19px; height: 19px; flex: 0 0 19px; object-fit: contain; }
.fortune-method-row { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 15px; margin-top: 25px; }
.fortune-method-row span { display: grid; justify-items: center; gap: 8px; color: #536987; font-size: 14px; text-align: center; }
.fortune-method-row i { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border: 2px solid var(--fortune-blue); border-radius: 50%; color: var(--fortune-blue); font-size: 23px; font-style: normal; }
.fortune-method-row i svg { width: 27px; height: 27px; }
.fortune-method-row b { color: #7d8da4; font-size: 24px; font-weight: 400; }
.fortune-explain p { margin: 16px 0 0; display: flex; align-items: center; gap: 8px; color: #677894; font-size: 14px; }
.fortune-explain p svg, .fortune-explain p img { width: 18px; height: 18px; flex: 0 0 18px; color: var(--fortune-blue); object-fit: contain; filter: brightness(0) saturate(100%) invert(37%) sepia(95%) saturate(4215%) hue-rotate(208deg) brightness(99%) contrast(98%); }
.fortune-disclaimer { margin: 20px auto 0; display: flex; align-items: center; justify-content: center; gap: 9px; color: #6b7d98; font-size: 14px; text-align: center; }
.fortune-disclaimer svg { width: 22px; height: 22px; flex: 0 0 22px; }

.fortune-two-column, .fortune-result-layout { display: grid; grid-template-columns: minmax(0, 1fr) 315px; gap: 22px; align-items: stretch; }
.fortune-panel { border: 1px solid var(--fortune-line); border-radius: 15px; background: #fff; }
.fortune-setup { padding: 22px 26px 18px; }
.fortune-setup > h2 { margin: 0 0 14px; font-size: 19px; }
.fortune-setup > h3 { margin: 16px 0 8px; font-size: 16px; }
.zodiac-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px 16px; }
.fortune-choice { min-height: 78px; padding: 10px 14px; display: flex; align-items: center; gap: 15px; border: 1px solid #d8e1ed; border-radius: 10px; background: #fff; color: var(--fortune-ink); cursor: pointer; text-align: left; }
.fortune-choice:hover, .fortune-choice.active, .animal-choice:hover, .animal-choice.active { border-color: var(--fortune-blue); box-shadow: inset 0 0 0 1px var(--fortune-blue); }
.fortune-choice.active, .animal-choice.active { position: relative; }
.fortune-choice.active::after, .animal-choice.active::after, .fortune-topic-grid button.active::after { content: '✓'; position: absolute; top: 7px; right: 7px; width: 19px; height: 19px; display: grid; place-items: center; border-radius: 50%; background: var(--fortune-blue); color: #fff; font-size: 12px; }
.fortune-choice img { width: 50px; height: 50px; object-fit: contain; mix-blend-mode: multiply; }
.fortune-choice span { display: grid; gap: 6px; }
.fortune-choice strong { font-size: 16px; }
.fortune-choice small { color: #405474; font-size: 13px; }
.fortune-helper { margin: 10px 0 0; color: var(--fortune-blue); font-size: 14px; text-align: left; }
.fortune-helper small { display: block; margin-top: 4px; color: #74849e; font-size: 12px; }
.fortune-helper.left { color: #75849b; }
.fortune-segments { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.fortune-segments button { min-height: 38px; border: 1px solid #d3ddea; border-radius: 9px; background: #fff; color: #3d5274; cursor: pointer; }
.fortune-segments button.active { border-color: var(--fortune-blue); background: var(--fortune-blue); color: #fff; }
.fortune-topic-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.fortune-topic-grid button { position: relative; min-height: 82px; padding: 10px 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; border: 1px solid #d8e1ed; border-radius: 10px; background: #fff; color: var(--fortune-ink); cursor: pointer; }
.fortune-topic-grid button:hover, .fortune-topic-grid button.active { border-color: var(--fortune-blue); color: var(--fortune-blue); box-shadow: inset 0 0 0 1px var(--fortune-blue); }
.fortune-topic-grid svg { width: 37px; height: 37px; }
.fortune-primary { min-width: 195px; min-height: 43px; margin: 13px auto 0; padding: 0 34px; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 8px; background: var(--fortune-blue); color: #fff; font-size: 18px; font-weight: 700; cursor: pointer; }
.fortune-primary:hover { background: #005dda; }
.fortune-primary.wide { width: 100%; }
.fortune-depth-control { margin-top: 18px; }
.fortune-depth-control h3 { margin: 0 0 9px; font-size: 16px; }
.fortune-depth-options { gap: 9px; }
.fortune-depth-options button { min-width: 0; min-height: 54px; padding: 6px 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; font-size: 13px; line-height: 1.3; }
.fortune-depth-options button span { display: block; }
.fortune-depth-options button small { display: block; font-size: 10px; font-weight: 500; line-height: 1.3; opacity: .78; }
.fortune-depth-options button.is-premium-locked:disabled { border-color: #d9e1eb; background: #f6f8fb; color: #8795a8; cursor: not-allowed; opacity: 1; }
.fortune-depth-note { margin: 8px 0 0; color: #78889d; font-size: 11px; line-height: 1.55; }

.fortune-side-info { min-height: 100%; padding: 28px 28px 22px; display: flex; flex-direction: column; }
.fortune-side-info h2 { margin: 0 0 12px; font-size: 20px; }
.fortune-side-info > div { min-height: 102px; display: flex; align-items: center; gap: 18px; border-bottom: 1px solid #e4eaf2; }
.fortune-side-info > div:last-of-type { border-bottom: 0; }
.fortune-side-info > div > svg { width: 37px; height: 37px; flex: 0 0 37px; color: var(--fortune-blue); }
.fortune-side-info p { margin: 0; }
.fortune-side-info strong, .fortune-side-info span { display: block; }
.fortune-side-info strong { font-size: 15px; line-height: 1.5; }
.fortune-side-info span { margin-top: 4px; color: #6e7f99; font-size: 13px; line-height: 1.55; }
.fortune-side-info > a { margin-top: auto; padding-top: 22px; border-top: 1px solid #e4eaf2; color: var(--fortune-blue); font-size: 15px; }

.animal-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 13px; }
.animal-choice { min-height: 95px; position: relative; padding: 6px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid #d8e1ed; border-radius: 10px; background: #fff; color: var(--fortune-ink); cursor: pointer; }
.animal-choice img { width: 58px; height: 50px; object-fit: contain; mix-blend-mode: multiply; }
.animal-choice span { margin-top: 3px; font-size: 15px; }

.fortune-step { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 12px; }
.fortune-step > b { width: 28px; height: 28px; flex: 0 0 28px; display: grid; place-items: center; border-radius: 50%; background: var(--fortune-blue); color: #fff; }
.fortune-step h2 { margin: 1px 0 0; font-size: 19px; }
.fortune-step p { margin: 5px 0 0; color: #6a7b95; font-size: 13px; }
.fortune-calendar-switch { display: grid; grid-template-columns: repeat(2, 130px); gap: 0; margin: 12px 0 14px 41px; }
.fortune-calendar-switch button { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid #cfd9e6; background: #fff; color: #536681; cursor: pointer; }
.fortune-calendar-switch button svg, .fortune-calendar-switch button img { width: 18px; height: 18px; flex: 0 0 18px; object-fit: contain; filter: brightness(0) saturate(100%) invert(43%) sepia(13%) saturate(1012%) hue-rotate(178deg) brightness(92%) contrast(89%); }
.fortune-calendar-switch button:first-child { border-radius: 7px 0 0 7px; }
.fortune-calendar-switch button:last-child { border-radius: 0 7px 7px 0; }
.fortune-calendar-switch button.active { border-color: var(--fortune-blue); color: var(--fortune-blue); box-shadow: inset 0 0 0 1px var(--fortune-blue); }
.fortune-calendar-switch button.active svg, .fortune-calendar-switch button.active img { filter: brightness(0) saturate(100%) invert(37%) sepia(95%) saturate(4215%) hue-rotate(208deg) brightness(99%) contrast(98%); }
.fortune-calendar-switch button:focus { outline: 0; }
.fortune-calendar-switch button:focus-visible { outline: 2px solid #8dbbff; outline-offset: 2px; }
.birth-setup > h3 { margin-left: 41px; }
.fortune-field-grid { display: grid; gap: 16px; margin-left: 41px; }
.fortune-field-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.fortune-field-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 14px; }
.fortune-field-grid label span { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 700; }
.fortune-field-grid input, .fortune-field-grid select { width: 100%; min-height: 47px; padding: 0 14px; border: 1px solid #ced8e6; border-radius: 8px; background: #fff; color: #60708a; outline: 0; }
.birth-setup hr { margin: 20px 0; border: 0; border-top: 1px solid #e3e9f1; }
.birth-topics { margin-left: 20px; }
.birth-topics button { min-height: 128px; font-size: 16px; line-height: 1.5; }
.birth-topics svg { width: 47px; height: 47px; }
.fortune-note { margin: 15px 0 0; padding: 10px 14px; border: 1px solid #bad6ff; border-radius: 7px; background: #edf5ff; color: #536987; font-size: 13px; line-height: 1.55; }
.birth-side > a:first-of-type { margin-top: 16px; border-top: 1px solid #e4eaf2; }
.birth-side > a + a { margin-top: 12px; padding-top: 0; border-top: 0; }

.fortune-large-input { width: 100%; min-height: 52px; padding: 0 15px; border: 1px solid #c6d1e0; border-radius: 8px; color: var(--fortune-ink); outline: 0; }
.fortune-large-input:focus { border-color: var(--fortune-blue); box-shadow: 0 0 0 3px #edf5ff; }
.fortune-large-input.slim { min-height: 46px; }
.fortune-inline-help { min-height: 53px; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #718199; font-size: 13px; }
.fortune-inline-help button { min-height: 38px; padding: 0 16px; border: 1px solid #cbd6e5; border-radius: 8px; background: #fff; color: #405574; cursor: pointer; }
.name-topics button { min-height: 140px; padding: 15px 8px; color: var(--fortune-ink); }
.name-topics button > svg, .name-topics button > img { width: 48px !important; height: 48px !important; flex: 0 0 48px; object-fit: contain; }
.name-topics button > .fortune-name-light-icon { box-sizing: border-box; padding: 8px; border: 2px solid var(--fortune-blue); border-radius: 50%; color: var(--fortune-blue); }
.name-topics button strong { font-size: 15px; }
.name-topics button small { color: #74849d; font-size: 12px; }
.relationship-topics button { min-height: 128px; font-size: 16px; font-weight: 700; }
.fortune-app[data-page="relationship"] .relationship-topics button img { filter: brightness(0) saturate(100%) invert(12%) sepia(28%) saturate(2420%) hue-rotate(190deg) brightness(83%) contrast(104%); }
.fortune-app[data-page="relationship"] .relationship-topics button.active img { filter: brightness(0) saturate(100%) invert(37%) sepia(95%) saturate(4215%) hue-rotate(208deg) brightness(99%) contrast(98%); }
.relationship-topics + h2 { margin-top: 22px; }

.fortune-result-heading { position: relative; display: flex; align-items: flex-end; justify-content: center; gap: 24px; padding: 12px 220px 22px; text-align: center; }
.fortune-result-heading h1 { margin: 0; font-size: clamp(31px, 2.5vw, 42px); line-height: 1.25; }
.fortune-result-heading p { margin: 8px 0 0; color: var(--fortune-muted); font-size: 16px; }
.fortune-result-heading > div:last-child:not(:first-child) { position: absolute; right: 6px; bottom: 24px; display: flex; gap: 18px; color: var(--fortune-blue); }
.fortune-result-heading a, .fortune-result-heading button { padding: 0; border: 0; background: transparent; color: var(--fortune-blue); cursor: pointer; white-space: nowrap; }
.fortune-result-toolbar { min-height: 48px; margin-top: -5px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.fortune-result-toolbar .fortune-segments { width: 330px; gap: 10px; }
.fortune-result-toolbar > div:last-child { display: flex; align-items: center; gap: 18px; }
.fortune-result-toolbar a, .fortune-result-toolbar button { border: 0; background: transparent; color: var(--fortune-blue); cursor: pointer; }
.fortune-result-toolbar .fortune-segments button { border: 1px solid #d3ddea; color: #3d5274; }
.fortune-result-toolbar .fortune-segments button.active { border-color: var(--fortune-blue); background: var(--fortune-blue); color: #fff; }
.fortune-result-toolbar .fortune-segments button:disabled { opacity: .58; cursor: wait; }
.fortune-result-layout { align-items: start; }
.fortune-structure-status { min-height: 52px; margin-bottom: 14px; padding: 9px 14px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid #bfd7fa; border-radius: 8px; background: #f7faff; }
.fortune-structure-status > span { min-width: 0; display: flex; align-items: center; gap: 8px; }
.fortune-structure-status i { width: 27px; height: 27px; flex: 0 0 27px; display: grid; place-items: center; border-radius: 50%; background: #e6f1ff; color: var(--fortune-blue); font-style: normal; }
.fortune-structure-status b { font-size: 13px; white-space: nowrap; }
.fortune-structure-status small { min-width: 0; color: var(--fortune-muted); font-size: 12px; overflow-wrap: anywhere; }
.fortune-structure-status > div { display: flex; align-items: center; gap: 13px; white-space: nowrap; }
.fortune-structure-status em { color: var(--fortune-muted); font-size: 11px; font-style: normal; }
.fortune-structure-status button, .fortune-structure-status a { padding: 0; border: 0; background: transparent; color: var(--fortune-blue); cursor: pointer; font-size: 12px; }
.fortune-structure-status button:disabled { color: var(--fortune-muted); cursor: wait; }
.fortune-structure-status.has-error { border-color: #efb0b0; background: #fff8f8; }
.is-ai-filling .fortune-keywords,
.is-ai-filling .fortune-reading-grid article,
.is-ai-filling .fortune-question-strip,
.is-ai-filling .fortune-action-strip { animation: fortune-section-pulse 1.05s ease-in-out infinite alternate; pointer-events: none; }
@keyframes fortune-section-pulse { from { opacity: .38; } to { opacity: .72; } }
body[data-ui-theme="dark"] .fortune-structure-status { border-color: var(--fuuvo-dark-blue-line); background: var(--fuuvo-dark-surface-soft); }
body[data-ui-theme="dark"] .fortune-structure-status i { background: var(--fuuvo-dark-blue-soft); }
body[data-ui-theme="dark"] .fortune-structure-status.has-error { border-color: rgba(255,141,152,.45); background: var(--fuuvo-dark-danger-bg); }
.fortune-keywords { min-height: 178px; padding: 28px 28px 22px; border: 1px solid #cadbff; border-radius: 14px; background: radial-gradient(circle at 83% 18%, rgba(149,145,255,.18), transparent 33%), linear-gradient(115deg,#f7f9ff,#fff); }
.fortune-keywords.mint { background: radial-gradient(circle at 80% 20%, rgba(117,232,219,.14), transparent 34%), linear-gradient(115deg,#f5fbff,#fff); }
.fortune-keywords h2 { margin: 0 0 18px; font-size: 19px; }
.fortune-keywords > div { display: flex; flex-wrap: wrap; gap: 18px; }
.fortune-keywords span { min-width: 135px; min-height: 44px; padding: 0 23px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1.5px solid var(--fortune-blue); border-radius: 24px; color: var(--fortune-blue); font-size: 17px; font-weight: 700; }
.fortune-keywords span svg, .fortune-keywords span img { width: 22px; height: 22px; flex: 0 0 22px; object-fit: contain; }
.fortune-keywords p { margin: 20px 0 0; color: #536987; font-size: 14px; }
.fortune-reading-grid { display: grid; gap: 14px; margin-top: 18px; }
.fortune-reading-grid.four, .fortune-reading-grid.three { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
.fortune-reading-grid.three article:last-child:nth-child(odd) { grid-column: 1 / -1; }
.fortune-reading-grid article { min-height: 245px; padding: 24px 17px 20px; border: 1px solid var(--fortune-line); border-radius: 13px; background: #fff; text-align: center; }
.fortune-reading-grid article > svg { width: 42px; height: 42px; color: var(--fortune-blue); }
.fortune-reading-grid h3 { margin: 11px 0 11px; font-size: 17px; }
.fortune-reading-grid p { margin: 8px 0 0; color: #526683; font-size: 14px; line-height: 1.75; text-align: left; }
.fortune-reading-grid.four p { text-align: left; }
.fortune-app[data-page="name-result"] .name-reading article { text-align: left; }
.fortune-app[data-page="name-result"] .fortune-reading-title { display: flex; align-items: center; gap: 9px; margin-bottom: 14px; }
.fortune-app[data-page="name-result"] .fortune-reading-title svg,
.fortune-app[data-page="name-result"] .fortune-reading-title img { width: 34px; height: 34px; flex: 0 0 34px; object-fit: contain; }
.fortune-app[data-page="name-result"] .fortune-reading-title h3 { margin: 0; }
.fortune-question-strip, .fortune-action-strip { min-height: 102px; margin-top: 18px; padding: 20px 24px; display: flex; align-items: center; gap: 20px; border: 1px solid #91bbff; border-radius: 12px; background: #fff; }
.fortune-question-strip > svg, .fortune-action-strip > svg { width: 42px; height: 42px; flex: 0 0 42px; color: var(--fortune-blue); }
.fortune-question-strip h3, .fortune-action-strip h3 { margin: 0; font-size: 17px; }
.fortune-question-strip p, .fortune-action-strip p { margin: 7px 0 0; color: #536987; font-size: 14px; }
.fortune-action-strip b { margin-left: auto; font-size: 32px; font-weight: 300; }
.fortune-back-link { margin: 25px auto 0; display: table; color: var(--fortune-blue); font-size: 16px; }
.fortune-result-side { display: grid; gap: 15px; }
.fortune-continue { padding: 24px 22px 18px; }
.fortune-continue h2 { margin: 0 0 13px; font-size: 19px; }
.fortune-continue > a { min-height: 62px; margin-top: 10px; padding: 0 13px; display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 10px; border: 1px solid var(--fortune-line); border-radius: 9px; color: var(--fortune-ink); font-size: 14px; }
.fortune-continue > a:hover { border-color: #8dbbff; color: var(--fortune-blue); }
.fortune-continue > a svg { width: 27px; height: 27px; color: var(--fortune-blue); }
.fortune-continue > a b { font-size: 24px; font-weight: 300; }
.fortune-mini-chat { min-height: 92px; margin-top: 18px; padding: 0 11px 0 14px; display: flex; align-items: center; gap: 8px; border: 1px solid #9eb6d7; border-radius: 10px; }
.fortune-mini-chat input { min-width: 0; flex: 1; border: 0; outline: 0; color: var(--fortune-ink); }
.fortune-mini-chat button, .fortune-chat-form button { width: 43px; height: 43px; flex: 0 0 43px; display: grid; place-items: center; border: 0; border-radius: 50%; background: var(--fortune-blue); color: #fff; cursor: pointer; }
.fortune-mini-chat button svg, .fortune-chat-form button svg { width: 22px; height: 22px; }
.fortune-mini-chat button img, .fortune-chat-form button img { width: 22px; height: 22px; display: block; object-fit: contain; filter: brightness(0) invert(1); }
.fortune-side-disclaimer { min-height: 120px; padding: 20px 22px; display: flex; align-items: flex-start; gap: 13px; color: #536987; }
.fortune-side-disclaimer > svg { width: 30px; height: 30px; flex: 0 0 30px; color: var(--fortune-blue); }
.fortune-side-disclaimer p { margin: 0; font-size: 13px; line-height: 1.7; }
.pinyin { width: 128px; min-height: 54px; margin: 16px auto; display: grid; place-items: center; border: 1px solid #bad3fb; border-radius: 13px; background: #f6f9ff; color: var(--fortune-blue); font-size: 26px; }
.relationship-reading blockquote { margin: 18px 0 0; padding: 22px 16px; border: 0; border-radius: 10px; background: linear-gradient(#fafbfe,#fff); color: #516581; font-size: 15px; line-height: 1.9; text-align: left; }
.relationship-reading .mini-question { padding: 14px; border: 1px solid #e0e7f1; border-radius: 10px; }
.relationship-reading .large-center { color: var(--fortune-ink); font-size: 45px; text-align: center; }

.inspiration-main { width: min(1190px, calc(100% - 64px)); }
.inspiration-layout { grid-template-columns: minmax(0, 1fr) 325px; }
.inspiration-heading { min-height: 86px; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.inspiration-heading h1 { margin: 0; font-size: 38px; }
.inspiration-heading p { margin: 8px 0 0; color: var(--fortune-muted); }
.fortune-inspiration-ai-status { display: block; margin-top: 7px; color: var(--fortune-blue); font-size: 12px; }
.inspiration-card.is-ai-filling .inspiration-points,
.inspiration-card.is-ai-filling > span,
.inspiration-card.is-ai-filling > h2 { animation: fortune-section-pulse 1.05s ease-in-out infinite alternate; }
.inspiration-heading button:disabled, .inspiration-actions button:disabled { opacity: .58; cursor: wait; }
.fortune-text-button { border: 0; background: transparent; color: var(--fortune-blue); cursor: pointer; }
.inspiration-card { min-height: 475px; padding: 40px 60px 30px; border: 1px solid #9fc1ff; border-radius: 18px; background: radial-gradient(circle at 85% 16%,rgba(180,185,255,.35),transparent 30%), radial-gradient(circle at 15% 85%,rgba(210,222,255,.4),transparent 26%), linear-gradient(135deg,#f5f3ff,#f8fbff); text-align: left; }
.inspiration-card > span { min-height: 32px; padding: 0 14px; display: inline-flex; align-items: center; border: 1px solid #a6b8ff; border-radius: 9px; color: #405ff6; font-size: 13px; }
.inspiration-card h2 { margin: 43px 0 24px; font-size: clamp(28px, 2.4vw, 38px); line-height: 1.6; }
.inspiration-divider { color: #9eb1d2; }
.inspiration-points { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 28px; }
.inspiration-points > div { min-height: 135px; padding: 0 24px; border-right: 1px solid #cbd7ea; text-align: left; }
.inspiration-points > div:last-child { border-right: 0; }
.inspiration-points svg { width: 43px; height: 43px; color: var(--fortune-blue); }
.inspiration-points strong { display: block; margin-top: 8px; font-size: 16px; }
.inspiration-points p { margin: 10px 0 0; color: #536987; font-size: 14px; line-height: 1.6; }
.inspiration-actions { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; margin-top: 24px; }
.inspiration-actions button { min-height: 47px; border: 1px solid #d5deea; border-radius: 9px; background: #fff; color: #304665; cursor: pointer; }
.fortune-chat-form { min-height: 69px; margin-top: 22px; padding: 0 13px 0 19px; display: flex; align-items: center; gap: 10px; border: 1px solid #cbd6e5; border-radius: 10px; }
.fortune-chat-form input { min-width: 0; flex: 1; border: 0; outline: 0; }
.fortune-inspiration-side { min-height: 760px; padding: 35px 26px; border-left: 1px solid var(--fortune-line); }
.fortune-inspiration-side h2 { margin: 0 0 28px; font-size: 20px; }
.fortune-inspiration-side > a { min-height: 80px; margin-bottom: 15px; padding: 0 14px; display: flex; align-items: center; gap: 15px; border: 1px solid var(--fortune-line); border-radius: 10px; color: #405574; font-size: 14px; }
.fortune-inspiration-side > a svg { width: 34px; height: 34px; color: var(--fortune-blue); }
.fortune-inspiration-side .fortune-side-disclaimer { margin-top: 250px; border: 1px solid var(--fortune-line); border-radius: 11px; }

@media (max-width: 1260px) {
    .fortune-main, .inspiration-main { width: calc(100% - 42px); }
    .fortune-two-column, .fortune-result-layout { grid-template-columns: minmax(0, 1fr) 280px; }
    .fortune-choice { padding: 8px; gap: 8px; }
    .fortune-choice img { width: 43px; height: 43px; }
    .fortune-reading-grid article { padding-left: 12px; padding-right: 12px; }
}

@media (max-width: 1050px) {
    .fortune-home-grid { grid-template-columns: repeat(2,1fr); }
    .fortune-home-bottom, .fortune-two-column, .fortune-result-layout, .inspiration-layout { grid-template-columns: 1fr; }
    .fortune-side-info { min-height: 420px; }
    .fortune-result-side { grid-template-columns: 1fr 1fr; }
    .fortune-inspiration-side { min-height: 0; padding: 28px 0 0; border-left: 0; border-top: 1px solid var(--fortune-line); }
    .fortune-inspiration-side .fortune-side-disclaimer { margin-top: 20px; }
}

@media (max-width: 1350px) {
    .fortune-result-main .fortune-result-layout { grid-template-columns: 1fr; }
    .fortune-result-main .fortune-result-side { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .fortune-main, .fortune-home-main, .inspiration-main { width: calc(100% - 28px); padding-top: 22px; }
    .fortune-hero { padding-left: 20px; padding-right: 20px; }
    .fortune-deco { display: none; }
    .zodiac-grid { grid-template-columns: repeat(2,1fr); }
    .fortune-reading-grid.four, .fortune-reading-grid.three { grid-template-columns: repeat(2,1fr); }
    .fortune-result-heading { align-items: flex-start; flex-direction: column; padding: 10px 0 20px; text-align: left; }
    .fortune-result-heading > div:last-child:not(:first-child) { position: static; }
    .fortune-result-toolbar { align-items: stretch; flex-direction: column; margin-bottom: 14px; }
    .fortune-result-toolbar .fortune-segments { width: 100%; }
}

@media (max-width: 620px) {
    .fortune-home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
    .fortune-entry { min-height: 165px; }
    .fortune-method-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fortune-method-row b { display: none; }
    .fortune-reading-grid.four, .fortune-reading-grid.three, .fortune-result-side,
    .fortune-result-main .fortune-result-side { grid-template-columns: minmax(0, 1fr); }
    .fortune-result-main .fortune-result-side { gap: 12px; }
    .fortune-result-main .fortune-continue { padding: 18px 14px 14px; }
    .fortune-result-main .fortune-continue h2 { margin-bottom: 10px; font-size: 18px; }
    .fortune-result-main .fortune-continue > a {
        min-width: 0;
        min-height: 58px;
        padding: 9px 11px;
        grid-template-columns: 26px minmax(0, 1fr) 18px;
        gap: 9px;
        line-height: 1.5;
    }
    .fortune-result-main .fortune-continue > a span {
        min-width: 0;
        overflow-wrap: anywhere;
    }
    .fortune-result-main .fortune-continue > a svg { width: 25px; height: 25px; }
    .fortune-result-main .fortune-continue > a b { justify-self: end; }
    .fortune-result-main .fortune-mini-chat { min-height: 70px; margin-top: 14px; }
    .fortune-result-main .fortune-side-disclaimer { min-height: 0; padding: 17px 15px; }
    .fortune-result-main .fortune-question-strip,
    .fortune-result-main .fortune-action-strip {
        min-height: 0;
        padding: 16px 14px;
        align-items: flex-start;
        gap: 12px;
    }
    .fortune-result-main .fortune-question-strip > svg,
    .fortune-result-main .fortune-action-strip > svg {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }
    .fortune-result-main .fortune-question-strip > div,
    .fortune-result-main .fortune-action-strip > div { min-width: 0; }
    .fortune-result-main .fortune-question-strip h3,
    .fortune-result-main .fortune-action-strip h3 { font-size: 16px; }
    .fortune-result-main .fortune-question-strip p,
    .fortune-result-main .fortune-action-strip p { font-size: 13px; line-height: 1.6; }
    .fortune-result-main .fortune-action-strip b {
        flex: 0 0 auto;
        margin-left: auto;
        line-height: 1;
    }
    .fortune-result-main .fortune-back-link {
        max-width: 100%;
        margin-top: 18px;
        padding: 9px 4px;
        font-size: 14px;
        text-align: center;
    }
    .inspiration-main .fortune-inspiration-side {
        padding-top: 20px;
    }
    .inspiration-main .fortune-inspiration-side h2 {
        margin-bottom: 14px;
        font-size: 18px;
    }
    .inspiration-main .fortune-inspiration-side > a {
        min-width: 0;
        min-height: 64px;
        margin-bottom: 10px;
        padding: 11px 13px;
        gap: 10px;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }
    .inspiration-main .fortune-inspiration-side > a svg {
        width: 28px;
        height: 28px;
        flex: 0 0 28px;
    }
    .inspiration-main .fortune-inspiration-side .fortune-side-disclaimer {
        min-height: 0;
        margin-top: 12px;
        padding: 17px 15px;
    }
    .fortune-reading-grid.three article:last-child:nth-child(odd) { grid-column: auto; }
    .fortune-setup { padding: 18px 14px; }
    .fortune-choice { min-height: 68px; }
    .animal-choice { min-height: 84px; }
    .fortune-field-grid, .birth-setup > h3 { margin-left: 0; }
    .fortune-calendar-switch { margin-left: 0; grid-template-columns: repeat(2,1fr); }
    .birth-topics { margin-left: 0; }
    .fortune-inline-help { align-items: flex-start; flex-direction: column; padding: 10px 0; }
    .fortune-depth-options { grid-template-columns: 1fr; }
    .fortune-structure-status { align-items: flex-start; flex-direction: column; }
    .fortune-structure-status > span { align-items: flex-start; flex-wrap: wrap; }
    .fortune-structure-status > div { width: 100%; justify-content: space-between; }
    .fortune-keywords span { min-width: 0; width: 100%; }
    .fortune-result-heading > div:last-child { flex-wrap: wrap; }
    .inspiration-card { padding: 30px 18px; }
    .inspiration-points > div { padding: 18px 0; border-right: 0; border-bottom: 1px solid #cbd7ea; }
    .inspiration-points > div:last-child { border-bottom: 0; }
}

/* Selection and guidance cards share one responsive system across all
 * 好运生活 setup pages: two columns on narrow phones, three on larger
 * phones and four on tablets. Long-form result cards remain single-column
 * on compact screens for readability. */
@media (max-width: 1050px) {
    .fortune-home-grid,
    .zodiac-grid,
    .animal-grid,
    .fortune-topic-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fortune-choice {
        min-height: 108px;
        padding: 9px 7px;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        text-align: center;
    }

    .fortune-choice img {
        width: 42px;
        height: 42px;
    }

    .fortune-choice span {
        justify-items: center;
        gap: 2px;
    }

    .fortune-choice strong { font-size: 14px; }
    .fortune-choice small { font-size: 11px; }

    .fortune-topic-grid { gap: 10px; }
    .fortune-topic-grid button { min-height: 96px; padding: 10px 7px; }

    .fortune-side-info {
        min-height: 0;
        padding: 20px 16px 16px;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-content: start;
        gap: 10px;
    }

    .fortune-side-info > h2,
    .fortune-side-info > a {
        grid-column: 1 / -1;
    }

    .fortune-side-info > div {
        min-height: 132px;
        padding: 14px 10px;
        flex-direction: column;
        justify-content: center;
        gap: 9px;
        border: 1px solid #e1e8f2;
        border-radius: 10px;
        text-align: center;
    }

    .fortune-side-info > div:last-of-type { border-bottom: 1px solid #e1e8f2; }
    .fortune-side-info > div > svg { width: 31px; height: 31px; flex-basis: 31px; }
    .fortune-side-info p { width: 100%; }
    .fortune-side-info strong { font-size: 13px; }
    .fortune-side-info span { font-size: 12px; }
    .fortune-side-info > a { margin-top: 0; padding-top: 12px; }
    .birth-side > a:first-of-type { margin-top: 0; }

    .fortune-field-grid.three,
    .fortune-field-grid.two,
    .inspiration-points,
    .inspiration-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .inspiration-points { gap: 0 12px; }
    .inspiration-points > div { border-right: 0; }
    .inspiration-actions button:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

@media (min-width: 480px) and (max-width: 699px) {
    .zodiac-grid,
    .animal-grid,
    .fortune-topic-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .fortune-field-grid.three,
    .inspiration-points,
    .inspiration-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .inspiration-actions button:last-child:nth-child(odd) { grid-column: auto; }
}

@media (min-width: 540px) and (max-width: 1050px) {
    .fortune-side-info { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 700px) and (max-width: 1050px) {
    .fortune-home-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

    .zodiac-grid,
    .animal-grid,
    .fortune-topic-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .fortune-field-grid.three,
    .inspiration-points,
    .inspiration-actions {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 479px) {
    .fortune-home-grid { gap: 10px; }
    .fortune-entry { min-height: 145px; padding: 14px 9px; }
    .fortune-entry > svg,
    .fortune-entry > img { width: 44px; height: 44px; margin-bottom: 8px; }
    .fortune-entry h2 { font-size: 15px; }
    .fortune-entry p { font-size: 12px; line-height: 1.45; }

    .fortune-side-info > div:last-of-type:nth-of-type(3) { grid-column: 1 / -1; }

    .fortune-topic-grid button { min-height: 100px; font-size: 13px; }
    .fortune-topic-grid svg { width: 31px; height: 31px; }
    .name-topics button { min-height: 132px; }
    .name-topics button > svg,
    .name-topics button > img { width: 40px !important; height: 40px !important; flex-basis: 40px; }
    .relationship-topics button { min-height: 108px; font-size: 14px; }
}
