/* Readability layer, loaded last. Floors: content/UI text >= 12px, decorative English labels >= 10px;
   on phones primary reading text is 15-16px. Keep new font sizes in source files at or above these floors. */
.eyebrow,.hero-copy>.eyebrow,.page-intro .eyebrow,.portal-hero .eyebrow,.section-kicker,.fortune-top .section-kicker,.sidebar-box .section-kicker,.bunny-about .section-kicker,.journal-menu-heading .section-kicker,.match-heading .section-kicker,.quiz-panel .section-kicker,.brand-stack small,.brand-sub,.footer-brand .brand-sub,.menu-bunny small,.article-cover>small,.season-label,.mini-stars,.art-label,.hero-art .art-label,.art-bottom,.hero-art .art-bottom,.lucky-ticket span,.lucky-ticket small,.lucky-ticket b,.hero-art .lucky-ticket b,.cloud-note,.cloud-note span,.hero-art .cloud-note span,.bunny-caption{font-size:10px}
.zodiac-name,.zodiac-english,.zodiac-dates,.demo-tag,.day-strip,.day-strip .demo-tag,.hero-footnote,.selection-check,.fortune-sign div>span,.fortune-sign h3 small,.fortune-bottom>span,.lucky-items>span,.save-button,.rating-card p,.rating-top h3,.result-note,.match-fields label,.standalone-match .match-fields label,html[lang=en] .match-fields label,.match-fields select,.standalone-match .match-fields select,.match-fields .button,.match-footnote,.match-heading p,.article-card-meta,.article-meta,.article-list-header>span,.article-breadcrumb,.category-label,.category-tab,.article-search input,.article-search .button,.editorial-note,.popular-list small,.preview-disclaimer,.mini-article,.social-box p,.social-links a,.soft-note,.soft-note small,.page-tab,html[lang=en] .page-tab,.theme-toggle,.language-form select,.menu-preferences .language-form select,.menu-preferences h3,.menu-bunny,.journal-menu-heading p,.nav-cta,.text-link,.hero-actions .text-link,.home-discover .section-heading>.text-link,.hero-actions .button,html[lang=en] .hero-actions .button,.quiz-actions .button,.quiz-option,.toast,.site-footer p,.site-footer>span,.closing-note p,.journal-local,.journal-tools label,.journal-tools .button,.mood-picker span,.note-count,#remove-sticker,.journal-help,.journal-save-row .button,#journal-status,.drawer-sticker>span:last-of-type,.history-entry,.history-entry small,.journal-empty,.drawing-settings label,.drawing-tools button,.journal-dialog-actions .button{font-size:12px}
.section-heading>p,.article-card p,.bunny-about p,.feature-main .bunny-about p,.page-intro p,.faq-item p,.quiz-panel p,.journal-dialog p,.hero-description,.portal-hero .hero-description,#fortune-summary{font-size:14px}
.zodiac-dates{letter-spacing:0}
.hero-mini-bunny{display:none}

/* Blessing dialog and journal restore choices. */
.blessing-dialog img{display:block;margin:0 auto 6px}
.blessing-copy{font-size:17px;line-height:1.8;margin:14px 0 6px;color:var(--heading)}
.blessing-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
.journal-dialog-mode{border:0;margin:14px 0 4px;padding:0;display:grid;gap:8px;text-align:left}
.journal-dialog-mode label{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:1.5;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel);cursor:pointer}
.journal-dialog-mode input{margin-top:4px;flex-shrink:0}
.journal-dialog-mode input:disabled+span{opacity:.5}

@media(max-width:760px){
 body{font-size:15px}
 #fortune-summary,.hero-description,.portal-hero .hero-description,.article-card p,.page-intro p,.faq-item p,.quiz-panel p,.bunny-about p,.feature-main .bunny-about p,.journal-dialog p,.blessing-copy{font-size:15px;line-height:1.75}
 .section-heading>p,.rating-card p,.lucky-items>span,.fortune-sign div>span,.article-card-meta,.article-meta,.social-box p,.mini-article,.match-heading p,.journal-help,.journal-local,.history-entry{font-size:13px}
 .zodiac-name{font-size:14px}
 .hero-actions .button,html[lang=en] .hero-actions .button,.quiz-option,.quiz-actions .button,.article-search input,.article-search .button,.journal-save-row .button,.journal-dialog-actions .button,.match-fields select,.standalone-match .match-fields select{font-size:14px}
 #journal-note{font-size:16px}
}
/* Phones: the hero illustration gives way so the sign picker and today's horoscope come sooner. */
@media(max-width:600px){
 .portal-hero{padding:22px 0 10px;gap:0}
 .portal-hero .hero-art,.portal-hero .hero-footnote{display:none}
 .hero-mini-bunny{display:block;float:right;width:64px;height:64px;margin:0 0 6px 10px;transform:rotate(4deg)}
 .hero-actions{gap:10px;margin-top:16px}
 .hero-actions .button{flex:1 1 calc(50% - 5px);justify-content:center;min-height:46px}
 .hero-actions .text-link{flex-basis:100%}
 .brand-stack small{display:none}
 .zodiac-section{padding-top:24px}
 .zodiac-dates{white-space:normal;line-height:1.35}
}
@media(max-width:360px){
 .hero-actions .button{flex-basis:100%}
 .zodiac-name{font-size:13px}
 .zodiac-dates{font-size:12px;padding-inline:2px}
}

/* WCAG AA contrast (4.5:1) for small text on the light paper and tab colours; dark theme keeps its own palette. */
html:not([data-theme=dark]) .brand-stack small{color:#6b6470}
html:not([data-theme=dark]) .page-tab:not(.active){color:#574f5c}

/* Below-the-fold blocks skip layout/paint until scrolled near (cuts mobile main-thread style & layout time). */
.home-discover,.bunny-about,.closing-note,.site-footer{content-visibility:auto;contain-intrinsic-size:auto 600px}
.closing-note,.site-footer{contain-intrinsic-size:auto 120px}
/* 後台 CKEditor 文章內文（docs/specs/006）：沿用段落樣式，補上標題、清單、引言、圖片、表格 */
.article-html{color:var(--body-text);font-size:14px;line-height:2.3}.article-html>*{margin:0 0 22px}.article-html p{background:var(--panel)}.article-html h2,.article-html h3,.article-html h4{color:var(--heading);line-height:1.7;margin:34px 0 14px}.article-html h2{font-size:21px}.article-html h3{font-size:18px}.article-html h4{font-size:16px}.article-html a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.article-html ul,.article-html ol{padding-left:1.6em;background:var(--panel)}.article-html li{margin:4px 0}.article-html blockquote{border-left:3px solid #c7afd7;padding:4px 0 4px 17px;background:var(--panel);color:var(--heading)}.article-html figure{text-align:center}.article-html figure.image_resized{margin-inline:auto}.article-html img{max-width:100%;height:auto;border-radius:10px;border:1px solid var(--border)}.article-html figcaption{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.8}.article-html hr{border:0;border-top:1px dashed var(--border)}.article-html figure.table{overflow-x:auto}.article-html table{border-collapse:collapse;min-width:100%;font-size:13px;line-height:1.8;background:var(--panel)}.article-html th,.article-html td{border:1px solid var(--border);padding:8px 10px;text-align:left}.article-html th{background:var(--soft);color:var(--heading)}
@media(max-width:600px){.article-html{font-size:16px;line-height:2}.article-html h2{font-size:19px}.article-html h3{font-size:17px}.article-html h4{font-size:15px}}
