:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif;color:#433c38;background:#f7f5f0;--line:#dedbd3;--accent:#a54b42}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}header,footer{display:flex;justify-content:space-between;align-items:center;padding:20px 4%;gap:14px}.brand{font-weight:650;letter-spacing:1px}#status,footer{font-size:11px;color:#81786e}main{max-width:1540px;margin:auto;padding:25px 4%}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--accent);margin:0 0 12px}h1{font-size:30px;font-weight:550;letter-spacing:-.5px;margin:0}.edition{font-size:44px;color:#c8bfb3;font-weight:250}.stage{height:clamp(360px,48vh,600px);position:relative;background:#f0efec;border:1px solid #e5e1da;border-radius:6px;overflow:hidden}#viewport{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}#scene-label{position:absolute;left:18px;top:16px;font-size:10px;background:#ffffffe0;border-radius:20px;padding:8px 12px;pointer-events:none}.toolbar{position:absolute;left:16px;right:16px;bottom:13px;display:flex;justify-content:space-between;align-items:center;gap:10px;pointer-events:none}.toolbar>span{font-size:10px;color:#81786e}.toolbar>div{display:flex;gap:6px;pointer-events:auto}button{border:1px solid #d9d5cb;border-radius:5px;background:#fffdf9;color:#66584f;padding:9px 12px;font-size:11px;min-height:36px}.toolbar button{background:#fffc}.caption{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#92877b;margin-top:12px}.caption>span:first-child{line-height:1.7}fieldset{padding:0;margin:30px 0 0;border:0;display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:36px;min-width:0}fieldset>section{border-top:1px solid var(--line);padding-top:18px;min-width:0}h2{font-size:13px;font-weight:550;margin:0 0 17px}h2>span{color:#ac9b8b;font-size:10px;margin-right:12px}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.choices button[aria-pressed=true]{background:#805044;border-color:#805044;color:#fff}.hint{font-size:10px;line-height:1.7;color:#998b7e;margin:10px 0}label{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0 9px;font-size:11px}output{color:var(--accent);font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:#a76350;margin:5px 0}input[type=checkbox]{accent-color:#805044;width:16px;height:16px}select{max-width:65%;border:1px solid #d9d5cb;background:#fffdf9;border-radius:4px;padding:7px;font-size:11px;color:#66584f}.reset{width:100%;background:transparent;margin-top:6px}.notes{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;line-height:1.8;color:#8f8377;border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.notes>div{display:flex;gap:18px;flex-wrap:wrap}footer{border-top:1px solid var(--line);margin:0 4%;padding:18px 0;font-size:9px;letter-spacing:1px}#loading{position:absolute;inset:0;background:#f5f2ecf5;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:25px;text-align:center;z-index:2}#loading[hidden]{display:none}#loading strong{font-size:16px;font-weight:550}#progress{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:850px){fieldset{grid-template-columns:1fr 1fr;gap:24px}fieldset>section:last-child{grid-column:1/-1}.notes{align-items:flex-start;flex-direction:column}.stage{height:390px}}@media(max-width:540px){header{padding:17px 15px}.brand{font-size:14px}#status{font-size:9px}main{padding:20px 14px}h1{font-size:24px}.edition{font-size:34px}.stage{height:330px}.toolbar{flex-wrap:wrap;left:10px;right:10px}.toolbar>span{font-size:9px}.caption{font-size:9px}fieldset{grid-template-columns:1fr;gap:22px;margin-top:25px}fieldset>section:last-child{grid-column:auto}.choices button{min-height:42px}#scene-label{left:10px;top:10px;font-size:9px}.notes>div{gap:12px}}
