@font-face{font-family:DejaVu Sans;src:url(/fonts/artwork/DejaVuSans.ttf)format("truetype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:DejaVu Sans;src:url(/fonts/artwork/DejaVuSans-Bold.ttf)format("truetype");font-weight:700;font-style:normal;font-display:block}:root{--bg:#d9dad9;--teal:#68a4a5;--green:#4c8055;--dark:#24422a;--white:#fff;--ink:#1f2a22;--line:#24422a29;--panel:#fbfbfa;--warn:#b5711f;--block:#b23b3b;--radius:12px;--rail:84px;--side:300px}*{box-sizing:border-box}.builder{grid-template-rows:56px 1fr 46px;grid-template-columns:var(--rail) 1fr var(--side);color:var(--ink);background:var(--bg);grid-template-areas:"head head head""rail stage side""foot foot foot";font-family:Arial,Helvetica,system-ui,sans-serif;display:grid;position:fixed;inset:0}.builder-head{background:var(--dark);color:var(--white);grid-area:head;align-items:center;gap:14px;padding:0 16px;display:flex}.builder-head h1{margin:0;font-size:15px;font-weight:700}.builder-head .size{opacity:.78;font-size:13px}.builder-head .spacer{flex:1}.builder-head a{color:var(--white);opacity:.8;font-size:13px;text-decoration:none}#save-state{opacity:.75;font-size:12px}.badge{background:var(--green);color:var(--white);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700}.badge-warn{background:var(--warn)}.badge-block{background:var(--block)}.tool-rail{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;grid-area:rail;gap:4px;padding:10px 6px;display:flex}.tool{min-height:56px;color:var(--dark);cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}.tool:hover{background:#68a4a52e}.tool .glyph{font-size:19px;line-height:1}.stage{background:linear-gradient(45deg, #00000008 25%, transparent 25%) -8px 0/16px 16px, linear-gradient(-45deg, #00000008 25%, transparent 25%) -8px 0/16px 16px, var(--bg);grid-area:stage;position:relative;overflow:hidden}.stage.is-dropping{outline:3px dashed var(--teal);outline-offset:-8px}#artwork-canvas{touch-action:none;display:block}#empty-cta{color:var(--white);background:var(--green);cursor:pointer;border:0;border-radius:999px;padding:16px 30px;font-size:16px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 30px #24422a47}#text-editor{border:1px dashed var(--teal);resize:none;background:#ffffffdb;outline:none;margin:0;padding:0;position:absolute;overflow:hidden}.side{background:var(--panel);border-left:1px solid var(--line);grid-area:side;padding:14px;overflow-y:auto}.side h3{text-transform:uppercase;letter-spacing:.06em;color:var(--dark);margin:0 0 10px;font-size:13px}.side section+section{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.field{margin-bottom:10px;font-size:12px;display:block}.field span{color:#5a6b5e;margin-bottom:4px;display:block}.field input,.field select,.field textarea{border:1px solid var(--line);width:100%;min-height:36px;font:inherit;background:var(--white);border-radius:8px;padding:6px 8px;font-size:13px}.field input[type=color]{height:36px;padding:2px}.field input[type=range]{padding:0}.grid-2{grid-template-columns:1fr 1fr;gap:0 10px;display:grid}.button-row{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.button-row button,.side button.danger{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:8px;min-height:34px;padding:6px 10px;font-size:12px}.button-row button:hover{border-color:var(--teal)}.side button.danger{width:100%;color:var(--block);border-color:#b23b3b66}.more{margin:8px 0 14px}.more summary{cursor:pointer;color:var(--dark);font-size:12px;font-weight:700}.more>:not(summary){margin-top:10px}.muted{color:#6d7a70;font-size:12px}#layer-list{margin:0;padding:0;list-style:none}.layer-row{border-radius:8px;align-items:center;gap:2px;padding:2px;display:flex}.layer-row.is-selected{background:#68a4a533}.layer-label{text-align:left;font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:8px 6px;font-size:12px;overflow:hidden}.layer-action{color:#64756a;cursor:pointer;background:0 0;border:0;padding:6px 3px;font-size:10px}.layer-action:hover{color:var(--dark);text-decoration:underline}#asset-drawer{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.asset-item{flex-direction:column;gap:2px;display:flex}.asset-thumb{aspect-ratio:1;border:1px solid var(--line);background:var(--white) center/cover no-repeat;cursor:pointer;border-radius:8px}.asset-thumb:hover{border-color:var(--teal)}.asset-remove{color:#64756a;cursor:pointer;background:0 0;border:0;font-size:10px}.upload-row{justify-content:space-between;gap:8px;padding:4px 0;font-size:11px;display:flex}.upload-row.is-error .upload-state{color:var(--block)}.upload-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.check{border-left:3px solid var(--teal);background:var(--white);border-radius:0 8px 8px 0;margin-bottom:8px;padding:8px 10px}.check-warn{border-left-color:var(--warn)}.check-block{border-left-color:var(--block)}.check-message{margin:0 0 3px;font-size:12px;font-weight:700}.check-hint{color:#64756a;margin:0;font-size:11px}.check-fix{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:6px;margin-top:6px;padding:4px 8px;font-size:11px}.dpi{margin:0 0 12px;font-size:12px;font-weight:700}.dpi-great{color:var(--green)}.dpi-ok{color:var(--teal)}.dpi-soft{color:var(--warn)}.dpi-block{color:var(--block)}.builder-foot{background:var(--panel);border-top:1px solid var(--line);grid-area:foot;align-items:center;gap:8px;padding:0 14px;font-size:12px;display:flex}.builder-foot button{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:8px;min-width:34px;min-height:30px}.builder-foot .spacer{flex:1}.builder-foot .primary{background:var(--green);color:var(--white);border-color:var(--green);padding:0 16px;font-weight:700}.font-warning{color:#6b5210;background:#fff4d6;border-bottom:1px solid #e6cf95;padding:6px 14px;font-size:12px}dialog#proof-dialog{border-radius:var(--radius);border:0;max-width:min(94vw,980px);padding:0;box-shadow:0 24px 60px #0000004d}dialog#proof-dialog::backdrop{background:#141e1699}.proof-body{padding:16px}#proof-image{background:var(--bg);max-width:100%;max-height:62vh;margin:0 auto 12px;display:block}#proof-note{color:#5a6b5e;margin:0 0 12px;font-size:12px}.proof-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.proof-actions label{align-items:center;gap:6px;font-size:12px;display:flex}.proof-actions button{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:8px;min-height:40px;padding:0 16px}.proof-actions .primary{background:var(--green);color:var(--white);border-color:var(--green);font-weight:700}#approve-status{color:var(--dark);font-size:12px}@media (width<=860px){.builder{grid-template:"head"52px"stage"1fr"side""foot"44px/1fr}.tool-rail{border-right:0;border-top:1px solid var(--line);flex-direction:row;grid-area:foot;padding:4px;overflow-x:auto}.tool{min-width:66px}.side{max-height:42vh}.builder-foot{grid-area:unset;order:9}}.chooser{max-width:1040px;margin:0 auto;padding:40px 20px 70px}.chooser h1{color:var(--dark);margin:0 0 6px;font-size:30px}.chooser>p{color:#5a6b5e;margin:0 0 26px}.product-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.product-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.product-card h2{color:var(--dark);margin:0 0 4px;font-size:17px}.product-card p{color:#5a6b5e;margin:0 0 12px;font-size:13px}.product-card .dims{color:var(--teal);font-size:12px;font-weight:700}.product-card form{gap:8px;margin-top:12px;display:grid}.product-card input{border:1px solid var(--line);min-height:40px;font:inherit;border-radius:8px;width:100%;padding:6px 8px}.product-card .pair{grid-template-columns:1fr 1fr;gap:8px;display:grid}.product-card button{background:var(--green);min-height:44px;color:var(--white);cursor:pointer;border:0;border-radius:8px;font-weight:700}
