
:root{font-family:system-ui,-apple-system,sans-serif;color:#233c37;background:#f3f3ee;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #d1d8cf;background:white;border-radius:9px;padding:10px 14px;color:inherit}button:hover{background:#e9eee7}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #b38240;outline-offset:3px}.primary{background:#245b49;color:white;border-color:#245b49}.primary:hover{background:#194333}header{display:flex;align-items:center;gap:16px;padding:22px 32px;border-bottom:1px solid #d9dfd5;background:#fafaf7}.brand{font-family:Georgia,serif;font-size:32px;letter-spacing:-1px}.badge{font-size:11px;border:1px solid #bccbbe;border-radius:30px;padding:5px 9px;letter-spacing:1px}.private{margin-left:auto;color:#68786f;font-size:12px}main{max-width:1600px;margin:auto;padding:28px 32px}h1{font-size:28px;letter-spacing:-.8px;font-weight:550;margin:0 0 8px}p{line-height:1.6}.intro{color:#718078;margin:0 0 24px}.layout{display:grid;grid-template-columns:280px minmax(300px,1fr) 295px;gap:18px;align-items:start}.panel{background:#fff;border:1px solid #dce1d6;border-radius:14px;padding:20px}h2{font-size:15px;margin:0 0 18px}.step{font-size:11px;color:#7b887d;letter-spacing:1px;display:block;margin-bottom:7px}label{display:block;font-size:12px;color:#5a6e62;margin:14px 0 6px}input[type=number],select{width:100%;border:1px solid #d4dcd1;border-radius:7px;background:#fafbf8;padding:9px;color:#233c37}input[type=range]{width:100%;accent-color:#245b49}input[type=color]{width:100%;height:38px;padding:3px;border:1px solid #d4dcd1;background:white;border-radius:7px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;gap:8px;align-items:center;line-height:1.4}.check input{accent-color:#245b49}.upload{display:block;border:1px dashed #9eafa0;border-radius:9px;padding:18px 12px;text-align:center;background:#f7f9f3;cursor:pointer;margin:0}.upload strong{display:block;color:#245b49;margin-bottom:5px}.small{font-size:12px;color:#7a857c;line-height:1.6}.wide{width:100%;margin-top:14px}.stage{padding:0;overflow:hidden}.toolbar{display:flex;gap:5px;align-items:center;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid #e2e6de}.toolbar button{font-size:12px;padding:7px 10px;border-color:transparent;background:transparent}.toolbar button[aria-pressed=true]{background:#e6eee3;color:#245b49}.canvas-wrap{height:490px;display:flex;justify-content:center;align-items:center;padding:24px;background-color:#eeefe8;background-image:linear-gradient(#dde2d555 1px,transparent 1px),linear-gradient(90deg,#dde2d555 1px,transparent 1px);background-size:20px 20px}canvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;box-shadow:0 6px 28px #263e3214;background:#fff;cursor:crosshair}.stage-footer{padding:14px 20px;font-size:12px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#778476}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.stat{background:#fff;border:1px solid #dce1d6;border-radius:11px;padding:15px}.stat b{font-size:22px;display:block;font-weight:500}.stat span{font-size:11px;color:#788679}.region-list{max-height:225px;overflow:auto;margin-bottom:16px}.region-row{display:flex;gap:7px;align-items:center;padding:3px}.region-row input{accent-color:#245b49}.region-row button{flex:1;display:flex;gap:10px;align-items:center;text-align:left;border:1px solid transparent;padding:9px 7px;font-size:12px;min-width:0}.region-row button[aria-pressed=true]{border-color:#9ab19c;background:#f0f5ed}.swatch{width:19px;height:19px;border-radius:50%;border:1px solid #0002;flex-shrink:0}.region-name{flex:1}.tip{border-top:1px solid #e4e8df;padding-top:14px;margin:18px 0 0;font-size:12px;color:#748174;line-height:1.6}#status{min-height:23px;margin:17px 0 10px;font-size:13px;line-height:1.5}#status.error{color:#a43a2c}.export{padding:16px 20px;margin-top:14px;background:#e6ecdf;border-radius:12px;display:flex;gap:16px;align-items:center;justify-content:space-between}.export strong{font-size:13px}.export p{margin:4px 0 0;font-size:12px;color:#64745f}.export button{white-space:nowrap}details{margin-top:22px;color:#637265;font-size:12px;line-height:1.7}summary{cursor:pointer}footer{font-size:11px;color:#829080;padding:15px 0}.empty{opacity:.5;pointer-events:none}@media(max-width:1150px){.layout{grid-template-columns:240px minmax(300px,1fr)}.editor{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:25px}.region-list{max-height:250px}.editor .tip{grid-column:1/-1;margin:0}.canvas-wrap{height:450px}}@media(max-width:680px){header{padding:16px 18px}.private{max-width:130px;text-align:right;font-size:10px}main{padding:22px 16px}h1{font-size:24px}.layout{grid-template-columns:1fr}.editor{grid-column:auto;display:block}.canvas-wrap{height:360px;padding:16px}.export{align-items:stretch;flex-direction:column}.stats{gap:8px}.stat{padding:12px}.stat b{font-size:20px}.panel{padding:17px}.stage{padding:0}}

.site-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:12px 32px;background:#fafaf7;border-bottom:1px solid #d9dfd5;font-size:13px}.site-links a{color:#245b49;text-decoration:none}.site-links a:hover{text-decoration:underline}#filename{overflow-wrap:anywhere}@media(max-width:680px){.site-links{padding:12px 18px}}

.region-row{grid-template-columns:22px minmax(0,1fr) 42px}.region-row .eye{padding:8px;min-width:40px}.hidden-region .swatch{opacity:.35}.hidden-region .region-name{color:#687368}.context-menu{position:fixed;z-index:1000;background:#fff;border:1px solid #a3b8aa;border-radius:12px;padding:6px;box-shadow:0 8px 30px #173b3433;max-width:calc(100vw - 16px)}.context-menu:not([hidden]){display:grid}.context-menu button{text-align:left;border:0;min-height:42px}.filters{margin:12px 0;padding:10px;border:1px solid #d5dfd2;border-radius:10px}.filters label{margin-top:10px}.filters input,.filters select{min-width:0}.region-row button{min-width:0}button[aria-pressed="true"]{background:#e3eee2;color:#205a48;outline:2px solid #397660}#robot-demo{margin-bottom:8px}#multi,#visibility{margin-top:8px}

.region-row{display:grid}.region-row .eye{justify-content:center}.region-row input{width:18px;height:18px}#filter-count{min-height:20px}
