.report-fold {padding:0;align-self:start;background:#fff}
.report-fold>summary {list-style:none;cursor:pointer;padding:21px;display:flex;gap:12px;align-items:center;justify-content:space-between}
.report-fold>summary::-webkit-details-marker,.section-fold>summary::-webkit-details-marker {display:none}
.report-fold>summary>header {display:block;min-width:0;flex:1}
.report-fold>summary h3 {font-size:15px;margin:6px 0 8px}
.report-fold>summary .domain-grade {justify-content:start;gap:12px}
.fold-hint {font-size:11px;white-space:nowrap;border:1px solid #ddd;padding:5px 8px;flex-shrink:0}
.report-fold[open]>summary,.section-fold[open]>summary {border-bottom:1px solid #ddd}
.report-fold[open]>summary .fold-hint,.section-fold[open]>summary .fold-hint {font-size:0}
.report-fold[open]>summary .fold-hint::after,.section-fold[open]>summary .fold-hint::after {content:'收起內容';font-size:11px}
.fold-body {padding:0 22px 22px}
.reading-return {display:inline-flex;align-items:center;font-size:12px;border:1px solid #bbb;padding:9px 12px;margin:18px 0;background:#fff;color:#000}
.reading-return:hover,.reading-return:focus-visible {border-color:#000;background:#f7f7f7}
#fortune-trend {scroll-margin-top:120px}
.section-fold>summary {cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px}
.section-fold>summary h2 {margin:8px 0 15px}
.section-fold[open]>summary {margin-bottom:22px}
.report-section-menu {position:sticky;top:0;background:#fff;z-index:3;border-bottom:1px solid #ddd}
.trend-legend {display:flex;gap:10px;flex-wrap:wrap}
.trend-legend button {display:flex;gap:8px;align-items:center;background:#fff;color:#000;border:1px solid #bbb;padding:9px 12px;font:inherit;font-size:12px;cursor:pointer}
.line-swatch {width:22px;height:0;border-top:3px solid var(--series-color);display:inline-block}
[data-series-toggle=love] .line-swatch {border-top-style:dashed}
[data-series-toggle=career] .line-swatch {border-top-style:dotted}
[data-series-toggle=learning] .line-swatch {border-top-style:double;border-top-width:4px}
.trend-legend button[aria-pressed=false] {opacity:.5}
.trend-legend button[aria-pressed=false] .line-swatch {border-top-color:#888}
.trend-legend button:disabled {cursor:not-allowed}
.month-category-grade {font-size:11px!important;border:1px solid #ddd;padding:5px 8px}
.report-overview {position:fixed;inset:auto 0 0;margin:0 auto;width:min(760px,100%);max-width:100%;max-height:85dvh;padding:0 30px 24px;border:1px solid #ddd;border-bottom:0;border-radius:18px 18px 0 0;background:#fff;color:#000;overflow:auto;overscroll-behavior:contain;box-shadow:0 -10px 45px #00000018}
.report-overview[open] {animation:report-sheet-up .2s ease-out}
.report-overview::backdrop {background:#0005}
.sheet-handle {width:38px;height:4px;border-radius:4px;background:#ccc;margin:12px auto 20px}
.sheet-header {display:flex;justify-content:space-between;align-items:center;gap:20px;position:sticky;top:0;background:#fff;padding:8px 0 18px;border-bottom:1px solid #ddd;z-index:1}
.sheet-header h2 {font-size:17.5px;font-weight:400;margin:7px 0 0}
.sheet-header button {border:1px solid #ddd;background:#fff;color:#000;font-size:18.5px;width:42px;height:42px;cursor:pointer;flex:0 0 auto}
#overview-content {padding:20px 0;font-size:13px;line-height:1.9;overflow-wrap:anywhere}
#overview-content h3 {font-size:12.5px;font-weight:500;margin:22px 0 10px}
.sheet-grades {display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}
.sheet-grades>div {border:1px solid #ddd;padding:12px}
.sheet-grades dt {font-size:11px}
.sheet-grades dd {font-size:13px;margin:5px 0 0}
.sheet-footer {position:sticky;bottom:-24px;background:#fff;border-top:1px solid #ddd;padding:16px 0 max(5px,env(safe-area-inset-bottom))}
.sheet-footer button {width:100%;border:1px solid #000;background:#fff;color:#000;padding:13px;font:inherit;font-size:13px;cursor:pointer}
body:has(.report-overview[open]) .back-top {visibility:hidden}
.domain-scale-row,.month-analysis,.domain-analysis,.report-block {scroll-margin-top:130px}
@keyframes report-sheet-up {from{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:680px){.report-overview{padding:0 20px 20px;max-height:88dvh}.report-fold>summary{padding:16px;flex-wrap:wrap}.report-fold>summary .domain-grade{flex-wrap:wrap}.report-fold>summary .fold-hint{font-size:10px}.report-fold>summary h3{font-size:14px}.fold-body{padding:0 16px 18px}.section-fold>summary h2{font-size:16px}.sheet-header h2{font-size:16px}.trend-legend{gap:7px}.trend-legend button{padding:8px;font-size:11px}.line-swatch{width:16px}.report-section-menu{padding:12px 0}.sheet-footer{bottom:-20px}}
@media(prefers-reduced-motion:reduce){.report-overview[open]{animation:none}}
.profile-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin:24px 0;padding:24px 0}
.profile-layout h3{font-size:17.5px;font-weight:400;margin:12px 0}
.profile-layout p{font-size:12px;line-height:1.9;max-width:360px}
.resource-profile{width:100%;max-width:420px;justify-self:center;overflow:visible}
.domain-scale .report-dot{border-radius:0;width:20px;height:5px;border:0;background:#e6e6e6}
.domain-scale .report-dot.is-filled{background:#111}
.domain-scale .report-dots{gap:4px}
[data-series-toggle=wealth] .line-swatch{border-top-style:dashed}
.quarter-collection{margin:40px 0}
.quarter-row{margin:0 0 36px}
.quarter-row>header{display:flex;align-items:center;gap:15px;padding-bottom:12px;border-bottom:1px solid #ccc}
.quarter-row h3{font-size:14px;font-weight:400;margin:0}
.quarter-row>header h3{color:#a08342!important}
.quarter-row>header>span{font-size:9px;letter-spacing:.16em}
.quarter-controls{display:flex;gap:8px;margin-left:auto}
.quarter-controls[hidden]{display:none}
.quarter-controls button:disabled{opacity:.3;cursor:default}
.quarter-controls button{width:32px;height:30px;border:1px solid #ddd;background:#fff;color:#000;font-size:14px;cursor:pointer}
.quarter-track{display:flex;overflow-x:auto;gap:26px;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:22px 0 14px;scrollbar-width:thin;cursor:grab;-webkit-overflow-scrolling:touch}
.quarter-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.quarter-track.is-dragging a{cursor:grabbing}
.calendar-month{display:block;flex:0 0 38%;min-width:230px;scroll-snap-align:start;padding:12px 10px 20px;border-bottom:1px solid #ddd}
.calendar-month:focus-visible,.calendar-month:hover{background:#fafafa;border-bottom-color:#111}
.month-number{font-family:Didot,"Times New Roman",serif;font-size:24.5px;color:#555}
.calendar-month h4{font-size:17.5px;font-weight:400;margin:20px 0 15px}
.calendar-month h4 small{display:block;font-size:12px;letter-spacing:.08em;font-weight:400;margin-top:7px}
.calendar-month p{font-size:11px;line-height:1.9;min-height:25px}
.month-open{display:block;font-size:11px;margin-top:22px}
.sheet-footer{display:flex;gap:10px}
.sheet-footer button{flex:1}
.sheet-footer #overview-back-chart{border-color:#ccc}
.report-overview.is-full-reading{max-height:92dvh;width:min(850px,100%)}
.overview-full-content{margin-top:28px;border-top:1px solid #ddd;border-bottom:1px solid #ddd}
.overview-full-content>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;list-style:none;padding:18px 0;cursor:pointer;font-size:12.5px}
.overview-full-content>summary::-webkit-details-marker{display:none}
.overview-full-content>summary::after{content:'＋';font-size:16px}
.overview-full-content[open]>summary::after{content:'−'}
.full-reading-copy{padding:0 0 20px}
.sheet-footer:has(button[hidden]:only-child){display:none}
#overview-content .report-copy{line-height:2.15;font-size:12.5px}
@media(max-width:680px){.profile-layout{grid-template-columns:1fr;gap:10px}.resource-profile{max-width:340px}.calendar-month{flex-basis:78%;min-width:0}.quarter-track{gap:18px}.sheet-footer{flex-wrap:wrap}.sheet-footer button{min-width:120px}.month-number{font-size:21.5px}.calendar-month h4{font-size:16.5px}.sheet-header h2{font-size:15px}#overview-content .report-copy{font-size:13px}.domain-scale-row>.domain-grade{justify-content:start;gap:22px}}
