:root{color-scheme:dark;--bg:#10191e;--panel:#18252b;--line:#304149;--muted:#a3b3b9;--ink:#edf3ef;--mint:#8be3cf;--gold:#edc178;--blue:#9dbaff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}a{color:var(--mint);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,.button{cursor:pointer;border:1px solid #45616a;color:var(--ink);background:#24363e;padding:9px 16px;border-radius:8px;text-align:left}button:hover,.button:hover{border-color:var(--mint);background:#2b424a;text-decoration:none}button:disabled{opacity:.45;cursor:not-allowed}input,select,textarea{color:var(--ink);background:#111d23;border:1px solid #46616b;border-radius:7px;padding:10px;max-width:100%}textarea{width:100%;min-height:90px;resize:vertical}input:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--mint);outline-offset:3px}header{min-height:84px;display:flex;align-items:center;gap:24px;padding:18px 4%;border-bottom:1px solid var(--line);flex-wrap:wrap}.brand{color:var(--ink);display:flex;align-items:center;gap:12px;font-size:22px;font-weight:650;letter-spacing:2px}.brand small{display:block;font-size:10px;color:var(--muted);letter-spacing:3px}.mark{display:grid;place-items:center;border:1px solid var(--mint);border-radius:50%;width:42px;height:42px;color:var(--mint)}nav{display:flex;gap:24px;margin-left:auto;flex-wrap:wrap}nav a{color:var(--muted);font-size:14px}nav a.active{color:var(--mint)}.local-tag,.pill{font-size:11px;border:1px solid var(--line);border-radius:20px;padding:4px 9px;white-space:nowrap;color:var(--muted)}main{max-width:1440px;margin:auto;padding:34px 4% 70px}footer{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);padding:24px 4%;border-top:1px solid var(--line)}h1{font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:clamp(30px,3.5vw,48px);line-height:1.25;letter-spacing:1px;margin:8px 0 18px;font-weight:500}h2{font-size:23px;line-height:1.4;margin:0 0 14px}h3{font-size:17px;margin:0 0 10px}p{margin:8px 0 14px}.eyebrow{color:var(--gold);font-size:11px;letter-spacing:2.5px;text-transform:uppercase}.muted,.sub{color:var(--muted)}.small{font-size:12px}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:center;margin-bottom:30px}.hero p{max-width:600px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;border-left:1px solid var(--line);padding-left:28px}.metric strong{font-size:30px;font-weight:500;display:block;color:var(--mint)}.metric span{font-size:12px;color:var(--muted)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:20px 0}.toolbar label{font-size:12px;color:var(--muted)}.toolbar input{min-width:240px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:18px}.grid{display:grid;grid-template-columns:1.45fr 1fr;gap:20px;align-items:start}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.primary{background:var(--mint);color:#10262b;border-color:var(--mint);font-weight:650}.primary:hover{background:#b2f0df;color:#10262b}.label{font-size:12px;color:var(--muted)}.stack{display:grid;gap:9px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row.between{justify-content:space-between}.legend{font-size:12px;color:var(--muted);display:flex;gap:18px;flex-wrap:wrap;margin:12px 0}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px}.topic-map{width:100%;height:auto;display:block}.topic-map text{fill:var(--ink);font-size:13px}.topic-map .col{fill:var(--muted);font-size:12px}.topic-map .wire{stroke:#385058;fill:none;stroke-width:1}.topic-map .node{cursor:pointer}.topic-map .node rect{fill:#1e323b;stroke:#3b545e}.topic-map .node:hover rect,.topic-map .node.selected rect{stroke:var(--mint);fill:#2c454c}.topic-map .en{font-size:9px;fill:#a5b9c0}.topic-map .node:focus{outline:none}.topic-map .node:focus rect{stroke:white;stroke-width:2}.source-list{max-height:330px;overflow:auto;display:grid;gap:7px;margin-top:12px}.source-item{display:block;width:100%;font-size:13px;padding:10px 12px}.source-item small{display:block;color:var(--muted);font-size:11px}.cn{color:var(--gold)}.en-text{color:var(--mint)}.note{border-left:3px solid var(--gold);padding:10px 14px;background:#28302b;border-radius:0 7px 7px 0;color:#d8d3b7}.evidence{border-top:1px solid var(--line);padding-top:15px;margin-top:20px}.evidence strong{color:var(--mint)}.links{display:flex;gap:8px;flex-wrap:wrap}.links button{font-size:12px;padding:5px 9px}.source-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.source-grid button{min-height:110px}.status{border-radius:20px;padding:3px 10px;border:1px solid currentColor;font-size:12px}.question{font-size:24px;line-height:1.8;margin:26px 0}.answer{width:100%;font-size:24px;padding:16px}.narrow{max-width:820px;margin:auto}.steps{display:flex;gap:10px;margin:14px 0}.step{height:4px;background:#324d56;flex:1}.step.done{background:var(--mint)}.result-number{font-size:30px;color:var(--mint)}.practice-form label{display:block;margin-top:12px}.practice-form input[type=checkbox]{width:18px;height:18px;vertical-align:middle;margin-right:8px}.empty{text-align:center;padding:48px 20px;color:var(--muted)}details{margin:10px 0}summary{cursor:pointer;color:var(--mint)}li{margin-bottom:7px}dialog{max-width:850px;width:calc(100% - 32px);max-height:85vh;overflow:auto;background:#18262d;color:var(--ink);border:1px solid #607780;border-radius:12px;padding:30px}dialog::backdrop{background:#000a}.close{float:right}.source-id{overflow-wrap:anywhere;font:11px monospace;color:var(--muted)}#notice:not(:empty){padding:10px 4%;background:#493b24;color:#f4d9a5}.terms{color:var(--gold);line-height:2}.source-count{font-size:12px;font-weight:400;color:var(--muted)}.history{border-top:1px solid var(--line);padding:12px 0}.pager{display:flex;justify-content:center;align-items:center;gap:18px;margin:24px 0}.module{border-top:1px solid var(--line);padding-top:10px}.review-card .two{margin-top:15px}.full{width:100%}[hidden]{display:none!important}@media(max-width:1000px){.grid{grid-template-columns:1fr}.source-grid{grid-template-columns:1fr 1fr}.local-tag{display:none}.hero{grid-template-columns:1fr}.metrics{border:0;padding:0}.three{grid-template-columns:1fr 1fr}}@media(max-width:600px){header{padding:15px 5%;gap:16px}nav{margin:0;gap:15px;font-size:12px}.brand{font-size:19px}main{padding:24px 5% 45px}.two,.three,.source-grid{grid-template-columns:1fr}.card{padding:16px}.metrics strong{font-size:25px}h1{font-size:33px}.toolbar>*{max-width:100%}.toolbar input{min-width:0;width:100%}.topic-map text{font-size:12px}footer{flex-direction:column}.question{font-size:21px}.toolbar label{width:100%}.hero{gap:16px}}

.map-viewport{overflow:auto;max-height:620px;border:1px solid var(--line);border-radius:8px;padding:12px}.map-viewport .topic-map{min-width:760px}.grid>*{min-width:0}.audit-card{border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:20px;margin:15px 0}.audit-card details{border-top:1px solid var(--line);padding-top:12px}.audit-card .two{margin-top:16px}.alignment-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:25px 0}.audit-card li{font-size:13px}.audit-card h3{margin:0}.audit-card .two h3{margin:10px 0}@media(max-width:600px){.alignment-metrics{grid-template-columns:1fr 1fr}.map-viewport{max-height:480px}.audit-card{padding:15px}}

