:root{font-family:Georgia,"Noto Serif SC",Songti SC,serif;color:#20201d;background:#eee8da;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(90deg,rgba(34,32,27,.045) 1px,transparent 1px),#eee8da;background-size:22px 22px}button,input{font:inherit}button{color:inherit}.hidden{display:none}main{width:min(1180px,calc(100% - 40px));margin:auto;padding:34px 0 48px}.masthead{min-height:150px;display:grid;grid-template-columns:1fr 1.3fr auto;align-items:center;border-top:2px solid #22201c;border-bottom:1px solid #837d6f}.brand{display:flex;align-items:center;gap:14px;font-size:26px;letter-spacing:.1em}.brand span{width:60px;height:60px;border:1px solid;border-radius:50%;display:grid;place-items:center;font-size:40px;font-weight:400}.brand strong{font-weight:500}.masthead>p{font-size:19px;line-height:1.7;margin:0;max-width:430px}.privacy{font-family:system-ui,sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.09em;border:1px solid #938c7c;padding:8px 11px;background:#f7f2e7}.workspace{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:18px;margin:18px 0}.panel{background:#faf6ed;border:1px solid #a49d8d;box-shadow:4px 4px #2e2c27}.editor{padding:26px}.controls{padding:26px;background:#d7dfd1}.section-title{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.section-title>b{font-family:system-ui,sans-serif;font-size:11px;color:#fff;background:#282722;padding:5px 6px}.section-title h1,.section-title h2{font-size:25px;font-weight:500;margin:-4px 0 4px}.section-title p{margin:0;color:#625e54;font-family:system-ui,sans-serif;font-size:13px;line-height:1.5}.dropzone{width:100%;min-height:430px;border:1px dashed #777064;background:#f0eadc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer}.dropzone:hover{background:#e9e0ce}.dropzone .plus{font-family:system-ui;font-size:44px;font-weight:200}.dropzone strong{font-size:20px;font-weight:500}.dropzone small{font-family:system-ui;color:#736e63}.canvas-shell{width:min(100%,560px);aspect-ratio:1;margin:auto;position:relative;background:#ddd;overflow:hidden;touch-action:none}.canvas-shell canvas{display:block;width:100%;height:100%;cursor:grab}.canvas-shell canvas:active{cursor:grabbing}.drag-hint{position:absolute;left:50%;bottom:12px;transform:translate(-50%);background:#161614c7;color:#fff;padding:5px 10px;font-family:system-ui;font-size:11px;pointer-events:none}.file-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:13px;font-family:system-ui;font-size:13px}.file-row span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-row button{border:0;border-bottom:1px solid;background:transparent;cursor:pointer}.zoom,.quality{display:grid;grid-template-columns:45px 1fr 45px;align-items:center;gap:10px;font-family:system-ui;font-size:12px;margin-top:13px}.zoom input,.quality input{width:100%;accent-color:#2c332b}.zoom b{text-align:right}.error{background:#f1d4ca;border-left:3px solid #9b3527;padding:10px;font-family:system-ui;font-size:13px}fieldset{border:0;padding:0;margin:0 0 20px}legend,.text-field>span{font-family:system-ui;font-size:11px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}fieldset label{display:flex;gap:10px;padding:12px;border:1px solid transparent;cursor:pointer;font-family:system-ui}fieldset label.active{border-color:#30352e;background:#f2f3eb}fieldset input{margin-top:3px;accent-color:#29342b}fieldset strong,fieldset small{display:block}fieldset strong{font-size:14px;margin-bottom:4px}fieldset small{font-size:11px;color:#60675e;line-height:1.4}.text-field{display:block;margin:19px 0}.text-field>span{display:block}.text-field input{width:100%;border:0;border-bottom:1px solid #41473f;background:transparent;padding:8px 2px;outline:none}.text-field input:focus{border-bottom-width:2px}.quality{display:block;margin:22px 0}.quality span{display:flex;justify-content:space-between}.quality input{margin-top:10px}.remember{font-family:system-ui;font-size:13px;display:flex;align-items:center;gap:8px}.remember input{accent-color:#29342b}.local-note{font-family:system-ui;font-size:11px;color:#687066;line-height:1.5;border-top:1px solid #aeb6aa;padding-top:12px}.output{padding:28px;margin-top:18px}.tile-grid,.empty-grid{width:min(100%,790px);margin:10px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.tile-grid.busy{opacity:.65}.tile-grid article{aspect-ratio:1;position:relative;background:#ddd;overflow:hidden}.tile-grid img{width:100%;height:100%;display:block;object-fit:cover}.tile-grid article>span{position:absolute;left:9px;top:9px;width:34px;height:34px;display:grid;place-items:center;background:#f7f1e4;border-radius:50%;font-family:system-ui;font-size:12px;font-weight:700;box-shadow:0 1px 5px #0005}.tile-grid button{position:absolute;right:9px;bottom:9px;width:38px;height:38px;border:0;background:#22211e;color:#fff;border-radius:50%;font-family:system-ui;font-size:20px;cursor:pointer}.tile-grid button:hover{transform:translateY(-2px)}.empty-grid{gap:7px}.empty-grid i{aspect-ratio:1;border:1px dashed #b8b0a0;display:grid;place-items:center;color:#b0a999;font-style:normal;font-family:system-ui}.tip{text-align:center;color:#736d61;font-family:system-ui;font-size:12px}.output>.section-title{max-width:790px;margin:0 auto 20px}footer{border-top:1px solid #8c8577;margin-top:38px;padding:22px 0;text-align:center;font-size:12px;letter-spacing:.08em}footer span{color:#9a3424}@media(max-width:760px){main{width:min(100% - 22px,580px);padding-top:14px}.masthead{grid-template-columns:1fr auto;min-height:120px}.masthead>p{grid-column:1/-1;grid-row:2;margin:10px 0 20px;font-size:16px}.privacy{font-size:9px}.brand{font-size:20px}.brand span{width:46px;height:46px;font-size:30px}.workspace{grid-template-columns:1fr}.editor,.controls,.output{padding:18px}.dropzone{min-height:300px}.section-title h1,.section-title h2{font-size:21px}.tile-grid{gap:4px}.tile-grid article>span{left:5px;top:5px;width:28px;height:28px}.tile-grid button{right:5px;bottom:5px;width:34px;height:34px}.panel{box-shadow:3px 3px #2e2c27}}
