:root{font:16px/1.45 Arial,Helvetica,sans-serif;color:#221d19;background:#f7f3ee}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}header{background:#231e1b;color:#fff;padding:17px max(22px,calc((100vw - 1220px)/2));display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}header strong{font-size:1.4rem;letter-spacing:-.035em}header strong span{color:#f29a34}header nav{display:flex;gap:16px;flex-wrap:wrap}header nav a{color:#f3c58e;font-size:.9rem}main{max-width:1220px;margin:auto;padding:32px 22px 75px}h1{font-size:2rem;letter-spacing:-.04em;margin:0 0 6px}h2{font-size:1.35rem;margin:0 0 18px}p{margin:7px 0;line-height:1.45}.heading,.review-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:23px}.heading p,.review-top p{color:#71675d}.price{text-align:right;white-space:nowrap;font-size:1.8rem}.price small{display:block;font-size:.78rem;color:#71675d}.chart-link{display:inline-flex;align-items:center;gap:6px;border:1px solid #bdd0d7;background:#fff;border-radius:9px;color:#173e52;text-decoration:none;padding:7px 10px;font-size:.86rem;font-weight:800;white-space:normal;max-width:230px;text-align:left;line-height:1.2}.layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(335px,.9fr);gap:24px;align-items:start}.panel{background:#fff;border:1px solid #e4dcd1;border-radius:18px;padding:22px;box-shadow:0 9px 30px #37210d0b}.preview-panel{position:sticky;top:20px}.upload{display:block;margin:0 0 16px;border:2px dashed #d8c5b2;background:#fff9f2;border-radius:12px;color:#754821;text-align:center;padding:16px;font-weight:700;cursor:pointer}.upload input{position:absolute;width:1px;height:1px;opacity:0}.canvas-wrap{min-height:370px;background:#eee7de;border-radius:12px;padding:22px;display:grid;place-items:center;overflow:hidden;cursor:pointer}.canvas-wrap canvas{display:block;max-width:100%;max-height:480px;aspect-ratio:86/61.4;touch-action:none;cursor:grab;box-shadow:0 13px 27px #40352e30}.canvas-wrap canvas:active{cursor:grabbing}.canvas-wrap canvas.sampling{cursor:crosshair}.size{font-weight:700;margin-top:15px}.hint{color:#766d64;font-size:.875rem}.group{border-top:1px solid #eee5db;padding-top:18px;margin-top:18px}.group.first{border:0;padding:0;margin:0}.label{display:block;font-weight:700;margin-bottom:11px}.choices{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.choice,.secondary{border:1px solid #d8d0c5;background:#fff;color:#33271e;border-radius:9px;padding:10px 13px;min-height:44px;font-weight:700}.choice[aria-pressed=true]{background:#34241a;border-color:#34241a;color:#fff}.switch{display:flex;align-items:center;gap:10px;font-weight:700;cursor:pointer;margin:9px 0}.switch input{accent-color:#d87317;width:19px;height:19px}.rotate{font-weight:500;font-size:.91rem}.range{display:grid;grid-template-columns:125px minmax(50px,1fr) 48px;gap:10px;align-items:center;margin:13px 0;font-size:.94rem}.range input{width:100%;accent-color:#e37c1b}.range output{font-size:.85rem;text-align:right;color:#6f6257}.colour{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin:14px 0}.hue-range{appearance:none;min-width:150px;flex:1;height:3px;margin:10px 5px;border:0;border-radius:4px;background:linear-gradient(to right,#f22 0%,#ff0 17%,#0f0 33%,#0ff 50%,#04f 67%,#f0f 83%,#f22 100%);box-shadow:0 0 0 5px #dedede;cursor:pointer}.hue-range::-webkit-slider-thumb{appearance:none;width:13px;height:13px;background:#f4f4f4;border:2px solid #bdbdbd;border-radius:50%}.hue-range::-moz-range-thumb{width:11px;height:11px;background:#f4f4f4;border:2px solid #bdbdbd;border-radius:50%}.swatch{width:23px;height:23px;border:1px solid #aaa;border-radius:5px;background:#171717}.border-colour{margin-top:16px}.border-colour .secondary{font-size:.84rem}.summary{border-top:1px solid #e8ded2;padding-top:16px;margin-top:20px;display:flex;justify-content:space-between;gap:12px;font-weight:800}.primary{width:100%;border:0;border-radius:10px;background:#e9a845;color:#172d3a;padding:14px 20px;min-height:48px;font-weight:800;margin-top:16px}.primary:disabled{opacity:.5;cursor:not-allowed}.review-back{display:inline-block;margin:12px 0 0;border-color:#b9ccd4;color:#21495e}.review-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.review-actions strong{font-size:1.35rem}.review-list{display:flex;flex-direction:column;gap:18px;margin-top:16px}.review-list figure{margin:0;background:#fff;border:1px solid #e4dcd1;padding:12px;border-radius:15px}.review-list canvas{display:block;width:100%;max-width:760px;height:auto;margin:auto;border-radius:8px}.review-list figcaption{font-weight:700;margin:8px 5px 0;color:#51483e}.chart-line{display:flex;align-items:center;justify-content:flex-start;gap:10px;flex-wrap:wrap;margin:16px 0}.price .chart-line,.review-actions .chart-line{justify-content:flex-end;margin:0;font-size:.9rem;white-space:normal}.chart-line label{font-size:.9rem;font-weight:700}.chart-amount{width:68px;height:44px;padding:5px;text-align:center;border:1px solid #aebfc7;border-radius:8px}.chart-add{border:0;border-radius:9px;background:#e9a845;color:#172d3a;padding:12px 16px;min-height:44px;font-weight:800}.chart-status{font-size:.84rem;color:#546b78}.review-actions .chart-line{max-width:250px}dialog{border:0;border-radius:16px;padding:24px;max-width:min(92vw,900px);max-height:90vh;box-shadow:0 30px 80px #0007}dialog::backdrop{background:#0009}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-head h2{margin:0}dialog img{display:block;max-width:100%;max-height:58vh;margin:13px auto;border:1px solid #ddd}dialog a{display:inline-block;background:#e9791a;color:#fff;border-radius:9px;padding:12px 16px;text-decoration:none;font-weight:700}[hidden]{display:none!important}button:focus-visible,input:focus-visible,canvas:focus-visible,a:focus-visible{outline:3px solid #f3a347;outline-offset:2px}@media(max-width:820px){.layout{grid-template-columns:1fr}.preview-panel{position:static}}@media(max-width:570px){main{padding:22px 14px 50px}.heading,.review-top{flex-direction:column}.price{text-align:left}.review-actions{align-items:flex-start}.panel{padding:16px}.canvas-wrap{min-height:240px;padding:14px}.range{grid-template-columns:112px minmax(50px,1fr) 42px}}

.orientation{margin:0 0 16px}.orientation .choices{margin:0}

@media(max-width:820px){.preview-panel #mobile-border-options{border-top:1px solid #eee5db;padding-top:14px;margin:0 0 16px}}

.new-design{display:block;width:100%;margin-top:10px}#review-button{display:block;width:100%;max-width:100%;box-sizing:border-box}.border-colour #pick-colour[aria-pressed="true"]{border-color:#c5261c;box-shadow:0 0 0 2px #c5261c}
