:root{--ink:#173d38;--muted:#67746d;--line:#dce2dc;--paper:#fff;--accent:#bce1bc;--amber:#986025}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #62a6d4}header{border-bottom:1px solid var(--line);background:#fff;align-items:center;gap:22px;padding:18px 30px;display:flex}.brand{letter-spacing:2px;font-family:Georgia,serif;font-size:30px}.brand span{letter-spacing:3px;margin-top:-5px;font:9px system-ui;display:block}.header-note{color:var(--muted);border-left:1px solid var(--line);padding-left:22px}.header-right{align-items:center;gap:12px;margin-left:auto;display:flex}.badge{text-transform:uppercase;letter-spacing:1px;background:#edf1e9;border-radius:0;padding:5px 10px;font-size:11px}.primary{background:var(--ink);color:#fff;border:0;border-radius:0;padding:12px 18px;font-weight:600}.secondary{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:0;padding:9px 14px}.soft{color:var(--ink);background:0 0;border:0;padding:8px 10px}.steps{color:var(--muted);gap:28px;padding:18px 30px;font-size:12px;display:flex}.steps .active{color:var(--ink);font-weight:700}.stepnum{background:#e7ece4;border-radius:50%;place-items:center;width:22px;height:22px;margin-right:7px;display:inline-grid}.active .stepnum{background:var(--ink);color:#fff}.layout{grid-template-columns:210px minmax(320px,1fr) 310px;align-items:start;gap:20px;padding:0 24px 24px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:0}.library{padding:16px}.heading{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}h1,h2,h3,p{margin:0}h2{font-size:15px}h3{font-size:13px}.small{color:var(--muted);font-size:12px}.upload{text-align:center;cursor:pointer;background:#f2f7ee;border:1px dashed #91b197;border-radius:0;width:100%;padding:17px 8px;display:block}.upload strong{margin-bottom:3px;display:block}.library-actions{justify-content:space-between;margin:12px 0;font-size:11px;display:flex}.library-actions button{color:var(--ink);background:0 0;border:0;padding:4px;font-size:11px}.thumbs{gap:10px;max-height:65vh;display:grid;overflow:auto}.thumb{border:1px solid var(--line);border-radius:0;padding:8px;position:relative}.thumb.active{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.thumb-top{align-items:center;gap:7px;margin-bottom:6px;display:flex}.thumb-top label{white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;overflow:hidden}.thumb-open{background:#f2f3ee;border:0;border-radius:0;width:100%;height:94px;padding:0;display:block}.thumb-open img{object-fit:contain;width:100%;height:100%}.thumb-status{color:var(--amber);padding-top:6px;font-size:10px}.thumb-status.ready{color:#327948}.empty-library{text-align:center;color:var(--muted);padding:24px 4px;font-size:12px}.studio{min-width:0}.studio-heading{justify-content:space-between;align-items:center;padding:0 3px 13px;display:flex}h1{font-family:Georgia,serif;font-size:26px;font-weight:400}.view-switch{background:#e8ece5;border-radius:0;padding:3px;display:flex}.view-switch button{color:var(--muted);background:0 0;border:0;border-radius:0;padding:7px 9px;font-size:11px}.view-switch button.active{color:var(--ink);background:#fff;box-shadow:0 1px 3px #0001}.workspace{border:1px solid var(--line);background:#fff;border-radius:0;flex-direction:column;justify-content:center;align-items:center;min-height:490px;padding:18px;transition:background .2s;display:flex;position:relative;overflow:hidden}.workspace.dragover{background:#d5e9d1;outline:3px dashed #528963}.workspace canvas{touch-action:none;cursor:grab;width:100%;height:450px;display:block}.workspace canvas:active{cursor:grabbing}.empty-stage{text-align:center;max-width:330px;padding:30px 20px}.empty-icon{margin-bottom:15px;font-size:44px;font-weight:300}.empty-stage h2{margin-bottom:12px;font:27px/1.2 Georgia,serif}.empty-stage p{color:var(--muted);margin-bottom:22px}.empty-stage .secondary{background:0 0;margin:12px auto 0;display:block}.legend{color:var(--muted);justify-content:center;gap:18px;margin:13px 0;font-size:11px;display:flex}.dot{border:1px solid var(--ink);width:9px;height:9px;margin-right:5px;display:inline-block}.dot.wrap{background:#b9c9b155}.toolbar{border:1px solid var(--line);background:#fff;border-radius:0;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;padding:10px;display:flex}.toolbar button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:0;padding:6px 9px;font-size:12px}.toolbar label{margin-left:8px;font-size:11px}.toolbar input{width:100px;accent-color:var(--ink)}.info-row{justify-content:space-between;gap:14px;margin:13px 2px;font-size:12px;display:flex}.quality{color:#327948}.quality.warn{color:var(--amber)}.approve-row{border:1px solid var(--line);background:#fff;border-radius:0;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.approve-row p{color:var(--muted);font-size:12px}.approve-row button{white-space:nowrap;padding:9px 12px}.settings{padding:20px}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;color:var(--muted);margin-bottom:5px;font-size:10px}.section{border-bottom:1px solid var(--line);padding:16px 0}.section:first-of-type{padding-top:10px}.field{margin-top:10px;font-size:12px;font-weight:600;display:block}.field select,.field input[type=number]{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:0;min-width:0;margin-top:5px;padding:9px;display:block}.row{gap:10px;display:flex}.row>*{flex:1;min-width:0}.materials{gap:5px;margin-top:10px;display:flex}.materials button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:0;flex:1;padding:10px 4px;font-size:12px}.materials button.active{color:var(--ink);background:#eaf4e6;border-color:#72946d}.edges{gap:7px;margin-top:10px;display:grid}.edges label{border:1px solid var(--line);border-radius:0;align-items:center;gap:9px;padding:9px;font-size:12px;display:flex}.edges label:has(input:checked){background:#f0f6ec;border-color:#92aa8b}.edges input{accent-color:var(--ink)}#colorRow{align-items:center;gap:12px;margin-top:10px;display:flex}input[type=color]{border:1px solid var(--line);background:#fff;border-radius:0;width:42px;height:32px}.batch-box{background:#f3f5ef;border-radius:0;margin-top:16px;padding:12px}.batch-box button{width:100%;margin-top:8px}.batch-box p{color:var(--muted);font-size:11px}.price-line{color:var(--muted);justify-content:space-between;margin:8px 0;font-size:12px;display:flex}.price-total{color:var(--ink);font:30px Georgia,serif}.prototype-note{color:var(--amber);margin-top:10px;font-size:10px}.bottom-note{color:var(--muted);padding:0 26px 24px;font-size:11px}#toast{background:var(--ink);color:#fff;z-index:30;border-radius:0;max-width:90vw;padding:12px 20px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 3px 20px #0003}dialog{border:1px solid var(--line);width:min(900px,94vw);max-height:88vh;color:var(--ink);border-radius:0;padding:25px}dialog::backdrop{background:#15332b77}.review-list{gap:12px;margin:20px 0;display:grid}.review-item{border-bottom:1px solid var(--line);grid-template-columns:72px 1fr auto;align-items:center;gap:14px;padding-bottom:12px;display:grid}.review-item img{object-fit:contain;background:#eee;width:72px;height:72px}.review-footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.hidden,[hidden]{display:none!important}@media (width>=1500px){.layout{max-width:1500px;margin:auto}.workspace canvas{height:570px}.workspace{min-height:610px}}@media (width<=1100px){.layout{grid-template-columns:165px minmax(270px,1fr) 270px;gap:12px;padding:0 12px 20px}.settings{padding:15px}.library{padding:10px}.workspace canvas{height:390px}.workspace{min-height:430px}.studio-heading{flex-direction:column;align-items:start;gap:10px}header{padding:15px}.header-note{display:none}}@media (width<=800px){.layout{grid-template-columns:1fr}.library{order:0}.studio{order:1}.settings{order:2}.thumbs{max-height:none;display:flex;overflow:auto}.thumb{flex-shrink:0;width:135px;min-width:135px}.thumb-open{height:75px}.empty-library{padding:8px}.library .upload{padding:10px}.library-actions{margin:6px 0}.workspace{min-height:340px}.workspace canvas{height:330px}.studio-heading{flex-direction:row;align-items:center}h1{font-size:22px}.steps{gap:12px;padding:12px;font-size:11px}.header-right .badge{display:none}.brand{font-size:25px}.header-right .primary{padding:10px;font-size:12px}.bottom-note{padding:0 14px 20px}.review-footer{flex-direction:column;align-items:start}}body{font-size:16px}.small{font-size:13px}.badge,.eyebrow,.steps{font-size:12px}.layout{grid-template-columns:220px minmax(320px,1fr) 330px}.library-actions button{font-size:13px}.upload strong{justify-content:center;align-items:center;gap:5px;display:flex}.upload-formats{margin-top:8px;font-size:12px}.thumb-top label{font-size:12px}.thumb-top .soft{padding:2px}.thumb-meta{justify-content:space-between;align-items:center;margin-top:6px;font-size:12px;display:flex}.thumb-meta button{color:var(--ink);background:0 0;border:0;align-items:center;padding:4px;display:flex}.thumb-status{align-items:center;gap:3px;font-size:12px;display:flex}.field,.materials button,.edges label{font-size:14px}.batch-box p,.prototype-note,.bottom-note,.allowance-note{font-size:12px}.batch-box button{font-size:13px}.view-switch button{font-size:12px}.section h3,.price-line{font-size:14px}fieldset{border:0;min-width:0;margin:0;padding:0}.color-row{align-items:center;gap:12px;margin-top:10px;font-size:13px;display:flex}.allowance-note{margin-top:9px}.pricing{padding-top:16px}.collection-total{border-top:1px solid var(--line);align-items:center;padding-top:13px}.studio-heading{min-height:68px}.editor-workspace{touch-action:none;height:480px;min-height:0;padding:0;display:block}.editor-workspace canvas{width:auto;height:auto}.editor-workspace .konvajs-content{cursor:grab}.editor-workspace .konvajs-content:active{cursor:grabbing}.toolbar{margin-top:12px}.toolbar button,.toolbar label,.approve-row button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.toolbar button{min-height:32px}.info-row{flex-wrap:wrap;font-size:13px}.approve-row p{font-size:13px}.resolution-alert{color:#80511f;background:#fff6e8;border:1px solid #e9d8bb;border-radius:0;align-items:start;gap:10px;margin-bottom:12px;padding:12px;font-size:13px;display:flex}.resolution-alert input{margin-top:5px}.thumbs{max-height:70vh}.empty-stage .empty-icon{margin:0 auto 15px}.empty-stage .local-note{margin-top:18px;margin-bottom:0;font-size:12px}.loading-status,.upload-errors{color:var(--ink);background:#edf4e9;border-radius:0;margin:0 24px 16px;padding:12px 16px;font-size:14px}.upload-errors{background:#fff6e8}.upload-errors ul{margin:8px 0}.drop-active .workspace{background:#d5e9d1;outline:3px dashed #528963}.review-crop-status{color:#986025;align-items:center;gap:3px;margin-top:5px;font-size:12px;display:flex}.review-crop-status.approved{color:#327948}.review-item-action{text-align:right}.review-item-action button{margin-left:auto;display:block}.review-item strong{font-size:14px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width>=1500px){.editor-workspace{height:570px}}@media (width<=1100px){.layout{grid-template-columns:175px minmax(270px,1fr) 285px}.editor-workspace{height:420px}}@media (width<=850px){.layout{grid-template-columns:1fr}.library{order:0}.settings{order:1}.studio{order:2}.thumbs{max-height:none;display:flex;overflow:auto}.thumb{flex-shrink:0;width:150px;min-width:150px}.thumb-open{height:75px}.editor-workspace{height:380px}.studio-heading{flex-direction:row;align-items:center}.steps{gap:12px;padding:12px;font-size:12px}.header-note,.header-right .badge{display:none}.bottom-note{padding:0 14px 20px}.review-footer{flex-direction:column;align-items:start}.settings{padding:18px}}@media (width<=430px){header{gap:8px}.header-right .primary{padding:10px;font-size:12px}.brand{font-size:23px}.studio-heading{flex-direction:column;align-items:start}.steps{gap:9px;font-size:11px}.stepnum{width:19px;height:19px;margin-right:4px}.approve-row{flex-direction:column;align-items:start}.review-item{grid-template-columns:52px 1fr}.review-item img{width:52px;height:62px}.review-item-action{grid-column:2}.toolbar input{width:85px}}.layout>*{min-width:0}.thumbs{grid-template-columns:minmax(0,1fr);min-width:0}.thumb-top label{min-width:0}.project-bar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:12px 26px;display:flex}.project-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-bar strong{font-size:14px}.project-tabs{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.project-tabs button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:0;padding:9px 14px}.project-tabs button[aria-selected=true]{background:var(--ink);color:#fff}.storage-notice{background:#edf1e9;border-radius:0;padding:12px;font-size:13px}.saved-list{gap:15px;display:grid}.saved-card{border:1px solid var(--line);border-radius:0;justify-content:space-between;align-items:center;gap:16px;padding:15px;display:flex}.saved-card h2{overflow-wrap:anywhere}.project-save .field input{border:1px solid var(--line);border-radius:0;width:100%;margin:6px 0 12px;padding:10px;display:block}.project-save p{margin-bottom:16px}.project-confirm,.project-error{background:#fff6e8;border-radius:0;margin-bottom:14px;padding:14px}.project-confirm p{margin-bottom:10px}.account-info{gap:14px;display:grid}.account-info a{width:fit-content;text-decoration:none}.projects-dialog{min-height:320px}.project-bar .small{font-size:12px}@media (width<=850px){.project-bar{flex-direction:column;align-items:start;padding:12px 15px}.saved-card{flex-direction:column;align-items:start}.project-bar .project-actions{gap:2px}.project-bar .project-actions button{font-size:12px}.project-tabs button{padding:8px;font-size:12px}.project-bar .small{display:block}}.orientation-control{margin:10px 0 14px}.orientation-control .materials{margin-top:5px}.library-upload{gap:10px;margin-bottom:20px;display:grid}.library-upload button{width:fit-content}.saved-artwork-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px;display:grid}.saved-artwork-card{border:1px solid var(--line);border-radius:0;flex-direction:column;gap:12px;min-width:0;padding:12px;display:flex}.saved-artwork-card h2{overflow-wrap:anywhere;font-size:15px}.saved-artwork-preview{background:#eeefe8;border-radius:0;justify-content:center;align-items:center;height:190px;padding:10px;display:flex;overflow:hidden}.saved-artwork-preview img{object-fit:contain;width:100%;height:100%}.saved-artwork-preview span{text-align:center}.saved-artwork-card .project-actions{align-items:center;gap:4px;margin-top:auto}.saved-artwork-card .project-actions .secondary{width:100%}.saved-artwork-card .project-actions .soft{font-size:12px}.saved-artwork-grid>p{grid-column:1/-1}.final-crop-approval{background:#f3f7f1;border:2px solid #366453;border-radius:0;margin-top:24px;padding:20px}.final-crop-approval label{align-items:flex-start;gap:12px;font-weight:600;line-height:1.5;display:flex}.final-crop-approval input{flex:none;width:20px;height:20px;margin-top:2px}.review-item .resolution-alert{margin-top:12px}.settings .section .option-heading{color:var(--ink);margin-bottom:14px;font-size:18px;font-weight:750;line-height:1.35}.material-cards{grid-template-columns:1fr;gap:10px;margin-bottom:24px;display:grid}.material-cards button{border:1px solid var(--line);min-width:0;color:var(--ink);text-align:left;background:#fff;border-radius:0;align-items:center;gap:14px;padding:12px;display:flex}.material-cards button img{object-fit:cover;border-radius:0;flex:0 0 80px;width:80px;height:72px;display:block}.material-copy{gap:4px;min-width:0;display:grid}.material-copy strong{font-size:15px;line-height:1.3}.material-copy>span{color:var(--muted);font-size:13px;line-height:1.45}.material-cards button.active{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);background:#f4f7f1}.material-cards button:not(:disabled):hover{background:#f2f7ee;border-color:#528963}.surface-heading{justify-content:space-between;align-items:baseline;gap:8px;margin:22px 0 12px;font-size:16px;font-weight:650;display:flex}.surface-heading .small{font-size:12px;font-weight:400}.surface-grid{grid-template-columns:1fr;gap:10px;display:grid}.surface-card{border:1px solid var(--line);background:#fff;border-radius:0;min-width:0;position:relative;overflow:hidden}.surface-card.selected{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink);background:#f4f7f1}.surface-select{text-align:left;width:100%;min-width:0;color:var(--ink);background:0 0;border:0;align-items:center;gap:14px;padding:12px 30px 38px 12px;display:flex;position:relative}.surface-select img{object-fit:cover;border-radius:0;flex:0 0 80px;width:80px;height:72px;display:block}.surface-copy{gap:4px;min-width:0;display:grid}.surface-name{overflow-wrap:anywhere;font-size:14px;font-weight:650;line-height:1.35}.surface-summary{color:var(--muted);font-size:13px;line-height:1.45}.surface-check{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:absolute;top:8px;right:8px}.surface-about{min-height:36px;color:var(--ink);text-underline-offset:3px;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:6px 8px;font-size:12px;text-decoration:underline;display:flex;position:absolute;bottom:2px;right:10px}.surface-about:hover,.surface-select:hover{background:#eaf3e7}.surface-select:focus-visible,.surface-about:focus-visible{outline-offset:-3px}.surface-unavailable{margin:0 0 10px}.surface-dialog{border-radius:0;width:min(780px,100vw - 28px);max-height:calc(100dvh - 32px);padding:24px;overflow:auto}.surface-dialog .heading{align-items:start;gap:16px;margin-bottom:16px}.surface-dialog h2{margin-top:6px;font-size:24px;line-height:1.2}.surface-dialog .heading .soft{flex:none}.surface-detail-image{object-fit:contain;background:#171918;border-radius:0;width:100%;max-height:52vh;margin-bottom:18px;display:block}.surface-caption{margin:-8px 0 18px}.surface-dialog h3{font-size:16px}.surface-description{margin-top:8px;font-size:15px;line-height:1.65}.surface-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px;display:flex}@media (width<=850px){.surface-about{min-height:44px}.surface-select{padding-bottom:46px}}@media (width<=430px){.surface-dialog{padding:18px}.surface-dialog h2{font-size:21px}.surface-dialog-actions button{flex:1}.material-cards button img,.surface-select img{flex-basis:64px;width:64px;height:64px}.material-cards button,.surface-select{gap:10px}}@media (width>=851px){.layout{grid-template-columns:180px minmax(280px,1fr) 400px;gap:24px}.settings{scrollbar-gutter:stable;background:#fff;border:0;border-radius:0;max-height:calc(100dvh - 40px);padding:20px;position:sticky;top:20px;overflow-y:auto}.studio{position:sticky;top:20px}.editor-workspace{height:clamp(200px,100dvh - 390px,570px)}.library{max-height:calc(100dvh - 40px);position:sticky;top:20px;overflow-y:auto}.library .thumbs{max-height:calc(100dvh - 270px)}}@media (width>=851px) and (height>=600px){#root{flex-direction:column;height:100dvh;display:flex;overflow:hidden}#root>header,#root>.project-bar,#root>.steps,#root>.bottom-note{flex-shrink:0}#root>.upload-errors,#root>.loading-status{flex-shrink:0;max-height:20dvh;overflow:auto}.layout{flex:1;grid-template-rows:minmax(0,1fr);width:100%;min-height:0;overflow:hidden}.production-controls>.library,.production-controls>.settings,.layout>.studio{overscroll-behavior-y:contain;min-height:0;max-height:100%;position:static;overflow-y:auto}.library .thumbs{max-height:none;overflow:visible}.library .thumb{min-width:0}.layout>.studio{scrollbar-gutter:stable}}@media (width>=851px) and (height<=599px){.production-controls>.library,.production-controls>.settings,.layout>.studio{max-height:none;position:static;overflow:visible}.library .thumbs{max-height:none}}@media (width>=851px) and (width<=1100px){.layout{grid-template-columns:145px minmax(250px,1fr) 340px;gap:12px}.settings{padding:14px}.material-cards button img,.surface-select img{flex-basis:64px;width:64px;height:64px}.material-cards button,.surface-select{gap:10px}}.frame-none{text-align:left;background:#fff;border:1px solid #d7ded8;width:100%;padding:16px;font-weight:600}.frame-none span{margin-top:4px;font-weight:400;display:block}.frame-none.selected{border:2px solid #35574a}.frame-grid .surface-select img{object-fit:contain;background:#fff}.frame-preview-caption{text-align:center;margin:4px 0}.studio-heading{flex-wrap:wrap;gap:8px;margin-bottom:12px}.view-switch{flex-wrap:wrap;gap:2px}.view-switch button{min-height:36px;padding:8px 10px}.preview-fallback{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex}.frame-3d .preview-fallback{z-index:1;background:#eef0ea;position:absolute;inset:0}.preview-tools{flex-wrap:wrap}.preview-tools button{min-height:40px}.product-scene{touch-action:pan-y;cursor:default;background:#fafafa}.product-scene img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.product-scene .preview-fallback{height:100%}.product-preview-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:10px 0;display:flex}.product-preview-footer button{min-height:40px;font-size:12px}.frame-none{margin-top:12px;padding:9px 12px;font-size:13px}.frame-family h4{margin:14px 0 8px;font-size:13px}.frame-family h4 span{color:var(--muted);font-weight:400}.frame-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.frame-tile{border:1px solid var(--line);background:#fff;min-width:0;position:relative}.frame-tile.selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);background:#f0f5ed}.frame-select{width:100%;color:var(--ink);text-align:center;background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;min-height:132px;padding:6px 5px 29px;font-size:12px;line-height:1.25;display:flex}.frame-select img{object-fit:contain;background:#fff;width:100%;height:76px}.frame-about{width:30px;height:28px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;bottom:1px;right:1px}.frame-about:hover{color:var(--ink);background:#e6eee4}.frame-note{margin-top:10px}.product-scene.editor-workspace{background:#fff;border:0;height:clamp(300px,100dvh - 340px,650px)}.preview-thumbnails{justify-content:center;align-items:flex-start;gap:12px;margin:16px 0 4px;display:flex}.preview-thumbnails button{width:96px;min-width:0;color:var(--muted);text-align:center;background:0 0;border:0;flex:0 96px;padding:0;font-size:12px;line-height:1.35}.preview-thumbnail-image{border:1px solid var(--line);background:#faf9f7;justify-content:center;align-items:center;width:100%;height:76px;margin-bottom:7px;display:flex;overflow:hidden}.preview-thumbnail-image img{object-fit:cover;width:100%;height:100%;display:block}.preview-thumbnails button.selected{color:var(--ink)}.preview-thumbnails button.selected .preview-thumbnail-image{border:2px solid var(--ink)}.preview-thumbnails button:hover .preview-thumbnail-image{border-color:var(--ink)}.preview-thumbnails button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.product-preview-footer{text-align:center;justify-content:center;gap:4px 16px}.product-preview-footer p{flex-basis:100%;margin:4px 0}.return-to-preview{margin-top:12px}@media (width<=850px){.product-scene.editor-workspace{height:clamp(300px,65vw,480px)}.preview-thumbnails{gap:10px;margin-top:12px}.preview-thumbnails button{flex-basis:84px;width:84px}.preview-thumbnail-image{height:68px}}.aspect-lock{cursor:pointer;align-items:center;gap:9px;min-height:32px;margin-top:12px;font-size:14px;display:flex}.aspect-lock input{accent-color:var(--ink);width:16px;height:16px}.aspect-hint{color:var(--muted);margin:4px 0 10px}.mat-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.mat-options button{color:#173d38;font:inherit;cursor:pointer;background:#fff;border:1px solid #c8cec6;justify-content:center;align-items:center;gap:8px;padding:12px 6px;display:flex}.mat-options button.active{background:#eef2ed;border:2px solid #173d38;padding:11px 5px}.mat-swatch{background:#f3f0e6;border:1px solid #c2bdaf;width:20px;height:20px;display:inline-block}.finished-size dl{margin:0;font-size:13px}.finished-size dl>div{justify-content:space-between;align-items:baseline;gap:16px;padding:7px 0;display:flex}.finished-size dt{color:#53655a}.finished-size dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.finished-size .finished-size-total{border-top:1px solid #c8cec6;margin-top:4px;padding-top:12px;font-weight:700}.finished-size-total dt{color:#173d38}.glass-options{gap:8px;display:grid}.glass-options button{text-align:left;color:#173d38;font:inherit;cursor:pointer;background:#fff;border:1px solid #c8cec6;grid-template-columns:1fr auto;gap:4px 12px;padding:14px;display:grid}.glass-options button.active{background:#eef2ed;border:2px solid #173d38;padding:13px}.glass-options button span{color:#53655a;grid-column:1;font-size:12px;line-height:1.5}.glass-options button small{grid-area:1/2;align-self:center;font-size:11px}.glass-options button:disabled{opacity:.55;cursor:default}.room-mode-switch{gap:8px;margin:0 0 16px;display:flex}.room-mode-switch button{background:#fff;border:1px solid #c9c4bc;padding:9px 16px}.room-mode-switch button.active{color:#fff;background:#292c29;border-color:#292c29}.room-stage{aspect-ratio:1;background:#eee9de;width:100%;position:relative;overflow:hidden;container-type:inline-size}.room-background{width:100%;height:100%;display:block}.room-art{position:absolute;box-shadow:-.35cqw .45cqw .7cqw #29221b35,-.07cqw .1cqw .15cqw #29221b38}.room-art>.room-artwork,.room-art>.room-frame-overlay{display:block;position:absolute}.room-art>.room-artwork{width:100%;height:100%;inset:0}.room-art>.room-frame-overlay{z-index:2;width:100%;height:100%;inset:0}.room-light,.room-recess,.room-mat-recess,.room-canvas-roll{pointer-events:none;z-index:3;position:absolute}.room-light{background:linear-gradient(225deg,#fff8e90a,#0000 48%,#352b2010);inset:0}.room-recess{box-shadow:inset -.12cqw .14cqw .22cqw #17110d50}.room-mat-recess{box-shadow:inset -.06cqw .08cqw .13cqw #21180d55}.room-canvas-roll{inset:0;box-shadow:inset -.09cqw .08cqw .18cqw #fff5,inset .1cqw -.1cqw .22cqw #0002}.room-thumbnails{justify-content:center;gap:10px;margin:14px 0;display:flex}.room-thumbnails button{background:#fff;border:1px solid #cbc5bb;width:90px;padding:3px;font-size:11px}.room-thumbnails button.selected{outline-offset:2px;outline:2px solid #75634b}.room-thumbnails img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.room-thumbnails span{padding:5px 0;display:block}.room-scale{color:#746e63;text-align:center;margin:8px 0;font-size:12px}.room-size-note{background:#f5efdf;padding:12px;font-size:13px}@media (width>=851px) and (height>=600px){.room-stage{max-width:max(230px,100dvh - 490px);margin-inline:auto}.room-thumbnails button{width:72px}.room-thumbnails{gap:10px;margin:10px 0}.room-scale{margin:5px 0;font-size:11px}}.autosave-error{color:#754819;background:#fff4df;margin:0 24px 12px;padding:10px 14px;font-size:13px}.autosave-error button{text-decoration:underline}.project-bar [role=status]{font-size:12px}.room-wall-tint{isolation:isolate;pointer-events:none;position:absolute;inset:0;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.room-wall-tint>img{filter:grayscale()brightness(1.18);width:100%;height:100%;position:absolute;inset:0}.room-wall-tint>span{mix-blend-mode:multiply;position:absolute;inset:0}.room-wall-controls{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:12px 0;font-size:12px;display:flex}.room-wall-controls label{align-items:center;gap:8px;display:flex}.room-wall-controls input[type=color]{cursor:pointer;border:1px solid #c9c4bc;width:34px;height:28px;padding:2px}.room-wall-controls .wall-hex{width:78px;padding:6px;font-size:12px}.room-wall-controls button{padding:6px;font-size:12px}.library-tools{gap:12px;margin:0 0 18px;display:grid}.library-tools .field{gap:7px;font-size:14px;font-weight:600;display:grid}.library-tools input[type=search]{border:1px solid var(--line);background:#fff;border-radius:0;width:100%;min-width:0;padding:12px}.library-selection-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.library-selection-actions>span{margin-right:auto;font-size:12px}.library-selection-actions button{font-size:12px}.saved-artwork-card.is-selected{background:#f3f7f1;border-color:#366453;box-shadow:inset 0 0 0 1px #366453}.library-select{cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.library-select input{accent-color:#366453;width:18px;height:18px}.library-keywords{color:#61675e;overflow-wrap:anywhere;margin-top:6px;font-size:11px;line-height:1.5}@media (width<=600px){.library-selection-actions>.primary,.library-selection-actions>span{width:100%}}.review-cart-top{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:16px 0;display:flex}.review-cart-top .small{margin:6px 0 0}.review-cart-top>button{flex-shrink:0}@media (width<=600px){.review-cart-top{flex-direction:column;align-items:stretch;gap:10px}.review-cart-top>button{width:100%;min-height:44px}.review-footer>div:last-child{flex-wrap:wrap;gap:8px;width:100%;display:flex}.review-footer>div:last-child>.primary{width:100%;min-height:44px}}.sidebar-cart-action{width:100%;min-height:44px;margin-top:18px;display:block}.library .upload{border:1px solid var(--ink);background:var(--ink);color:#fff;min-height:44px;box-shadow:none;border-radius:0;justify-content:center;align-items:center;padding:10px 8px;display:flex}.library .upload strong{gap:7px;margin:0;font-size:13px;font-weight:600;line-height:1.4}.library .upload:hover:not(:disabled){background:#2f6f5e;border-color:#2f6f5e}.library .library-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;margin:12px 0;display:grid}.library .library-actions button{min-height:38px;color:var(--ink);box-shadow:none;background:#fff;border:1px solid #ccd6cf;border-radius:0;justify-content:center;align-items:center;padding:7px 4px;font-size:11px;font-weight:500;line-height:1.3;display:flex}.library .thumb-top .soft,.library .thumb-meta button{width:30px;min-width:30px;height:30px;color:var(--ink);box-shadow:none;background:#fff;border:1px solid #d6dfd8;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.library .thumb-top .soft svg,.library .thumb-meta button svg{width:15px;height:15px}.library .library-actions button:hover:not(:disabled),.library .thumb-top .soft:hover,.library .thumb-meta button:hover{background:#edf4ef;border-color:#7b9c8d}.library button:focus-visible{outline-offset:2px;outline:2px solid #2f6f5e}@media (width<=850px){.library .library-actions button{min-height:44px;font-size:12px}.library .thumb-top .soft,.library .thumb-meta button{width:44px;min-width:44px;height:44px}}.production-controls{display:contents}@media (width>=851px){.layout>.studio{order:1}.production-controls>.library{order:0}.production-controls>.settings{order:2}}@media (width<=850px){html,body{height:100%;overflow:hidden}#root{flex-direction:column;height:100dvh;display:flex;overflow:hidden}#root>header{flex:none;gap:8px;min-height:52px;padding:8px 12px}#root>header .brand{font-size:21px}#root>header .brand span{font-size:8px}#root>header .header-right{gap:5px}#root>header button{min-height:40px;padding:8px;font-size:12px}#root>.steps,#root>.bottom-note{display:none}#root>.loading-status,#root>.upload-errors,#root>.autosave-error{flex:none;max-height:15dvh;margin:0;padding:8px 12px;overflow:auto}.layout{flex:1;grid-template-rows:minmax(0,46fr) minmax(0,54fr);grid-template-columns:minmax(0,1fr);align-items:stretch;gap:0;width:100%;min-height:0;margin:0;padding:0;display:grid;overflow:hidden}.layout>.studio{border-bottom:1px solid var(--line);background:#f6f6f1;flex-direction:column;order:0;min-height:0;padding:6px 10px;display:flex;overflow:hidden}.studio-heading{flex-direction:row;flex:none;align-items:center;gap:6px;min-height:0;margin:0 0 4px}.studio-heading .eyebrow{display:none}.studio-heading h1{margin:0;font-size:15px;line-height:1.3}.studio-heading .view-switch{flex-wrap:nowrap;gap:2px}.studio-heading .view-switch button{min-height:36px;padding:6px;font-size:10px}.studio>.workspace.editor-workspace{border:0;flex:1;width:100%;height:auto;min-height:0;overflow:hidden}.studio>.workspace:not(.editor-workspace){flex:1;min-height:0;padding:12px;overflow:auto}.studio .empty-stage{padding:0}.studio .empty-stage .empty-icon,.studio .empty-stage .local-note{display:none}.studio .empty-stage h2{margin:0 0 8px;font-size:18px}.studio .empty-stage p{margin:0 0 8px;font-size:12px}.studio .empty-stage button{min-height:40px;margin:3px;padding:8px;font-size:12px}.studio>.info-row,.studio>p.small,.studio>.legend,.studio>.frame-preview-caption{display:none}.studio>.toolbar{border:0;flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:4px;margin:4px 0 0;padding:0;display:flex}.studio>.toolbar button{min-height:40px;padding:6px 8px;font-size:11px}.studio>.toolbar input{flex:1;min-width:80px;max-width:180px;height:32px}.production-controls{overscroll-behavior-y:contain;scrollbar-gutter:stable;min-height:0;padding-bottom:max(18px,env(safe-area-inset-bottom));background:#fff;order:1;display:block;overflow:hidden auto}.production-controls>.project-bar{gap:6px;padding:10px 12px}.production-controls>.project-bar>div:first-child{overflow-wrap:anywhere;max-width:100%}.production-controls>.library,.production-controls>.settings{border:0;max-height:none;margin:0;padding:12px;position:static;overflow:visible}.production-controls>.library{border-bottom:1px solid var(--line)}.production-controls .library .thumbs{gap:8px;max-height:none;display:flex;overflow-x:auto}.production-controls .library .thumb{width:138px;min-width:138px}.production-controls .library .thumb-open{height:64px}#toast{pointer-events:none;padding:10px 14px;font-size:12px;bottom:12px}}@media (width<=850px) and (height<=500px){.layout{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.layout>.studio{border-bottom:0;border-right:1px solid var(--line)}.studio-heading{flex-wrap:wrap}.studio-heading .view-switch button{min-height:30px}}@media (width<=850px){.review-dialog[open]{flex-direction:column;width:calc(100vw - 20px);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);margin:12px auto;padding:12px;display:flex;overflow:hidden}.review-dialog>.review-heading{flex:none}.review-dialog .review-heading .heading{gap:8px;margin-bottom:6px}.review-dialog #review-title{margin:0;font-size:21px}.review-dialog .review-heading>.small,.review-dialog .review-cart-top{display:none}.review-dialog>.final-crop-approval{border-width:1px;flex:none;margin:6px 0 10px;padding:12px}.review-dialog>.final-crop-approval h2{margin:0 0 8px;font-size:16px}.review-dialog>.final-crop-approval label{gap:9px;font-size:13px;line-height:1.4}.review-dialog>.final-crop-approval .small{margin:8px 0;font-size:11px}.mobile-approval-action{justify-content:space-between;align-items:center;gap:12px;margin-top:10px;display:flex}.mobile-approval-action .primary{min-height:44px}.review-dialog>.review-body{overscroll-behavior-y:contain;scrollbar-gutter:stable;flex:1;min-height:0;padding:0 4px 12px;overflow:auto}.review-dialog .review-list{margin:8px 0 16px}}.guest-checkout-choice{background:#f4f7f2;border:1px solid #9aaa9f;margin:12px 0;padding:14px;line-height:1.4}.guest-checkout-choice p{margin:8px 0 12px;font-size:13px}.guest-checkout-choice button{min-height:44px;margin-top:4px;margin-right:8px}@media (width<=850px){.review-dialog>.final-crop-approval{max-height:55dvh;overflow-y:auto}.guest-checkout-choice{padding:10px}.guest-checkout-choice button{font-size:12px}}.trade-dialog{color:#183e38;border:1px solid #cbd4cf;border-radius:0;width:min(620px,100vw - 24px);max-height:calc(100dvh - 24px);padding:24px;overflow:auto}.trade-dialog::backdrop{background:#183e3866}.trade-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.trade-dialog input{border:1px solid #9aaca4;border-radius:0;width:140px;margin:8px 0;padding:10px;display:block}.trade-dialog p{margin:16px 0}.trade-totals{border-top:1px solid #cbd4cf;margin-top:20px}.trade-totals dl>div{border-bottom:1px solid #dce4df;justify-content:space-between;gap:20px;padding:12px 0;display:flex}.trade-totals dd{margin:0;font-weight:600}.trade-totals dl>div:last-child{font-size:1.15em}.trade-tabs,.trade-actions{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.trade-dialog .trade-quote-form input,.trade-dialog .trade-review-link input,.trade-dialog textarea{box-sizing:border-box;width:100%}.trade-quote-form label{margin-top:14px;display:block}.trade-dialog textarea{font:inherit;border:1px solid #9aaca4;padding:10px}.trade-quote-list{gap:8px;margin-top:16px;display:grid}.trade-quote-list button{text-align:left;white-space:normal;overflow-wrap:anywhere}.trade-quote-list span{margin-top:5px;font-size:13px;display:block}.trade-selected{overflow-wrap:anywhere;border-top:2px solid #2f6f5e;margin-top:24px;padding-top:12px}.trade-dialog iframe{border:1px solid #cbd4cf;width:100%;min-height:380px}.trade-dialog button{min-height:44px}.trade-actions a{align-items:center;padding:10px 14px;text-decoration:none;display:inline-flex}.customer-workspace{grid-template-columns:minmax(220px,1fr) minmax(280px,1.3fr);gap:28px;display:grid}.customer-workspace section{min-width:0}.customer-list{gap:8px;margin-top:16px;display:grid}.customer-list button{text-align:left;overflow-wrap:anywhere;gap:4px;display:grid}.customer-sync{border-top:1px solid #ccd6d0;padding-top:12px}.customers-dialog input:not([type=checkbox]){width:100%}.customers-dialog fieldset{border:0;margin:0;padding:0}.customers-dialog .field{gap:6px;margin-bottom:12px;display:grid}@media (width<=700px){.customer-workspace{grid-template-columns:1fr}.customer-list{max-height:230px;overflow:auto}}.frame-recommended-label{margin:16px 0 4px}.frame-browse-button{width:100%;margin-top:14px}.frame-browser{border:1px solid var(--line);width:min(1280px,100vw - 48px);max-width:none;height:min(880px,100dvh - 48px);max-height:none;color:var(--ink);background:#fff;border-radius:0;padding:0;overflow:hidden}.frame-browser[open]{flex-direction:column;display:flex}.frame-browser::backdrop{background:#0f231f7a}.frame-browser-heading{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 28px;display:flex}.frame-browser-heading h2{margin:3px 0;font-size:28px}.frame-browser-heading p{margin:5px 0 0}.frame-browser-body{flex:1;grid-template-columns:minmax(0,1fr) minmax(360px,1fr);min-height:0;display:grid;overflow:hidden}.frame-browser-preview{text-align:center;background:#f6f5f1;flex-direction:column;justify-content:center;min-width:0;min-height:0;padding:20px;display:flex;overflow:hidden}.frame-browser-preview .editor-workspace{pointer-events:none;background:0 0;border:0;flex:1;width:100%;min-height:140px;height:auto!important}.frame-browser-preview .frame-preview-caption{display:none}.frame-browser-caption{flex-direction:column;gap:6px;margin:12px 0 0;display:flex}.frame-browser-preview>p{margin:8px 0}.frame-browser-sample{place-items:center;min-height:150px;display:grid}.frame-browser-sample img{object-fit:contain;width:100%;max-height:45vh}.frame-browser-options{overscroll-behavior:contain;min-height:0;padding:22px;overflow-y:auto}.frame-collection-tabs{flex-wrap:wrap;gap:7px;margin:14px 0;display:flex}.frame-collection-tabs button{border:1px solid var(--line);color:var(--ink);background:#fff;min-height:40px;padding:9px 12px}.frame-collection-tabs button.active{background:var(--ink);color:#fff;border-color:var(--ink)}.frame-browser-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px;margin-top:16px;display:grid}.frame-browser-option{min-width:0}.frame-browser-option>.small{margin-top:6px;font-size:11px;display:block}.frame-browser-grid .frame-select{min-height:158px;padding:10px 7px 33px;font-size:13px}.frame-browser-grid .frame-select img{height:105px}.frame-browser-grid .frame-about{width:38px;height:32px}.frame-browser-footer{border-top:1px solid var(--line);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:18px 28px;display:flex}.frame-browser-footer>div:first-child{flex-direction:column;gap:5px;display:flex}.frame-browser-footer>div>span:not(.small){font-size:21px}.frame-browser-actions{gap:10px;display:flex}.frame-browser button:focus-visible{outline-offset:2px;outline:3px solid #438e78}@media (width<=850px){.frame-browser{border:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0}.frame-browser-heading{padding:14px 16px}.frame-browser-heading h2{font-size:22px}.frame-browser-body{flex-direction:column;display:flex}.frame-browser-preview{flex:0 0 32%;min-height:120px;padding:6px 14px}.frame-browser-preview .editor-workspace{min-height:65px}.frame-browser-preview>p{display:none}.frame-browser-caption{gap:2px;margin:2px 0;font-size:13px}.frame-browser-caption .small{font-size:11px}.frame-browser-options{flex:1;padding:14px 16px}.frame-browser-grid{gap:12px 8px}.frame-browser-grid .frame-select{min-height:127px;padding:7px 4px 32px;font-size:12px}.frame-browser-grid .frame-select img{height:76px}.frame-browser-footer{padding:12px 16px max(12px,env(safe-area-inset-bottom));gap:8px}.frame-browser-footer strong{font-size:12px}.frame-browser-footer>div>span:not(.small){font-size:18px}.frame-browser-footer .small{font-size:10px}.frame-browser-actions{gap:6px}.frame-browser-actions button{min-height:44px;padding:10px;font-size:12px}}.frame-browser-options .field{flex-direction:column;gap:8px;margin:0;font-size:14px;display:flex}.frame-browser-options input[type=search]{box-sizing:border-box;border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border-radius:0;padding:10px 12px;display:block}.checkout-feedback:empty{display:none}.checkout-feedback>p{margin:8px 0;font-size:13px}.checkout-error{color:#642b1e;background:#fff5ef;border:1px solid #a4523d;margin:8px 0;padding:10px 12px;font-size:13px;line-height:1.4}.checkout-error p{margin:5px 0}.checkout-error button{margin-top:6px}.review-dialog .checkout-feedback{max-height:24dvh;overflow:auto}.header-right .studio-cart-link{border:1px solid var(--line);min-height:40px;color:var(--ink);white-space:nowrap;background:#fff;border-radius:0;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.studio-cart-link:hover{background:#edf4ef}.studio-cart-link:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (width<=430px){#root>header .brand{font-size:19px}#root>header .studio-cart-link{gap:4px;padding:8px 6px;font-size:12px}#root>header .header-right{gap:4px}}.processing-pulse{animation:1.6s ease-in-out infinite muzeo-processing-pulse}@keyframes muzeo-processing-pulse{0%,to{opacity:1}50%{opacity:.55}}.checkout-feedback .checkout-processing{color:#173d38;background:#f1f6f3;border:1px solid #c7d9d2;padding:12px 14px;font-size:14px;line-height:1.5}.checkout-processing>.processing-pulse{font-weight:700;display:block}.processing-help{margin-top:3px;font-size:13px;display:block}@media (prefers-reduced-motion:reduce){.processing-pulse{animation:none}}.price-calculating{animation:1.8s ease-in-out infinite price-calculating-fade}@keyframes price-calculating-fade{0%,to{opacity:1}50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.price-calculating{animation:none}}
