:root{color-scheme:light;--paper:#f0e7d2;--ink:#493e33;--sage:#647f72;--line:#c9bca1}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif}main{width:min(1060px,calc(100% - 40px));margin:24px auto 48px}nav,footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}a{color:#3e665b;text-underline-offset:4px}nav a,footer a{padding:10px 0;min-height:44px}header{max-width:760px;margin:30px 0 16px}.eyebrow{font:12px/1.5 ui-monospace,monospace;letter-spacing:.16em;text-transform:uppercase;color:#746958}h1{font-size:clamp(30px,5vw,54px);font-weight:normal;margin:8px 0 16px}h2{font-size:23px;font-weight:normal;margin:0 0 18px}header p:not(.eyebrow),.note,.technical p{font-size:16px;line-height:1.6}#status{min-height:24px;font:14px/1.5 system-ui,sans-serif;color:#687565}fieldset{padding:0;border:0;min-width:0}.controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0}.controls label,.material-groups label{display:flex;flex-direction:column;gap:7px;font:14px/1.4 system-ui,sans-serif;min-width:0}select,button{font:inherit;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#fff8e7;color:var(--ink);padding:9px 12px}select{width:100%}button{cursor:pointer}button:hover{border-color:var(--sage);background:#e2ead7}button:disabled,select:disabled{opacity:.65;cursor:default}:focus-visible{outline:3px solid #93693e;outline-offset:3px}.actions{display:flex;align-items:end;gap:8px}.actions button{flex:1}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-heading h2{margin:0}.check{min-height:44px;display:flex;align-items:center;gap:8px;font:14px system-ui,sans-serif}.check input{width:22px;height:22px;accent-color:var(--sage)}#scene{display:block;width:100%;height:auto;max-height:660px;object-fit:contain;background:#e3dac4;border:1px solid var(--line);border-radius:16px;margin:15px 0}section{margin:28px 0}.pieces{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.artists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.art-card{min-width:0;background:#f8f0dd;border:1px solid #d5c8aa;border-radius:13px;padding:16px;text-align:center}.art-card h3{font:16px/1.5 Georgia,serif;min-height:24px;margin:12px 0 0}.art-card canvas{display:block;max-width:100%;height:auto;margin:auto}.art-card p{font:12px/1.5 system-ui,sans-serif;color:#766b57;margin:5px 0 0}.note{color:#756a57}details{border-block:1px solid var(--line);padding:3px 0;margin:14px 0 25px}summary{cursor:pointer;min-height:48px;padding:14px 8px;font:15px/1.4 system-ui,sans-serif}.material-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:0 8px 20px}.material-groups section{margin:12px 0}.colours{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.colours label{align-items:center;text-align:center}.colours input[type=color]{height:48px;width:100%;max-width:90px;padding:4px;background:#fff8e7;border:1px solid var(--line);border-radius:8px}.links{display:flex;gap:12px 24px;flex-wrap:wrap;margin-bottom:20px}.links a{min-height:44px;padding:10px 0}footer{border-top:1px solid var(--line);padding-top:15px;align-items:center;font-size:14px}footer span{color:#766b57}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}@media(max-width:700px){main{width:calc(100% - 28px);margin-top:14px}.controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.pieces{grid-template-columns:repeat(2,minmax(0,1fr))}.artists{grid-template-columns:1fr}.artists .art-card{display:grid;grid-template-columns:128px 1fr;align-items:center;column-gap:12px}.artists .art-card canvas{grid-row:1/3}.artists .art-card h3{margin:0}.artists .art-card p{align-self:start}.material-groups{grid-template-columns:1fr;gap:16px}.section-heading{align-items:start}h2{font-size:21px}}@media(max-width:420px){.controls{grid-template-columns:1fr}.material-groups{grid-template-columns:1fr}.artists .art-card{grid-template-columns:112px 1fr;padding:12px}.artists canvas{width:112px}.colours{gap:8px}.art-card{padding:12px}.check{font-size:12px}header{margin-top:18px}}