.question-figure{display:block;width:100%;max-width:460px;height:auto;margin:16px auto 24px;border:1px solid var(--line);border-radius:8px}

.point-input{max-width:460px;margin:16px auto}.point-input svg{display:block;width:100%;height:auto;cursor:crosshair;border:1px solid var(--line);border-radius:8px}.point-input svg:focus-visible{outline:3px solid var(--mint);outline-offset:3px}

.function-input{border:1px solid var(--line);border-radius:8px;padding:14px;margin:16px 0}.function-input label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.function-input>label:first-child input{flex:1;min-width:160px}.graph-bounds{display:grid;grid-template-columns:1fr 1fr;gap:8px}.graph-bounds input{width:100%;min-width:0}.function-figure{display:block;width:100%;height:auto}.function-input p{font-size:12px;overflow-wrap:anywhere}.graph-record{overflow-wrap:anywhere}

.program-input{border:1px solid var(--line);border-radius:8px;padding:14px;margin:16px 0}.program-input textarea{width:100%;min-width:0;font-family:monospace}.program-input p{font-size:12px}.program-input pre,.graph-record pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.program-input select{max-width:100%;margin:8px 0}

.geometry-input{border:1px solid var(--line);border-radius:8px;padding:14px;margin:16px 0}.geometry-input pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.geometry-input p{font-size:12px}.geometry-canvas{max-width:600px;margin:auto;width:100%;touch-action:none}.geometry-canvas svg{display:block;width:100%;height:auto}.geometry-canvas [data-point]{cursor:grab}.geometry-canvas [data-point]:focus{stroke:var(--gold);stroke-width:4;outline:none}
