:root{--paper:#f5f4ef;--ink:#242a28;--muted:#737772;--line:#d9dcd4;--accent:#a64b2d;--accent-soft:#f2e6df;--white:#fff;--sans:Arial,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif;--serif:Georgia,"Noto Serif SC","Songti SC",serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.48}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent)}[hidden]{display:none!important}a{color:inherit}button{border:0}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;margin:0 40px;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;letter-spacing:1.9px;font-size:12px;font-weight:700;white-space:nowrap}.brand i{font-style:normal;color:var(--muted);padding:0 8px}.brand-mark{width:23px;height:23px;border:2px solid var(--accent);position:relative}.brand-mark:after{content:"";position:absolute;left:4px;top:4px;width:23px;height:23px;border:1px solid var(--accent);opacity:.4}.site-header nav{display:flex;align-items:center;gap:27px}.text-button{padding:8px 0;color:var(--ink);background:transparent}.text-button:hover,.inline-link:hover{color:var(--accent)}.language{background:transparent;border:1px solid var(--line);padding:7px 10px;font-size:12px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:700;color:var(--accent);margin:0 0 20px;line-height:1.5}.intro{max-width:1540px;margin:auto;padding:56px 64px 32px;display:grid;grid-template-columns:1fr 1fr;gap:0 70px;align-items:center;min-height:calc(100svh - 140px)}h1,h2,p{margin-top:0}.intro h1{font-family:var(--serif);font-weight:400;letter-spacing:-2.8px;font-size:clamp(40px,4.4vw,73px);line-height:1.04;margin-bottom:28px}.intro-lead{font-size:18px;line-height:1.5;max-width:420px;margin-bottom:16px}.intro-detail{font-size:14px;line-height:1.7;color:var(--muted);max-width:420px;margin-bottom:30px}.intro-actions{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.primary{background:var(--accent);color:#fff;padding:14px 22px;font-weight:600;font-size:13px;min-height:46px;transition:background .15s}.primary:hover:not(:disabled){background:#863a21}.primary span{margin-left:22px}.secondary{background:transparent;border:1px solid var(--line);padding:13px 21px;color:var(--ink);font-weight:600;min-height:46px}.secondary:hover{border-color:var(--accent)}.preview-link{font-size:13px}.local-note{color:var(--muted);font-size:11px;line-height:1.6;max-width:420px;margin:22px 0 0}.intro-image{aspect-ratio:1;position:relative;overflow:hidden;background:#e5e7df}.intro-image img{height:100%;width:100%;object-fit:cover;display:block}.intro-target{position:absolute;inset:14px;border:2px solid #eaa67c;box-shadow:0 0 0 1px rgba(255,255,255,.7);pointer-events:none}.intro-scale{position:absolute;left:28px;bottom:28px;background:#fff;padding:9px 12px;font-size:11px;letter-spacing:1px}.image-caption{display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:1.2px;color:var(--muted);padding-top:14px}.intro-sequence{grid-column:1/-1;margin-top:38px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.intro-sequence span:not(:last-child):after{content:"→";color:#b3b7af;margin-left:clamp(16px,4vw,65px)}.experiment{padding:28px 40px 36px;max-width:1760px;margin:auto}.experiment-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.experiment-heading .eyebrow{margin:0 0 8px}.experiment-heading h1{font-family:var(--serif);font-size:29px;font-weight:400;margin:0;line-height:1.2;outline:none}.experiment-actions{display:flex;align-items:center;gap:24px;font-size:11px}.save-status{color:var(--muted)}.progress{margin:25px 0 28px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line)}.progress li{padding:0 8px 12px 0;color:#969b94;font-size:11px;position:relative;display:flex;gap:10px;align-items:center}.progress li .step-number{font-size:10px;opacity:.7}.progress li.active{color:var(--accent);font-weight:700}.progress li.active:after{content:"";height:2px;position:absolute;bottom:-1px;left:0;right:15px;background:var(--accent)}.progress li.done{color:var(--ink)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:32px}.materials{min-width:0}.material-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;gap:12px;margin-bottom:14px}.target-key{display:flex;align-items:center;gap:7px;white-space:nowrap;color:var(--muted);font-size:10px}.target-key i{width:13px;height:13px;border:2px solid var(--accent)}.material-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.material{margin:0;min-width:0}.viewport{aspect-ratio:1;position:relative;overflow:hidden;background:#e7e8e1}.viewport>img:not([hidden]){width:100%;height:100%;object-fit:cover;display:block}.target-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:hidden}.target-halo{fill:none;stroke:rgba(255,255,255,.88);stroke-width:4;vector-effect:non-scaling-stroke}.target-outline{fill:none;stroke:var(--accent);stroke-width:2;vector-effect:non-scaling-stroke}.north{position:absolute;right:12px;top:12px;background:rgba(255,255,255,.94);padding:6px 7px;display:flex;align-items:center;flex-direction:column;gap:4px;font-size:10px;font-weight:700;line-height:1}.north svg{width:13px;height:18px;fill:var(--ink)}.scale-bar{position:absolute;left:13px;bottom:13px;background:rgba(255,255,255,.96);padding:6px 9px 8px;font-size:10px;display:flex;flex-direction:column;gap:4px}.scale-bar i{height:5px;border:2px solid var(--ink);border-top:0;display:block}.material figcaption{display:flex;justify-content:space-between;gap:8px;padding:12px 0;font-size:11px}.source-small{font-size:9px;color:var(--muted)}.context-note{padding:24px 24px 20px 30px;align-self:center}.context-number{font-family:var(--serif);font-size:54px;color:#cacfc5;line-height:1}.context-note h2{font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.22;margin:22px 0 16px}.context-note p{font-size:12px;line-height:1.7;color:var(--muted);max-width:280px}.context-rule{height:1px;width:38px;background:var(--accent);margin:26px 0 22px}.context-note .context-reminder{font-size:11px;color:var(--ink)}.stage-instruction{font-size:11px;line-height:1.7;color:var(--muted);max-width:680px;margin:22px 0 0}.answer-panel{border-left:1px solid var(--line);padding-left:25px;max-height:calc(100svh - 240px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ced1c9 transparent;padding-right:4px}.answer-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.answer-heading h2{font-family:var(--serif);font-weight:400;font-size:22px;margin:0}.answer-heading>span{font-size:10px;color:var(--muted)}fieldset{border:0;padding:0;margin:0 0 17px;min-width:0}legend,.field-label{font-size:11px;font-weight:700;display:block;padding:0;margin-bottom:8px}.lcz-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.lcz-choice{display:flex;align-items:center;gap:6px;text-align:left;min-height:44px;padding:5px 6px;background:transparent;border:1px solid var(--line);color:var(--ink)}.lcz-choice:hover{border-color:var(--accent)}.lcz-choice[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.lcz-code{font-weight:700;font-size:12px;min-width:13px}.lcz-name{font-size:10.5px;line-height:1.2}.inline-link{background:transparent;border:0;padding:0;color:var(--muted);font-size:10px;text-decoration:underline;text-underline-offset:3px}.lcz-choices+.inline-link{margin-top:9px}.rating{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.rating button{height:32px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:12px}.rating button[aria-pressed=true]{background:var(--accent);color:white;border-color:var(--accent)}.rating-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin-top:5px}.evidence-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}.evidence-choices label,.flags label{display:flex;gap:6px;align-items:flex-start;font-size:11px;line-height:1.4;cursor:pointer}.evidence-choices input,.flags input{margin:0;width:12px;height:12px;accent-color:var(--accent);flex-shrink:0}.flags{padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;margin-bottom:16px}textarea,select{background:#fff;border:1px solid var(--line);border-radius:0;color:var(--ink)}textarea{width:100%;padding:8px;font-size:11px;resize:vertical;margin-bottom:14px}.morphology label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:10px;margin-bottom:7px}.morphology select{font-size:10px;padding:6px;max-width:155px}.form-error{color:var(--accent);font-size:11px;line-height:1.5;margin-bottom:10px}.form-error:empty{display:none}.submit{width:100%;padding:13px;font-size:12px}.submit-note{font-size:9px;line-height:1.5;color:var(--muted);margin:9px 0 4px}.model-viewport{background:#eeeee9}.model-viewport #modelCanvas{position:absolute;inset:0}.model-viewport canvas{display:block;width:100%;height:100%;touch-action:none}.reset-view{position:absolute;right:11px;bottom:11px;background:rgba(255,255,255,.92);color:var(--ink);padding:7px 10px;font-size:9px;border:1px solid var(--line)}.model-instruction{font-size:9px;color:var(--muted);line-height:1.5;margin:0}.model-error{font-size:10px;color:var(--accent);line-height:1.6;margin:8px 0}.image-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--paper);color:var(--muted);font-size:11px}.model-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#eeeee9;color:var(--muted);gap:12px;font-size:11px;z-index:3}.model-loading p{margin:0;max-width:80%;text-align:center;line-height:1.7}.spinner{width:21px;height:21px;border:1px solid #ccd1c7;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.preview-note{border-left:1px solid var(--line);padding:32px 0 0 25px}.preview-note h2{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1.15}.preview-note>p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.8}.preview-note .primary{margin-top:10px}.complete{max-width:1040px;margin:auto;padding:64px 40px 80px}.complete h1{font-family:var(--serif);font-size:46px;font-weight:400;letter-spacing:-1px;line-height:1.15}.completion-copy{font-size:14px;line-height:1.7;color:var(--muted);max-width:590px}.summary-stats{display:flex;gap:65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:30px 0}.stat span{display:block;font-size:10px;color:var(--muted);margin-bottom:8px}.stat strong{font-family:var(--serif);font-size:31px;font-weight:400}.response-table-wrap{overflow-x:auto}.response-table{width:100%;border-collapse:collapse;font-size:12px}.response-table th{text-align:left;font-size:10px;font-weight:400;color:var(--muted);padding:12px 10px 14px 0;border-bottom:1px solid var(--line)}.response-table td{padding:18px 10px 18px 0;border-bottom:1px solid var(--line);line-height:1.5}.response-table td small{display:block;font-size:10px;color:var(--muted)}.completion-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:30px}footer{margin:0 40px;min-height:56px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;color:var(--muted);font-size:9px}dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line)}dialog::backdrop{background:rgba(29,36,31,.4)}.sheet{width:min(850px,calc(100% - 32px));max-height:88svh;padding:32px}.sheet-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:20px}.sheet-heading .eyebrow{margin-bottom:8px}.sheet h2{font-family:var(--serif);font-size:29px;font-weight:400;margin:0}.dialog-close{background:transparent;font-size:26px;line-height:1;padding:0 4px;color:var(--muted)}.sheet-intro{font-size:12px;line-height:1.7;color:var(--muted);max-width:590px}.guide-classes{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.guide-class{display:grid;grid-template-columns:28px 1fr;gap:8px;border-bottom:1px solid var(--line);padding:14px 0}.guide-class .guide-code{font-size:16px;color:var(--accent);font-family:var(--serif)}.guide-class strong{font-size:12px;font-weight:600}.guide-class p{font-size:11px;line-height:1.6;color:var(--muted);margin:6px 0 0}.source-note{font-size:10px;line-height:1.7;color:var(--muted);margin:24px 0 0}.sources-sheet p,.sources-sheet li{font-size:12px;line-height:1.8;color:var(--muted)}.sources-sheet h3{font-size:13px;line-height:1.5;margin:26px 0 9px}.sources-sheet ul{padding-left:18px}.sources-sheet a{text-underline-offset:3px}.restart-dialog{width:min(450px,calc(100% - 32px));padding:28px}.restart-dialog h2{font-family:var(--serif);font-size:25px;font-weight:400}.restart-dialog p{font-size:12px;line-height:1.7;color:var(--muted)}.restart-dialog>div{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.noscript{padding:20px}.brand-mark,.intro-copy,.intro-visual{animation:arrive .45s ease-out}@keyframes arrive{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.workspace{grid-template-columns:minmax(0,1fr) 340px;gap:40px}.lcz-name{font-size:10px}.lcz-choice{min-height:43px}.answer-panel{padding-left:30px}}
@media(max-width:1050px){.site-header{margin:0 24px;gap:15px}.site-header nav{gap:16px}.brand{font-size:10px;letter-spacing:1.3px}.intro{padding:42px 32px 30px;gap:0 35px}.intro h1{font-size:45px}.intro-lead{font-size:16px}.intro-sequence span:not(:last-child):after{margin-left:20px}.experiment{padding:25px 24px}.workspace{grid-template-columns:minmax(0,1fr) 270px;gap:20px}.answer-panel{padding-left:18px}.material-grid{gap:12px}.context-note{padding:15px}.context-note h2{font-size:20px}.context-note p{font-size:11px}.material figcaption{flex-direction:column;gap:5px}.lcz-choices{gap:3px}.lcz-choice{padding:4px;gap:4px}.lcz-name{font-size:8px}.source-small{font-size:9px}footer{margin:0 24px}}
@media(max-width:760px){.site-header{height:69px;margin:0 20px}.brand{font-size:9px;letter-spacing:.9px}.brand-mark{height:18px;width:18px}.brand-mark:after{height:18px;width:18px}.brand i{padding:0 4px}.site-header nav{gap:13px}.site-header nav .text-button{font-size:10px}#sourcesOpen{display:none}.language{font-size:10px;padding:6px}.intro{padding:36px 24px 25px;display:flex;flex-direction:column;align-items:stretch;gap:30px;min-height:auto}.intro h1{font-size:48px;letter-spacing:-1.5px;margin-bottom:20px}.eyebrow{font-size:9px;letter-spacing:1.4px}.intro-lead{font-size:17px}.intro-detail{max-width:470px}.intro-actions{flex-direction:row;align-items:center;gap:20px;flex-wrap:wrap}.intro .local-note{margin-top:15px}.intro-visual{width:100%;max-width:550px;align-self:center}.intro-image{max-height:none}.intro-sequence{flex-wrap:wrap;gap:15px;margin-top:0;padding-top:18px;font-size:10px}.intro-sequence span:not(:last-child):after{margin-left:12px}.experiment{padding:24px 20px 30px}.experiment-heading{align-items:flex-start}.experiment-heading h1{font-size:25px}.experiment-actions{flex-direction:column;align-items:flex-end;gap:7px;white-space:nowrap}.progress{margin-top:25px;gap:6px}.progress li{font-size:9px;gap:5px;flex-direction:column;align-items:flex-start;padding-bottom:10px}.workspace{display:flex;flex-direction:column;gap:25px}.material-grid{grid-template-columns:minmax(0,1fr);gap:18px}.context-note{padding:8px 0 0;display:none}.material figcaption{flex-direction:row;gap:8px}.model-instruction{font-size:11px}.answer-panel{border-left:0;border-top:1px solid var(--line);padding:24px 0 0;max-height:none;overflow:visible}.answer-heading h2{font-size:25px}.lcz-choices{gap:6px}.lcz-choice{min-height:46px;gap:8px;padding:7px}.lcz-name{font-size:11px}.lcz-code{font-size:14px}.evidence-choices label,.flags label{font-size:12px}.evidence-choices input,.flags input{width:14px;height:14px}.rating button{height:39px}.rating-labels{font-size:10px}legend,.field-label{font-size:12px}.morphology label{font-size:12px}.morphology select{font-size:12px;max-width:200px}.submit-note{font-size:10px}.stage-instruction{font-size:12px}.preview-note{padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}.complete{padding:42px 24px}.complete h1{font-size:36px}.summary-stats{gap:30px;justify-content:space-between}.stat strong{font-size:27px}.completion-actions{gap:14px}.response-table{font-size:11px}.sheet{padding:22px}.guide-classes{grid-template-columns:1fr}.sheet h2{font-size:25px}.sources-sheet p,.sources-sheet li{font-size:12px}footer{margin:0 20px;padding:16px 0;align-items:flex-start;font-size:8px;line-height:1.5}.material-heading{font-size:11px}.target-key{font-size:9px}.model-north svg{width:16px;height:21px}.reset-view{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.record-tools{display:flex;align-items:center;gap:12px;margin-bottom:15px}.record-tools span{font-size:11px;color:var(--muted)}#recordText{font-family:monospace;font-size:11px;line-height:1.5;width:100%;min-height:250px;margin:0}
