:root{--paper:#f5f0e4;--ink:#293330;--muted:#65706a;--purple:#35655e;--line:#d7d0c2;--white:#fffaf0}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft Yahei",sans-serif}header{max-width:1040px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:26px 28px;border-bottom:1px solid var(--line)}a{color:var(--purple);text-underline-offset:4px}#brand{text-decoration:none;color:var(--ink);font-weight:650;letter-spacing:2px}#brand span{font-size:10px;letter-spacing:2px;display:block;font-weight:400}.seal{border:1px solid #ad6657;color:#974c40;padding:3px 7px;font-family:serif;letter-spacing:3px}main{max-width:900px;margin:0 auto;padding:40px 24px 64px;min-height:60vh}h1,h2,h3{font-family:"Songti SC","Noto Serif CJK SC",serif;line-height:1.4;font-weight:500}h1{font-size:clamp(38px,7vw,64px);margin:12px 0 20px}h2{font-size:27px;margin:0 0 20px}h3{font-size:21px;margin:10px 0}p{margin:12px 0}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--purple)}.lead{color:var(--muted);font-size:18px}.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center}.art{border:1px solid var(--line);padding:35px 20px;position:relative;min-height:310px;display:flex;justify-content:center;align-items:center;background:linear-gradient(130deg,#dfe9e2,#f4e8d4);box-shadow:10px 10px 0 #e7e1d4}.art:before{content:"";position:absolute;width:180px;height:180px;border:1px solid #93aaa2;border-radius:50%}.art span{font-family:serif;font-size:70px;writing-mode:vertical-rl;letter-spacing:15px;z-index:1}.art small{position:absolute;bottom:18px;letter-spacing:3px;color:var(--muted)}.panel{background:var(--white);border:1px solid var(--line);padding:28px;margin:24px 0;border-radius:4px}.meta{color:var(--muted);font-size:14px}.choices{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}label.scope{cursor:pointer;display:flex;gap:8px;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:4px}.scope:has(input:checked){background:#e1ece6;border-color:var(--purple)}input{accent-color:var(--purple)}button,.button{font:inherit;min-height:46px;cursor:pointer;background:var(--purple);color:white;border:1px solid var(--purple);padding:10px 22px;border-radius:4px;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px}button:hover,.button:hover{filter:brightness(.95)}button:disabled{opacity:.4;cursor:not-allowed}.quiet{background:transparent;color:var(--purple);border-color:var(--line)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}.wide{width:100%}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b27845;outline-offset:4px}.question{max-width:700px;margin:auto}.progress-head{display:flex;justify-content:space-between;gap:10px}.progress{height:4px;background:var(--line);margin:16px 0 40px}.progress i{display:block;background:var(--purple);height:100%;transition:width .2s}.question h1{font-size:clamp(26px,4vw,36px);margin:20px 0 28px}.options{display:grid;gap:12px}.option{text-align:left;justify-content:flex-start;background:var(--white);color:var(--ink);border-color:var(--line);padding:16px 20px}.option b{font-size:13px;color:var(--muted);border:1px solid var(--line);min-width:29px;height:29px;text-align:center;line-height:27px;margin-right:9px}.option[aria-checked=true]{border-color:var(--purple);background:#e1ece6}.option[aria-checked=true] b{background:var(--purple);color:white}.question .actions{justify-content:space-between}.report-head{text-align:center;padding:20px 0}.report-head h1{margin:8px 0;font-size:56px}.pill{display:inline-block;border:1px solid var(--line);border-radius:30px;padding:3px 12px;font-size:13px;color:var(--purple);margin:4px 4px 4px 0}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.report-grid .panel{margin:0}.axis{margin:24px 0}.axis-top{display:flex;justify-content:space-between;gap:12px;font-size:14px}.track{position:relative;height:7px;background:linear-gradient(90deg,#d4c5ad,#b8d0c7);margin:16px 9px 12px}.track:before{content:"";position:absolute;left:50%;height:14px;top:-4px;border-left:1px solid #9b9f99}.dot{position:absolute;top:-4px;width:15px;height:15px;border-radius:50%;background:var(--purple);transform:translateX(-50%)}.dot.figure{top:-3px;width:13px;height:13px;border:2px solid #a36745;background:var(--white);border-radius:0}.evidence{border-top:1px solid var(--line);padding:20px 0}.evidence:last-child{padding-bottom:0}blockquote{margin:12px 0;padding:10px 16px;border-left:3px solid #91aaa1;background:#edf3ee}details{border-top:1px solid var(--line);padding:18px 0}summary{cursor:pointer;color:var(--purple);min-height:30px}footer{text-align:center;font-size:12px;color:var(--muted);padding:24px;border-top:1px solid var(--line)}#notice:not(:empty){max-width:850px;margin:18px auto;padding:12px 20px;background:#f6e8bd}dialog{max-width:620px;width:calc(100% - 28px);border:1px solid var(--line);border-radius:6px;padding:24px;background:var(--white);color:var(--ink)}dialog::backdrop{background:#26332f88}dialog img{width:100%;display:block}#close-share{float:right}dialog h2{clear:both;padding-top:20px}.history-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.subtle{color:var(--muted)}.rank{padding:14px 0;border-bottom:1px solid var(--line)}@media(max-width:600px){header{padding:18px 20px}main{padding:26px 18px 40px}.hero{display:block}.art{display:none}h1{font-size:42px}.panel{padding:20px}.report-grid{grid-template-columns:1fr}.report-head h1{font-size:44px}.actions>*{flex:1}.axis-top{font-size:12px}.history-item{align-items:flex-start}.question .actions button{padding:10px 12px}.option{padding:14px 12px}#notice:not(:empty){margin:12px 18px}dialog{padding:18px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media print{header,footer,.actions,#notice,dialog,button,.no-print{display:none!important}body{background:white;font-size:12px}main{padding:0;max-width:none}.panel{break-inside:avoid;margin:12px 0;padding:16px}.report-grid{display:block}.report-grid .panel{margin:12px 0}details{display:block}details>*{display:block!important}.report-head h1{font-size:36px}h2{font-size:22px}a{color:inherit}}
h1:focus{outline:none}@media(max-width:600px){label.scope{font-size:14px;padding:6px 8px}.choices{gap:8px}.hero .lead{font-size:16px}.hero h1{margin-top:8px;margin-bottom:14px}.hero+.panel{margin-top:20px}}
@media(max-width:600px){.hero h1{font-size:36px}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}label.scope{display:block;text-align:center;font-size:13px;padding:8px 3px}label.scope input{display:block;margin:0 auto 5px}.hero+.panel h2{font-size:24px}}
/* Portrait reading and one-tap answering. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,a,label,input,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.scope small{font-size:14px;color:var(--muted)}
.option b{flex-shrink:0}.option span{min-width:0;overflow-wrap:anywhere}
.option:disabled{opacity:1;cursor:default}.option:disabled:not([aria-checked=true]){color:var(--muted)}
#next:disabled{display:none}
.panel,.report-grid>*{min-width:0}.pill{max-width:100%;overflow-wrap:anywhere}
@media screen and (max-width:600px){
  body{font-size:16px;line-height:1.8}
  header{padding:14px max(16px,env(safe-area-inset-right)) 14px max(16px,env(safe-area-inset-left))}
  main{padding:22px max(16px,env(safe-area-inset-right)) calc(32px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
  h2{font-size:24px;line-height:1.5}h3{font-size:20px;line-height:1.55}
  .meta{font-size:14px;line-height:1.75}.eyebrow{font-size:12px;letter-spacing:2px}
  .panel{padding:20px 16px;margin:20px 0}.hero h1{font-size:clamp(32px,8.7vw,38px)}
  .hero .lead{line-height:1.75}.choices{gap:8px}
  label.scope{font-size:15px;line-height:1.5;padding:10px 2px}
  label.scope span,label.scope small{display:block}label.scope input{width:16px;height:16px;margin-bottom:6px}
  .question h1{font-family:inherit;font-size:clamp(22px,5.9vw,26px);line-height:1.5;font-weight:600;margin:16px 0}
  .question .progress{margin:12px 0 22px}.progress-head{align-items:center}
  .options{gap:12px;margin-top:20px}.option{font-size:16px;line-height:1.65;min-height:64px;padding:14px 12px;align-items:center}
  .option b{margin-right:3px}.question .actions{margin-top:20px}.question .actions>*{flex:initial}
  .question #back{width:100%;margin-top:4px}.question #save-state{margin:16px 0}
  button,.button{min-height:48px}
  .report-head{padding:8px 0 16px}.report-head h1{font-size:44px}.report-head .lead{font-size:20px}
  .report-grid{gap:20px}.axis{margin:26px 0}.axis-top{font-size:14px;line-height:1.6;gap:10px;margin-top:6px}
  .axis-top span{flex:1;min-width:0}.axis-top span:last-child{text-align:right}
  .pill{font-size:14px;border-radius:14px;line-height:1.7}.evidence{padding:20px 0}
  blockquote{padding:12px;line-height:1.85}.rank p{font-size:16px}
  details{padding:16px 0}summary{min-height:44px;display:list-item;align-content:center;line-height:1.65}
  .history-item{flex-wrap:wrap}.history-item>div{min-width:0;flex:1 1 160px}.history-item button{flex-shrink:0}
  .report-head~.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .report-head~.actions button{padding:12px 8px;font-size:16px}
  dialog{max-height:calc(100dvh - 32px);overflow-y:auto;padding:18px}dialog .actions{flex-direction:column}
  footer{font-size:13px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
}
