@charset "UTF-8";
:root{--paper:#f5f1e7;--ink:#24352f;--muted:#647068;--line:#d8d9cd;--green:#345c4d;--gold:#a17a42;--red:#a44635;--white:#fffdf7;--serif:"Noto Serif SC","Source Han Serif SC","Songti SC","SimSun",serif;--sans:"Microsoft YaHei","PingFang SC",sans-serif;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif)}p+p{margin-top:14px}.site-header{max-width:1320px;margin:auto;padding:24px 40px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{font-family:var(--serif);font-size:20px;font-weight:bold}.brand span{display:block;font:10px var(--sans);letter-spacing:3px;color:var(--muted);margin-top:5px}.back-link{font-size:13px;color:var(--muted)}#app{max-width:1320px;margin:auto;min-height:70vh}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--muted);font-weight:bold}.intro-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;padding:52px 40px 56px;align-items:center}.intro-copy h1{font-size:clamp(48px,5.2vw,76px);font-weight:500;letter-spacing:7px;line-height:1.4;margin:16px 0}.intro-subtitle{font-family:var(--serif);font-size:29px;line-height:1.65;color:var(--green)}.intro-body{max-width:470px;color:#59665b;font-size:15px;margin-top:24px;line-height:1.95}.intro-rule{display:flex;gap:25px;font-size:12px;letter-spacing:1px;margin:27px 0 30px;color:var(--gold)}.intro-rule span+span{border-left:1px solid var(--line);padding-left:25px}label{display:block;font-size:13px;margin-bottom:10px}.input-row{display:flex;gap:10px}input{min-width:0;width:100%;padding:13px 15px;background:var(--white);border:1px solid #bfc8b9;border-radius:3px;color:var(--ink)}.primary{border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:#fffdf7;padding:13px 21px;white-space:nowrap;font-size:14px;letter-spacing:1px;transition:background .18s}.primary:hover{background:#426653}.secondary{display:inline-block;border:1px solid var(--line);border-radius:3px;padding:13px 21px;font-size:14px}.text-button{background:none;border:0;border-bottom:1px solid currentColor;padding:2px 0;color:var(--green);font-size:12px}.resume{margin-top:16px}.mode-note,.model-note{font-size:12px;color:var(--muted);line-height:1.9}.mode-note{margin-top:22px}.model-note{margin-top:12px}.intro-art{height:640px;position:relative;overflow:hidden;background:#3b2d24;border-radius:180px 3px 3px 3px;box-shadow:15px 18px 0 #e7e4d7}.intro-art img{width:100%;height:100%;object-fit:cover;object-position:center 48%}.intro-art:after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,rgba(25,28,24,.8))}.intro-art figcaption{position:absolute;bottom:35px;left:32px;z-index:1;color:#f9edcc;font-family:var(--serif);letter-spacing:3px;font-size:19px;line-height:1.9}.intro-art figcaption span{display:block}.site-footer{max-width:1240px;margin:0 auto;padding:22px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:11px}.game-shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:56px;padding:42px 40px}.country-panel{align-self:start;position:sticky;top:24px;background:#e9eddf;padding:25px 23px;border-top:3px solid var(--green)}.country-panel .eyebrow{letter-spacing:1px}.score-label{display:block;font-size:12px;margin-top:24px;color:var(--muted)}.country-score{font-family:var(--serif);font-size:68px;line-height:1.3;font-weight:bold}.country-score small{font:13px var(--sans);margin-left:7px;color:var(--muted)}.country-state{display:inline-block;color:var(--green);font-size:12px;border-bottom:1px solid #b1bea7;padding-bottom:3px;letter-spacing:2px}.mini-metrics{display:grid;gap:15px;margin-top:27px}.mini-metric>div{display:flex;justify-content:space-between;font-size:12px;margin-bottom:4px}.mini-track{height:4px;background:#d4dcce;display:block;overflow:hidden}.mini-track i{display:block;background:var(--green);height:100%}.country-caption{font-size:11px;line-height:1.9;color:var(--muted);margin-top:24px}.save-status{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:10px;color:var(--muted);margin-top:20px}.save-status .text-button{font-size:10px}.scene-panel{max-width:850px}.stage-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px;border-bottom:1px solid var(--line);padding-bottom:16px;letter-spacing:1px}.scene-panel h1{font-size:36px;line-height:1.45;font-weight:500;letter-spacing:2px;margin:24px 0}.scene-copy{font-size:15px;color:#4e5a51;line-height:1.95;max-width:740px}.timeline-note{border-left:2px solid #c3bd9e;padding-left:12px;color:var(--muted);font-size:11px;margin-top:14px}.question{font-size:19px;font-weight:600;line-height:1.85;margin:25px 0 18px}.choices{display:grid;gap:12px}.choice{width:100%;text-align:left;display:flex;gap:18px;align-items:center;border:1px solid #d4d8c9;background:var(--white);color:var(--ink);padding:18px 22px;border-radius:3px;transition:border-color .18s,background .18s}.choice:not(:disabled):hover{border-color:var(--green);background:#edf0e4}.choice-letter{flex-shrink:0;font-family:var(--serif);font-size:23px;color:var(--gold)}.choice strong{display:block;font-family:var(--serif);font-size:18px;font-weight:600}.choice small{display:block;font-size:13px;color:var(--muted);margin-top:3px;line-height:1.7}.choice.selected{border-color:var(--green);background:#e8edde;box-shadow:inset 3px 0 var(--green)}.choice:disabled:not(.selected){opacity:.62}.chosen-mark{margin-left:auto;white-space:nowrap;font-size:11px;color:var(--green)}.feedback{margin-top:35px;padding:27px;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--green);scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.section-heading h2{font-size:20px;font-weight:600}.section-heading>b{font-family:var(--serif);font-size:23px;white-space:nowrap}.section-heading>span{font-size:11px;color:var(--muted)}.chart-legend{display:flex;gap:20px;font-size:11px;color:var(--muted);margin:20px 0 18px;align-items:center}.chart-legend span:last-child{margin-left:auto}.before-key:before,.after-key:before{content:"";display:inline-block;width:12px;height:6px;background:#b8bcaf;margin-right:6px;vertical-align:middle}.after-key:before{background:var(--green)}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:21px 30px}.compare-label{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px}.gain{color:var(--green)}.loss{color:var(--red)}.bar-pair{display:grid;gap:5px}.bar-track{height:17px;position:relative;background:#f0f0e8;padding-right:30px;display:flex;align-items:center}.bar{height:7px;flex-shrink:0}.bar.before{background:#b8bcaf}.bar.after{background:var(--green)}.bar-track>span{position:absolute;right:5px;top:0;font-size:10px;line-height:17px;color:var(--muted)}.result-sentence{font-family:var(--serif);font-size:19px;line-height:1.8;margin-top:27px}.reason-list{font-size:13px;color:var(--muted);padding-left:19px;line-height:1.95;margin:15px 0}.choice-type{font-size:11px;font-weight:bold;letter-spacing:1px;color:var(--green)}.historical{color:#9b652b}.history-note{margin-top:16px;border-top:1px solid var(--line);padding-top:12px;font-size:12px;color:var(--muted)}.history-note summary{cursor:pointer;color:var(--ink);padding:3px 0}.history-note p{margin-top:9px}.next{margin-top:23px}.story-progress{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);padding:0 40px;margin:8px 0 40px}.story-progress li{border-top:2px solid var(--line);padding-top:13px;display:flex;gap:10px;color:#7b8478;font-size:12px}.story-progress li>span{font-family:var(--serif);color:#999e90}.story-progress li.current{color:var(--green);border-color:var(--green);font-weight:bold}.story-progress li.done{border-color:#97ac91}.summary-panel{max-width:960px;margin:auto;padding:50px 40px}.summary-heading{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:35px;border-bottom:1px solid var(--line)}.summary-heading h1{font-size:55px;font-weight:500;margin:8px 0}.summary-heading p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:560px}.final-score{font-family:var(--serif);font-size:80px;line-height:1.2;text-align:center;flex-shrink:0}.final-score small{display:block;font:11px var(--sans);margin-top:9px;color:var(--muted)}.summary-section{margin-top:36px}.summary-section h2{font-size:22px;font-weight:500;margin-bottom:15px}.trend-wrap{margin-top:10px;padding:15px 16px 0;background:#ebeee3}.trend-chart{display:block;width:100%;max-height:350px;overflow:visible}.grid-line{stroke:#cdd4c4;stroke-width:1}.axis-text{font:11px var(--sans);fill:#62715e}.value-text{font:bold 13px var(--sans);fill:var(--green)}.historical-line{stroke:var(--gold);stroke-width:2;stroke-dasharray:6 5;fill:none}.player-line{stroke:var(--green);stroke-width:3;fill:none}.player-point{fill:var(--green);stroke:var(--paper);stroke-width:2}.trend-legend{display:flex;gap:24px;font-size:12px;margin-top:10px;color:var(--green)}.trend-legend span+span{color:var(--gold)}.final-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:22px 0}.final-metrics>div>span:first-child{font-size:13px;color:var(--muted)}.final-metrics strong{display:block;font-family:var(--serif);font-size:35px;margin:5px 0}.summary-section>p{font-size:13px}.summary-section .governance{font-family:var(--serif);font-size:18px;line-height:1.9;background:#e9eddf;padding:20px;margin-top:20px}.review-list{display:grid;gap:16px}.review-card{background:var(--white);border:1px solid var(--line);padding:24px}.review-heading{display:flex;align-items:center;gap:14px}.review-heading>span{color:var(--gold);font-family:var(--serif);font-size:23px}.review-heading h3{font-size:19px;font-weight:500}.review-heading>b{margin-left:auto;font-size:14px;white-space:nowrap}.review-card p{font-size:13px}.review-card .review-choice{font-weight:bold;color:var(--green);margin:12px 0 8px}.review-card .choice-type{font-size:11px}.review-card .reflection{margin-top:17px;padding-top:13px;border-top:1px dashed var(--line);font-family:var(--serif);font-size:14px}blockquote{margin:40px 0;padding:28px 0 28px 25px;border-left:3px solid var(--gold);font-family:var(--serif);font-size:25px;line-height:1.8}blockquote small{display:block;font:13px var(--sans);margin-top:20px;color:var(--muted)}.summary-actions{display:flex;flex-wrap:wrap;gap:15px;align-items:center}
@media(min-width:1500px){.intro-layout{padding-top:65px;padding-bottom:65px}.intro-art{height:700px}}
@media(max-width:900px){.intro-layout{gap:30px;padding:35px 28px}.intro-art{height:610px;border-top-left-radius:120px}.intro-copy h1{font-size:48px}.intro-subtitle{font-size:25px}.input-row{flex-direction:column}.input-row .primary{width:100%}.site-header{padding:20px 28px}.game-shell{padding:30px 28px;gap:28px;grid-template-columns:190px minmax(0,1fr)}.country-panel{padding:22px 18px}.scene-panel h1{font-size:30px}.choice{padding:15px}.comparison{gap:18px}.site-footer{margin:0 28px}.story-progress{padding:0 28px}.feedback{padding:20px}}
@media(max-width:640px){body{font-size:15px}.site-header{padding:18px 20px}.brand{font-size:17px}.brand span{font-size:9px;letter-spacing:2px}.back-link{font-size:11px}.intro-layout{grid-template-columns:1fr;padding:28px 20px 35px;gap:30px}.intro-copy h1{font-size:51px;letter-spacing:5px;margin:12px 0}.intro-subtitle{font-size:27px}.intro-body{margin-top:18px}.intro-rule{margin:22px 0}.input-row{flex-direction:row}.input-row .primary{width:auto;padding:12px 15px;font-size:12px}.intro-art{height:400px;border-top-left-radius:130px;box-shadow:7px 10px 0 #e7e4d7}.intro-art img{object-position:center 45%}.intro-art figcaption{font-size:17px;bottom:20px;left:25px}.game-shell{display:flex;flex-direction:column;padding:24px 20px;gap:26px}.country-panel{position:static;width:100%;padding:16px 20px;display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.country-panel .eyebrow{grid-column:1/-1}.score-label{margin-top:13px;grid-column:1;grid-row:2}.country-score{font-size:50px;grid-column:1;grid-row:3}.country-state{grid-column:1;grid-row:4;justify-self:start}.mini-metrics{grid-column:2;grid-row:2/5;gap:9px;margin:13px 0 0}.mini-metric>div{font-size:10px}.country-caption{display:none}.country-panel .save-status{grid-column:1/-1;margin-top:13px}.stage-meta{font-size:11px;padding-bottom:12px}.scene-panel h1{font-size:30px;margin:19px 0}.scene-copy{font-size:14px;line-height:1.9}.question{font-size:18px;margin:20px 0 15px}.choice{padding:15px 14px;gap:13px}.choice strong{font-size:17px}.choice small{font-size:12px}.choice-letter{font-size:21px}.chosen-mark{font-size:10px}.feedback{padding:18px 15px;margin-top:25px}.section-heading h2{font-size:17px}.section-heading>b{font-size:19px}.comparison{gap:18px 20px}.result-sentence{font-size:17px;margin-top:20px}.story-progress{padding:0 20px;margin:0 0 30px}.story-progress li{flex-direction:column;gap:3px;font-size:11px}.summary-panel{padding:30px 20px}.summary-heading{gap:20px}.summary-heading h1{font-size:38px}.final-score{font-size:57px}.summary-heading p:not(.eyebrow){font-size:12px}.summary-heading .eyebrow{font-size:10px;letter-spacing:1px}.final-score small{font-size:10px}.summary-section{margin-top:28px}.summary-section h2{font-size:20px}.trend-wrap{padding:15px 0 3px}.trend-chart{min-width:0}.final-metrics{gap:16px}.final-metrics strong{font-size:29px}.review-card{padding:18px 15px}.review-heading{gap:9px;flex-wrap:wrap}.review-heading h3{font-size:17px}.review-heading>b{font-size:12px}blockquote{font-size:21px;padding-left:17px}.site-footer{margin:0 20px;flex-direction:column;gap:2px}.summary-actions{gap:12px}.summary-actions .primary,.summary-actions .secondary{font-size:12px;padding:12px 15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
