@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--green:#0c3029;--gold:#a3783c;--paper:#fcfaf4;--line:#dfded3;--muted:#69716a;--soft:#f0efe7;--red:#9b422a;color:var(--green);background:var(--paper);font-family:'DM Sans',sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}input[type=number],input[type=text],input:not([type]),select,textarea{background:#fffefa;border:1px solid #cdd2c8;border-radius:5px;padding:10px 12px;color:var(--green);width:100%}input[type=range]{width:100%;accent-color:var(--green);height:22px;margin:10px 0 2px}input[type=file]{width:100%;max-width:100%;font-size:12px;margin-top:10px}input[type=checkbox]{accent-color:var(--green)}textarea{resize:vertical;min-height:90px}label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-weight:600;margin:18px 0 8px}label>span{display:flex;align-items:center;gap:5px;font-weight:500}label input[type=number]{width:78px;padding:7px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500}h1{font-size:62px;line-height:.94;letter-spacing:-1.6px}h1 em,h2 em{font-weight:400;color:var(--gold)}h2{font-size:38px;line-height:1.08}h3{font-size:27px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin-bottom:14px}.brand{font-size:31px;letter-spacing:1px;font-family:Georgia,serif;font-weight:600;white-space:nowrap}.brand>span{color:var(--gold)}.brand small{font-size:12px;vertical-align:top;margin:3px 0 0 2px;display:inline-block;letter-spacing:0}.studio-header{height:84px;padding:0 4.5%;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:50px}.studio-header nav{display:flex;gap:30px;margin:auto;font-size:12px}.studio-header nav a[aria-current]{border-bottom:1px solid var(--green);padding-bottom:5px}.studio-badge{font-size:9px;letter-spacing:1.8px}.studio{max-width:1500px;margin:auto;padding:36px 4.5% 50px}.studio-intro{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.studio-intro>p{font-size:13px;line-height:1.9;color:var(--muted);padding-bottom:5px}.workspace{display:grid;grid-template-columns:minmax(300px,380px) minmax(0,1fr);gap:28px;align-items:start}.controls{border:1px solid var(--line);background:#fffef9}.step{border-bottom:1px solid var(--line)}.step:last-child{border:0}.step summary{list-style:none;display:flex;align-items:center;gap:12px;padding:21px 20px;cursor:pointer}.step summary::-webkit-details-marker{display:none}.step-n{font-size:10px;color:var(--gold);width:22px}.step summary>span:nth-child(2){font-size:15px;font-weight:600;flex:1}.step summary small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:4px}.step summary b{font-size:18px;font-weight:400}.step[open] summary b{transform:rotate(45deg)}.step-content{padding:0 20px 22px}.shape-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.shape-card{border:1px solid var(--line);border-radius:6px;background:var(--paper);padding:12px 5px 8px;color:var(--green);font-size:10px;line-height:1.5}.shape-card img{width:55px;height:64px;object-fit:contain;mix-blend-mode:multiply;display:block;margin:0 auto 8px}.shape-card.selected{background:#ecf1e8;border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.upload-tile{display:flex;flex-direction:column;align-items:center;text-align:center;border:1px dashed #b7c1b1;border-radius:6px;padding:16px 10px;gap:6px;background:var(--paper);margin-bottom:10px;cursor:pointer}.upload-tile span{font-size:23px;font-weight:400}.upload-tile strong{font-size:12px}.upload-tile small{font-size:10px;color:var(--muted);font-weight:400}.hint{font-size:11px;color:var(--muted);line-height:1.7;margin:10px 0}.hint:empty{display:none}.warning{color:var(--red)}.quiet{border:0;background:none;color:var(--green);padding:5px 0;font-size:11px;text-decoration:underline;text-underline-offset:4px}.choice-row{display:flex;gap:9px;margin:10px 0;align-items:stretch}.choice-row>button,.button-label{border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--green);padding:12px;flex:1;text-align:center;font-size:12px;margin:0;justify-content:center}.choice-row .selected{border-color:var(--green);background:#ecf1e8}.choice-row small{display:block;color:var(--muted);font-size:9px;font-weight:400;margin-top:4px}.pattern-mark{display:block;font-size:32px;line-height:1.2;margin-bottom:7px}.range-ends{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.button-label{position:relative;cursor:pointer}.button-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.primary{display:flex;align-items:center;justify-content:space-between;gap:15px;color:var(--paper);background:var(--green);border:1px solid var(--green);padding:13px 17px;border-radius:4px;font-size:12px}.primary:hover{background:#174c40}.step-content>.primary{width:100%;margin:12px 0}.check{align-items:flex-start;justify-content:start;gap:9px;font-size:11px;line-height:1.6;font-weight:400}.check input{flex-shrink:0;margin-top:4px}.preview-panel{position:sticky;top:18px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#f2f1e9;min-width:0}.preview-top{padding:15px 21px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.3px;border-bottom:1px solid var(--line)}.preview-top .quiet{font-size:10px;letter-spacing:0}.live-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;display:inline-block;margin-right:7px}.view-tabs{display:flex;gap:2px;justify-content:center;position:absolute;top:68px;left:0;right:0;z-index:2;pointer-events:none}.view-tabs button{pointer-events:auto;border:1px solid #d8d8cc;background:#fffdf7;color:var(--muted);padding:9px 16px;font-size:11px}.view-tabs button:first-child{border-radius:5px 0 0 5px}.view-tabs button:last-child{border-radius:0 5px 5px 0}.view-tabs button.selected{background:var(--green);border-color:var(--green);color:var(--paper)}#viewport{height:525px;position:relative;cursor:grab;touch-action:none}#viewport:active{cursor:grabbing}#viewport canvas{display:block;width:100%;height:100%;outline:none}#viewer-status{position:absolute;inset:45% 10% auto;text-align:center;font-size:12px;color:var(--muted);z-index:3;pointer-events:none}.preview-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 20px 15px;font-size:9px;color:var(--muted)}.face-tabs{display:flex;gap:4px}.face-tabs button{background:none;border:1px solid transparent;color:var(--muted);font-size:10px;padding:6px 9px;border-radius:4px}.face-tabs .selected{color:var(--green);background:#e2e6d9;border-color:#ccd4c3}.preview-spec{display:flex;justify-content:space-between;gap:10px;padding:15px 20px;border-top:1px solid var(--line);font-size:11px;background:#fffef9}.preview-disclaimer{font-size:9px;color:var(--muted);line-height:1.65;padding:10px 20px;background:#fffef9}.art-card{padding:13px;border:1px solid var(--line);border-radius:5px;margin-top:12px;background:var(--paper)}.art-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.art-head strong{font-size:11px;overflow-wrap:anywhere}.art-head button{border:0;background:none;color:var(--red);font-size:11px;text-decoration:underline}.art-card label{font-size:10px;margin-top:10px}.art-card select,.art-card input:not([type=range]){font-size:11px;padding:7px}.art-card img{max-width:100%;height:45px;object-fit:contain;display:block;margin:8px auto}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.art-card .two-col label{display:block}.art-card .two-col input{display:block;width:100%;margin-top:5px}.colour-field label{font-size:12px}.colour-preview{width:16px;height:16px;border:1px solid #bbb;border-radius:50%;display:inline-block;vertical-align:middle;margin-right:6px}.colour-field select{margin-bottom:8px}.stock-empty{padding:12px;background:#f3eee0;color:#725b2e;border-radius:5px}.summary-line{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:11px}.summary-line span:last-child{text-align:right}#account{font-size:11px;line-height:1.7;margin:14px 0}#account a{text-decoration:underline}.import-label{display:inline-block;cursor:pointer;margin:10px 0 0;font-weight:400}.import-label input{display:block}.studio-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:24px 4.5%;font-size:10px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:10px;padding:32px;max-width:580px;width:calc(100% - 30px);color:var(--green);background:var(--paper)}dialog::backdrop{background:#09251dcc;backdrop-filter:blur(4px)}dialog>p{font-size:12px;line-height:1.7;margin-top:12px;color:var(--muted)}dialog>label{font-size:12px}dialog textarea{font-size:11px;line-height:1.65}.dialog-close{position:absolute;right:15px;top:12px;border:0;background:none;font-size:24px;color:var(--green)}.choice-row .primary{background:var(--green);color:var(--paper)}[hidden]{display:none!important}.admin-main{max-width:1280px;margin:auto;padding:40px 4.5%}.admin-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}.admin-heading p{font-size:12px;line-height:1.7;color:var(--muted);max-width:460px}.admin-main h1{font-size:52px}.admin-card{border:1px solid var(--line);border-radius:6px;background:#fffef9;padding:22px;margin:20px 0}.admin-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:20px 0}.admin-toolbar button,.admin-toolbar .button-label{flex:none}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 8px}th{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-weight:500}td .swatch{display:inline-block;width:16px;height:16px;border-radius:50%;vertical-align:middle;margin-right:8px;border:1px solid #ccc}.admin-note{font-size:12px;line-height:1.8;color:var(--muted)}.tag{font-size:9px;padding:4px 7px;border-radius:3px;display:inline-block;background:#edf0e6}.tag.off{background:#f5e7db;color:#8a4b27}.empty{padding:32px;text-align:center;color:var(--muted);line-height:1.8}.inventory-form label{display:block;font-size:11px}.inventory-form input,.inventory-form select{margin-top:6px}.project-card{border-top:1px solid var(--line);padding:18px 0}.project-meta{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:8px}.project-card p{font-size:11px;color:var(--muted);margin:8px 0}.project-card select{max-width:180px;font-size:11px}.project-card textarea{font-size:11px;min-height:60px}.project-card .choice-row{max-width:500px}.admin-card .hint{font-size:11px}.audit-item{padding:10px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.8}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.stat{border:1px solid var(--line);border-radius:6px;padding:18px;background:#fffef9}.stat strong{font-size:30px;font-family:Georgia,serif;display:block}.stat span{font-size:10px;color:var(--muted)}
@media(min-width:1450px){#viewport{height:600px}}@media(max-width:1000px){.studio-header{gap:20px}.studio-badge{display:none}.studio-header nav{margin-left:auto;margin-right:0}.workspace{grid-template-columns:320px minmax(0,1fr);gap:18px}.studio{padding:28px 3%}.studio-intro>p{max-width:250px}.preview-top{padding:13px;font-size:8px;letter-spacing:.7px}.preview-bottom{flex-wrap:wrap;justify-content:center;padding:0 10px 14px;gap:15px}.preview-spec{font-size:10px;padding:12px}#viewport{height:480px}.preview-bottom>span{order:3;width:100%;text-align:center}}@media(max-width:800px){.studio-header{height:70px;padding:0 5%}.brand{font-size:27px}.studio-header nav{gap:18px;font-size:10px}.studio-header nav a:first-child{display:none}.studio{padding:28px 5%}.studio-intro{display:block;margin-bottom:24px}h1{font-size:48px}.studio-intro>p{max-width:none;font-size:12px;margin-top:18px}.workspace{display:flex;flex-direction:column}.preview-panel{order:-1;position:relative;top:0;width:100%;margin-bottom:8px}.controls{width:100%}#viewport{height:390px}.preview-spec{font-size:10px}.preview-disclaimer{font-size:9px}.studio-footer{gap:15px;flex-wrap:wrap;line-height:1.8}.studio-footer a:last-child{width:100%}.admin-heading{display:block}.admin-heading p{margin-top:15px}.stat-row{gap:8px}.stat{padding:12px}.stat strong{font-size:25px}.admin-card{padding:15px}.admin-toolbar{gap:8px}.admin-toolbar button{font-size:10px}dialog{padding:26px 22px}}

.production-progress{padding:13px;border:1px solid #c9d5c2;background:#edf2e8;border-radius:5px;font-size:12px;line-height:1.7;margin:12px 0}.production-progress[data-state="failed"]{background:#f5e7db;color:#8a4b27}.job-files a{margin:6px 0}.project-card .choice-row{flex-wrap:wrap}
