:root{color-scheme:light;--paper:#f6eedb;--ink:#463a2e;--line:#c3b396;--accent:#567257}
*{box-sizing:border-box}body{margin:0;background:#e8dec5;color:var(--ink);font:16px/1.55 system-ui,sans-serif}main{width:min(1100px,100% - 32px);margin:0 auto;padding:24px 0 38px}a{color:inherit;text-underline-offset:3px}a:focus-visible,button:focus-visible{outline:3px solid #bd603c;outline-offset:4px}nav{display:flex;flex-wrap:wrap;gap:8px 24px}nav a{display:inline-flex;align-items:center;min-height:44px}header{max-width:790px;padding:22px 0 12px}.eyebrow{font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--accent);font-weight:700}h1,h2,h3{font-family:Georgia,serif;line-height:1.15}h1{font-size:clamp(32px,5vw,52px);font-weight:normal;margin:12px 0 20px}h2{font-size:28px;margin:0 0 12px}h3{font-size:23px;margin:0 0 8px}p{margin:0 0 16px}section{margin:26px 0}.paper,.scene-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 4px 0 #9a815c14}.section-head{display:flex;gap:12px;justify-content:space-between;align-items:start;flex-wrap:wrap}.section-head p{max-width:550px}.controls{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}button{font:inherit;font-size:14px;min-height:44px;padding:10px 16px;background:#ece2c8;border:1px solid #9b8b6e;border-radius:8px;color:var(--ink);cursor:pointer}button[aria-pressed=true]{background:#567257;color:#fff9e8;border-color:#3e583f}button:disabled{opacity:.55;cursor:default}#scene,#scene-fallback{display:block;width:100%;max-width:1024px;height:auto;aspect-ratio:4/3;border-radius:5px;image-rendering:pixelated}#scene[hidden],#scene-fallback[hidden]{display:none}.note{margin:14px 0 0;font-size:14px}.pieces{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr));gap:16px}figure{margin:0;min-width:0}.pieces figure{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden}.art{display:flex;justify-content:center;align-items:center;min-height:225px;background:#eee5cf}.art img{display:block;width:auto;max-width:100%;height:210px;object-fit:contain}.pieces figcaption{padding:18px}.sizes{font-size:12px;color:#655b4c;margin-bottom:0}.scale-sheet{display:block;width:100%;height:auto;image-rendering:pixelated}.references{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.references img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:5px solid var(--paper);outline:1px solid var(--line);border-radius:3px}.references figcaption{font-size:13px;margin-top:8px}ol{padding-left:24px;margin:0 0 16px}li{margin:12px 0}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:13px}footer a{display:flex;align-items:center;min-height:44px}footer span{align-self:center}
@media(max-width:600px){main{width:calc(100% - 24px);padding-top:12px}.paper,.scene-card{padding:14px}.references{grid-template-columns:1fr}.references figure{max-width:440px}.controls{width:100%}.controls button{flex:1;padding-inline:8px}.art{min-height:230px}.art img{height:220px}h2{font-size:25px}section{margin:22px 0}}
.palette-control{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px}select{min-height:44px;max-width:100%;font:inherit;color:var(--ink);background:#fff8e8;border:1px solid #9b8b6e;border-radius:6px;padding:8px 12px}.material-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}.material-controls label{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;min-height:50px}.material-controls select{flex:1;min-width:160px}#zone-controls{margin:12px 0}input[type=color]{width:70px;height:44px;padding:4px;border:1px solid #9b8b6e;border-radius:6px;background:#fff8e8}.material-preview{align-self:center;text-align:center}.material-preview canvas{display:block;width:100%;height:auto;image-rendering:pixelated;background:#eee5cd;border-radius:8px}#map-link{display:inline-flex;align-items:center;min-height:44px}select:focus-visible,input:focus-visible{outline:3px solid #bd603c;outline-offset:3px}@media(max-width:650px){.material-layout{grid-template-columns:1fr;gap:14px}.material-preview{max-width:440px;width:100%;margin:auto}}
