:root{--paper:#f2ecdf;--ink:#29261f;--orange:#e9632c;--lime:#c9dc62;--blue:#8ebbc3;--line:#bcb3a2;--panel:#e7decf;font-family:Georgia,"Times New Roman",serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--paper);background-image:radial-gradient(#c9c0ae 1px,transparent 1px);background-size:18px 18px}button,input,select{font:inherit}header{height:82px;padding:0 34px;border-bottom:2px solid var(--ink);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(242,236,223,.94)}.logo{color:var(--ink);font-size:30px;font-weight:bold;text-decoration:none;letter-spacing:-.12em}.logo span{color:var(--orange)}header p{text-align:center;font-size:15px;margin:0}header p small{display:block;font:9px/1.8 Arial,sans-serif;letter-spacing:.2em}header>button{justify-self:end;background:transparent;border:1px solid var(--ink);padding:7px 16px;cursor:pointer;box-shadow:3px 3px 0 var(--ink)}header>button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}main{display:grid;grid-template-columns:280px minmax(400px,1fr) 300px;min-height:calc(100vh - 82px)}aside{padding:30px 26px;background:rgba(242,236,223,.92)}.sidebar{border-right:2px solid var(--ink)}.values-panel{border-left:2px solid var(--ink)}aside section+section{border-top:1px solid var(--line);margin-top:30px;padding-top:30px}.section-title{display:flex;align-items:center;gap:10px;margin-bottom:19px}.section-title>span{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:var(--ink);color:var(--paper);font:11px Arial,sans-serif}.section-title h2{font-size:17px;margin:0}.presets{display:grid;grid-template-columns:1fr 1fr;gap:9px}.presets button{height:82px;border:1px solid var(--ink);background:#f8f3e9;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:12px}.presets button:hover,.presets button.active{background:var(--lime);box-shadow:3px 3px 0 var(--ink);transform:translate(-2px,-2px)}.mini{display:block;width:32px;height:24px;background:var(--orange);border:1px solid var(--ink)}.mini.soft{border-radius:7px}.mini.pill{border-radius:50%}.mini.leaf{border-radius:90% 0}.mini.drop{border-radius:70% 40% 70% 15%}.sidebar label{display:block;font-size:12px;margin:18px 0}.sidebar label output{float:right;font-family:Arial,sans-serif}.sidebar input[type=range]{display:block;width:100%;accent-color:var(--orange);margin-top:12px}.sidebar select{width:100%;margin-top:9px;padding:9px;background:#f8f3e9;border:1px solid var(--ink)}.color-row{display:grid;grid-template-columns:42px 1fr;gap:8px;margin-top:9px}.color-row input{height:36px;border:1px solid var(--ink);background:#f8f3e9}.color-row input[type=color]{padding:3px;width:42px}.color-row input[type=text]{padding:0 8px;font:12px Arial,sans-serif;text-transform:uppercase}.hint p{font-size:12px;line-height:1.8;margin:0;color:#655f54}.stage{background:#cfbff0;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:650px}.stage:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 49.5%,rgba(41,38,31,.08) 49.5%,rgba(41,38,31,.08) 50.5%,transparent 50.5%),linear-gradient(-45deg,transparent 49.5%,rgba(41,38,31,.08) 49.5%,rgba(41,38,31,.08) 50.5%,transparent 50.5%)}.stage-label{position:absolute;top:20px;left:24px;right:24px;display:flex;justify-content:space-between;font:10px Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em}.shape-wrap{width:min(52vw,420px);aspect-ratio:1;position:relative}.shape{position:absolute;inset:0;background:var(--lime);border:3px solid var(--ink);display:grid;place-items:center;box-shadow:14px 14px 0 rgba(41,38,31,.18);transition:background .2s}.shape span{font-size:14px;font-style:italic;opacity:.5;pointer-events:none}.handle{position:absolute;width:18px;height:18px;border:2px solid var(--ink);background:#fff;border-radius:50%;padding:0;cursor:grab;z-index:3;box-shadow:2px 2px 0 var(--ink);touch-action:none}.handle:active{cursor:grabbing;background:var(--orange)}.horizontal.tl{top:-9px}.horizontal.tr{top:-9px}.horizontal.br{bottom:-9px}.horizontal.bl{bottom:-9px}.vertical.tl{left:-9px}.vertical.bl{left:-9px}.vertical.tr{right:-9px}.vertical.br{right:-9px}.number-grid{display:grid;gap:8px}.number-row{display:grid;grid-template-columns:1fr 72px;align-items:center;font-size:11px;padding-bottom:8px;border-bottom:1px solid var(--line)}.number-row span b{display:inline-block;width:18px;color:var(--orange);font:10px Arial,sans-serif}.number-row label{color:#6c6559}.number-row input{width:100%;padding:7px 5px;border:1px solid var(--ink);background:#f8f3e9;text-align:right;font:12px Arial,sans-serif}.output-box{margin-top:26px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);padding:14px;box-shadow:5px 5px 0 var(--orange)}.output-box>div{display:flex;justify-content:space-between;align-items:center;font:9px Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#bfb8aa}.output-box button{border:0;background:var(--lime);color:var(--ink);font:10px Arial,sans-serif;padding:6px 10px;cursor:pointer}.output-box code{display:block;margin-top:16px;line-height:1.8;word-break:break-all;font:12px/1.7 ui-monospace,monospace;color:#fff}.copy-status{min-height:18px;font:11px Arial,sans-serif;color:#47710b;margin-top:12px}@media(max-width:1050px){main{grid-template-columns:240px 1fr}.values-panel{grid-column:1/-1;border-left:0;border-top:2px solid var(--ink)}.number-grid{grid-template-columns:1fr 1fr}.output-box{max-width:650px}}@media(max-width:720px){header{height:70px;padding:0 18px;grid-template-columns:1fr auto}header p{display:none}main{display:flex;flex-direction:column}.sidebar,.values-panel{border:0;border-bottom:2px solid var(--ink)}.stage{order:-1;min-height:auto;height:100vw;max-height:560px}.shape-wrap{width:62vw}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:20px}.sidebar section+section{border:0;margin:0;padding:0}.sidebar .hint{display:none}.number-grid{grid-template-columns:1fr 1fr}.values-panel{border-top:2px solid var(--ink)}}@media(max-width:460px){.sidebar{display:block}.sidebar section+section{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.number-grid{grid-template-columns:1fr}.shape-wrap{width:68vw}.shape span{font-size:11px}}
