body.report-view{
  --paper:#F3F4F2; --card:#FFFFFF; --ink:#1D2125; --ink-2:#5E646B; --ink-3:#979DA3; --line:#E1E3DF;
  --a:#B23A62; --a-soft:#F5DEE6;          
  --b:#1F6F8B; --b-soft:#D7E9EF;          
  --lens:#4E3A62;                          
  --gold:#9C7420; --gold-soft:#F4EBD6;     
  --warn:#BF5A1F; --warn-soft:#F9E7DB;     
  --wood:#3F7D58; --fire:#C9502E; --earth:#957240; --metal:#A08A55; --water:#2B3A4A;
  --serif:"Songti SC","STSong","Source Han Serif SC","Noto Serif CJK SC","Noto Serif SC",serif;
  --sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans CJK SC",sans-serif;
}body.report-view *{box-sizing:border-box;margin:0;padding:0}html.report-layout{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body.report-view{background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.report-view button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}body.report-view :focus-visible{outline:2px solid var(--b);outline-offset:2px;border-radius:4px}body.report-view .page{max-width:480px;margin:0 auto;padding:0 16px 40px}body.report-view .top{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0 0}body.report-view .brand{font-family:var(--serif);font-weight:700;font-size:18px;letter-spacing:.12em}body.report-view .top small{font-size:12px;color:var(--ink-3)}body.report-view .hero{text-align:center;padding:4px 0 8px}body.report-view .venn{display:block;width:100%;max-width:360px;height:auto;margin:0 auto}body.report-view .v-name{font:600 15px var(--sans)}body.report-view .v-dm{font:400 12px var(--sans);fill:var(--ink-2)}body.report-view .v-score{font:700 46px var(--serif);fill:#fff}body.report-view .v-unit{font:400 11px var(--sans);fill:rgba(255,255,255,.75)}body.report-view .verdict{font-family:var(--serif);font-weight:700;font-size:24px;line-height:1.42;margin-top:4px;text-wrap:balance}body.report-view .summary{color:var(--ink-2);margin:10px auto 0;max-width:22em;text-wrap:pretty}body.report-view .tags{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}body.report-view .tags li{font-size:13px;padding:3px 11px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}body.report-view .tags li.good{color:var(--gold);background:var(--gold-soft);box-shadow:none}body.report-view .tags li.warn{color:var(--warn);background:var(--warn-soft);box-shadow:none}body.report-view .births{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 16px;margin-top:16px;font-size:12px;color:var(--ink-3)}body.report-view .births span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px;background:var(--c)}body.report-view .tabs{position:sticky;top:0;z-index:5;display:flex;margin:20px -16px 0;padding:0 8px;background:rgba(243,244,242,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}body.report-view .tabs a{flex:1;text-align:center;padding:11px 0 9px;font-size:14px;color:var(--ink-2);text-decoration:none;border-bottom:2px solid transparent}body.report-view .tabs a.on{color:var(--ink);font-weight:600;border-color:var(--ink)}body.report-view .block{padding-top:32px;scroll-margin-top:44px}body.report-view h2{font-family:var(--serif);font-size:20px;line-height:1.4;font-weight:700}body.report-view .lead{font-size:13px;color:var(--ink-2);margin-top:4px}body.report-view .dims{display:grid;gap:12px;margin-top:16px}body.report-view .dim{display:grid;grid-template-columns:4.6em 1fr 2em;align-items:center;gap:10px;font-size:14px}body.report-view .bar{height:8px;border-radius:4px;background:#E3E5E1;overflow:hidden}body.report-view .bar i{display:block;height:100%;border-radius:4px;background:var(--ink);transform-origin:left;transition:transform .7s cubic-bezier(.2,.7,.2,1)}body.report-view .dim .val{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}body.report-view .group{margin-top:18px}body.report-view .group h3{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;margin-bottom:8px}body.report-view .group h3::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold)}body.report-view .group.split h3::before{background:var(--warn)}body.report-view .item{background:var(--card);border-radius:10px;padding:14px 16px;border-left:3px solid var(--gold)}body.report-view .item + .item{margin-top:8px}body.report-view .split .item{border-left-color:var(--warn)}body.report-view .item h4{font-size:16px;font-weight:600;line-height:1.45}body.report-view .item p{font-size:14px;margin-top:4px}body.report-view .item .basis{font-size:12px;color:var(--ink-3);margin-top:6px}body.report-view .item .todo{margin-top:10px;padding:8px 10px;border-radius:6px;background:var(--warn-soft);color:#6E3511;font-size:13.5px;line-height:1.6}body.report-view .panel{background:var(--card);border-radius:12px;padding:14px 12px;margin-top:16px}body.report-view .legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--ink-2);margin-bottom:12px}body.report-view .sw{display:inline-block;width:14px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}body.report-view .sw.up{background:#5E646B}body.report-view .sw.steady{background:#E3E5E1}body.report-view .sw.down{background:repeating-linear-gradient(135deg,#D3D6D2 0 3px,#fff 3px 6px);box-shadow:inset 0 0 0 1px #D3D6D2}body.report-view .tl{display:grid;grid-template-columns:42px 56px 56px 1fr;column-gap:6px}body.report-view .tl-h{font-size:12px;font-weight:600;text-align:center;padding-bottom:6px}body.report-view .tl-h.a{color:var(--a)}body.report-view .tl-h.b{color:var(--b)}body.report-view .yr{border-top:1px solid var(--line);padding-top:8px;font-size:12px;line-height:1.35;color:var(--ink-2);font-variant-numeric:tabular-nums}body.report-view .now{display:inline-block;margin-top:5px;padding:0 5px;border-radius:3px;background:var(--ink);color:#fff;font-size:10px;line-height:16px}body.report-view .cell{display:flex}body.report-view .seg{flex:1;display:flex;flex-direction:column;align-items:center;padding:8px 2px;font-size:11px;line-height:1.35;text-align:center}body.report-view .seg.start{border-top-left-radius:6px;border-top-right-radius:6px}body.report-view .seg.end{border-bottom-left-radius:6px;border-bottom-right-radius:6px}body.report-view .cell.gap .seg{margin-top:3px}body.report-view .seg .gz{font-family:var(--serif);font-size:16px;font-weight:700;letter-spacing:.06em}body.report-view .seg .kw{font-weight:600}body.report-view .seg.a.up{background:var(--a);color:#fff}body.report-view .seg.a.steady{background:var(--a-soft);color:var(--a)}body.report-view .seg.a.down{background:repeating-linear-gradient(135deg,var(--a-soft) 0 5px,#fff 5px 10px);color:var(--a)}body.report-view .seg.b.up{background:var(--b);color:#fff}body.report-view .seg.b.steady{background:var(--b-soft);color:var(--b)}body.report-view .seg.b.down{background:repeating-linear-gradient(135deg,var(--b-soft) 0 5px,#fff 5px 10px);color:var(--b)}body.report-view .seg.sel{box-shadow:inset 0 0 0 2px var(--ink)}body.report-view .note{border-top:1px solid var(--line);padding:8px 0 14px 4px}body.report-view .wtag{display:inline-block;padding:0 7px;border-radius:999px;font-size:11px;line-height:18px;font-weight:600}body.report-view .wtag.resonance{background:var(--gold-soft);color:var(--gold)}body.report-view .wtag.offset{background:var(--warn-soft);color:var(--warn)}body.report-view .wtag.shared{background:#E7E9EC;color:var(--ink-2)}body.report-view .wtag.parallel{color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line)}body.report-view .note h4{font-size:14px;font-weight:600;line-height:1.4;margin-top:4px}body.report-view .note p{font-size:12.5px;line-height:1.55;color:var(--ink-2);margin-top:2px}body.report-view .detail{margin-top:4px;border-top:1px solid var(--line);padding-top:12px}body.report-view .detail .hint{font-size:12px;color:var(--ink-3)}body.report-view .detail h4{font-family:var(--serif);font-size:17px;font-weight:700;margin-top:2px}body.report-view .detail h4 em{font-style:normal;font-family:var(--sans);font-size:12px;font-weight:600;margin-left:8px;padding:1px 7px;border-radius:999px;vertical-align:2px}body.report-view .detail p{font-size:14px;margin-top:4px}body.report-view .pz{display:grid;grid-template-columns:44px repeat(4,1fr);row-gap:0}body.report-view .pz .h{font-size:12px;color:var(--ink-3);text-align:center;padding-bottom:6px}body.report-view .pz .h.day{color:var(--ink);font-weight:600}body.report-view .pz .who{display:flex;align-items:center;font-size:13px;font-weight:600;border-top:1px solid var(--line)}body.report-view .pz .col{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 0;border-top:1px solid var(--line)}body.report-view .pz .col.day{background:#F7F7F5}body.report-view .ch{font-family:var(--serif);font-size:25px;font-weight:700;line-height:1.15;color:var(--c)}body.report-view .ch sub{font-family:var(--sans);font-size:10px;font-weight:400;vertical-align:baseline;margin-left:1px;color:var(--ink-3)}body.report-view .unknown{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:44px;height:64px;border:1px dashed #C9CCC8;border-radius:6px;color:var(--ink-3);font-size:11px;line-height:1.3}body.report-view .unknown b{font-family:var(--serif);font-size:20px;font-weight:400}body.report-view .pz-note{font-size:12px;color:var(--ink-3);margin-top:10px}body.report-view .wx{margin-top:22px}body.report-view .wx-head{display:grid;grid-template-columns:1fr 36px 1fr;font-size:12px;font-weight:600;margin-bottom:6px}body.report-view .wx-head span:first-child{text-align:right;color:var(--a)}body.report-view .wx-head span:last-child{color:var(--b)}body.report-view .wx-row{display:grid;grid-template-columns:1fr 36px 1fr;align-items:center;height:28px}body.report-view .wx-side{display:flex;align-items:center;gap:6px;font-size:12px;font-variant-numeric:tabular-nums;color:var(--ink-2)}body.report-view .wx-side.l{flex-direction:row-reverse}body.report-view .wx-side i{height:12px;max-width:calc(100% - 28px)}body.report-view .wx-side.l i{background:var(--a);border-radius:3px 0 0 3px}body.report-view .wx-side.r i{background:var(--b);border-radius:0 3px 3px 0}body.report-view .wx-side .lack{color:var(--warn);font-weight:600}body.report-view .wx-el{text-align:center;font-family:var(--serif);font-size:16px;font-weight:700;color:var(--c)}body.report-view .callout{margin-top:14px;padding:10px 12px;border-radius:8px;background:var(--gold-soft);font-size:13.5px;line-height:1.65}body.report-view .dm-rel{font-size:14px;margin-top:12px}body.report-view .actions{display:grid;gap:10px;margin-top:36px}body.report-view .btn{height:48px;border-radius:24px;font-size:16px;font-weight:600}body.report-view .btn.primary{background:var(--ink);color:#fff}body.report-view .btn.ghost{box-shadow:inset 0 0 0 1px #C9CCC8}body.report-view .disclaimer{margin-top:20px;font-size:12px;line-height:1.6;color:var(--ink-3);text-align:center}body.report-view .toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);padding:8px 14px;border-radius:8px;background:rgba(29,33,37,.92);color:#fff;font-size:13px;opacity:0;pointer-events:none;transition:opacity .2s}body.report-view .toast.show{opacity:1}


/* App adapters: preserve the reference proportions and its four navigation items. */
body.report-view { --report-paper:var(--paper); --report-card:var(--card); --report-ink:var(--ink); --report-muted:var(--ink-2); --report-line:var(--line); --report-you:var(--a); --report-ta:var(--b); --report-you-soft:var(--a-soft); --report-ta-soft:var(--b-soft); --report-overlap:var(--lens); }
body.report-view #app { max-width:480px; background:var(--paper); }
body.report-view .report-page { padding:0 16px 40px; animation:none; }
body.report-view .site-header, body.report-view .site-footer { display:none; }
body.report-view .tabs button { flex:1; padding:11px 0 9px; font-size:14px; color:var(--ink-2); border:0; border-bottom:2px solid transparent; border-radius:0; min-height:44px; box-shadow:none; background:none; }
body.report-view .tabs button.active { color:var(--ink); font-weight:600; border-color:var(--ink); }
body.report-view .circle-a { fill:var(--a-soft);stroke:var(--a);stroke-width:1.5; }
body.report-view .circle-b { fill:var(--b-soft);stroke:var(--b);stroke-width:1.5; }
body.report-view .circle-lens { fill:var(--lens); }
body.report-view .name-a, body.report-view .person-a { color:var(--a);fill:var(--a); }
body.report-view .name-b, body.report-view .person-b { color:var(--b);fill:var(--b); }
body.report-view .births .person-a::before { background:var(--a); }
body.report-view .births .person-b::before { background:var(--b); }
body.report-view .summary { font-size:15px; }
body.report-view .hero { scroll-margin-top:44px; }
body.report-view .dim-meter, body.report-view svg.bar { display:block;width:100%;height:8px; }
body.report-view .bar-track { fill:#E3E5E1; }
body.report-view .bar-fill { fill:var(--ink); }
body.report-view .dim { --dim-color:#979DA3; }
body.report-view .dim[data-dimension="personality"] { --dim-color:#A5687C; }
body.report-view .dim[data-dimension="values"] { --dim-color:#82729A; }
body.report-view .dim[data-dimension="stability"] { --dim-color:#5C806A; }
body.report-view .dim[data-dimension="affection"] { --dim-color:#B77D60; }
body.report-view .dim[data-dimension="communication"] { --dim-color:#527F91; }
body.report-view .dim[data-dimension="pace"] { --dim-color:#A38A50; }
body.report-view .dim .bar-fill { fill:var(--dim-color); }
body.report-view .dim .val { color:var(--dim-color); }
body.report-view .estimate { display:block;font-size:10px;font-weight:400;color:var(--ink-3); }
body.report-view .tl { display:block; }
body.report-view .tl-head, body.report-view .tl-row { display:grid;grid-template-columns:42px 56px 56px minmax(0,1fr);column-gap:6px; }
body.report-view .tl-row .yr { font-size:10px;overflow-wrap:anywhere; }
body.report-view .tl-row .seg { width:100%;min-width:0;border:0;overflow-wrap:anywhere; }
body.report-view .tl-row .empty-cell { font-size:10px;color:var(--ink-3);padding-top:8px;justify-content:center; }
body.report-view .seg.unknown { width:100%;height:auto;border:0;background:var(--a-soft);color:var(--a); }
body.report-view .detail.person-a h4 { color:var(--a); }
body.report-view .detail.person-b h4 { color:var(--b); }
body.report-view .state-chip { background:var(--a-soft);color:var(--a); }
body.report-view .person-b .state-chip { background:var(--b-soft);color:var(--b); }
body.report-view .person-a .state-chip.up { background:var(--a);color:#fff; }
body.report-view .person-b .state-chip.up { background:var(--b);color:#fff; }
body.report-view .detail:focus { outline:none; }
body.report-view .report-more { margin-top:18px;border-top:1px solid var(--line);padding-top:12px;color:var(--ink-2);font-size:13px; }
body.report-view .report-more > summary, body.report-view .topic-detail > summary { cursor:pointer;min-height:36px;display:list-item; }
body.report-view .topic-detail { margin-top:10px;border-top:1px solid var(--line);padding-top:10px;font-size:14px;color:var(--ink); }
body.report-view .topic-detail p { margin-top:6px; }
body.report-view .topic-detail h4, body.report-view .topic-detail h5 { margin-top:12px;font-size:14px; }
body.report-view .topic-detail .todo { margin-top:10px;padding:8px 10px;border-radius:6px;background:var(--warn-soft);color:#6E3511;font-size:13.5px; }
body.report-view .pz .h { font-size:11px; }
body.report-view .wood { color:var(--wood); }body.report-view .fire { color:var(--fire); }body.report-view .earth { color:var(--earth); }body.report-view .metal { color:var(--metal); }body.report-view .water { color:var(--water); }
body.report-view .wx-side .bar { flex:1;max-width:calc(100% - 28px);height:12px;border-radius:3px; }
body.report-view .wx-side .bar-track { fill:none; }
body.report-view .wx-side.l .bar-fill { fill:var(--a); }
body.report-view .wx-side.r .bar-fill { fill:var(--b); }
body.report-view .wx-side.l svg { transform:scaleX(-1); }
body.report-view .wx-side .lack { font-size:11px; }
body.report-view .btn { padding:0 12px;min-height:48px;width:100%;letter-spacing:0; }
body.report-view .report-home { font-size:13px;color:var(--ink-2);min-height:44px; }
body.report-view .queue-card { margin-top:16px;padding:12px;border:1px solid var(--line);background:var(--card);font-size:13px; }
body.report-view .skip-link { padding:12px;background:var(--card); }
@media (prefers-reduced-motion:reduce) { html.report-layout { scroll-behavior:auto; } }
body.report-view .span-1 { min-height:24px; }
body.report-view .span-2 { min-height:48px; }
body.report-view .span-3 { min-height:72px; }
body.report-view .span-4 { min-height:96px; }
body.report-view .span-5 { min-height:120px; }
body.report-view .span-6 { min-height:144px; }
body.report-view .span-7 { min-height:168px; }
body.report-view .span-8 { min-height:192px; }
body.report-view .span-9 { min-height:216px; }
body.report-view .span-10 { min-height:240px; }

body.report-view .births .person-a, body.report-view .births .person-b { color:var(--ink-3); }
body.report-view .tl-row .yr { font-size:12px; }
body.report-view .tl-row .yr small { display:block;font-size:10px; }
body.report-view .tl-row .yr > span:not(.now) { display:block;margin:3px 0; }

/* Shared time axis with two continuous, independently joined color bands. */
body.report-view .stage-explorer { margin-top:16px;padding:12px 12px 16px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--lens);border-radius:10px;min-width:0; }
body.report-view .stage-band-legend { margin-top:0;margin-bottom:0; }
body.report-view .stage-strip { position:relative;display:flex;gap:0;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:8px 3px 14px;margin-top:8px;scrollbar-width:thin;scrollbar-color:#C9CCC8 transparent; }
body.report-view .stage-choice { flex:0 0 200px;min-width:0;display:grid;grid-template-rows:52px 64px 64px;row-gap:6px;text-align:left;padding:0;border:0;border-radius:0;background:none;color:var(--ink);scroll-snap-align:center;box-shadow:none;letter-spacing:0;white-space:normal; }
body.report-view .stage-date-block { display:flex;flex-direction:column;justify-content:center;gap:7px;padding:6px 12px;border-left:1px solid var(--line);border-bottom:2px solid transparent; }
body.report-view .stage-choice.selected .stage-date-block { border-bottom-color:var(--lens);background:#F4F0F6; }
body.report-view .stage-card-top { display:flex;justify-content:space-between;align-items:center;gap:8px; }
body.report-view .stage-card-top strong { font-family:var(--serif);font-size:18px;line-height:1.4; }
body.report-view .stage-current { font-size:10px;line-height:19px;background:var(--ink);color:#fff;border-radius:4px;padding:0 5px;white-space:nowrap; }
body.report-view .stage-card-date { color:var(--ink-3);font-size:10px;font-variant-numeric:tabular-nums; }
body.report-view .stage-band.seg { display:flex;align-items:stretch;justify-content:center;gap:4px;margin:0;padding:8px 12px;min-width:0;text-align:left;border-radius:0; }
body.report-view .stage-band-head { display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px; }
body.report-view .stage-band-head small { font-size:10px;font-weight:400; }
body.report-view .stage-band .kw { font-size:12px;font-weight:500;line-height:1.5;overflow:hidden;white-space:nowrap;text-overflow:ellipsis; }
body.report-view .stage-band-age { font-size:11px;opacity:.8; }
body.report-view .stage-band.band-start { border-left:1px dashed currentColor; }
body.report-view .stage-choice:first-child .stage-band.band-start { border-left:0; }
body.report-view .stage-choice:first-child .stage-band { border-radius:6px 0 0 6px; }
body.report-view .stage-choice:last-child .stage-band { border-radius:0 6px 6px 0; }
body.report-view .stage-choice.selected .stage-band { box-shadow:none; }
body.report-view .stage-band-empty { display:flex;flex-direction:column;justify-content:center;gap:8px;padding:12px 14px;font-size:12px;color:var(--ink-3);border-top:1px dashed var(--line);border-bottom:1px dashed var(--line); }
body.report-view .stage-length-1, body.report-view .stage-length-2, body.report-view .stage-length-3, body.report-view .stage-length-4 { flex-basis:180px; }
body.report-view .stage-length-5 { flex-basis:200px; }body.report-view .stage-length-6 { flex-basis:240px; }body.report-view .stage-length-7 { flex-basis:280px; }body.report-view .stage-length-8 { flex-basis:320px; }body.report-view .stage-length-9 { flex-basis:360px; }body.report-view .stage-length-10 { flex-basis:400px; }
body.report-view .stage-content { margin-top:0;border-top:1px solid var(--line); }
body.report-view .stage-selected-head { display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding-top:14px;margin-bottom:12px; }
body.report-view .stage-eyebrow { font-size:12px;color:var(--ink-3); }
body.report-view .stage-selected-head h3 { margin-top:0;font-family:var(--sans);font-size:14px;line-height:1.5;overflow-wrap:anywhere;font-variant-numeric:tabular-nums; }
body.report-view .stage-person { margin-top:18px;border:0;border-left:2px solid var(--a);border-radius:0;padding:2px 0 4px 12px;background:none;color:var(--ink); }
body.report-view .stage-person.person-b { border-left-color:var(--b); }
body.report-view .stage-person-head h4 { display:flex;align-items:center;gap:9px;font-family:var(--serif);font-size:21px;line-height:1.4;color:var(--a); }
body.report-view .person-b .stage-person-head h4 { color:var(--b); }
body.report-view .stage-person-head .state-chip { font-family:var(--sans);font-size:11px;font-weight:500;border-radius:999px;padding:2px 8px; }
body.report-view .stage-person-head > p { font-size:13px;margin-top:5px;color:var(--ink-2); }
body.report-view .stage-person-head > .hint { font-size:11px;color:var(--ink-3); }
body.report-view .stage-topic { padding-top:16px;margin-top:16px;border-top:1px solid var(--line); }
body.report-view .stage-topic h5, body.report-view .stage-together h5 { font-size:15px;font-weight:600;line-height:1.5;margin-bottom:7px; }
body.report-view .stage-topic h6 { font-size:12px;color:var(--ink-3);font-weight:500;margin-top:13px; }
body.report-view .stage-topic p, body.report-view .stage-person > p, body.report-view .stage-together p { font-size:14px;line-height:1.85;margin-top:5px;overflow-wrap:anywhere; }
body.report-view .stage-together { padding:18px 16px;border-radius:12px;background:var(--gold-soft);margin-top:14px; }
body.report-view .stage-together h4 { font-family:var(--serif);font-size:18px;line-height:1.5;margin:8px 0; }
body.report-view .stage-together h5 { margin-top:16px; }
body.report-view .stage-content .todo { padding:10px 12px;border-radius:7px;background:#F3F4F2;margin-top:12px;font-size:13px;line-height:1.75;color:var(--ink-2); }
body.report-view .stage-choice:focus-visible { outline:2px solid var(--b);outline-offset:2px; }
@media (max-width:350px) { body.report-view .stage-explorer { padding-left:10px;padding-right:10px; } body.report-view .stage-person { padding-left:10px; } }

/* Share controls and dialog use the report's existing paper and ink palette. */
body.report-view .top { justify-content:flex-end; }
body.report-view .share-actions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
body.report-view .share-dialog { margin:auto;width:calc(100% - 32px);max-width:390px;max-height:calc(100dvh - 32px);overflow:auto;padding:28px 22px 22px;border:1px solid var(--line);border-radius:16px;background:var(--card);color:var(--ink); }
body.report-view .share-dialog::backdrop { background:#1D212566;backdrop-filter:blur(3px); }
body.report-view .share-close { position:absolute;right:12px;top:8px;font-size:26px;line-height:32px;width:32px; }
body.report-view .share-dialog h2 { padding-right:20px; }
body.report-view .share-intro { margin-top:8px;font-size:14px;color:var(--ink-2); }
body.report-view .share-text { display:block;width:100%;min-height:260px;margin-top:18px;padding:14px;border:1px solid var(--line);border-radius:10px;resize:none;background:var(--paper);color:var(--ink);font:14px/1.7 var(--sans);overflow-wrap:anywhere; }
body.report-view .share-dialog .btn { width:100%;margin-top:16px; }
body.report-view .share-dialog .btn:disabled { opacity:.5;cursor:wait; }
body.report-view .share-code-input { display:block;width:100%;margin-top:16px;padding:12px;border:1px solid var(--line);border-radius:8px;font:14px var(--sans); }
body.report-view .share-message { margin-top:12px;font-size:13px;color:var(--ink-2); }
body.report-view .share-message.error { color:var(--warn); }
