*{box-sizing:border-box}body{margin:0;background:#f3f0e9;color:#202823;font:16px/1.65 system-ui,sans-serif}header,main,footer{max-width:1400px;margin:auto;padding:28px 5%}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d9d7ce}a{color:inherit;text-decoration:none}.brand{font:700 23px Georgia;letter-spacing:3px}.brand span{font:11px system-ui;letter-spacing:4px;display:block}.intro{padding:40px 0 32px;max-width:800px}.eyebrow{font-size:12px;letter-spacing:2px;color:#69705e}h1{font-size:clamp(34px,4vw,60px);line-height:1.2;font-weight:500;margin:18px 0}h1 em{font-style:normal;color:#777b65}.workspace{display:grid;grid-template-columns:1fr 1.2fr;gap:50px}fieldset{border:0;padding:0;margin:0 0 30px;min-width:0}legend{font-weight:650;margin-bottom:16px}label{display:block;cursor:pointer}input,textarea,select,button{font:inherit}input[type=radio],input[type=checkbox]{accent-color:#324638;width:18px;height:18px}input[type=file]{max-width:100%;font-size:13px}textarea,select{display:block;width:100%;border:1px solid #cccabe;border-radius:4px;background:#faf9f5;padding:12px;margin:8px 0 15px}.modes{display:flex;gap:12px;flex-wrap:wrap}.modes label{padding:13px;border:1px solid #bbbdb0;flex:1;min-width:170px}.upload{border:1px dashed #92977f;padding:22px;display:grid;gap:12px}.upload span,#photoHint{font-size:12px;color:#69705e}.stones{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:20px}.stones label,.layouts label{position:relative;font-size:12px}.stones img{width:100%;height:72px;object-fit:cover;display:block;border:2px solid transparent}.stones input:checked+img{border-color:#324638}.stones input{position:absolute;top:5px;left:5px}.layouts{display:grid;grid-template-columns:1fr 1fr;gap:12px}.layouts img{display:block;width:100%;height:130px;object-fit:cover}.consent{display:flex;gap:10px;font-size:12px}.consent input{flex-shrink:0}button,#download{background:#263d30;color:white;padding:18px;border:0;cursor:pointer}button{width:100%;margin-top:20px}button:disabled{opacity:.5;cursor:wait}#status{font-size:13px}#status.error{color:#9e342c}.preview{background:#e6e5db;padding:25px;align-self:start;position:sticky;top:20px}.previewTop{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;border-bottom:1px solid #c1c6b7;padding-bottom:15px}#placeholder{padding:90px 10px;color:#737e6e}#placeholder h2{font-size:34px;font-weight:400}figure{margin:20px 0}figure img{display:block;width:100%;max-height:600px;object-fit:contain}figcaption,.notice,#actions p{font-size:12px;color:#5e6858}#actions a{display:inline-block;margin:5px;padding:12px;border:1px solid #75816b}footer{font-size:12px;margin-top:45px}input:focus-visible,button:focus-visible,a:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b68a42;outline-offset:4px}[hidden]{display:none!important}@media(max-width:800px){.workspace{grid-template-columns:1fr;gap:25px}.preview{position:static}header{font-size:12px}.intro{padding-top:22px}.stones{grid-template-columns:repeat(2,1fr)}}
.layout-note{font-size:13px;color:#5e6858;margin:0 0 14px}.layouts label{border:2px solid #c9cbbf;background:#faf9f5;overflow:hidden;border-radius:5px}.layouts label:has(input:checked){border-color:#324638;background:#edf1e8}.layouts input{position:absolute;top:9px;left:9px;z-index:1;margin:0;filter:drop-shadow(0 1px 3px #fff)}.layouts img{height:auto;aspect-ratio:4/3;object-fit:contain;background:#e6e5db}.layouts span{display:block;padding:10px 12px;font-size:13px;line-height:1.5}.layouts label:focus-within{outline:3px solid #b68a42;outline-offset:3px}@media(max-width:420px){.layouts{grid-template-columns:1fr}}
