@font-face{font-family:DM;src:url('assets/dm-sans.ttf')}@font-face{font-family:Lora;src:url('assets/lora.ttf')}@font-face{font-family:Dancing;src:url('assets/dancing-script.ttf')}@font-face{font-family:Bebas;src:url('assets/bebas-neue.ttf')}
:root{--ink:#22324a;--muted:#7b827c;--teal:#285bdd;--teal-dark:#214ec2;--line:#e2e7f1;--paper:#f5f7fb;--soft:#edf2fc;--amber:#9f6a22}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM,system-ui,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.4;cursor:not-allowed}button{transition:background .16s,box-shadow .16s,border-color .16s}button:focus-visible,a:focus-visible{outline:3px solid #80a5f2;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid #94b2ee;outline-offset:1px}.hidden{display:none!important}.app-header{height:83px;display:flex;align-items:center;gap:27px;padding:0 32px;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);flex-shrink:0}.brand-mark{position:relative;font-family:Lora,serif;font-size:27px;background:var(--teal-dark);color:#fff;width:43px;height:43px;border-radius:13px;display:grid;place-items:center}.brand-mark span{font:13px DM;position:absolute;right:4px;top:3px;color:#d1dda6}.brand strong{font-size:17px;letter-spacing:2px}.brand small{display:block;font-size:8px;letter-spacing:1.3px;margin-top:3px;color:#7b837b}.header-divider{height:28px;border-left:1px solid var(--line)}.studio-name{font-weight:600;font-size:15px}.tag{display:inline-block;font-size:8px;color:#758078;letter-spacing:1px;margin-left:9px;vertical-align:middle;padding:5px 7px;background:#eef3fc;border-radius:4px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.button{border:0;border-radius:8px;padding:11px 15px;font-size:12px;font-weight:650;white-space:nowrap}.primary{background:var(--teal);color:white}.primary:hover{background:var(--teal-dark)}.primary span{margin-left:14px;font-size:17px}.secondary{background:white;border:1px solid #dce2d9}.secondary:hover{background:#eef3fc}.subtle{background:transparent;color:#66726a}.save-status{font-size:10px;color:#7f8d80;margin-right:7px;max-width:150px}.save-status:before{content:'•';color:#6c9c68;margin-right:5px}main{padding:30px 30px 0;max-width:1920px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:700;color:#7e897b}h1{font-family:Lora,serif;font-size:31px;font-weight:500;letter-spacing:-1px;margin:8px 0}.page-heading p{color:#81877f;margin:5px 0 0;font-size:12px}.device-chip{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:12px 16px;font-size:11px;background:#fbfcf9}.device-chip small{display:block;font-size:9px;color:#92998d;margin-top:3px}.green-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:#35bfcb;flex-shrink:0}.workspace{background:white;border:1px solid #dfe4db;border-radius:13px;overflow:hidden;display:grid;grid-template-columns:73px 260px minmax(330px,1fr) 264px;min-height:650px;height:calc(100vh - 266px);box-shadow:0 5px 20px #344d3810}.tool-nav{border-right:1px solid var(--line);padding:12px 6px;display:flex;flex-direction:column;gap:6px;background:#fafbfe}.tool{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;background:none;font-size:9px;color:#8c948a;width:100%;height:67px;border-radius:8px}.tool>span{font-size:24px;line-height:26px}.tool .text-icon{font-family:Lora}.tool:hover,.tool.active{background:#eaf0ff;color:var(--teal)}.nav-bottom{margin-top:auto}.library-panel{overflow:auto;border-right:1px solid var(--line);background:#fff}.panel-section{padding:22px 19px}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}h2{font-size:14px;letter-spacing:-.25px;margin:0;font-weight:650}.step{font-size:10px;color:#aeb5a9}.muted{font-size:11px;color:#93998e;line-height:1.65;margin:0 0 22px}.field-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:650;margin:19px 0 10px}.field-label span{font-size:9px;color:#909a8a;font-weight:400}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.product-card{border:1px solid var(--line);border-radius:9px;background:#fafbfe;min-height:126px;text-align:left;padding:12px 10px}.product-card.selected{border:1.5px solid #5280e5;background:#f0f5ff}.product-card:hover{border-color:#7c9add}.product-card strong{font-size:10px;display:block;margin-top:12px;font-weight:600}.product-card small{font-size:8px;display:block;color:#969d91;margin-top:4px}.mini-slate{display:block;width:42px;height:42px;border-radius:4px;background:linear-gradient(130deg,#565c57,#2d322f);box-shadow:2px 4px 5px #0003;border:1px solid #646a62;margin:0 auto;position:relative}.mini-slate:after{content:'✧';position:absolute;inset:0;display:grid;place-items:center;color:#b9bdaf;font-size:20px}.mini-slate.round{border-radius:50%}.mini-slate.plaque{width:53px;height:33px;margin:0 12px 0 0}.product-card.wide{grid-column:span 2;min-height:71px;display:flex;align-items:center}.product-card.wide strong{margin:0}.section-rule{height:1px;background:var(--line);margin:22px 0}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.two-fields label,label.control{font-size:9px;color:#83907f;display:block}.two-fields input,input[type=number],select,textarea,input[type=text]{display:block;width:100%;padding:9px;border:1px solid #dde3d8;background:#fff;border-radius:6px;color:#314330;margin-top:6px;font-size:11px;min-width:0}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{appearance:none}textarea{resize:vertical;min-height:64px;line-height:1.5}.micro{color:#939b8d;font-size:9px;line-height:1.6;margin:10px 0}input[type=range]{width:100%;accent-color:var(--teal);height:14px;margin:5px 0}.check{display:flex;align-items:center;gap:6px;font-size:9px;color:#7c8976;line-height:1.5;margin:14px 0}.check input{accent-color:var(--teal);margin:0}.swatches{display:flex;gap:9px;justify-content:space-between}.swatch{border:0;background:transparent;font-size:9px;display:flex;flex-direction:column;align-items:center;gap:7px;color:#8b9683;padding:2px}.swatch>span{width:30px;height:30px;border-radius:50%;display:block;border:3px solid white;box-shadow:0 0 0 1px #e2e6dc}.swatch.selected>span{box-shadow:0 0 0 2px var(--teal)}.slate-dot{background:linear-gradient(120deg,#6a7066,#252f28)}.wood-dot{background:repeating-linear-gradient(3deg,#bf9259 0 3px,#bc8c53 4px 5px)}.light-dot{background:#ebe4d6}.canvas-panel{display:flex;flex-direction:column;min-width:0;background:#edf1f7;position:relative}.canvas-toolbar{height:61px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:#fafbfe;border-bottom:1px solid var(--line)}.view-toggle{display:flex;padding:3px;border-radius:7px;background:#edf0e8}.view-toggle button{border:0;border-radius:5px;padding:7px 11px;font-size:9px;color:#7f8977;background:none}.view-toggle button.active{background:#fff;box-shadow:0 1px 4px #00000010;color:#3b5140}.history{display:flex;gap:5px}.history button,.zoom button{background:transparent;border:0;border-radius:4px;font-size:19px;min-width:24px;line-height:24px;color:#788673}.history button:hover,.zoom button:hover{background:#e1e8f6}.stage-wrap{position:relative;flex:1;min-height:370px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:auto;background-color:#edf1f7;background-image:radial-gradient(#bac1b452 .8px,transparent .8px);background-size:16px 16px;padding:36px 20px 38px}.stage-wrap.drag-over{background:#d8e8d6;outline:3px dashed var(--teal);outline-offset:-8px}.stage-topline{position:absolute;top:20px;left:24px;right:24px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.7px;color:#929b89}.stage-topline span:last-child{letter-spacing:.5px}#stage-container{width:100%;max-width:580px;display:flex;justify-content:center;align-items:center;transform-origin:center}#stage{width:100%;max-height:calc(100vh - 420px);min-height:320px;overflow:visible;touch-action:none;user-select:none;filter:drop-shadow(0 16px 14px #23312430)}#stage .object{cursor:move}#stage .object.selected{cursor:grab}#stage .object:active{cursor:grabbing}.canvas-tip{font-size:9px;color:#8f9988;position:absolute;bottom:17px;display:flex;gap:8px;align-items:center}.canvas-tip>span{font-size:15px}.canvas-footer{height:48px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:0 17px;border-top:1px solid #e0e4d9;background:#f6f8fc}.privacy-note{display:flex;gap:6px;align-items:center;font-size:8px;color:#8a9582}.zoom{display:flex;align-items:center;gap:6px}.zoom span{font-size:9px;color:#8190a7}.zoom #zoom-fit{font-size:10px}.properties-panel{padding:22px 17px;border-left:1px solid var(--line);overflow:auto}.properties-icon{color:#9aa78e;font-size:16px}.properties-panel .muted{margin:10px 0;font-size:10px}.selected-type{font-size:9px;color:#839176;margin:5px 0 18px;display:flex;align-items:center;gap:6px}.pill{background:#eef3ff;border-radius:4px;padding:4px 6px;font-size:8px;color:#5c78a7}.property-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.property-grid label{font-size:9px;color:#829277}.full-width{grid-column:1/-1}.property-actions{display:flex;gap:6px;margin:15px 0}.property-actions button{flex:1;border:1px solid var(--line);background:white;padding:7px 4px;border-radius:5px;font-size:9px}.property-actions button:hover{background:var(--soft)}.danger{color:#9d6551}.layers-section{border-top:1px solid var(--line);margin-top:23px}.layer{display:flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:6px;background:#f8f9f5;width:100%;margin:5px 0;padding:9px 10px;text-align:left;min-height:39px}.layer.active{background:#edf3ff;border-color:#c6d7f6}.layer-icon{font-family:Lora;font-size:15px;width:20px;color:#7d9670}.layer-name{font-size:10px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:1}.layer-type{font-size:8px;color:#98a18e}.text-button{background:transparent;border:0;font-size:9px;color:#87917c;padding:10px 0}.validation{font-size:9px;line-height:1.65;padding:12px;border-radius:7px;background:#edf3fc;color:#617b9d;margin-top:16px}.validation.warning{background:#fff5e5;color:#906f38}.validation strong{display:block;margin-bottom:3px}.page-footer{display:flex;justify-content:space-between;color:#97a08e;padding:15px 2px 20px;font-size:9px}.page-footer strong{color:#627458;font-weight:500}.template-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.template-card{border:1px solid var(--line);border-radius:8px;overflow:hidden;padding:0;background:white;text-align:left}.template-card:hover{border-color:#5d886d}.template-image{height:100px;background:#353e35;color:#dddccb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px}.template-image b{font-family:Lora;font-weight:400;font-size:14px;max-width:100%;text-align:center}.template-image small{font-size:6px;letter-spacing:1px}.template-card>span{display:block;font-size:9px;padding:9px}.template-image .big-letter{font-size:43px}.template-image .script{font-size:21px}.template-image.light{background:#eae0cc;color:#66523a}.template-image.green{background:#204481}.template-image.blank{background:#ecefe7;color:#a1ac97;font-size:30px}.add-type{width:100%;background:#f8faf5;border:1px solid var(--line);border-radius:8px;padding:18px 12px;text-align:left;font-size:18px;margin-bottom:10px}.add-type span{display:block;font:9px DM;color:#929e85;margin-top:8px}.serif{font-family:Lora,serif}.sans{font-family:DM,sans-serif}.script{font-family:Dancing,cursive}.display{font-family:Bebas,sans-serif}.info-card{background:#edf3fc;border:1px solid #e0e8f6;border-radius:8px;padding:14px;margin-top:20px;font-size:10px;line-height:1.6;color:#7386a4}.info-card strong{color:#42659e;font-size:10px}.info-card p{margin:6px 0 0}.upload-zone{width:100%;min-height:185px;border:1.5px dashed #b9c8af;border-radius:10px;background:#f7faf3;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px}.upload-zone>span{font-size:32px;color:#6f8d61}.upload-zone strong{font-size:11px;font-weight:600}.upload-zone small{font-size:10px;color:#8d9c80}.upload-zone em{font-style:normal;font-size:8px;color:#9aa78e;margin-top:9px}.upload-zone:hover{background:#edf5e5}.artwork-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.artwork-button{border:1px solid var(--line);background:#f9faf6;border-radius:7px;padding:12px 6px;font-size:8px;color:#879575}.artwork-button svg{width:35px;height:35px;display:block;margin:0 auto 8px;color:#4b6546}.upload-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.upload-list img{width:100%;height:75px;object-fit:contain;background:white;border:1px solid var(--line);border-radius:5px}.no-selection{padding:15px 0;font-size:11px;line-height:1.7;color:#95a088}.no-selection strong{display:block;font-size:12px;color:#68805c;margin-bottom:7px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);background:#152649;color:white;border-radius:9px;padding:12px 20px;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:.2s;max-width:90vw;box-shadow:0 4px 20px #0002}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{width:min(630px,94vw);border:1px solid #d9e4d1;border-radius:17px;padding:30px;background:#fcfdf9;color:var(--ink);box-shadow:0 30px 100px #142b3840}dialog::backdrop{background:#1f342957;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.close-dialog{border:0;background:transparent;font-size:25px;color:#7d8d70}dialog h2{font-family:Lora;font-size:26px;font-weight:400;line-height:1.3;margin-bottom:13px}dialog .muted{font-size:12px}.export-details{background:#eef3e8;border-radius:7px;padding:14px;font-size:11px;line-height:1.7;margin:14px 0}.export-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.export-options button{text-align:left;padding:17px;border:1px solid #cdddc4;border-radius:10px;background:white}.export-options button strong{font-size:13px}.export-options button span{display:block;font-size:8px;letter-spacing:1px;color:#8a9a7d;margin-top:6px}.export-options button small{display:block;font-size:10px;color:#8190a7;line-height:1.6;margin:13px 0}.export-options button b{display:block;font-size:11px;color:var(--teal)}.export-options button:hover{background:#f0f5ff}.help-steps{padding-left:20px;font-size:12px;line-height:1.8;color:#7b8970}.help-steps li{padding-left:6px;margin:13px 0}.help-steps strong{color:#49613e}#empty-canvas-hint{position:absolute;text-align:center;font-family:Lora;color:#c5d0b4;font-size:22px;pointer-events:none}#empty-canvas-hint small{display:block;font:10px DM;margin-top:9px}
@media(min-width:1600px){.workspace{grid-template-columns:80px 295px minmax(400px,1fr) 290px}.panel-section{padding:25px}.properties-panel{padding:25px}.muted{font-size:12px}.field-label{font-size:11px}.micro{font-size:10px}.product-card strong{font-size:11px}.product-card small{font-size:9px}}
@media(max-width:1200px){.studio-name .tag{display:none}.save-status{display:none}.app-header{gap:17px;padding:0 20px}main{padding:22px 18px 0}.workspace{grid-template-columns:64px 225px minmax(280px,1fr) 230px}.panel-section{padding:18px 14px}.properties-panel{padding:18px 13px}.canvas-toolbar{padding:12px 10px}.view-toggle button{padding:7px 8px}.privacy-note{font-size:7px}.device-chip{display:none}.page-heading{margin-bottom:20px}.canvas-footer{padding:0 10px}}
@media(max-width:980px){.app-header{height:74px}.studio-name,.header-divider,.subtle{display:none}.workspace{grid-template-columns:64px 220px minmax(300px,1fr);height:auto;min-height:660px}.properties-panel{grid-column:2/4;border-left:0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.properties-panel>.panel-heading{grid-column:1/-1}.properties-panel .layers-section{margin-top:0;border-top:0}.properties-panel .validation{grid-column:1/-1}.tool-nav{grid-row:1/3}.canvas-panel{min-height:590px}#stage{max-height:460px}.page-footer{padding-bottom:15px}.library-panel{max-height:590px}}
@media(max-width:650px){.app-header{padding:0 13px;gap:8px;height:68px}.brand{gap:7px}.brand-mark{width:32px;height:34px;font-size:23px;border-radius:9px}.brand strong{font-size:12px;letter-spacing:1px}.brand small{font-size:5.5px;letter-spacing:.6px}.header-actions{gap:5px}.button{font-size:10px;padding:9px 10px}.primary span{margin-left:4px}.header-actions .secondary{padding:9px 7px}.page-heading p{font-size:11px;max-width:290px;line-height:1.6}.page-heading h1{font-size:28px}.eyebrow{font-size:8px;letter-spacing:1.5px}main{padding:20px 10px 0}.workspace{display:flex;flex-direction:column}.tool-nav{order:0;flex-direction:row;padding:5px;border-right:0;border-bottom:1px solid var(--line);gap:1px}.tool{height:55px;font-size:8px}.tool>span{font-size:21px}.nav-bottom{margin:0;width:100%}.canvas-panel{order:1;min-height:405px}.library-panel{order:2;max-height:none;border-top:1px solid var(--line);border-right:0}.properties-panel{order:3;display:block}.canvas-toolbar{height:51px}#stage{min-height:220px;max-height:340px}.stage-wrap{min-height:305px;padding:22px 15px 28px}.stage-topline{top:12px;left:15px;right:15px;font-size:7px}.canvas-tip{font-size:8px;bottom:8px}.canvas-footer{height:40px}.product-grid{grid-template-columns:1fr 1fr 1fr}.product-card.wide{grid-column:span 1;display:block;min-height:126px}.product-card.wide .mini-slate{margin:5px auto 20px}.product-card.wide strong{margin-top:0}.panel-section{padding:19px}.properties-panel{padding:19px}.template-list{grid-template-columns:repeat(3,1fr)}.properties-panel .layers-section{margin-top:20px;padding-top:5px;border-top:1px solid var(--line)}.page-footer{font-size:8px;gap:15px}.privacy-note{font-size:7px}.export-options{grid-template-columns:1fr}dialog{padding:21px}.header-actions #save-btn{font-size:9px}.check{font-size:11px}.micro{font-size:10px}}
/* Editor refinements */
.toast.visible{opacity:1;transform:translate(-50%,0)}.template-card>.template-image{display:flex;padding:10px}.template-card>strong{display:block;font-size:9px;padding:9px;font-weight:500}.template-image>strong{font-size:11px;text-align:center}.layer-type{display:block;margin-top:3px}.control{margin:14px 0}.properties-panel .two-fields{margin:12px 0}.property-actions{display:grid;grid-template-columns:1fr 1fr}#stage .object{pointer-events:bounding-box}.no-selection>span{font-size:25px;display:block;margin-bottom:8px}
.uploaded-item{padding:0;background:none;border:0}.uploaded-item img{display:block}.canvas-panel:focus-within{outline-offset:-2px}

/* Mana Lab crystal identity, referenced from the business asset library. */
.app-header{background:#070e21;color:#e7f0ff;border-bottom:1px solid #23345c}.brand{color:#edf6ff}.brand strong{color:#36d0e6}.brand small{color:#819ac3}.brand-logo{width:56px;height:56px;object-fit:cover;border-radius:50%}.header-divider{border-color:#253759}.app-header .subtle{color:#b3c5e5}.app-header .secondary{background:#13213d;color:#deebff;border-color:#2d4165}.app-header .save-status{color:#8fa7c8}.app-header .tag{background:#192848;color:#86a8de}.primary{background:#2d62e7}.app-header .primary{background:#275ee5}.studio-name{color:#d8e7ff}.swatch.selected>span{box-shadow:0 0 0 2px #3369e1}.page-heading h1{color:#172b4b}.eyebrow{color:#6d83a7}.product-card.selected{border-color:#5280e5}.green-dot{background:#37b9cb}.canvas-panel{background:#edf1f7}.brand-mark{display:none}@media(max-width:650px){.brand-logo{width:36px;height:36px}}
/* Direct manipulation and expanded creative libraries. */
.resize-handle{pointer-events:all}.resize-handle.nw,.resize-handle.se{cursor:nwse-resize}.resize-handle.ne,.resize-handle.sw{cursor:nesw-resize}.resize-handle.n,.resize-handle.s{cursor:ns-resize}.resize-handle.e,.resize-handle.w{cursor:ew-resize}.rotate-handle{cursor:grab;pointer-events:all}.selection-box{filter:none}#stage .surface-object{pointer-events:visiblePainted;cursor:pointer}.selection-toolbar{min-height:39px;display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:6px 12px;background:#f9fbff;border-bottom:1px solid #e2e7f1;flex-shrink:0}.selection-toolbar>span{font-size:9px;color:#8593ab;margin-right:6px}.selection-toolbar button{background:#fff;border:1px solid #dce4f2;border-radius:5px;padding:5px 7px;font-size:9px}.selection-toolbar button:hover{background:#eaf1ff}.surface-library{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.surface-card{border:1px solid #dde4f1;background:#f7faff;padding:8px;border-radius:7px;color:#416297}.surface-card svg{display:block;width:100%;height:50px;margin-bottom:6px}.surface-card span{font-size:8px}.surface-card:hover{border-color:#638be2}.font-sample{font-size:23px;text-align:center;padding:13px 5px;border:1px solid #e4eaf4;border-radius:6px;margin:10px 0;overflow:hidden}.photo-tools{border-top:1px solid #e2e8f2;margin-top:18px;padding-top:16px}.photo-tools>.button{width:100%;white-space:normal}input[type=search]{width:100%;padding:9px;border:1px solid #dce3ef;border-radius:6px;font-size:11px;margin:7px 0 13px}.add-type{font-size:23px;padding:14px 12px}.tool-nav{gap:2px}.tool{height:61px}#stage{max-height:calc(100vh - 455px)}@media(max-width:980px){#stage{max-height:440px}}@media(max-width:650px){.tool{font-size:7px;height:58px}.tool>span{font-size:19px}.selection-toolbar{padding:6px 8px;gap:5px}.selection-toolbar>span{display:none}.selection-toolbar button{font-size:8px;padding:6px}.surface-card svg{height:70px}#stage{max-height:340px}.canvas-tip{font-size:7px}}

@font-face{font-family:'lora';src:url('assets/lora.ttf')}

@font-face{font-family:'dm-sans';src:url('assets/dm-sans.ttf')}

@font-face{font-family:'dancing-script';src:url('assets/dancing-script.ttf')}

@font-face{font-family:'bebas-neue';src:url('assets/bebas-neue.ttf')}

@font-face{font-family:'playfairdisplay';src:url('assets/playfairdisplay.ttf')}

@font-face{font-family:'montserrat';src:url('assets/montserrat.ttf')}

@font-face{font-family:'oswald';src:url('assets/oswald.ttf')}

@font-face{font-family:'cormorantgaramond';src:url('assets/cormorantgaramond.ttf')}

@font-face{font-family:'greatvibes';src:url('assets/greatvibes.ttf')}

@font-face{font-family:'sacramento';src:url('assets/sacramento.ttf')}

@font-face{font-family:'cinzel';src:url('assets/cinzel.ttf')}

@font-face{font-family:'rye';src:url('assets/rye.ttf')}

@font-face{font-family:'anton';src:url('assets/anton.ttf')}

@font-face{font-family:'caveat';src:url('assets/caveat.ttf')}

@font-face{font-family:'abrilfatface';src:url('assets/abrilfatface.ttf')}

@font-face{font-family:'bitter';src:url('assets/bitter.ttf')}

#crop-dialog{width:min(820px,95vw)}.crop-presets{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.crop-presets button{border:1px solid #d8e2f1;border-radius:6px;background:#fff;padding:7px 12px;font-size:11px}.crop-stage-wrap{background:repeating-conic-gradient(#d7dce5 0% 25%,#eef1f6 0% 50%) 0/18px 18px;border-radius:8px;overflow:hidden;display:flex;justify-content:center}#crop-stage{display:block;width:100%;height:52vh;touch-action:none;user-select:none}.crop-footer{display:flex;justify-content:flex-end;gap:10px}.crop-footer .close-dialog{font-size:12px;color:#34455e}.photo-tools .property-actions{grid-template-columns:1fr 1fr}

/* Keep edit history visible at every canvas width. */
.canvas-toolbar{height:auto;min-height:61px;flex-wrap:wrap;gap:10px}.history{margin-left:auto;flex-shrink:0;gap:7px}.history button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:7px 12px;border:1px solid #ccd7e8;border-radius:7px;background:#fff;color:var(--ink);font-size:12px;font-weight:650;line-height:24px}.history button span{font-size:22px;font-weight:400}.history button:not(:disabled):hover{background:#eaf0ff;border-color:#7c9add}.history button:disabled{background:#f5f7fb}

.editing-options{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;background:#fafbfe;border-bottom:1px solid var(--line);font-size:10px;color:#69788d}.editing-options label{display:flex;align-items:center;gap:5px;white-space:nowrap}.editing-options input{accent-color:var(--teal)}.editing-options span{font-size:9px}.layer-row{display:flex;align-items:center;border:1px solid transparent;border-radius:7px;margin:6px 0;background:#f5f7fb}.layer-row.active{border-color:#a3bdf0;background:#edf3ff}.layer-row .layer{flex:1;min-width:0;margin:0;background:transparent;border:0;padding:9px 5px}.layer-row.is-hidden .layer{opacity:.5}.layer-control{flex-shrink:0;border:0;border-radius:4px;background:transparent;padding:6px 3px;min-height:32px;min-width:27px;font-size:9px}.layer-control:hover{background:#dce7fa}.layer-control[aria-pressed=true]{color:#285bdd;background:#e4edff}.layer-row .layer-type{display:block}.selection-toolbar button:disabled{opacity:.4}.property-actions{flex-wrap:wrap}.property-actions button{min-height:32px}

.set-builder{background:#fff;border:1px solid var(--line);border-radius:13px;margin-bottom:18px;padding:20px}.set-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.set-heading h2{font-size:18px;margin:6px 0}.set-heading h2 span{font-size:11px;color:#66778e;background:#edf3ff;border-radius:20px;padding:4px 9px;margin-left:8px}.set-heading p{font-size:12px;color:#768399;margin:6px 0 0}.set-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:18px 0}.set-controls label,.coaster-controls label{font-size:11px;color:#64748b}.set-controls input{width:80px;font-size:13px}.set-controls select{font-size:12px;margin-bottom:0;min-width:210px}.set-limit{font-size:10px;color:#7d899a;padding-bottom:10px}.coaster-strip{display:flex;gap:10px;overflow-x:auto;padding:3px 2px 12px}.coaster-card{width:116px;flex:0 0 116px;border:1px solid #dce4f1;border-radius:10px;background:#f7f9fc;padding:8px;text-align:left}.coaster-card.active{border:2px solid #285bdd;background:#edf3ff;padding:7px}.coaster-thumbnail{display:block;pointer-events:none}.coaster-thumbnail svg{display:block;width:100%;height:90px}.coaster-card strong{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}.coaster-card small{display:block;font-size:9px;margin-top:4px;color:#768399}.coaster-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:13px}.coaster-controls>strong{font-size:12px;color:#285bdd}.coaster-controls label{display:flex;align-items:center;gap:8px}.coaster-controls input{width:160px;margin:0;font-size:12px}.coaster-controls>div{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.coaster-controls .button{font-size:11px;padding:9px 10px}.set-save-note{font-size:10px;color:#79869a;margin:12px 0 0;line-height:1.6}#set-review-dialog{width:min(850px,94vw)}.set-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.coaster-review-card{border:1px solid #dce4f1;border-radius:10px;padding:12px;background:#f5f7fb;text-align:left;min-width:0}.coaster-review-card svg{height:160px}.coaster-review-card strong,.coaster-review-card>span,.coaster-review-card small{display:block;margin-top:6px}.coaster-review-card strong{font-size:13px;overflow-wrap:anywhere}.coaster-review-card>span:not(.coaster-thumbnail),.coaster-review-card small{font-size:10px;color:#6f7f96}.coaster-review-card:hover,.coaster-card:hover{border-color:#285bdd}.set-builder button:focus-visible{outline:3px solid #80a5f2;outline-offset:2px}@media(max-width:650px){.set-builder{padding:14px}.set-heading{align-items:start}.set-heading h2{font-size:16px}.set-heading p{line-height:1.5}.set-controls{gap:9px}.set-limit{width:100%;padding:0}.set-controls select{min-width:180px}.coaster-controls{gap:10px}.coaster-controls>div{margin-left:0}.coaster-controls>strong{width:100%}.set-review-grid{grid-template-columns:repeat(2,1fr)}.coaster-review-card svg{height:120px}.header-actions #save-btn{font-size:9px}.header-actions #export-btn{font-size:9px}}

.artwork-tools{background:#f2f6ff;border:1px solid #dce6f7;border-radius:8px;padding:10px;margin-bottom:14px}.artwork-tools>strong{font-size:11px}.artwork-tools .property-actions{margin:9px 0}.artwork-tools .micro{margin:4px 0}.artwork-tools .property-actions button{min-width:76px;font-size:10px;padding:7px}

.preview-description{padding:8px 12px;margin:0;font-size:10px;color:#64748b;line-height:1.5;background:#f7faff;border-bottom:1px solid var(--line)}.production-tools{position:relative;font-size:11px}.production-tools summary,.production-view summary,.tone-options summary{cursor:pointer;padding:9px;color:#64748b}.production-tools>div{position:absolute;right:0;top:100%;z-index:40;width:235px;background:white;border:1px solid var(--line);box-shadow:0 8px 20px #23324a20;border-radius:8px;padding:12px}.production-tools p{margin:0 0 10px;font-size:11px;color:#64748b}.production-view{position:relative;font-size:9px}.production-view>button{position:absolute;right:0;top:100%;z-index:30;white-space:nowrap;background:#fff!important;border:1px solid var(--line)!important;padding:10px!important;box-shadow:0 4px 12px #22324a15}.tone-options{border:1px solid var(--line);border-radius:6px;margin:12px 0;padding:0 8px}.tone-options summary{font-size:11px;padding-left:0}

.photo-quality{margin:12px 0 18px}.resolution-status{padding:12px;border:1px solid #dce5ef;border-radius:8px;background:#f5f8fc;font-size:11px;line-height:1.5}.resolution-status strong{display:block;color:#31566f}.resolution-status p{margin:6px 0}.resolution-status small{display:block;font-size:10px;color:#64748b}.resolution-status.low{background:#fff5e8;border-color:#eccba0}.resolution-status.low strong{color:#88511d}.resolution-status.fair{background:#fffbed}.resolution-status details{margin:8px 0}.resolution-status summary{cursor:pointer;color:#596b83}.photo-adjustments h3{font-size:13px;margin:18px 0 4px}.adjustment-label{display:flex;align-items:center;justify-content:space-between;gap:12px}.adjustment-label output{font-variant-numeric:tabular-nums;min-width:34px;text-align:right;color:#345fe5}.photo-adjustments input[type=range]{width:100%}
[hidden]{display:none!important}.staff-inbox{background:white;border:1px solid #dce3ee;border-radius:16px;padding:24px;margin-bottom:24px}.inbox-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;max-height:300px;overflow:auto}.inbox-item{display:flex;flex-direction:column;gap:6px;text-align:left;padding:14px;border:1px solid #dce3ee;border-radius:9px;background:#f8faff;cursor:pointer}.inbox-item span,.inbox-item small{color:#526078;font-size:12px;overflow-wrap:anywhere}#staff-record{border-top:1px solid #dce3ee;margin-top:20px;padding-top:16px}#staff-record-note{white-space:pre-wrap}.submission-form{border-top:1px solid #dce3ee;padding-top:20px;margin-top:20px}.submission-form input,.submission-form textarea{width:100%;box-sizing:border-box}#submission-status{font-size:14px;line-height:1.5;overflow-wrap:anywhere}.header-actions a{text-decoration:none}body:has(.tag) .header-actions{flex-wrap:wrap}
.legacy-exports{margin-top:20px;border-top:1px solid #dce3ee;padding-top:14px}.legacy-exports summary{cursor:pointer;font-weight:600;color:#526078}.legacy-exports[open] summary{margin-bottom:14px}

/* Owner intake, linked orders and account setup */
.owner-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.owner-contact,.owner-status{padding:14px;background:#f5f7f8;border:1px solid #e1e6e9;border-radius:10px;margin:12px 0;white-space:pre-line;overflow-wrap:anywhere}.owner-record-fields,.owner-connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.owner-record-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.connection-card{border:1px solid #e1e6e9;padding:20px;border-radius:16px}.connection-card li{margin:10px 0}.connection-card code{overflow-wrap:anywhere;user-select:all}.connection-card details{margin:14px 0}.owner-tabs .button[aria-pressed=true]{box-shadow:0 0 0 2px #bfcfee}.submission-form [hidden],[hidden]{display:none!important}@media(max-width:800px){.owner-record-fields,.owner-connection-grid{grid-template-columns:1fr}}

.sandbox-banner{padding:14px 20px;border:2px solid #b45309;border-radius:12px;background:#fffbeb;color:#78350f;font-weight:700;margin:16px 0}.sandbox-banner[hidden]{display:none}

/* Coaster shortcuts: sibling buttons keep editing and deleting independent. */
.coaster-tile{position:relative;flex:0 0 116px;display:flex}.coaster-tile .coaster-card{width:100%;min-height:145px}.coaster-delete{position:absolute;right:4px;top:4px;width:32px;height:32px;padding:0;border:1px solid #dce4f1;border-radius:50%;background:#fff;color:#a93030;font-size:24px;line-height:1;box-shadow:0 2px 7px #23355220;opacity:0;pointer-events:none;transition:opacity .12s}.coaster-tile:hover .coaster-delete,.coaster-tile:focus-within .coaster-delete{opacity:1;pointer-events:auto}.coaster-delete:hover:not(:disabled){background:#fff0f0;border-color:#d57979}.coaster-delete:disabled{color:#94a3b8;cursor:not-allowed}.coaster-add{flex:0 0 116px;min-height:145px;border:1.5px dashed #9ab2df;border-radius:10px;background:#f5f8ff;color:#285bdd;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px}.coaster-add>span{font-size:34px;line-height:1}.coaster-add strong{font-size:12px}.coaster-add small{font-size:10px;color:#64748b}.coaster-add:hover:not(:disabled){background:#eaf1ff;border-color:#285bdd}.coaster-add:disabled{opacity:.5;cursor:not-allowed}@media(hover:none),(pointer:coarse){.coaster-delete{opacity:1;pointer-events:auto;width:40px;height:40px}}

/* Customer guidance and phone-sized editing. */
.customer-guide h3{font-size:15px;margin:22px 0 8px;color:var(--ink)}
.customer-guide p,.review-expectations p{font-size:13px;line-height:1.7;color:#53637a}
.review-expectations{border:1px solid #dce4f1;border-radius:10px;padding:14px;margin:18px 0;background:#f2f6ff}
.review-expectations summary{cursor:pointer;font-size:13px;font-weight:650;min-height:28px;line-height:1.6}
.submission-form input:not([type=checkbox]),.submission-form select,.submission-form textarea{display:block;width:100%;min-height:44px;padding:11px;border:1px solid #c4cedd;border-radius:7px;margin-top:7px;background:#fff;color:var(--ink);font-size:16px}
.submission-form label.control{font-size:12px;color:#53637a}
.submission-form .micro,dialog .micro{font-size:12px;color:#586a80}
.close-dialog{min-width:44px;min-height:44px;flex-shrink:0}
.mobile-workspace-nav{display:none}
@media(max-width:980px){#help-btn,#remove-coaster{display:inline-flex}#staff-link:not([hidden]){display:inline-flex}}
@media(max-width:650px){
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 .app-header{height:auto;min-height:68px;flex-wrap:wrap;padding:10px 13px}.header-actions{flex:0 1 auto;justify-content:flex-end}#help-btn{font-size:12px;min-height:44px;padding:10px}
 .set-heading{flex-wrap:wrap}.set-heading>div{flex:1 1 230px}.set-heading p,.set-save-note{font-size:12px;color:#596a80;line-height:1.65}
 .set-controls label,.coaster-controls label{font-size:12px}.set-controls label:nth-child(2){flex:1;min-width:0}.set-controls select{min-width:0}
 .coaster-controls label{width:100%;display:grid;grid-template-columns:115px minmax(0,1fr)}.coaster-controls input,.coaster-controls select{width:100%;margin:0;min-width:0}
 .button,.coaster-controls .button,.property-actions button,.crop-presets button,.zoom button{min-height:44px;font-size:12px}
 input:not([type=checkbox]):not([type=range]):not([type=file]),select,textarea,.two-fields input,input[type=number],.set-controls input,.set-controls select,.coaster-controls input,.coaster-controls select{font-size:16px;min-height:44px}
 .tool{font-size:10px;min-width:52px;flex:1;height:64px}.tool-nav{overflow-x:auto;flex-shrink:0}.nav-bottom{width:auto;min-width:52px}
 .library-panel{order:1;max-height:360px;overflow:auto;overscroll-behavior:contain;border-top:0;border-bottom:1px solid var(--line);scroll-margin-top:8px}
 .canvas-panel{order:2;scroll-margin-top:8px}.properties-panel{order:3;scroll-margin-top:8px}
 .product-grid,.template-list{grid-template-columns:repeat(2,minmax(0,1fr))}.product-card strong,.template-card>strong{font-size:12px}.product-card small{font-size:11px}
 .panel-section .muted,.micro,.properties-panel .muted,.control,.two-fields label,.field-label{font-size:12px;color:#5c6d82}
 .editing-options>span{display:none}.editing-options{min-height:44px;font-size:12px}.preview-description{font-size:12px}
 .selection-toolbar{max-height:112px;overflow:auto}.selection-toolbar button{min-height:44px;font-size:11px;padding:8px}.selection-toolbar>span{display:block;font-size:11px}
 .layer-control{min-width:44px;min-height:44px;font-size:11px}.layer-name{font-size:13px}.layer-type{font-size:10px}.no-selection,.validation{font-size:12px}
 .mobile-workspace-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;position:fixed;bottom:0;left:0;right:0;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #cdd8e8;box-shadow:0 -3px 16px #22324a12;z-index:45}
 .mobile-workspace-nav button{min-width:0;min-height:44px;border:1px solid #ccd8eb;border-radius:8px;background:#f4f7fd;font-size:12px;font-weight:650}.mobile-workspace-nav .primary{background:var(--teal);color:white;border-color:var(--teal)}
 body:has(dialog[open]) .mobile-workspace-nav{display:none}.toast{bottom:90px}
 dialog{padding:18px;max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}.dialog-top{position:sticky;top:-18px;padding:8px 0;background:#fcfdf9;z-index:2}.dialog-top .eyebrow{font-size:9px}
 .submission-form .two-fields{grid-template-columns:1fr}.submission-form .control{margin:18px 0}#submit-design{width:100%;white-space:normal}
}
