:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#25382f;background:#f0eee5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:1px solid #c6c9ba;background:#faf9f2;color:inherit;border-radius:7px;padding:10px 12px;cursor:pointer}button:hover{background:#e4e9db}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a95535;outline-offset:2px}header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;border-bottom:1px solid #c6c9ba}small{font-size:10px;letter-spacing:.16em;font-weight:700;color:#617365}h1{font-size:25px;margin:6px 0;font-weight:500}h1 i{font-family:Georgia,serif}nav{display:flex;gap:8px}main{display:grid;grid-template-columns:270px minmax(400px,1fr) 270px;min-height:calc(100vh - 140px)}aside{padding:26px 22px}aside.controls{border-right:1px solid #c6c9ba}aside.source{border-left:1px solid #c6c9ba}.stage{padding:30px clamp(22px,4vw,70px);background:#e6e8dc}h2{font-family:Georgia,serif;font-size:28px;font-weight:400;line-height:1.08}p{font-size:12px;line-height:1.6;color:#58675b}.headline{display:flex;align-items:center;justify-content:space-between;gap:15px}.headline h2{font-size:clamp(28px,3vw,48px);margin:16px 0 25px}.headline em{color:#9f5a3e}.stats{display:grid;text-align:right;font-size:10px;line-height:1.6}.stats b{font-size:24px;font-weight:400}.art{width:100%;max-width:760px;margin:auto;padding:14px;background:#fcfaf0;box-shadow:0 18px 40px #26372f24}.art svg{display:block;width:100%;height:auto}.caption{display:flex;justify-content:space-between;margin:20px 0;font-size:11px;letter-spacing:.08em;overflow-wrap:anywhere}.palette{display:grid;grid-template-columns:1fr 1fr;gap:7px}.palette button{font-size:11px;display:flex;align-items:center;gap:6px;overflow-wrap:anywhere}.palette span{width:15px;height:15px;display:inline-block;flex-shrink:0;border-radius:50%}.active{border-color:#344e3d;background:#d9e2d1}label{display:grid;gap:6px;font-size:11px;font-weight:600;margin:14px 0}input,select,textarea{width:100%;background:#fcfbf5;border:1px solid #b9c0ad;border-radius:5px;padding:8px;color:inherit}input[type=color]{padding:3px;height:36px}.colors{display:flex;gap:10px}.colors label{flex:1}.grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;margin:20px 0 28px}.grid button{aspect-ratio:1;padding:0;border-radius:2px;border:0;color:#fff;text-shadow:0 1px 2px #000;font-size:18px}.source>button{display:block;width:100%;margin:7px 0}.source textarea{height:300px;font-family:monospace;font-size:10px;resize:vertical}.exports{display:flex;gap:8px;flex-wrap:wrap}.status{border-left:3px solid #a35c3a;padding:10px;background:#f2f1e7}.warning{color:#9a3b20}.notice{max-width:700px}.focus main{grid-template-columns:1fr}.focus aside{display:none}.focus .art{max-width:900px}.focus .stage{padding:28px max(20px,calc((100vw - 1000px)/2))}footer{text-align:center;padding:14px;font-size:9px;letter-spacing:.2em}h3{font-family:Georgia,serif;font-weight:400;font-size:21px}@media(max-width:1100px){main{grid-template-columns:240px 1fr}.source{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px}.source textarea{grid-column:1/-1}.source>p{grid-column:1/-1}.source small{grid-column:1/-1}}@media(max-width:700px){header{padding:18px;display:block}nav{flex-wrap:wrap}main{display:flex;flex-direction:column}.stage{order:-1;padding:20px}.controls,.source{display:block!important;border:0!important}.focus aside{display:none!important}.caption{font-size:9px}.headline h2{font-size:31px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
