:root{--ink:#203449;--muted:#617489;--line:#dbe5ed;--brand:#173a59;--accent:#147d92;--ok:#1a7048;--bad:#a82d27;--bg:#f3f6fa;--focus:#177e9c;--paper:#fff;--pending:#775523}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:15px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--accent);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.nav{display:flex;align-items:center;gap:20px;padding:12px max(24px,calc((100vw - 1000px)/2));background:#fff;border-bottom:1px solid var(--line)}
.nav .brand{font-weight:750;color:var(--brand);margin-right:12px;white-space:nowrap}
.nav a{text-decoration:none}.nav .spacer{flex:1}.nav .user{color:var(--muted);font-size:13px}
.container{max-width:1000px;margin:34px auto;padding:0 22px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px 36px;margin-bottom:20px;box-shadow:0 1px 2px #17324d08}
.card.narrow{max-width:440px;margin:8vh auto}
h1,h2,h3{color:var(--brand);line-height:1.35}
h1{font-size:26px;margin:0 0 14px}h2{font-size:19px;margin:0 0 15px}
label{display:block;margin:12px 0;font-weight:600;font-size:14px;color:var(--ink)}
input:not([type=radio]):not([type=checkbox]),textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;border:1px solid #bac8d4;border-radius:7px;background:#fff;font:inherit;color:var(--ink)}
input[type=radio],input[type=checkbox]{width:17px;height:17px;flex:none;margin:2px 0;accent-color:var(--brand)}
input::placeholder,textarea::placeholder{color:#748393}
textarea{resize:vertical}
button{margin-top:10px;padding:10px 20px;border:0;border-radius:7px;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}
button.primary{background:var(--brand)}button:hover{filter:brightness(1.08)}
.hint{color:var(--muted);font-size:13px;margin:6px 0}
.warn{background:#fff4e5;border:1px solid #e2b96c;padding:11px 14px;border-radius:7px;font-size:14px}
.notice{background:#eef5f2;border-left:3px solid var(--ok);padding:11px 14px;border-radius:4px;margin:12px 0}
.error{color:var(--bad);font-size:14px}.mt{margin-top:18px}
.weeks{list-style:none;padding:0}.weeks li{padding:10px 0;border-bottom:1px solid var(--line)}.weeks a{font-weight:600}
.runstate{margin-top:10px;padding:11px 14px;border-radius:7px;font-size:14px}.runstate.ok{background:#e8f3ec}.runstate.running{background:#e8eef7}.runstate.bad{background:#f9e9e7}
.primary-link{color:var(--brand);font-weight:650}
.footer{text-align:center;color:var(--muted);font-size:12px;margin:34px 0}
details summary{cursor:pointer;color:var(--brand)}
.checkline{display:flex;align-items:flex-start;gap:10px}
code{background:#eef1f5;padding:1px 5px;border-radius:4px;font-size:12.5px}

.report-form-card{padding:42px 48px}
.intro-copy{max-width:650px;margin-bottom:28px}
.intro-copy h1{font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;font-size:32px;letter-spacing:.01em;margin:0 0 11px}
.intro-copy>p:last-child{margin:0;color:#405265;font-size:16px}
.eyebrow{margin:0 0 9px!important;color:var(--accent);font-size:12px;font-weight:750;letter-spacing:.12em}
.form-field{margin:0 0 26px;padding:0;border:0;min-width:0}
.form-field>label,.form-field>legend{font-size:15px;font-weight:700;margin:0}
.optional{font-size:12px;color:var(--muted);font-weight:500;margin-left:6px}
.field-help{color:var(--muted);font-size:13px;margin:4px 0 11px}
.date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.date-grid label{font-size:13px;color:var(--muted);margin:0}
.date-grid input{min-width:0;margin-top:6px!important}
.submit-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.submit-row button{margin:0}.submit-row span{color:var(--muted);font-size:13px}
.privacy-details{margin-top:25px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:13px}
.privacy-details summary{font-weight:600}.privacy-details p{margin:12px 0 0;max-width:650px}
.report-history h2{margin-bottom:5px}.report-list{list-style:none;margin:0;padding:0}
.report-list li{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 0;border-bottom:1px solid var(--line)}
.report-list li:last-child{border-bottom:0;padding-bottom:0}
.report-list-main{min-width:0;display:flex;flex-direction:column;gap:4px}.report-list-main>a{font-weight:700;text-decoration:none;overflow-wrap:anywhere}
.report-list-meta{font-size:13px;color:var(--muted)}.report-list-actions{display:flex;gap:18px;flex:none;font-size:14px}
.report-list-actions form,.inline-action{display:inline;margin:0}.text-action{border:0;background:none;color:var(--link,#147d92);font:inherit;text-decoration:underline;cursor:pointer;padding:0}.history-pages{display:flex;gap:18px;align-items:center;margin-top:18px}
.empty-state{padding:16px 0 4px}.empty-state p{margin:0 0 6px}.optional-storage summary{font-weight:650}

.report-heading{padding-bottom:24px}.report-heading h1{font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;font-size:31px;margin-bottom:7px}
.report-heading .hint{font-size:14px}.report-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:18px}
.report-nav{display:flex;gap:20px;flex-wrap:wrap;padding:0 4px;margin:0 0 18px;font-size:13px;font-weight:650}
.report-nav a{text-decoration:none}.report-prose{font-size:17px;line-height:1.85;padding:42px clamp(24px,5vw,64px)}
.report-prose>*{max-width:42em;margin-left:auto;margin-right:auto}
.report-prose p{margin-top:0;margin-bottom:1.15em}.report-prose ul{padding-left:1.5em;margin-top:.3em;margin-bottom:1.8em}.report-prose li{padding-left:.15em;margin:0 0 .7em}
.report-supplement{padding:24px 32px}.report-supplement>summary{font-size:16px;font-weight:700}
.report-supplement>.markdown{margin-top:20px}.table-scroll{overflow-x:auto}
.markdown{overflow-wrap:anywhere}.markdown h1,.markdown h2,.markdown h3{font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif}
.markdown h1{font-size:26px}.markdown h2{font-size:23px;margin-top:1.8em;margin-bottom:.7em}
.markdown h3{font-size:19px;margin-top:1.5em;margin-bottom:.5em}
.markdown blockquote{border-left:3px solid #9ebbc2;margin:16px auto;padding:4px 0 4px 17px;color:#4d6071}
.markdown blockquote p{margin:0}.markdown table{border-collapse:collapse;width:100%;margin:15px 0}
.markdown th,.markdown td{border-bottom:1px solid var(--line);padding:10px 12px;font-size:13px;line-height:1.5;text-align:left;vertical-align:top}
.markdown th{background:#edf2f5;color:var(--brand)}.markdown a{color:var(--accent)}
[id^="report-"],[id^="source-"]{scroll-margin-top:20px}
@media(max-width:700px){.nav{padding:12px 16px;gap:12px;flex-wrap:wrap}.nav .brand{margin-right:3px}.nav .spacer{flex-basis:8px}.container{margin:20px auto;padding:0 14px}.card{padding:23px 20px}.report-form-card{padding:29px 22px}.intro-copy h1{font-size:27px}.report-prose{padding:28px 22px;font-size:16px}.report-heading h1{font-size:27px}.report-list li{align-items:flex-start}.report-nav{gap:10px 16px}}
@media(max-width:480px){.date-grid{grid-template-columns:1fr}.report-list li{display:block}.report-list-actions{margin-top:8px}.nav .user{display:none}.submit-row{align-items:flex-start;flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Plans share the report's reading measure, while tables scroll on their own. */
.proposal-reader{padding:40px clamp(22px,5vw,60px)}
.runstate.partial{background:#f5f1e7;color:#634e25}
.proposal{max-width:42em;margin:28px auto 0;font-size:17px;line-height:1.85}
.proposal p{margin:0 0 1.15em}.proposal li{margin-bottom:.65em}
.proposal h1{font-size:29px}.proposal h2{margin-top:1.8em}.proposal h3{margin-top:1.4em}
.proposal table{display:block;max-width:100%;overflow-x:auto}
@media(max-width:700px){.proposal-reader{padding:25px 22px}.proposal{font-size:16px}.proposal h1{font-size:25px}}
@media print{body{background:#fff}.nav,.footer,.report-actions,.privacy-details{display:none}.container{max-width:none;margin:0;padding:0}.card{border:0;box-shadow:none;padding:0}.report-prose,.proposal{font-size:11pt;max-width:none}a{color:inherit}.table-scroll{overflow:visible}}

/* Editorial reading system: strong type hierarchy, restrained navigation. */
.nav{gap:26px;position:sticky;top:0;z-index:10;padding:14px max(24px,calc((100vw - 1100px)/2));box-shadow:0 2px 14px #173a5908}
.nav .brand{font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;font-size:19px;letter-spacing:.04em}
.container{max-width:1100px;margin:38px auto;padding:0 24px}
.card{border-radius:14px;padding:32px 40px;box-shadow:0 8px 28px #173a5908,0 1px 2px #173a5908}
.report-form-card{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.35fr);column-gap:clamp(36px,6vw,82px);align-items:start;padding:44px 50px;border-top:4px solid var(--brand)}
.report-form-card .intro-copy{grid-column:1;grid-row:1}.report-form-card form{grid-column:2;grid-row:1 / span 2}.report-form-card .privacy-details{grid-column:2}
.intro-copy h1{font-size:clamp(30px,3.4vw,42px);line-height:1.28;margin-bottom:16px}
.report-history h2{font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;font-size:25px}
.report-list li{padding:21px 0}
.editorial-heading{border-top:4px solid var(--brand);padding-top:35px}.editorial-heading h1{font-size:clamp(31px,4vw,43px);line-height:1.25;max-width:20em}
.report-nav{gap:24px;position:sticky;top:59px;z-index:9;padding:12px 20px;background:#f3f6faf0;border:1px solid var(--line);border-radius:10px;backdrop-filter:blur(12px)}
.report-nav-mobile{display:none}
.report-prose{font-size:17.5px;padding:48px clamp(24px,6vw,84px)}
.report-prose p{margin-bottom:1.25em}.report-prose h2{border-left:3px solid var(--accent);padding-left:16px;margin-top:2.2em}.report-prose h2:first-child{margin-top:.25em}
.report-prose h2:first-child+p{font-size:1.07em;color:#314b60}
.report-prose h3{margin-top:1.75em}.report-prose h3+p{font-size:14px;color:var(--muted);margin-bottom:1.05em}
.proposal-top{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px}.proposal-top .eyebrow{margin-bottom:0!important}.proposal-top .hint{text-align:right}
.proposal-status{max-width:42em;margin:20px auto 0;padding:10px 14px;border-left:3px solid var(--accent);background:#eef6f8;font-size:14px;color:var(--brand)}
.proposal-status.pending{border-left-color:#b58845;background:#fbf5e9;color:var(--pending)}
.plan-quality{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:99px;font-size:12px;line-height:1.7;vertical-align:middle}
.plan-quality.pending{background:#fbf5e9;color:var(--pending)}.plan-quality.done{background:#e8f3ec;color:var(--ok)}
.proposal-review{max-width:42em;margin:18px auto 0;padding:14px 18px;border:1px solid #e3d2ae;border-radius:9px;background:#fffdfa;font-size:14px}
.proposal-review>summary{font-weight:700}.proposal-review>.hint{margin:12px 0;color:#6d5a38}
.proposal-review-list{margin:16px 0 0;padding-left:1.6em}.proposal-review-list li{padding:12px 0;border-top:1px solid #eee3d0;overflow-wrap:anywhere}
.proposal-review-list p{margin:0 0 7px}.proposal-review-list .review-location{font-weight:650;color:var(--brand)}
.proposal-review-list .review-sources{color:var(--muted);font-size:13px}
#pending-review{scroll-margin-top:85px}
.deepdive-form-card{border-top:4px solid var(--brand);padding:42px clamp(24px,5vw,56px)}
.deepdive-form-card h1{font-family:"Songti SC","Noto Serif CJK SC","SimSun",serif;font-size:clamp(30px,3.3vw,41px)}
.deepdive-form-card .hint{max-width:70em;font-size:14px;line-height:1.7}.deepdive-form-card textarea{min-height:170px}
.deepdive-progress-card{border-left:3px solid var(--accent)}
@media(max-width:900px){.report-form-card{display:block}.report-form-card .intro-copy{max-width:36em}}
@media(max-width:700px){.nav{padding:12px 16px;gap:12px}.container{margin:20px auto;padding:0 14px}.card{padding:23px 20px}.report-form-card{padding:29px 22px}.intro-copy h1{font-size:30px}.report-prose{padding:28px 22px;font-size:16px}.report-heading h1{font-size:27px}.report-nav-desktop{display:none}.report-nav-mobile{display:block;margin:0 0 18px;padding:13px 18px;background:#f3f6fa;border:1px solid var(--line);border-radius:10px}.report-nav-mobile summary{cursor:pointer;font-weight:700}.report-nav-mobile-links{display:flex;flex-wrap:wrap;gap:12px 18px;padding-top:16px;font-size:13px;font-weight:650}.report-nav-mobile-links a{text-decoration:none}.proposal-top{display:block}.proposal-top .hint{text-align:left;margin-top:10px}.deepdive-form-card{padding:28px 22px}}
@media print{.nav,.report-nav,.report-nav-mobile,.footer{display:none}.container{max-width:none;margin:0;padding:0}.card{border:0;box-shadow:none;padding:0}.report-prose,.proposal{font-size:11pt;max-width:none}}

/* Account action in the existing navigation. */
.nav .logout-button { background: transparent; color: inherit; padding: .25rem .5rem; font: inherit; border: 0; }
