:root{font-family:Arial,Helvetica,sans-serif;color:#253936;background:#eae9df;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{border:1px solid #c8cbbf;border-radius:4px;background:#fafbf3;color:inherit;padding:9px 13px;cursor:pointer;transition:background .16s,transform .16s}button:hover{background:#e1e8d7}button:active{transform:translateY(1px)}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #b75a2d;outline-offset:3px}.primary{background:#24473f;color:#fff;border-color:#24473f}.primary:hover{background:#315e52}main{min-height:100dvh;padding:0 36px;max-width:1800px;margin:auto}header{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #bfc7b8;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:900;letter-spacing:1px;color:inherit;text-decoration:none}.brand span{font-size:32px;color:#d15c39}.brand sup{font-size:9px;letter-spacing:0;align-self:flex-start;margin-top:8px}.header-actions{display:flex;align-items:center;gap:10px}.local{font-size:9px;letter-spacing:1.3px;color:#527267;padding:0 12px}.intro{display:flex;align-items:center;justify-content:space-between;padding:30px 0;gap:24px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:2px;color:#697a6a;margin:0 0 10px}h1{font-family:Georgia,serif;font-weight:400;font-size:44px;letter-spacing:-1.5px;line-height:1.02;margin:0}h1 i{color:#bc5636}.intro>p{font-size:13px;line-height:1.8;color:#637267}.edition{text-align:right;display:flex;flex-direction:column}.edition strong{font-family:Georgia,serif;font-size:57px;font-weight:400;line-height:1}.edition span{font-size:9px;letter-spacing:1px;margin-top:8px}.workspace{display:grid;grid-template-columns:1.6fr 1fr;gap:18px}.scene-panel,.preview-panel{border:1px solid #bfc7b8;border-radius:7px;overflow:hidden;background:#f8f8ee}.panel-head{display:flex;justify-content:space-between;gap:10px;padding:16px 18px;font-size:9px;font-weight:700;letter-spacing:1.1px;border-bottom:1px solid #d7dccf}.panel-head span+span{font-weight:400;letter-spacing:0}.scene{position:relative;aspect-ratio:1.5;background:#f6efdc;overflow:hidden}.scene canvas{width:100%;height:100%;display:block;image-rendering:pixelated}.scene svg{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none}.brush{display:flex;gap:15px;align-items:center;padding:12px 16px;border-top:1px solid #d7dccf;font-size:11px;flex-wrap:wrap}.brush label{display:flex;align-items:center;gap:7px}.brush input[type=color]{width:27px;height:27px;border:0;background:none;padding:0}.brush input[type=range]{width:65px;accent-color:#24473f}.brush button{font-size:11px;padding:7px 10px}.scene-select{display:flex;gap:7px;flex-wrap:wrap;border-top:1px solid #d7dccf;padding:15px}.scene-select span{width:100%;font-size:8px;letter-spacing:1.8px;color:#748174}.scene-select button{font-size:10px;padding:7px}.preview-panel{background:#233d36;color:#faf4e3;display:flex;flex-direction:column}.preview-panel .panel-head{border-color:#456055}.good{color:#b3d697}.bad{color:#ffab8f}.crop-mat{flex:1;min-height:245px;padding:27px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#36574b,#233d36)}.crop-mat canvas{width:190px;height:190px;object-fit:contain;image-rendering:pixelated;border:9px solid #f5f0df;box-shadow:5px 7px #142e25}.crop-mat span{font-family:monospace;font-size:10px;color:#bbcbbd;margin-top:20px}.play-row{display:flex;align-items:center;gap:12px;padding:5px 20px}.play-row button,.export-row button{background:#345349;color:#f3f0dd;border-color:#587064;font-size:11px}.play-row input{flex:1;min-width:30px;accent-color:#e48e65}.play-row b{font-size:12px}.frame-strip{display:flex;gap:5px;padding:12px 20px;flex-wrap:wrap;max-height:120px;overflow:auto}.frame-strip button{font-size:9px;padding:6px;min-width:24px;border-color:#587064;color:#cfd7c4;background:#345349}.frame-strip .invalid{border-color:#f2987b;color:#ffb49c}.frame-strip .selected{background:#f1eddc;color:#24473f}.validation{padding:0 20px;font-size:11px;line-height:1.5;margin:2px 0 10px;min-height:32px;color:#c6d4bb}.export-row{display:flex;gap:10px;padding:0 20px}.small{font-size:10px;line-height:1.6;color:#73816d}.preview-panel>.small{color:#b3c1ae;padding:0 20px}.controls{border:1px solid #bfc7b8;border-radius:6px;margin:18px 0 0;background:#f5f6ec}.controls nav{display:flex;gap:20px;border-bottom:1px solid #d2d8ca;padding:0 20px}.controls nav button{padding:17px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;font-size:11px;color:#77816d}.controls nav .active{border-bottom-color:#c8633c;color:#254138}.control-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:35px;padding:20px}h2{font-family:Georgia,serif;font-size:20px;font-weight:400;margin:0 0 8px}.control-grid p{font-size:11px;line-height:1.6;color:#6e7966;max-width:480px}.fields{display:flex;gap:9px;align-items:end;flex-wrap:wrap}.number{display:flex;flex-direction:column;gap:5px;font-size:9px;color:#677764}.number input{width:77px;background:#fffff8;border:1px solid #bcc8b7;padding:8px;border-radius:3px;color:#243b31}.fields button{font-size:11px}.keys{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px;max-height:120px;overflow:auto}.keys>div{display:flex}.keys button{font-size:10px;padding:7px}.rules{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow:auto}.rules>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #d7dccf;padding-bottom:9px;font-size:9px}.rules span{flex:1;min-width:160px}.rules button{font-size:9px;padding:6px}footer{padding:17px 0 22px;display:grid;grid-template-columns:1fr auto;gap:4px 20px}footer>[role=status]{font-size:12px;margin:0;line-height:1.6}footer .small{margin:4px 0;max-width:780px}.load{font-size:11px;display:flex;align-items:start;flex-direction:column;gap:5px;grid-row:span 2}.load input{font-size:10px;width:200px}details{grid-column:1/-1;font-size:10px;color:#6c7968;line-height:1.7}summary{cursor:pointer}details p{max-width:850px}details button{font-size:10px}input[type=range]{cursor:pointer}@media(min-width:1400px){h1{font-size:54px}.crop-mat canvas{width:240px;height:240px}.intro{padding:40px 0}.crop-mat{min-height:330px}}@media(max-width:900px){main{padding:0 18px}.local{display:none}.intro>p{display:none}.workspace{grid-template-columns:1fr 1fr}header{height:auto;min-height:75px;flex-wrap:wrap;padding:14px 0}.header-actions{flex-wrap:wrap}.control-grid{grid-template-columns:1fr;gap:18px}.scene-select{padding:10px}.brush{gap:8px}.crop-mat{min-height:210px}.crop-mat canvas{width:150px;height:150px}.brand{font-size:14px}}@media(max-width:600px){main{padding:0 12px}.workspace{grid-template-columns:1fr}.intro{padding:24px 0}h1{font-size:37px}.header-actions button{font-size:10px;padding:8px}.controls nav{gap:15px;padding:0 12px}.controls nav button{font-size:10px}.edition strong{font-size:44px}.control-grid{padding:15px}.crop-mat{min-height:230px}.crop-mat canvas{width:180px;height:180px}footer{grid-template-columns:1fr}.load{grid-row:auto;margin:10px 0}details{grid-column:auto}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
