/* A visual layer over the original single-page report. No replacement layout or hidden report content. */
:root {
  color-scheme:light;
  --bg-paper:#fdfbf7;
  --ink-primary:#252b28;
  --ink-secondary:#5b625c;
  --vermilion:#a23c30;
  --gold:#a28446;
  --green:#55775f;
  --blue:#617b8b;
  --orange:#b7724f;
  --brown:#8c6850;
  --gray:#9b9687;
  --paper-raised:#fffefa;
  --paper-inset:#f1f2ec;
  --rule:#bfc3b8;
  --rule-soft:#dedfd5;
  --font-serif:'Noto Serif SC','SimSun',serif;
  --font-sans:'Noto Sans SC','Microsoft YaHei',sans-serif;
  --font-hand:'Ma Shan Zheng','KaiTi',cursive;
}
body { background:#e9eae3; color:var(--ink-primary); }
.app-container { max-width:1080px; background:var(--bg-paper); box-shadow:0 8px 44px #26302612; border-inline:1px solid var(--rule-soft); }
.view { padding:32px 42px; }
.main-header { padding:38px 20px 32px; margin-bottom:32px; background:none; border-bottom:1px solid var(--rule); }
.app-title { color:var(--ink-primary); font-family:var(--font-hand); font-size:48px; font-weight:400; letter-spacing:3px; text-shadow:none; margin:16px 0 12px; }
.app-subtitle-text { color:var(--ink-secondary); font-family:var(--font-serif); font-size:13px; letter-spacing:3px; }
.seal-container,.seal-container.seal-ritual { border:2px solid var(--vermilion); border-radius:2px; background:transparent; box-shadow:0 0 0 3px var(--bg-paper),0 0 0 4px var(--vermilion); width:64px; height:64px; }
.seal-mark { font-family:var(--font-hand); font-size:23px; font-weight:400; text-shadow:none; }
.seal-container.seal-ritual .seal-mark { font-family:var(--font-hand); font-weight:400; text-shadow:none; }
.seal-container:has(.seal-mark>span:first-child:nth-last-child(2)) .seal-mark { display:flex; flex-direction:row-reverse; justify-content:center; gap:4px; }
.seal-mark>span:first-child:nth-last-child(2),.seal-mark>span:first-child:nth-last-child(2)+span { writing-mode:vertical-rl; white-space:nowrap; letter-spacing:1px; line-height:1; }
.ink-button { border-radius:2px!important; background:var(--vermilion)!important; color:var(--paper-raised)!important; border:1px solid var(--vermilion)!important; box-shadow:none!important; font-family:var(--font-serif); letter-spacing:1px; font-weight:400; }
.ink-button:hover { background:#8d3128!important; transform:translateY(-1px); box-shadow:none; }
.ink-button.secondary { background:transparent!important; color:var(--ink-primary)!important; border:1px solid var(--rule)!important; }
.ink-button.secondary:hover { background:#eee6d7!important; }
.ink-input { background:#fbf8ef; border:0; border-bottom:1px solid var(--rule); border-radius:0; font-family:var(--font-sans); font-size:15px; color:var(--ink-primary); box-shadow:none; padding:12px 14px; }
.ink-input:focus { border-color:var(--vermilion); box-shadow:0 1px 0 var(--vermilion); outline:none; }
.ink-input::placeholder { color:#6b6b60; opacity:1; }
.ink-button:active,.action-btn:active { transform:translateY(1px); }
.ink-button:disabled,.action-btn:disabled { opacity:.6; cursor:wait; transform:none; }
.form-group label { font-family:var(--font-serif); color:var(--ink-primary); font-weight:400; font-size:14px; }
.form-group { margin-bottom:25px; }
.input-section { max-width:540px; padding:0 18px 20px; width:100%; margin:0 auto; }
.radio-group,.time-mode-toggle { display:flex; gap:28px; align-items:center; }
.radio-label { font-family:var(--font-sans)!important; font-size:13px!important; }
input[type=radio],input[type=checkbox] { accent-color:var(--vermilion); }
#geo-info { background:#e8eee3!important; color:var(--green); border:1px solid #bfceb7; border-radius:2px!important; }
.calibration-header { text-align:center; margin:26px 0; }
.calibration-header h2 { font-family:var(--font-serif); font-size:28px; font-weight:700; }
.bazi-display { gap:18px; }
.pillar { border-radius:2px; background:var(--paper-raised); border-width:1px; box-shadow:none; padding:22px 16px; }
.pillar .pillar-label { font-family:var(--font-serif); color:var(--ink-secondary); }
.bazi-info-box { border:1px solid var(--rule)!important; background:#f1eadc!important; border-radius:2px!important; font-family:var(--font-serif); font-size:14px; }
#major-events { border:1px solid var(--rule)!important; border-radius:2px!important; background:var(--paper-raised); line-height:1.9; }
.calibration-story-actions button { border-radius:2px!important; box-shadow:none!important; }
.calibration-story-actions button[onclick] { background:#e8eee3!important; color:var(--green)!important; border-color:#bfceb7!important; }
.ritual-text { font-family:var(--font-hand); font-size:25px; line-height:1.9; }
.ritual-progress-bar { background:#e6ddca; height:3px; border-radius:0; }
.ritual-progress-fill { background:var(--vermilion); border-radius:0; }

/* Same report, fully expanded, from the original header to the final strategy. */
.report-paper { padding:0; background:transparent; border:0; border-radius:0; box-shadow:none; }
.report-header { border-bottom:0; padding:0; margin-bottom:24px; }
.report-actions-row { min-height:52px; padding:0 4px; margin:0 0 20px; border:0; align-items:center; }
.brand-seal-only { display:flex; align-items:center; height:48px; }
.brand-seal-only .seal-container { width:42px; height:42px; margin:0; transform:rotate(-3deg)!important; transform-origin:center; box-shadow:0 0 0 2px var(--bg-paper),0 0 0 3px var(--vermilion); }
.brand-seal-only .seal-mark { padding:3px; font-size:15px; }
.header-actions { display:flex; gap:10px; align-items:center; }
.header-actions .action-btn { min-height:38px; padding:8px 14px; white-space:nowrap; }
.action-btn { background:transparent; color:var(--ink-primary); border:1px solid var(--rule); border-radius:2px; box-shadow:none; font-family:var(--font-serif); min-height:40px; padding:9px 16px; }
.action-btn.primary { background:var(--vermilion); border-color:var(--vermilion); color:var(--paper-raised); }
.action-btn:hover { background:#ece3d2; box-shadow:none; transform:translateY(-1px); }
.action-btn.primary:hover { background:#8d3128; }
/* The report's primary use is sharing the complete image. Keep both original actions. */
#img-btn { background:var(--vermilion); border-color:var(--vermilion); color:var(--paper-raised); font-weight:600; }
#img-btn:hover { background:#8d3128; }
#pdf-btn { background:transparent; border-color:var(--rule); color:var(--ink-primary); }
#pdf-btn:hover { background:var(--paper-inset); }
.identity-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(248px,.9fr) 128px; grid-template-rows:auto auto; column-gap:24px; row-gap:10px; border:1px solid var(--rule); border-top:3px double var(--rule); border-radius:0; background:var(--paper-raised); box-shadow:none; padding:24px; margin:0; align-items:center; }
.identity-card:before { display:none; }
.id-left { grid-column:1; grid-row:1/3; min-width:0; width:auto; flex:none; gap:0; border:0; padding:0; text-align:left; }
.id-name { font-family:var(--font-hand); font-size:32px; font-weight:400; line-height:1.35; letter-spacing:0; color:var(--ink-primary); margin:0; text-wrap:balance; overflow-wrap:anywhere; }
.id-subtitle { font:12px/1.6 var(--font-sans); color:var(--ink-secondary); letter-spacing:0; margin-top:8px; }
.id-bazi { grid-column:2; grid-row:1/3; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; min-width:0; width:auto; margin:0; padding:0 0 0 22px; border:0; border-left:1px solid var(--rule-soft); }
.bazi-pillar { display:flex; flex-direction:column; align-items:center; gap:7px; border:0; border-radius:0; background:none; padding:0; min-width:0; }
.pillar-label { color:var(--ink-secondary); font:11px/1.5 var(--font-sans); margin:0; padding:0; border:0; }
.pillar-label::after { display:none; }
.pillar-char { font-family:'ZCOOL XiaoWei',var(--font-serif); font-size:24px; font-weight:400; line-height:1.2; color:var(--ink-primary); white-space:nowrap; }
.id-right { grid-column:3; grid-row:2; align-self:start; justify-self:center; min-width:0; width:auto; margin:0; text-align:center; }
.id-date { font:11px/1.6 var(--font-sans); font-weight:400; letter-spacing:0; text-shadow:none; color:var(--ink-secondary); white-space:nowrap; }
#audit-verdict-seal.verdict-seal { position:static!important; z-index:1; grid-column:3; grid-row:1; justify-self:center; align-self:end; width:112px; min-width:0; max-width:100%; min-height:46px; height:auto; margin:0 0 2px; padding:8px; border:3px double var(--vermilion); color:var(--vermilion); background:transparent; box-shadow:none; border-radius:1px; font-family:var(--font-hand); font-size:22px; font-weight:400; line-height:1.2; letter-spacing:0; opacity:.9; transform:rotate(5deg); word-break:normal; overflow-wrap:anywhere; text-wrap:balance; }
#audit-verdict-seal.verdict-seal[data-len="5"],#audit-verdict-seal.verdict-seal[data-len="6"] { font-size:19px; }
.auditor-dashboard { gap:26px; }
.opinion-box.full-width { padding:24px 26px; background:var(--paper-raised); border:1px solid var(--rule-soft); border-top:3px solid var(--ink-primary); border-radius:0; box-shadow:none; }
.rich-text { color:var(--ink-primary); font-family:var(--font-serif); font-size:16px; line-height:1.95; }
.rich-text p { margin-bottom:14px; }
.rich-text strong { color:var(--ink-primary); }
.audit-brief { background:transparent; border:0; border-bottom:1px solid var(--rule-soft); border-radius:0; padding:0 0 19px; margin-bottom:19px; }
.audit-brief-title { font-family:var(--font-serif); font-size:22px; font-weight:700; margin-bottom:17px; }
.audit-brief-grid { gap:18px; }
.audit-brief-item { background:transparent; padding:0 14px 0 0; border-right:1px solid var(--rule-soft); border-radius:0; }
.audit-brief-item:last-child { border:0; }
.audit-brief-item span { color:var(--ink-secondary); font:12px/1.5 var(--font-sans); }
.audit-brief-item strong { color:var(--ink-primary); font:600 16px/1.7 var(--font-serif); margin-top:7px; }
.sticky-note-inline { background:#eae0bf; border:1px solid #c8b883; border-radius:1px; box-shadow:2px 4px 0 #aa93631a; color:#645033; padding:18px 22px; transform:rotate(-1deg); }
.sticky-note-inline p { font-family:var(--font-hand); font-size:23px; line-height:1.55; color:#645033; }
.dashboard-row-bottom { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:20px; align-items:stretch; }
.chart-card,.chart-card.main-chart,.stats-panel { background:var(--paper-raised); border:1px solid var(--rule); border-radius:2px; box-shadow:none; padding:20px 16px 14px; }
.chart-card h4,.stats-panel h4 { font:700 18px/1.6 var(--font-serif); letter-spacing:0; color:var(--ink-primary); border-bottom:1px solid var(--rule-soft); padding-bottom:12px; margin-bottom:12px; }
.balance-sheet-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; margin:28px 0; }
.column-header { background:transparent; border:0; border-top:3px solid var(--green); border-radius:0; padding:12px 16px 8px; margin:0; font:700 20px/1.4 var(--font-serif); color:var(--ink-primary); }
.sheet-column:last-child .column-header { border-top-color:var(--vermilion); }
#assets-summary>div,#liabilities-summary>div { border:0; border-bottom:1px solid var(--rule-soft); border-radius:0!important; padding:0 16px 12px!important; margin-bottom:0!important; font-size:12px; }
#assets-summary>div { background:transparent!important; }
#liabilities-summary>div { background:transparent!important; }
#assets-summary>div>div:first-child,#liabilities-summary>div>div:first-child { align-items:baseline; gap:6px; }
#assets-summary span:last-child,#liabilities-summary span:last-child { font:22px/1.2 Georgia,serif; font-variant-numeric:tabular-nums; white-space:nowrap; }
#assets-summary>div>div:last-child,#liabilities-summary>div>div:last-child { height:4px!important; border-radius:0!important; background:#d7d0bc!important; }
.sheet-column { min-width:0; background:var(--paper-raised); padding:0; border:1px solid var(--rule-soft); box-shadow:none; border-radius:0; }
.audit-card { background:transparent; border:0; border-bottom:1px solid var(--rule-soft); border-radius:0; padding:16px; margin:0; box-shadow:none; }
.audit-card:last-child { border-bottom:0; }
.audit-card:hover { box-shadow:none; transform:none; }
.card-header { padding:0; margin-bottom:9px; border:0; background:transparent; }
.card-title-row { align-items:flex-start; flex-wrap:wrap; gap:5px 10px; margin-bottom:4px; }
.card-name { min-width:0; color:var(--ink-primary); font-family:var(--font-serif); font-size:18px; font-weight:700; line-height:1.6; }
.card-name>span { font:11px/1.8 var(--font-sans)!important; border-radius:2px!important; display:inline-block; margin:5px 5px 0 0!important; }
.grade-badge { --tag-ink:#515c51; --tag-bg:#edf0e9; --tag-rule:#cdd3c6; font-family:var(--font-sans); font-size:11px; font-weight:500; letter-spacing:0; padding:3px 6px; border-radius:2px; white-space:nowrap; color:var(--tag-ink)!important; background:var(--tag-bg)!important; border:1px solid var(--tag-rule); line-height:1.5; }
.grade-badge[data-tone=gold] { --tag-ink:#775519; --tag-bg:#f5efdF; --tag-rule:#dfd0a7; }
.grade-badge[data-tone=green] { --tag-ink:#345944; --tag-bg:#ebf1e9; --tag-rule:#c6d4bf; }
.grade-badge[data-tone=blue] { --tag-ink:#3d596a; --tag-bg:#ebeff2; --tag-rule:#c7d2d9; }
.grade-badge[data-tone=red] { --tag-ink:#963c32; --tag-bg:#f8eeea; --tag-rule:#e5c7c0; }
.grade-badge[data-tone=amber] { --tag-ink:#835021; --tag-bg:#f7eee2; --tag-rule:#ddceb7; }
.card-header>div:last-child { gap:8px!important; margin-top:3px!important; }
.card-header>div:last-child>div:last-child { font:12px/1.5 Georgia,serif!important; min-width:32px!important; font-variant-numeric:tabular-nums; }
.score-bar-container { height:4px!important; border-radius:0!important; background:#e9e2d3!important; }
.score-bar-fill { border-radius:0!important; }
.card-body,.nice-typography { padding:0; margin:0; font-family:var(--font-serif); font-size:16px; font-weight:400; line-height:1.9; color:#3e443e; overflow-wrap:anywhere; }
.card-body p { margin:0 0 7px; }
.card-body p:last-child { margin-bottom:0; }
.card-footer { margin-top:9px; padding:0; border:0; background:transparent; }
.action-note { margin-top:0; padding:7px 9px; background:var(--paper-inset); border:0; border-left:2px solid var(--rule); border-radius:0; color:#545b50; font-family:var(--font-sans); font-size:12px; font-style:normal; line-height:1.8; overflow-wrap:anywhere; }
.tooltip-term[data-tooltip]:not([data-tooltip=""]) { border-bottom:1px dotted #a28446; }
.app-floating-tooltip { background:#39372e; color:#f8f4e9; border:1px solid #8d8065; border-radius:2px; font-family:var(--font-sans); font-size:13px; line-height:1.8; box-shadow:0 4px 15px #29271e20; }
.net-worth-display { background:#f0f2eb; color:var(--ink-primary); border:1px solid var(--rule); border-top:3px solid var(--ink-primary); border-radius:0; padding:27px 30px; margin:28px 0; box-shadow:none; }
.nw-grid { grid-template-columns:1fr 72px 1fr; }
.nw-left,.nw-right { background:transparent; padding:8px 0; }
.net-worth-display:before { display:none; }
.nw-stat-label { font-family:var(--font-serif); font-size:14px; color:var(--ink-secondary); }
.nw-stat-value { font-family:Georgia,var(--font-serif); font-size:42px; font-weight:400; }
.nw-vs { font-family:var(--font-serif); font-size:17px; color:var(--ink-secondary); background:none; border:0; }
.net-worth-display>div[style]>span { background:var(--paper-raised)!important; color:#4a584b!important; border:1px solid #cbd3c6; border-radius:2px!important; font:12px/1.8 var(--font-sans)!important; }
.nw-rank { border-top:1px solid var(--rule); padding-top:20px; margin-top:23px; }
.nw-rank-title { font-family:var(--font-serif); font-size:22px; font-weight:700; color:var(--ink-primary); }
.nw-rank-desc { font-family:var(--font-serif); font-size:13px; line-height:1.8; color:var(--ink-secondary); }
.kline-section,.owners-equity { margin-top:36px!important; margin-bottom:30px!important; }
.kline-section>h3,.owners-equity>h3 { font-family:var(--font-serif)!important; font-size:22px; font-weight:700; border-bottom:2px solid var(--ink-primary)!important; padding-bottom:13px!important; margin-bottom:20px!important; }
.kline-section { background:transparent; border:0; padding:0; }
.kline-chart-panel { border:1px solid var(--rule); background:var(--paper-raised); border-radius:2px; padding:10px 7px; }
.kline-touch-hint { color:var(--ink-secondary); font-family:var(--font-sans); font-size:11px; }
.owners-equity>h3>span { font-family:var(--font-sans); font-size:12px!important; letter-spacing:0; opacity:1!important; color:var(--ink-secondary); }
.owners-equity { padding:28px; border:1px solid var(--rule); border-top:4px solid var(--ink-primary); border-radius:0; background:var(--paper-raised); box-shadow:none; }
.owners-equity:before { background:#f2e5df; color:#91564a; font:10px/1.6 var(--font-sans); letter-spacing:1px; }
.owners-equity .equity-content { background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important; padding:0!important; }
.equity-content>div:first-child { display:grid!important; grid-template-columns:100px minmax(0,1fr); align-items:start!important; gap:20px!important; margin:0!important; padding:22px 20px; background:#f0f2eb; border-bottom:1px solid var(--rule); }
.equity-content>div:first-child>span:first-child { background:transparent!important; color:var(--ink-secondary)!important; padding:5px 0!important; font:13px/1.6 var(--font-sans)!important; border-radius:0!important; }
#core-value-text { min-width:0; }
#core-value-text .equity-core-main { font-family:var(--font-serif); font-size:22px; font-weight:700; line-height:1.65; color:var(--ink-primary); }
#core-value-text .equity-core-pill-row { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
#core-value-text .equity-core-pill { background:var(--paper-raised); color:#455347; border:1px solid #cbd3c6; border-radius:2px; font:12px/1.5 var(--font-sans); padding:3px 8px; }
.advice-content,.owners-equity .advice-content { font-family:var(--font-serif); font-size:16px; line-height:1.9; color:#343b35; }
.owners-equity .advice-content.equity-advice-flat { padding:0; }
.advice-content h3,.owners-equity .advice-content h3 { font-family:var(--font-serif); font-size:18px; font-weight:700; color:var(--ink-primary); background:none; box-shadow:none; border:0; border-left:3px solid var(--ink-primary); border-radius:0; padding:0 0 0 10px; margin:20px 0 10px; }
.owners-equity .equity-strategy { display:grid; grid-template-columns:100px minmax(0,1fr); gap:20px; padding:22px 20px; border-bottom:1px solid var(--rule-soft); }
.owners-equity .equity-strategy:last-child { border-bottom:0; padding-bottom:4px; }
.owners-equity .equity-strategy>h1,.owners-equity .equity-strategy>h2,.owners-equity .equity-strategy>h3 { font:700 17px/1.65 var(--font-serif); color:var(--ink-primary); margin:0; padding:0 0 0 10px; border:0; border-left:3px solid var(--ink-primary); border-radius:0; background:none; box-shadow:none; align-self:start; }
.owners-equity .equity-strategy-body { min-width:0; overflow-wrap:anywhere; }
.owners-equity .equity-strategy-body>:first-child { margin-top:0; }
.owners-equity .equity-strategy-body>:last-child { margin-bottom:0; }
.owners-equity .equity-strategy-body p { text-align:left; }
.advice-content strong { color:var(--ink-primary); }
.owners-equity .advice-content .equity-stage-card { background:#f3f4ee; border:1px solid var(--rule-soft); border-radius:2px; box-shadow:none; }
.equity-stage-kicker,.equity-stage-kicker span { color:var(--vermilion); }

/* Account and archive components retain their original fields and actions. */
.profile-content { width:100%; }
.profile-card,.modal-content { background:var(--paper-raised)!important; border:1px solid var(--rule); border-radius:2px!important; box-shadow:none!important; }
.profile-card h2,.profile-card h3,.modal-content h3 { font-family:var(--font-serif)!important; font-weight:400; }
.profile-card p,.profile-card span { line-height:1.85; }
.profile-card input { background:#f6f0e4; border:1px solid var(--rule)!important; border-radius:2px!important; color:var(--ink-primary); }
.profile-archive-item,.history-item { background:#f4eedf; border:1px solid var(--rule-soft); border-radius:2px; box-shadow:none; }
.profile-archive-actions button,.history-item button { border-radius:2px!important; }
.profile-archive-actions .use-btn { background:var(--green)!important; color:var(--paper-raised); }
.profile-archive-actions .delete-btn { background:var(--vermilion)!important; color:var(--paper-raised); }
.history-item button { background:#ece4d4!important; border:1px solid var(--rule)!important; color:var(--ink-primary); padding:9px!important; }
#user-bar,#login-open-btn { background:#f5eedf!important; border:1px solid var(--rule); border-radius:2px!important; box-shadow:none!important; }
#user-bar { width:100%; max-width:1080px; box-sizing:border-box; margin:0 auto!important; padding:10px 42px!important; border:0; border-radius:0!important; background:var(--bg-paper)!important; font:12px/1.8 var(--font-sans)!important; text-align:right; }
#report-view { padding-top:18px; }
#profile-btn { color:var(--ink-primary)!important; }
#logout-btn { color:var(--vermilion)!important; }
.version-badge { color:#8a806c; background:transparent; border:0; font-size:10px; position:static; text-align:center; margin:20px; }
:focus-visible { outline:2px solid var(--vermilion); outline-offset:3px; }
.ink-input:focus-visible { outline:2px solid var(--vermilion); outline-offset:3px; }

@media(max-width:768px) {
  #user-bar { padding:10px 20px!important; }
  .view { padding:23px 19px; }
  .main-header { padding:28px 0; }
  .app-title { font-size:38px; letter-spacing:1px; }
  .input-section { padding:0 6px; }
  .bazi-display { gap:10px; }
  .pillar { padding:14px 8px; }
  .report-actions-row { margin-bottom:16px; }
  .opinion-box.full-width { padding:20px 18px; }
  .rich-text { font-size:15px; line-height:1.9; }
  .audit-brief-grid { grid-template-columns:1fr; gap:14px; }
  .audit-brief-item { border-right:0; padding:0; }
  .sticky-note-inline { padding:15px 18px; margin:18px 4px 0; }
  .sticky-note-inline p { font-size:21px; }
  .dashboard-row-bottom { grid-template-columns:minmax(0,1fr) minmax(0,1.5fr); gap:12px; }
  .chart-card,.chart-card.main-chart,.stats-panel { padding:18px 12px 10px; min-height:0; min-width:0; width:100%; }
  .balance-sheet-grid { gap:12px; margin-top:25px; }
  .column-header { font-size:20px; padding:12px 12px 8px; }
  #assets-summary>div,#liabilities-summary>div { padding:0 12px 10px!important; }
  .audit-card { padding:14px 12px; }
  .card-name { font-size:15px; }
  .card-body { font-size:14px; line-height:1.85; }
  .grade-badge { font-size:11px; }
  .net-worth-display { padding:25px 19px; }
  .nw-stat-value { font-size:37px; }
  .nw-stat-label { font-size:12px; }
  .nw-grid { display:grid; grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr); gap:8px; }
  .nw-left,.nw-right,.nw-center { min-width:0; padding:0; width:auto; }
  .nw-rank-title { font-size:22px; }
  .kline-section>h3,.owners-equity>h3 { font-size:22px; }
  .owners-equity>h3>span { display:block; margin:8px 0 0!important; font-size:11px!important; line-height:1.8; }
  .owners-equity { padding:21px 18px; }
  .equity-content>div:first-child { grid-template-columns:1fr; gap:7px!important; padding:17px 15px; }
  #core-value-text .equity-core-main { font-size:20px; }
  .owners-equity .equity-strategy { grid-template-columns:1fr; gap:11px; padding:19px 0; }
  .advice-content,.owners-equity .advice-content { font-size:15px; line-height:1.9; }
  .profile-content { padding:0!important; }
  .profile-card { padding:21px 18px!important; }
  .profile-card>div:first-child { gap:15px; flex-wrap:wrap; }
  .profile-card input { min-width:0!important; max-width:100%; }
  .profile-card input#entitlement-redeem-input { flex-basis:100%!important; }
  .calibration-story-actions { gap:10px; }
  .time-mode-toggle { gap:15px; }
  .app-floating-tooltip { font-size:12px; }
}
@media(max-width:800px) {
  .identity-card { grid-template-columns:minmax(0,1fr) 128px; column-gap:20px; padding:22px; }
  .id-left { grid-column:1; grid-row:1/3; }
  .id-name { font-size:30px; }
  .id-bazi { grid-column:1/-1; grid-row:3; gap:12px; padding:16px 0 0; margin-top:6px; border:0; border-top:1px solid var(--rule-soft); }
  .id-right { grid-column:2; grid-row:2; }
  #audit-verdict-seal.verdict-seal { grid-column:2; grid-row:1; }
}
@media(max-width:600px) {
  .identity-card { grid-template-columns:minmax(0,1fr) 112px; gap:14px; padding:20px 16px; }
  .id-left { grid-column:1/-1; grid-row:1; }
  .id-name { font-size:28px; }
  .id-subtitle { margin-top:5px; }
  .id-right { grid-column:1; grid-row:2; justify-self:start; align-self:center; text-align:left; }
  #audit-verdict-seal.verdict-seal { grid-column:2; grid-row:2; width:100px; min-height:40px; padding:6px; font-size:20px; }
  .id-bazi { padding-top:14px; margin-top:0; }
  .dashboard-row-bottom { grid-template-columns:1fr; }
  .balance-sheet-grid { gap:8px; }
  .column-header { font-size:18px; padding:10px 9px 7px; }
  #assets-summary>div,#liabilities-summary>div { padding:0 9px 10px!important; font-size:11px; }
  #assets-summary span:last-child,#liabilities-summary span:last-child { font-size:18px; }
  .audit-card { padding:12px 9px; }
  .card-title-row { flex-direction:column; gap:5px; }
  .card-name { font-size:14px; }
  .card-name>span { font-size:10px!important; margin-top:3px!important; }
  .card-body { font-size:14px; line-height:1.8; }
  .action-note { padding:6px; font-size:12px; }
}
@media(max-width:380px) {
  .view { padding:19px 14px; }
  .app-title { font-size:33px; }
  .id-name { font-size:27px; }
  .identity-card { padding-inline:14px; }
  .bazi-display { display:grid; grid-template-columns:1fr 1fr; }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after { animation:none!important; transition:none!important; }
}
body.export-mode .report-paper { background:var(--bg-paper); }
body.export-mode .report-actions-row { min-height:52px; }
body.export-mode .audit-card { break-inside:avoid; }

/* Score overview: two independent rankings, a fixed scale, no competing label gutters. */
.chart-card.overview-radar,.stats-panel.overview-stats { min-height:0; min-width:0; padding:20px; }
.overview-radar { display:flex; flex-direction:column; }
.overview-radar { position:relative; background:linear-gradient(150deg,#fffefa,#f1eadc)!important; border-color:#b5a58a; }
.overview-radar:after { content:''; position:absolute; pointer-events:none; inset:6px; border:1px solid #b9a78044; }
.astrolabe-stage { position:absolute; inset:0; opacity:0; }
.astrolabe-ready .astrolabe-stage { opacity:1; }
.astrolabe-ready:not(.astrolabe-flat) #rating-radar { visibility:hidden; }
.astrolabe-flat .astrolabe-stage { visibility:hidden; pointer-events:none; }
.astrolabe-canvas,.astrolabe-snapshot { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.astrolabe-snapshot { display:none; }
.radar-tools { display:flex; justify-content:center; align-items:start; height:36px; flex:none; }
.radar-mode-button { position:relative; margin:0 auto; width:max-content; border:0; border-bottom:1px solid #a28c67; background:transparent; padding:5px 0; color:#695c45; font:12px/1.5 var(--font-sans); cursor:pointer; z-index:2; }
.radar-mode-button:focus-visible { outline:2px solid var(--vermilion); outline-offset:4px; }
body.export-mode .radar-mode-button,body.export-mode .astrolabe-canvas { display:none; }
body.export-mode .astrolabe-snapshot { display:block; }
.overview-radar h4,.overview-stats h4 { text-align:left; border:0; padding:0; margin:0; font:700 26px/1.45 var(--font-serif); letter-spacing:.02em; }
.radar-caption,.overview-caption { font:13px/1.7 var(--font-sans); color:var(--ink-secondary); margin:9px 0 0; }
.overview-radar #radar-container { height:290px!important; min-height:220px; min-width:0; padding:0; flex:1; margin:8px 0; position:relative; }
.overview-radar #rating-radar { position:absolute!important; inset:0; }
.dimension-scores { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:0; padding:17px 0 2px; border-top:1px solid var(--rule-soft); gap:3px; }
.dimension-score { text-align:center; min-width:0; }
.dimension-score dt { font:13px/1.6 var(--font-sans); color:var(--ink-secondary); }
.dimension-score dd { margin:4px 0 0; color:var(--ink-primary); font:600 30px/1.3 var(--font-serif); font-variant-numeric:tabular-nums; }
.overview-stats #stats-grid { display:block; height:auto; }
.overview-heading { padding-bottom:12px; }
.score-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:36px; }
.score-column { min-width:0; position:relative; --score-color:var(--green); }
.score-column-liabilities { --score-color:var(--vermilion); }
.score-column-liabilities:before { content:''; position:absolute; top:0; bottom:0; left:-18px; border-left:1px solid var(--rule-soft); }
.score-column-heading h5 { font:700 20px/1.6 var(--font-serif); color:var(--score-color); margin:0; }
.score-column-heading p { font:12px/1.7 var(--font-sans); color:var(--ink-secondary); margin:4px 0 0; }
.score-axis { display:flex; justify-content:space-between; font:12px/1.4 var(--font-sans); color:var(--ink-secondary); margin:15px 4px 5px; }
.score-list { list-style:none; padding:0; margin:0; }
.score-row { padding:7px 0 6px; margin:0; }
.score-row-label { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.score-item-name { font:500 16px/1.6 var(--font-sans); color:var(--ink-primary); overflow-wrap:anywhere; }
.score-value { font:600 22px/1.3 var(--font-sans); color:var(--score-color); font-variant-numeric:tabular-nums; flex-shrink:0; }
.score-track { height:8px; margin:4px 4px 0; position:relative; background:linear-gradient(var(--rule-soft),var(--rule-soft)) center/100% 1px no-repeat; }
.score-track:before,.score-track:after { content:''; position:absolute; top:2px; height:4px; border-left:1px solid var(--rule); }
.score-track:before { left:50%; }
.score-track:after { right:0; }
.score-dot { display:block; position:absolute; top:0; width:8px; height:8px; margin-left:-4px; background:var(--score-color); border-radius:50%; }
.score-column-liabilities .score-dot { border-radius:1px; transform:rotate(45deg); width:7px; height:7px; top:.5px; margin-left:-3.5px; }
.overview-footnote { font:12px/1.6 var(--font-sans); margin:14px 0 0; padding-top:12px; border-top:1px solid var(--rule-soft); color:var(--ink-secondary); }
.radar-empty { display:flex; align-items:center; justify-content:center; height:100%; color:var(--ink-secondary); font:13px var(--font-sans); }
.score-empty { color:var(--ink-secondary); font:12px/1.8 var(--font-sans); }
@media(max-width:900px) {
  .chart-card.overview-radar,.stats-panel.overview-stats { padding:16px 13px; }
  .score-columns { column-gap:24px; }
  .score-column-liabilities:before { left:-12px; }
}
@media(max-width:600px) {
  .dashboard-row-bottom { gap:12px; }
  .overview-radar #radar-container { flex:none; height:235px!important; }
  .overview-radar h4,.overview-stats h4 { font-size:24px; }
  .dimension-scores { padding-top:12px; }
  .score-column-heading h5 { font-size:19px; }
  .score-item-name { font-size:14px; }
  .score-value { font-size:21px; }
}
