:root { --paper:#f7f2e8; --ink:#19312c; --green:#285e52; --dark:#103f37; --lime:#d9e7a7; --coral:#d4775c; --line:#d9d7ca; --card:#fffdf8; --muted:#65736e; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Inter,"Noto Sans SC","Microsoft YaHei",sans-serif; line-height:1.65; }
header { min-height:70px; padding:0 max(5vw,20px); display:flex; align-items:center; justify-content:space-between; gap:1rem; border-bottom:1px solid var(--line); background:rgba(247,242,232,.95); }
.brand { color:var(--ink); text-decoration:none; font-size:1.35rem; font-weight:800; }
.brand small { margin-left:.45rem; color:var(--muted); font-size:.72rem; font-weight:500; }
.header-nav { display:flex; align-items:center; gap:1rem; }
.header-nav a { color:var(--green); font-size:.84rem; font-weight:750; text-decoration:none; }
.header-nav a:last-child { color:var(--muted); }
main { min-height:calc(100vh - 160px); }
.shell { width:min(900px,calc(100% - 32px)); margin:auto; padding:4rem 0 6rem; }
.hero { background:var(--dark); color:white; padding:4.5rem max(5vw,20px); }
.hero>div { width:min(900px,100%); margin:auto; }
h1 { margin:.2rem 0 1rem; font-size:clamp(2.2rem,6vw,4.4rem); line-height:1.12; letter-spacing:-.035em; }
h2 { margin:2.6rem 0 .7rem; font-size:1.65rem; }
h3 { margin:.2rem 0 .55rem; }
.eyebrow { color:var(--coral); font-size:.75rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.hero .eyebrow { color:var(--lime); }
.lede { max-width:680px; font-size:1.12rem; color:var(--muted); }
.narrative p { margin:.65rem 0; }
.hero .lede { color:#dbe9e4; }
.button-row { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1.4rem; }
button,.button { appearance:none; border:0; border-radius:999px; padding:.75rem 1.15rem; background:var(--green); color:white; font:inherit; font-weight:700; cursor:pointer; text-decoration:none; }
button.secondary { background:transparent; color:var(--green); border:1px solid var(--green); }
button.danger { color:#853d2d; border-color:#b75e49; }
button:disabled { opacity:.45; cursor:not-allowed; }
.card { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:1.3rem; margin:1rem 0; }
.saved-report-list { display:grid; gap:1rem; }
.report-recovery,.report-completed-list { display:grid; gap:1rem; }
.report-recovery { padding:1.2rem; border:1px solid var(--line); border-radius:18px; background:#faf8f1; }
.report-recovery h2,.report-completed-list h2 { margin:.1rem 0; font-size:1.3rem; }
.handoff-entry { max-width:620px; }
.handoff-entry h2 { margin-top:0; }
.handoff-entry label { display:block; margin:1.2rem 0 .45rem; font-weight:750; }
.handoff-entry input { width:100%; padding:.9rem 1rem; border:1px solid var(--line); border-radius:12px; background:var(--card); color:var(--ink); font:700 1.15rem/1.2 Inter,"Noto Sans SC",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.saved-report { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin:0; }
.saved-report h2 { margin:.55rem 0 .2rem; font-size:1.25rem; }
.report-status { display:inline-flex; padding:.22rem .55rem; border-radius:999px; background:#efeee7; color:var(--muted); font-size:.72rem; font-weight:750; }
.report-status-completed { color:#275a4e; background:#dcebdc; }
.report-status-failed { color:#853d2d; background:#fff0eb; }
.account { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.account p,.meta { color:var(--muted); margin:.25rem 0; font-size:.9rem; }
.source-hero { padding-block:3.8rem; }
.source-shell { width:min(1040px,calc(100% - 32px)); padding-top:3.2rem; }
.source-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin:0 0 1.2rem; }
.source-heading h2 { margin:.15rem 0 0; }
.source-heading>p { max-width:510px; margin:0; color:var(--muted); font-size:.9rem; }
.source-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.source-card { position:relative; overflow:hidden; min-height:250px; display:flex; flex-direction:column; padding:1.4rem; border:1px solid var(--line); border-top:4px solid var(--green); border-radius:20px; background:var(--card); }
.source-xiaohongshu { border-top-color:#d23c49; }
.source-douyin { border-top-color:#272d2b; }
.source-zhihu { border-top-color:#1772e8; }
.source-card-top { display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.source-platform { color:var(--muted); font-size:.76rem; font-weight:800; letter-spacing:.09em; }
.source-status,.source-coming { padding:.25rem .58rem; border-radius:999px; color:var(--muted); background:#efeee7; font-size:.72rem; font-weight:750; }
.source-status.is-bound { color:#275a4e; background:#dcebdc; }
.source-status.is-reading { color:#6b4a1d; background:#f8ebc9; }
.source-identity { display:flex; align-items:center; gap:1rem; margin:1.5rem 0 .8rem; min-width:0; }
.source-identity>div { min-width:0; }
.source-identity h3 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.source-identity p { margin:.2rem 0 0; color:var(--muted); font-size:.86rem; }
.source-avatar { flex:none; width:58px; height:58px; display:grid; place-items:center; border-radius:16px; overflow:hidden; }
.source-avatar img { width:100%; height:100%; display:block; object-fit:contain; }
.source-sync { margin:.2rem 0; color:var(--muted); font-size:.78rem; }
.source-reading { display:inline-flex; align-items:center; gap:.22rem; color:var(--muted); }
.source-reading i { width:.28rem; height:.28rem; border-radius:50%; background:currentColor; opacity:.28; animation:source-reading-bounce 1.05s ease-in-out infinite; }
.source-reading i:nth-of-type(2) { animation-delay:.15s; }
.source-reading i:nth-of-type(3) { animation-delay:.3s; }
@keyframes source-reading-bounce { 0%,60%,100% { transform:translateY(0); opacity:.25; } 30% { transform:translateY(-.22rem); opacity:.9; } }
@media (prefers-reduced-motion:reduce) { .source-reading i { animation:none; } }
.source-loading-overlay { position:absolute; inset:0; z-index:2; display:flex; align-items:center; justify-content:center; gap:.9rem; padding:1.5rem; border-radius:inherit; background:rgba(255,253,248,.9); backdrop-filter:blur(3px); color:#275a4e; text-align:left; }
.source-loading-overlay strong { display:block; font-size:1rem; }
.source-loading-overlay p { margin:.22rem 0 .35rem; color:var(--muted); font-size:.78rem; line-height:1.45; }
.source-loading-ring { flex:none; width:2.35rem; height:2.35rem; border:.24rem solid rgba(39,90,78,.18); border-top-color:#275a4e; border-radius:50%; animation:source-loading-spin .85s linear infinite; }
.source-loading-dots { display:flex; gap:.22rem; }
.source-loading-dots i { width:.34rem; height:.34rem; border-radius:50%; background:#3b7867; animation:source-loading-dot 1s ease-in-out infinite; }
.source-loading-dots i:nth-child(2) { animation-delay:.16s; }
.source-loading-dots i:nth-child(3) { animation-delay:.32s; }
@keyframes source-loading-spin { to { transform:rotate(360deg); } }
@keyframes source-loading-dot { 0%,80%,100% { transform:scale(.6); opacity:.35; } 40% { transform:scale(1); opacity:1; } }
@media (prefers-reduced-motion:reduce) { .source-loading-ring,.source-loading-dots i { animation:none; } }
.source-card-actions { display:flex; align-items:center; justify-content:flex-end; margin-top:auto; padding-top:1.2rem; }
.source-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.5rem; }
.scope-source-picker { margin:1.5rem 0; padding:1.15rem; border:1px solid var(--line); border-radius:18px; background:var(--card); }
.scope-source-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:.9rem; }
.scope-source-heading strong { font-size:1rem; }
.scope-source-heading p { margin:.25rem 0 0; color:var(--muted); font-size:.84rem; }
.scope-source-heading>span { padding:.22rem .5rem; border-radius:999px; background:#efeee7; color:var(--muted); font-size:.72rem; font-weight:750; }
.scope-source-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
.scope-source-choice { display:block; cursor:pointer; }
.scope-source-choice>input { position:absolute; opacity:0; pointer-events:none; }
.scope-source-body { min-height:74px; display:flex; align-items:center; gap:.7rem; padding:.75rem; border:1px solid var(--line); border-radius:14px; background:#fffefa; transition:border-color .15s,background .15s,box-shadow .15s; }
.scope-source-choice>input:checked+.scope-source-body { border-color:#3b7867; background:#edf6ed; box-shadow:0 0 0 2px rgba(59,120,103,.12); }
.scope-source-choice>input:focus-visible+.scope-source-body { outline:3px solid rgba(45,104,177,.3); outline-offset:2px; }
.scope-source-body .source-avatar { width:40px; height:40px; border-radius:12px; }
.scope-source-body strong,.scope-source-body small { display:block; }
.scope-source-body strong { font-size:.88rem; }
.scope-source-body small { margin-top:.2rem; color:var(--muted); font-size:.75rem; line-height:1.35; }
.coming-platforms { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; margin-top:1rem; padding:1rem 1.15rem; border:1px dashed #c8c9bf; border-radius:18px; background:rgba(255,253,248,.55); }
.coming-platforms>p { margin:0; color:var(--muted); font-size:.76rem; font-weight:800; letter-spacing:.1em; }
.coming-platforms>div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.75rem; }
.coming-platform { display:flex; align-items:center; gap:.65rem; min-width:150px; }
.coming-platform .coming-icon { width:38px; height:38px; border-radius:12px; }
.coming-platform .coming-icon img { width:100%; height:100%; }
.coming-platform span:last-child { display:grid; line-height:1.25; }
.coming-platform strong { font-size:.88rem; }
.coming-platform small { color:var(--muted); font-size:.72rem; }
.source-summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1.4rem; padding:1rem 1.15rem; border:1px solid rgba(40,94,82,.22); border-radius:18px; background:rgba(255,253,248,.95); box-shadow:0 14px 40px rgba(25,49,44,.1); }
.source-summary p { margin:.1rem 0 0; color:var(--muted); font-size:.84rem; }
.binding-layer { position:fixed; inset:0; z-index:20; display:grid; place-items:center; padding:1rem; background:rgba(15,35,30,.55); backdrop-filter:blur(5px); }
.binding-panel { position:relative; width:min(560px,100%); padding:clamp(1.4rem,4vw,2.2rem); border-radius:24px; background:var(--card); box-shadow:0 24px 70px rgba(0,0,0,.24); }
.binding-panel h2 { margin:.2rem 0 .5rem; }
.binding-panel>p:not(.eyebrow) { color:var(--muted); }
.binding-panel input { width:100%; min-height:48px; padding:.65rem .75rem; border:1px solid var(--line); border-radius:10px; color:var(--ink); background:white; font:inherit; }
.binding-autofill { margin:.75rem 0 0; color:var(--muted); font-size:.83rem; }
.binding-account-name { display:block; margin-top:.35rem; color:inherit; font-size:.92rem; }
.binding-autofill.is-success { color:#275a4e; }
.binding-autofill.is-warning { color:#8a5d24; }
.binding-close { position:absolute; top:.8rem; right:.8rem; width:36px; height:36px; padding:0; display:grid; place-items:center; color:var(--muted); background:transparent; font-size:1.5rem; }
.binding-help { margin:.8rem 0 0; padding:.8rem 1rem; border-radius:12px; color:var(--muted); background:#f0eee5; font-size:.83rem; }
.binding-help a { color:var(--green); font-weight:700; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.year-range { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; gap:1rem; padding-top:.25rem; }
.year-range[hidden] { display:none; }
.year-summary { margin:1rem 0; padding:1rem 1.2rem; border-radius:14px; background:#edf2e8; }
.year-summary p { margin:.25rem 0 0; color:var(--muted); }
.year-summary details { margin-top:.65rem; color:var(--muted); }
.year-summary summary { cursor:pointer; color:var(--green); font-weight:700; }
label span { display:block; font-size:.85rem; color:var(--muted); margin-bottom:.3rem; }
select,input[type=number] { width:100%; min-height:44px; padding:.55rem .7rem; border:1px solid var(--line); border-radius:10px; background:white; color:var(--ink); font:inherit; }
.notice { border-left:4px solid #d4ac43; padding:1rem 1.2rem; margin:1.5rem 0; background:#fff8d9; }
.warning { border-left-color:var(--coral); background:#fff0eb; }
.post-list { display:grid; gap:.65rem; max-height:500px; overflow:auto; padding-right:.3rem; }
.selection-toolbar { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:1.3rem 0 .65rem; }
.selection-toolbar p { margin:.1rem 0 0; color:var(--muted); font-size:.86rem; }
.selection-actions { display:flex; gap:.3rem; }
.text-button { padding:.4rem .7rem; background:transparent; color:var(--green); border:1px solid var(--line); }
.text-button:hover { border-color:var(--green); background:#edf2e8; }
.post { display:grid; grid-template-columns:auto 1fr; gap:.8rem; padding:.8rem; border:1px solid var(--line); border-radius:12px; background:white; }
.post p { margin:0; }
.post small { color:var(--muted); }
.consent { display:grid; grid-template-columns:auto 1fr; gap:.8rem; align-items:start; margin:1.5rem 0; }
.progress { height:12px; overflow:hidden; border-radius:20px; background:#deddd5; }
.progress span { display:block; height:100%; background:var(--green); transition:width .3s ease; }
.dimension { border-top:1px solid var(--line); padding:1.1rem 0; }
.confidence-tag { display:inline-flex; align-items:center; margin-top:.45rem; padding:.28rem .68rem; border:1px solid rgba(217,231,167,.48); border-radius:999px; background:rgba(217,231,167,.1); color:#e2edbd; font-size:.78rem; font-weight:700; letter-spacing:.03em; }
.evidence { margin:.5rem 0; padding:.75rem; border-radius:10px; background:#f0eee5; }
.report-hero { padding-block:5.6rem; }
.report-hero h1 { max-width:880px; font-size:clamp(2.5rem,5.6vw,4.8rem); }
.hero-signals { display:flex; flex-wrap:wrap; align-items:center; gap:.8rem 1.1rem; margin-top:1.4rem; color:#b9cec7; font-size:.82rem; }
.hero-signals .confidence-tag { margin:0; }
.report-shell { width:min(980px,calc(100% - 32px)); }
.report-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem 1rem; color:var(--muted); font-size:.82rem; }
.report-nav { position:sticky; top:12px; z-index:4; display:flex; gap:.45rem; width:max-content; max-width:100%; margin:1.4rem 0 4.5rem; padding:.4rem; overflow:auto; border:1px solid var(--line); border-radius:999px; background:rgba(255,253,248,.94); box-shadow:0 8px 30px rgba(25,49,44,.08); backdrop-filter:blur(10px); }
.report-nav a { flex:none; padding:.38rem .75rem; border-radius:999px; color:var(--green); font-size:.8rem; font-weight:700; text-decoration:none; }
.report-nav a:hover { background:#edf2e8; }
.report-section { scroll-margin-top:90px; margin:0 0 5.5rem; }
.report-section h2,.tension-panel h2 { margin:.2rem 0 .5rem; font-size:clamp(1.8rem,3vw,2.55rem); letter-spacing:-.025em; }
.section-kicker { margin:0 0 .25rem; color:var(--coral); font-size:.7rem; font-weight:850; letter-spacing:.16em; }
.section-intro { max-width:700px; margin:.4rem 0 1.8rem; color:var(--muted); }
.pattern-grid { display:grid; gap:1rem; }
.pattern-card { display:grid; grid-template-columns:54px 1fr; gap:1rem; padding:1.6rem; border:1px solid var(--line); border-radius:20px; background:var(--card); }
.pattern-number { color:#a4b9b1; font-size:1.1rem; font-weight:800; }
.card-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; }
.card-heading h2,.card-heading h3 { margin-top:0; }
.signal { flex:none; padding:.24rem .55rem; border-radius:999px; font-size:.68rem; font-weight:750; }
.signal-high { color:#235044; background:#dcebdc; }
.signal-medium { color:#795f1d; background:#f5e9ba; }
.signal-low { color:#78554d; background:#f3ded8; }
.impact,.alternative { margin:1rem 0 0; padding-left:1rem; border-left:2px solid var(--lime); }
.alternative { color:var(--muted); border-color:var(--line); font-size:.9rem; }
.impact strong,.alternative strong { display:block; margin-bottom:.12rem; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.evidence-group { margin-top:1rem; }
.evidence-group summary { width:max-content; max-width:100%; cursor:pointer; color:var(--green); font-size:.82rem; font-weight:750; }
.evidence-list { display:grid; gap:.5rem; margin-top:.7rem; }
blockquote.evidence { margin:0; border:0; border-left:3px solid #b7c9c1; color:#41544e; }
.evidence p { margin:.15rem 0 0; }
.evidence-empty { margin:.8rem 0 0; color:var(--muted); font-size:.82rem; }
.tension-panel { margin:0 0 5.5rem; padding:clamp(1.5rem,4vw,3rem); border-radius:24px; color:white; background:var(--dark); }
.tension-panel .section-kicker { color:var(--lime); }
.tension-panel .tension-copy { max-width:760px; font-size:1.15rem; }
.tension-panel .impact { border-color:var(--lime); }
.tension-panel .alternative { color:#b9cec7; border-color:#4c6f67; }
.tension-panel .evidence-group summary { color:var(--lime); }
.tension-panel .evidence { color:#dbe9e4; background:#1b4b43; }
.timeline { position:relative; margin-top:1.8rem; }
.timeline::before { content:""; position:absolute; left:138px; top:9px; bottom:12px; width:1px; background:var(--line); }
.timeline-item { position:relative; display:grid; grid-template-columns:120px 1fr; gap:2.3rem; padding:0 0 2.4rem; }
.timeline-item::before { content:""; position:absolute; left:133px; top:8px; width:11px; height:11px; border:3px solid var(--paper); border-radius:50%; background:var(--coral); box-shadow:0 0 0 1px var(--coral); }
.timeline-item time { color:var(--green); font-weight:800; }
.timeline-item p { margin:.2rem 0; }
.empty-state { padding:1.4rem; border:1px dashed #adb7b0; border-radius:16px; color:var(--muted); }
.empty-state p { margin:.25rem 0 0; }
.action-list { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:1.5rem; }
.action-card { display:flex; flex-direction:column; min-width:0; padding:1.35rem; border:1px solid var(--line); border-radius:18px; background:var(--card); }
.action-index { margin-bottom:.7rem; color:var(--coral); font-size:.72rem; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.action-card>p { color:var(--muted); font-size:.9rem; }
.action-card dl,.privacy-card dl { margin:auto 0 0; }
.action-card dl>div,.privacy-card dl>div { padding:.7rem 0; border-top:1px solid var(--line); }
.action-card dt,.privacy-card dt { color:var(--muted); font-size:.7rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.action-card dd,.privacy-card dd { margin:.15rem 0 0; font-size:.87rem; }
.action-card ol { margin:.2rem 0 0; padding-left:1.15rem; }
.report-appendix { scroll-margin-top:90px; margin:0 0 1rem; border:1px solid var(--line); border-radius:18px; background:var(--card); }
.report-appendix>summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.2rem 1.35rem; cursor:pointer; list-style:none; }
.report-appendix>summary::-webkit-details-marker { display:none; }
.report-appendix>summary strong { display:block; font-size:1.1rem; }
.report-appendix>summary>span:last-child { color:var(--muted); font-size:.78rem; }
.report-appendix>div { padding:0 1.35rem 1.35rem; }
.context-row { display:grid; grid-template-columns:160px 1fr; gap:1.5rem; padding:1.2rem 0; border-top:1px solid var(--line); }
.context-row h3,.context-row p { margin-top:0; }
.dimension { padding:1.4rem 0; }
.comparison { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }
.comparison p { padding:.9rem; border-radius:12px; background:#f3f0e8; }
.comparison strong { display:block; margin-bottom:.2rem; color:var(--muted); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; }
.report-notes { display:grid; grid-template-columns:.8fr 1.2fr; gap:1rem; margin:4rem 0 1rem; }
.report-notes>div { padding:1.4rem; border:1px solid var(--line); border-radius:18px; }
.report-notes h2,.report-notes h3 { margin-top:0; }
.report-notes ul { padding-left:1.15rem; }
.privacy-card { background:#edf2e8; }
.technical-meta { margin:1rem 0; color:var(--muted); font-size:.78rem; }
.technical-meta summary { cursor:pointer; }
.report-actions { justify-content:flex-end; }
.download-notice { margin:1.25rem 0 .7rem; padding:.85rem 1rem; border:1px solid #d8c99c; border-radius:12px; background:#fff8df; color:#695b31; font-size:.84rem; }
.error { color:#73382c; background:#fff0eb; border:1px solid #e3a28f; padding:1rem; border-radius:12px; }
.trace-table { overflow:auto; border:1px solid var(--line); border-radius:12px; background:white; }
.trace-table table { width:100%; border-collapse:collapse; }
.trace-table th,.trace-table td { padding:.7rem .8rem; text-align:left; border-bottom:1px solid var(--line); white-space:nowrap; }
.trace-table tr:last-child td { border-bottom:0; }
.trace-detail { margin:1rem 0; }
.trace-detail summary { cursor:pointer; color:var(--green); font-weight:700; }
.trace-detail pre { max-height:320px; overflow:auto; white-space:pre-wrap; padding:1rem; border-radius:10px; background:#1d2926; color:#e7f2ed; font-size:.8rem; }
.developer-diagnostics { margin:2rem 0; padding:1.25rem; border:1px dashed var(--line); border-radius:12px; background:rgba(255,255,255,.55); }
.loading { text-align:center; padding:8rem 1rem; color:var(--muted); }
footer { padding:2rem max(5vw,20px); border-top:1px solid var(--line); color:var(--muted); font-size:.82rem; }
#toast { position:fixed; left:50%; bottom:1rem; z-index:50; visibility:hidden; opacity:0; pointer-events:none; transform:translate(-50%,150%); padding:.7rem 1rem; border-radius:10px; background:var(--ink); color:white; transition:opacity .2s,transform .2s,visibility 0s linear .2s; }
#toast:empty { display:none; }
#toast.show:not(:empty) { display:block; visibility:visible; opacity:1; transform:translate(-50%,0); transition-delay:0s; }
@media(max-width:800px){.source-grid{grid-template-columns:1fr}.source-heading{display:block}.source-heading>p{margin-top:.6rem}.action-list{grid-template-columns:1fr}.report-notes{grid-template-columns:1fr}.timeline::before{left:8px}.timeline-item{grid-template-columns:1fr;gap:.5rem;padding-left:2rem}.timeline-item::before{left:3px}.context-row{grid-template-columns:1fr;gap:.3rem}.comparison{grid-template-columns:1fr}}
@media(max-width:600px){header{align-items:flex-start;flex-direction:column;padding-block:.85rem}.header-nav{width:100%;justify-content:space-between}.shell{padding-top:2.5rem}.form-grid,.year-range,.scope-source-list{grid-template-columns:1fr}.account,.saved-report{align-items:flex-start;flex-direction:column}.hero{padding-block:3.5rem}.source-hero{padding-block:2.75rem}.source-shell{padding-top:2.5rem}.coming-platforms{align-items:flex-start;flex-direction:column}.coming-platforms>div{justify-content:flex-start;width:100%}.coming-platform{flex:1;min-width:130px}.source-summary{position:static;align-items:stretch;flex-direction:column}.source-summary button,.saved-report button{width:100%}.report-nav{border-radius:14px}.pattern-card{grid-template-columns:1fr}.pattern-number{font-size:.78rem}.card-heading{display:block}.card-heading .signal{display:inline-flex;margin-bottom:.7rem}.report-appendix>summary>span:last-child{display:none}.report-meta{display:grid}.report-actions{justify-content:stretch}.report-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
