*{box-sizing:border-box}body{margin:0;background:#f6f3ec;color:#273c33;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #be8a49;outline-offset:3px}header{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid #dadbd0;background:#faf8f2}.brand{font-family:Georgia,serif;font-size:35px;letter-spacing:4px;color:#2d4739;text-decoration:none;line-height:.9}.brand span{display:block;font:9px sans-serif;letter-spacing:2.5px;margin-top:10px}.edition{font-size:10px;letter-spacing:2.6px}.edition span{color:#8b9288;margin-left:24px}header button{background:none;border:1px solid #b8c0b3;border-radius:30px;padding:12px 18px;color:#35513d;font-size:12px}main{display:grid;grid-template-columns:286px minmax(0,1fr);max-width:1920px;margin:auto}aside{padding:35px 24px 20px;border-right:1px solid #dadbd0;max-height:calc(100vh - 92px);overflow:auto}.eyebrow{font-size:9px;letter-spacing:1.7px;color:#7c8677;font-weight:600;line-height:1.6}h1{font-family:Georgia,serif;font-weight:400;font-size:37px;letter-spacing:-1.5px;line-height:1.08;margin:17px 0}p{line-height:1.6}.intro{font-size:12px;color:#727c70;margin:0 0 25px}nav details{border-top:1px solid #d8ddd2;padding:12px 0}nav summary{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;cursor:pointer;list-style:none;display:flex;justify-content:space-between}nav summary:after{content:'+'}nav details[open] summary:after{content:'−'}nav button{display:flex;align-items:center;justify-content:space-between;text-align:left;width:100%;border:0;background:none;color:#586b59;padding:10px 9px;font-size:12px;border-radius:6px;margin-top:3px}nav button span{font-size:9px;color:#8a9789}nav button:hover,nav button.active{background:#e1e7db;color:#24462f}nav button.active{box-shadow:inset 3px 0 #395e42}.aside-bottom{margin-top:25px;padding-top:18px;border-top:1px solid #d9ddd3;font-size:9px;letter-spacing:1px;color:#657961}.aside-bottom p{font-size:10px;letter-spacing:0}.dot{display:inline-block;background:#7c9270;width:6px;height:6px;border-radius:50%;margin-right:7px}.workspace{min-width:0}.titlebar{display:flex;align-items:center;justify-content:space-between;padding:26px 34px 16px}h2{font-family:Georgia,serif;font-size:30px;letter-spacing:-.7px;font-weight:400;margin:6px 0}.titlebar p{font-size:11px;color:#818a7e;margin:6px 0}.pill{font-size:8px;letter-spacing:1px;border:1px solid #b7bea9;border-radius:3px;padding:8px;color:#6d775f;white-space:nowrap}#canvas{position:relative;height:calc(100vh - 405px);min-height:380px;background:#e9e8df;overflow:hidden}canvas{display:block;width:100%;height:100%;touch-action:none}#loading{position:absolute;z-index:4;inset:0;display:grid;place-items:center;background:#e9e8dfb0;font-size:12px;letter-spacing:1px}#loading[hidden]{display:none}.controls{position:absolute;z-index:3;bottom:38px;left:50%;transform:translateX(-50%);display:flex;gap:3px;padding:5px;border-radius:30px;background:#fcfaf3ed;box-shadow:0 4px 22px #26372b16;white-space:nowrap}.controls button{border:0;background:none;border-radius:25px;padding:10px 13px;color:#58684f;font-size:11px}.controls button[aria-pressed=true]{background:#38553e;color:#fff}.controls span{border-left:1px solid #ddd;margin:5px}.gesture{position:absolute;bottom:14px;width:100%;text-align:center;font-size:9px;color:#7d8678}#hotspots{position:absolute;inset:0;pointer-events:none}.hotspot{position:absolute;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;background:#fffdf1e8;color:#3f6243;border:1px solid #8c9c7b;box-shadow:0 2px 10px #27372b22;font-size:11px;pointer-events:auto}.hotspot.active{background:#3f6243;color:#fff}.bottom{padding:24px 34px;display:grid;grid-template-columns:1.1fr 1fr;gap:30px;font-size:11px}.source strong{display:block;margin-top:7px;font-size:12px}.source p{color:#76826f;font-size:11px;max-width:480px}.links{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.links button,.links a{background:none;border:0;border-bottom:1px solid #c4cbb9;padding:0 0 3px;font-size:10px;color:#3b613e;text-decoration:none}.note{border-left:1px solid #d8dccf;padding-left:24px;color:#818775;font-size:10px}.note strong{font-weight:500;color:#63735b}.note p{margin:8px 0}.sr{position:absolute;width:1px;height:1px;overflow:hidden}#mobile-select{display:none}dialog{border:1px solid #d6ddcd;border-radius:12px;padding:24px;background:#fcfaf4;color:#334b3b;width:min(1220px,96vw);max-height:94vh}dialog::backdrop{background:#192b20b8}.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modal-top button{background:none;border:1px solid #b8c7ad;border-radius:20px;padding:8px 14px;color:#506347}dialog img{display:block;width:100%;height:auto}dialog .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}dialog .card{background:#e9eee2;padding:14px;font-size:12px;border:0;text-align:left;color:#3d5b40;cursor:pointer}dialog .card small{display:block;font-size:10px;color:#7c8972;margin-top:7px}dialog p{font-size:12px;color:#76836e}dialog a{color:#3c633e}#scene-note{color:#8e6e3e}@media(max-width:1050px){main{grid-template-columns:230px 1fr}aside{padding:28px 17px}h1{font-size:31px}.edition span{display:none}.titlebar,.bottom{padding-left:22px;padding-right:22px}.bottom{gap:18px}.controls button{padding:9px}.pill{display:none}}@media(max-width:700px){header{height:70px;padding:0 18px}.brand{font-size:27px}.brand span{font-size:7px;margin-top:7px}.edition{display:none}header button{font-size:10px;padding:9px 12px}main{display:block}aside{padding:15px 18px 0;border:0;max-height:none}aside>.eyebrow,aside h1,.intro,nav,.aside-bottom{display:none}#mobile-select{display:block;width:100%;border:1px solid #bcc7b2;background:#faf8f0;color:#36563c;border-radius:7px;padding:11px;font-size:13px}.titlebar{padding:18px 18px 12px}h2{font-size:26px}.titlebar p{font-size:10px}#canvas{min-height:0;height:430px;height:55svh}.controls{width:calc(100% - 16px);justify-content:center;bottom:31px;border-radius:15px;gap:0;padding:4px}.controls button{font-size:9px;padding:9px 7px}.controls span{margin:4px 2px}.gesture{font-size:8px;bottom:12px}.bottom{display:block;padding:20px 18px}.note{border-left:0;border-top:1px solid #d8dccf;margin-top:18px;padding:15px 0 0}.source p{font-size:10px}.links{gap:14px}.hotspot{width:22px;height:22px;font-size:9px}dialog{padding:16px}dialog .grid{grid-template-columns:1fr 1fr}dialog .card{padding:10px;font-size:11px}}
