
:root{--ink:#283e39;--soft:#768780;--paper:#f4f3ec;--line:#d9ded4;--green:#386957;--sand:#b89663}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif}button,select,input{font:inherit}button{cursor:pointer;color:inherit}header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 4vw}.brand{font-size:25px;text-decoration:none;color:var(--ink);font-weight:700;letter-spacing:-1px}.brand span{font-size:9px;letter-spacing:2px;margin-left:10px}.edition{font-size:11px;letter-spacing:2px}.edition span{color:var(--soft);margin-left:22px}.badge{font-size:10px;border:1px solid #cbd6c9;border-radius:20px;padding:8px 13px}main{padding:36px 4vw}.intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:700;color:var(--soft)}h1{font-size:44px;font-weight:400;letter-spacing:-1.8px;line-height:1.06;margin:16px 0 0}h1 em{font-family:Georgia,serif;font-weight:400}.intro>p{font-size:12px;line-height:1.8;color:var(--soft)}nav{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:20px}nav button{border:1px solid var(--line);background:transparent;text-align:left;padding:12px;min-height:62px;border-radius:5px}nav button strong{font-size:10px;display:block;margin-bottom:6px;color:var(--soft)}nav button span{font-size:11px}nav button.active{background:var(--green);color:white;border-color:var(--green)}nav button.active strong{color:#c4d9cb}.workspace{display:grid;grid-template-columns:230px minmax(320px,1fr) 230px;gap:20px}aside,.view,.reference{border:1px solid var(--line);background:#fafbf6;border-radius:8px;overflow:hidden}aside{padding:20px}.panel-heading{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1px;color:var(--soft)}button#reset{border:0;background:none;font-size:10px;padding:0}h2{font-size:19px;font-weight:400;line-height:1.25;margin:18px 0 8px}.muted,.hint{font-size:11px;line-height:1.6;color:var(--soft)}.control{margin-top:18px}.control label{display:flex;justify-content:space-between;font-size:10px}.control output{color:var(--green);font-weight:700}input[type=range]{width:100%;accent-color:var(--green);height:15px;margin-top:8px}.select-label{font-size:10px;display:block;margin-top:20px}select{width:100%;font-size:10px;background:white;border:1px solid var(--line);padding:9px;margin-top:8px}.hint{font-size:9px}details{font-size:10px;line-height:1.6;border-top:1px solid var(--line);padding-top:13px;margin-top:20px}summary{cursor:pointer;font-weight:700}.view-toolbar{padding:13px;display:flex;justify-content:space-between;gap:10px}.tabs{display:flex;gap:4px}.tabs button,#homeview{border:0;background:none;font-size:10px;padding:8px;border-radius:4px}.tabs button.active{background:#e5ede3;color:var(--green)}#homeview{color:var(--soft);font-size:9px}.canvas-wrap{position:relative;background:#e9ede5;height:420px}canvas{width:100%;height:100%;display:block;touch-action:none}.scene-label{position:absolute;left:18px;top:18px;pointer-events:none;display:flex;flex-direction:column;gap:7px}.scene-label span{font-size:11px;font-weight:700}.scene-label small{font-size:8px;letter-spacing:1px;color:var(--soft)}.view-hint{position:absolute;bottom:14px;right:16px;font-size:8px;color:var(--soft)}#loading{position:absolute;top:45%;left:15%;font-size:12px;color:var(--soft)}.view-footer{padding:12px 17px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:9px;color:var(--soft)}.analysis{display:flex;align-items:center;gap:15px;padding:16px}.analysis>div{flex:1}.analysis p:not(.eyebrow){font-size:10px;line-height:1.5;margin-bottom:0}.analysis button{background:var(--green);color:white;border:0;border-radius:5px;padding:13px;font-size:10px;max-width:145px}.analysis button:disabled{opacity:.5}#results{padding:0 16px 16px;font-size:10px;line-height:1.6}#results:empty{padding:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.metric{background:#eef1e9;padding:10px;border-radius:4px}.metric b{display:block;font-size:14px;font-weight:400}.metric span{font-size:8px;color:var(--soft)}.warn{color:#9b5f36}.reference{padding:18px}.reference img{width:100%;border-radius:4px;margin-top:12px}.reference h3{font-family:Georgia,serif;font-weight:400;font-size:21px;line-height:1.3;margin-top:24px}.reference p:not(.eyebrow){font-size:11px;line-height:1.7;color:var(--soft)}.reference-note{margin-top:25px;padding-top:18px;border-top:1px solid var(--line);font-size:10px}.reference-note p{font-size:10px!important}.evidence{display:grid;grid-template-columns:1fr 1.6fr;gap:18px;margin:40px 0 20px;padding-top:25px;border-top:1px solid var(--line)}.evidence>.muted{grid-column:2}.evidence h2{font-family:Georgia,serif;font-size:24px}#tests{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}#tests div{border:1px solid var(--line);border-radius:5px;padding:15px;font-size:10px}#tests b{display:block;margin:10px 0;color:var(--green)}footer{font-size:10px;color:var(--soft);border-top:1px solid var(--line);padding-top:20px}footer a{color:var(--green)}@media(min-width:1600px){main{max-width:1800px;margin:auto}.canvas-wrap{height:540px}}@media(max-width:1100px){.workspace{grid-template-columns:210px 1fr}.reference{grid-column:1/-1;display:grid;grid-template-columns:200px 1fr;gap:16px}.reference .eyebrow{grid-column:1/-1}.reference img{grid-row:2/5}.reference h3{margin:0}.reference-note{margin:0}.intro h1{font-size:36px}.edition{display:none}}@media(max-width:650px){header{height:62px;padding:0 18px}.badge{font-size:8px}.brand{font-size:22px}.brand span{font-size:7px}main{padding:24px 15px}.intro{display:block;margin-bottom:22px}.intro h1{font-size:36px}.intro>p{margin:18px 0 0;font-size:11px}nav{grid-template-columns:repeat(4,1fr);gap:5px}nav button{padding:9px;min-height:55px}nav button span{font-size:9px}.workspace{display:flex;flex-direction:column;gap:12px}.view{order:0}aside{order:1}.reference{order:2;display:block}.reference img{max-width:340px}.reference h3{margin-top:20px}.canvas-wrap{height:330px}.control{display:inline-block;width:46%;margin-right:3%;vertical-align:top}.view-toolbar{padding:9px}.tabs button{padding:7px;font-size:9px}#homeview{font-size:8px}.analysis{padding:12px}.analysis button{max-width:115px;font-size:9px}.evidence{display:block;margin-top:26px}#tests{grid-template-columns:repeat(2,1fr)}.evidence>.muted{font-size:10px}.reference-note{margin-top:20px}}
#prototypes button span{display:block;font-size:10px;letter-spacing:.12em;margin-bottom:7px;opacity:.7}.slider-label{display:block;font-size:12px;margin:15px 0}.slider-label output{float:right;font-size:11px;color:#68756c}.slider-label input{display:block;width:100%;margin-top:9px}#results>div{display:inline-flex;flex-direction:column;min-width:150px;padding:14px;gap:8px}#results p{font-size:11px;line-height:1.6;padding:12px}#results strong{font-size:12px;overflow-wrap:anywhere}.canvas-wrap{touch-action:none}.test{display:inline-block;margin:6px 12px 6px 0;padding:8px;background:#e8eee6;border-radius:5px;font-size:12px}

.experiment-bar{display:flex;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid #ddd}.experiment-bar b{font-size:9px;letter-spacing:.1em;display:block;margin-bottom:7px}.experiment-bar button{padding:8px 10px;border:1px solid #bdc9bd;background:#fff;border-radius:5px;font-size:11px;cursor:pointer}#caseInfo{font-size:11px;line-height:1.55;padding:10px 14px;background:#f0f2eb}.overlay-controls{display:flex;gap:15px;padding:10px 14px;align-items:center;flex-wrap:wrap;font-size:11px}.overlay-controls select{padding:6px;border:1px solid #c4cdc0;background:white}.overlay-controls input[type=range]{width:95px;vertical-align:middle}#legend{position:absolute;bottom:46px;left:16px;width:245px;padding:10px;background:#fffffff0;border-radius:6px;box-shadow:0 1px 5px #0001;font-size:11px;display:none}.colour-ramp{height:10px;margin:7px 0;background:linear-gradient(90deg,#2455d8,#8737c9,#e12c52);border-radius:3px}.legend-values{display:flex;justify-content:space-between}#diagnostic{position:absolute;right:15px;top:58px;max-width:270px;padding:12px;background:#fff9edeb;border:1px solid #d7b888;border-radius:6px;font-size:12px;line-height:1.5;display:none}.canvas-wrap{min-height:500px}.presentation .intro,.presentation aside,.presentation .reference,.presentation .evidence,.presentation footer{display:none}.presentation header{height:50px}.presentation main{max-width:1600px;padding:12px 22px}.presentation .workspace{display:block}.presentation #prototypes{margin:0 0 10px}.presentation #prototypes button{padding:10px;min-height:55px}.presentation .canvas-wrap{height:560px}.presentation .analysis{padding:10px}.presentation #results>div{min-width:130px;padding:8px}.presentation #results p{margin:0}.presentation .view-toolbar{padding:8px 12px}@media(max-width:650px){.overlay-controls{gap:8px}.canvas-wrap{min-height:390px}.presentation main{padding:8px}.presentation .canvas-wrap{height:420px}.experiment-bar{flex-wrap:wrap}#diagnostic{max-width:190px;font-size:10px}#legend{width:190px;font-size:10px}}

.compact-title{display:none}.presentation header,.presentation #prototypes{display:none}.presentation .compact-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 8px;font-size:12px;letter-spacing:.08em}.compact-title select{min-width:260px;padding:8px;border:1px solid #c4cdc0;border-radius:5px;background:white}.presentation .canvas-wrap{height:480px;min-height:480px}.presentation .experiment-bar{padding:7px 12px}.presentation .experiment-bar b{display:none}.presentation .overlay-controls{padding:7px 12px}.presentation #caseInfo{padding:6px 12px;font-size:10px}.presentation .view-toolbar{padding:6px 12px}.presentation .analysis{font-size:11px}.presentation #results>div{padding:7px}

#designPalette{padding:16px;background:#f5f6f0;border:1px solid #d9ded3;border-radius:7px;margin:12px}#designPalette h3{margin:7px 0;font-size:20px}#designDescription,#designStatus{font-size:11px;line-height:1.5;color:#68746b}#designControls{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}.design-slider{font-size:12px;display:block;margin:9px 0}.design-slider output{display:block;color:#49654e;font-size:11px;margin:4px 0}.design-slider input{width:100%;accent-color:#456b53}.design-slider small{display:block;font-size:10px;line-height:1.4;color:#748073}#designExamples{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}#designExamples button,#designApply{border:1px solid #becbbb;border-radius:5px;background:white;padding:7px 9px;font-size:11px;cursor:pointer}.presentation:not(.designview) #designPalette{display:none}.designview .view{display:grid;grid-template-columns:270px minmax(0,1fr);gap:0}.designview .view>*,.designview .view .canvas-wrap{grid-column:2}.designview #designPalette{grid-column:1;grid-row:1 / span 12;margin:0;border-radius:0;max-height:680px;overflow:auto}.designview #designControls{grid-template-columns:1fr}.designview .canvas-wrap{height:540px;min-height:540px}.designview .overlay-controls,.designview .experiment-bar,#designPalette:empty{display:none}.designview .analysis{display:none}.designview #caseInfo{font-size:11px}.designview #designStatus{font-weight:bold;color:#46674d}.designview .compact-title{margin-bottom:8px}@media(max-width:650px){.designview .view{display:flex;flex-direction:column}.designview #designPalette{max-height:none;order:2}.designview .canvas-wrap{order:1;height:360px;min-height:360px}#designControls{grid-template-columns:1fr}}

#layoutToggle{padding:8px;border:1px solid #bfcbbc;border-radius:5px;background:white;white-space:nowrap;font-size:11px;margin-left:8px}.compact-title select{flex:1;margin-left:14px}.designview .view-toolbar{grid-column:2;grid-row:1}.designview #caseInfo{grid-column:2;grid-row:2}.designview .canvas-wrap{grid-column:2;grid-row:3}.designview .view-footer{grid-column:2;grid-row:4}.designview #results{grid-column:2;grid-row:5}

.designview .design-slider small{display:none}.designview .design-slider{margin:7px 0;font-size:11px}.designview .design-slider output{margin:3px 0}.design-group-label{display:block;font-size:11px;margin:10px 0}.design-group-label select{display:block;padding:7px;background:white;border:1px solid #bbc8b6;border-radius:4px;width:100%;margin-top:5px}.designview #designPalette h3{font-size:18px}.designview #designDescription{font-size:10px}
.designview .design-slider{margin:2px 0}.designview .design-slider input{height:12px;margin-top:3px;margin-bottom:2px}.designview #designExamples{margin:8px 0;gap:4px}.designview #designDescription{margin:6px 0}.designview #designPalette{padding:14px;max-height:720px}.designview #designStatus{margin:7px 0 0}

nav{grid-template-columns:repeat(4,1fr)}

#designExport{border:1px solid #becbbb;border-radius:5px;background:white;padding:7px 9px;font-size:11px;margin-left:4px}

#designRecalculate{display:block;background:#386957;color:white;border:0;border-radius:5px;padding:9px;margin-top:8px;font-size:11px}.design-recalc-note{font-size:10px;line-height:1.4;color:#68746b;margin:7px 0}

.designview #designPalette{max-height:none;overflow:visible}

.auto-check{display:block;font-size:11px;margin-top:10px}.auto-check input{accent-color:#386957}#autoStatus{font-size:10px;color:#68746b;line-height:1.4;margin:6px 0}
