:root{font-family:Arial,Helvetica,sans-serif;color:#263d3d;background:#f2efe7;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{cursor:pointer;color:inherit;background:#faf8f2;border:1px solid #cdcdbd;border-radius:5px;padding:10px 12px;font-size:12px;transition:background .15s,transform .15s}button:hover{background:#e1e5d8;transform:translateY(-1px)}button:disabled{opacity:.45;cursor:default;transform:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid #ba8d45;outline-offset:3px}header{height:92px;border-bottom:1px solid #d3d3c4;padding:20px 32px;display:flex;align-items:center;gap:32px}.wordmark{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit;font-size:12px;letter-spacing:2px;line-height:1.35}.seal{font-size:45px;font-weight:400;color:#a37d44}header p{font:italic 16px Georgia,serif;color:#707b72}.local{margin-left:auto;font-size:10px;letter-spacing:1.5px;white-space:nowrap}.local i{display:inline-block;width:6px;height:6px;background:#6f8c79;border-radius:50%;margin-left:8px}main{display:grid;grid-template-columns:minmax(0,1fr) 340px;min-height:calc(100vh - 160px)}.workspace{min-width:0;padding:32px}.intro{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:25px}.intro small,.story small{font-size:10px;letter-spacing:2px;color:#8c774f}h1{font:clamp(24px,2.7vw,40px) Georgia,serif;font-weight:400;margin:12px 0;overflow-wrap:anywhere;white-space:pre-wrap}.intro p{font-size:12px;color:#6b7871}.edition-number{font:40px Georgia,serif;color:#a89a7d}.edition-number span{display:block;font:8px Arial;letter-spacing:2px;margin-top:5px}.stage-wrap{background:#243335;border-radius:8px;overflow:hidden;color:#dfdfcc;position:relative;box-shadow:0 15px 35px #22332d12}.stage-toolbar{display:flex;align-items:center;gap:6px;padding:14px 18px;background:#243335;position:relative;z-index:1}.stage-toolbar button{background:transparent;color:#c8cabb;border-color:#53615b;font-size:11px}.stage-toolbar button.active{background:#e3d9ba;color:#263c3c;border-color:#e3d9ba}.stage-toolbar span{font-size:8px;letter-spacing:1.3px;margin-left:auto;color:#a3b1a9}.stage{width:100%;aspect-ratio:1;max-width:700px;margin:auto;position:relative;touch-action:none}.stage canvas{display:block;width:100%;height:100%}.gpu-note{position:absolute;inset:25% 15%;text-align:center;line-height:1.6}.gpu-note strong{font:34px Georgia}.gpu-note p{font-size:13px}.gpu-note span{color:#c9ae7d;font-size:12px}.stage-caption{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;border-top:1px solid #46524b;gap:20px;font:italic 12px Georgia}.stage-caption label{display:flex;align-items:center;gap:8px;font:10px Arial}.stage-caption input{width:85px;accent-color:#d0ac70}.lower{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;margin-top:28px}.map-card{border:1px solid #cfcebd;padding:18px;border-radius:6px;background:#ebe8de}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title h2{font:19px Georgia;margin:0}.section-title span{font-size:8px;letter-spacing:1px;color:#778275}.map-card svg{width:100%;height:190px;background:radial-gradient(#f6f3e9,#e7e4d9);margin-top:12px;border:1px solid #d5d1bf}.map-card p{font:italic 11px/1.5 Georgia;color:#6b756d}.story{padding:10px 0}.story h2{font:31px/1.1 Georgia;margin:14px 0}.story p,.story li{font-size:11px;line-height:1.65;color:#6d786e}.story ul{padding-left:15px}.metric{font-size:9px;color:#9a7748;letter-spacing:.7px}aside{border-left:1px solid #d3d3c4;background:#e9e8dd;display:flex;flex-direction:column;min-width:0}.tabs{display:flex;padding:20px 20px 12px;border-bottom:1px solid #d0d1c1;gap:4px}.tabs button{flex:1;text-transform:uppercase;font-size:10px;letter-spacing:1px;border-color:transparent;background:transparent}.tabs button.active{background:#d5dacb;color:#334d43}.controls{padding:24px 22px;flex:1}.controls h2{font:23px Georgia;margin:0 0 20px}.controls h3{font:17px Georgia;margin:24px 0 12px}.objects{display:grid;gap:7px;margin:16px 0}.objects button{display:flex;align-items:center;text-align:left;gap:12px;padding:12px 10px;background:#f4f1e7}.objects button.chosen{border-color:#6b8775;background:#e2e7d9}.objects i{width:20px;height:26px;border-radius:50% 25% 48% 24%;flex-shrink:0;border:1px solid #0002;transform:rotate(12deg)}.objects span{flex:1;overflow-wrap:anywhere;min-width:0;white-space:pre-wrap;font-size:12px}.objects small{display:block;font-size:9px;color:#798370;margin-top:4px}.objects b{font-weight:400;color:#8b987f}.wide{width:100%;margin:4px 0}.primary{background:#405f51;color:#f4efdc;border-color:#405f51}.primary:hover{background:#557763}.danger{color:#965b47;border-color:#c9b2a1;background:#ece5d9;font-size:10px}.field{display:flex;flex-direction:column;gap:6px;font-size:10px;color:#677464;margin:10px 0}.field input,.field select{width:100%;min-width:0;padding:8px;border:1px solid #c8ccbb;border-radius:4px;background:#f8f6ec;color:#2d4540;font-size:12px}.field input[type=color]{height:34px;padding:3px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.triplet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pair>*{min-width:0}.hint{font-size:11px;line-height:1.65;color:#7b806e}.check{display:flex;align-items:center;gap:8px;font-size:11px;margin:12px 0}.check input{accent-color:#5b7865}fieldset{border:1px solid #c6cbbb;border-radius:5px;margin:18px 0;padding:12px}legend{font-size:10px;color:#74806d;padding:0 6px}.history{display:flex;gap:9px;padding:18px 22px;border-top:1px solid #d0d1c1}.history button{flex:1}.example{display:flex;justify-content:space-between;text-align:left}textarea{width:100%;height:130px;resize:vertical;max-height:350px;background:#f8f6ec;border:1px solid #c9cbbb;padding:10px;font:11px monospace}footer{border-top:1px solid #d0d1c1;padding:18px 32px;display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap;color:#72806f}footer>p{margin:0;flex:1;font-size:11px;min-width:180px}footer small{font-size:8px;letter-spacing:1px}details{max-width:440px;font-size:10px}summary{cursor:pointer}details p{line-height:1.7}details button{font-size:10px;margin-right:8px}details span{font-size:10px}@media(min-width:1400px){.workspace{padding:40px 6vw}.stage{max-width:680px}}@media(max-width:900px){main{grid-template-columns:minmax(0,1fr) 300px}.workspace{padding:22px}.lower{grid-template-columns:1fr}.intro{align-items:flex-start}.edition-number,.stage-toolbar span{display:none}.stage-caption{flex-direction:column;align-items:flex-start}header p{display:none}}@media(max-width:650px){header{height:80px;padding:15px 18px}main{grid-template-columns:1fr}.workspace{padding:22px 16px}.lower{grid-template-columns:1fr 1fr;gap:14px}.story h2{font-size:25px}.map-card{padding:12px}.map-card svg{height:160px}.section-title{flex-wrap:wrap}.stage-caption{flex-direction:row;align-items:center;font-size:10px}.stage-caption input{width:55px}aside{border-left:0;border-top:1px solid #ccd1be}.controls{padding:22px}.tabs{position:sticky;top:0;background:#e9e8dd;z-index:2}footer{padding:18px}.gpu-note strong{font-size:24px}.gpu-note p{font-size:11px}.gpu-note{inset:18% 12%}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@keyframes settle{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.intro,.map-card,.controls{animation:settle .5s ease-out}.intro>div:first-child{min-width:0;flex:1}.controls h3{overflow-wrap:anywhere;white-space:pre-wrap}
