@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
.shape-preview.phone{width:30px;height:54px;margin:-2px 0;border:3px solid #303a30;border-radius:8px;background:linear-gradient(145deg,#dfea98,#81976d);position:relative;box-shadow:2px 3px 5px #24362d20}.shape-preview.phone:before{content:'';position:absolute;width:12px;height:4px;background:#303a30;top:2px;left:6px;border-radius:5px}.phone-note{font-size:10px;line-height:1.7;color:#909784;margin:10px 0 16px}.phone-range{display:block;width:100%;height:3px;accent-color:#304e3d;margin:14px 0 20px}.phone-colors{display:flex;gap:24px}.phone-colors input{display:block;margin-top:8px}.phone-colors .field-label{flex:1}
:root{--ink:#24362d;--text:#343c37;--muted:#90958e;--line:#e9eae4;--green:#304e3d;--paper:#fafbf8;--accent:#d9ee94;--font:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-family:var(--font);color:var(--text);font-size:13px}button,input,select,textarea{font:inherit}button{cursor:pointer}button,input,textarea,select{-webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,canvas:focus-visible{outline:2px solid #6d9254;outline-offset:3px}button{transition:background .15s,transform .15s}button:not(:disabled):active{transform:translateY(1px)}svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.topbar{height:82px;display:flex;align-items:center;padding:0 27px;gap:28px;background:white;border-bottom:1px solid var(--line)}.brand{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:10px;font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:29px;letter-spacing:-1.4px}.brand-mark{height:38px;width:38px;background:var(--green);border-radius:11px;color:var(--accent);font-family:Georgia,serif;font-size:40px;line-height:42px;padding-left:8px;position:relative}.brand-mark span{font-size:25px;position:absolute;right:5px;bottom:0}.brand-studio{font:500 10px var(--font);letter-spacing:3px;display:block;text-transform:uppercase;margin-top:-3px}.header-divider{height:28px;width:1px;background:var(--line);margin-left:30px}.document-name{display:flex;flex-direction:column;gap:5px}.document-name input{border:0;background:transparent;font-weight:600;font-size:13px;width:200px;padding:0;color:var(--ink)}.save-state{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:4px}.save-state svg{width:12px;height:12px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:16px}.button{border:1px solid transparent;border-radius:7px;display:inline-flex;justify-content:center;align-items:center;gap:9px;padding:11px 15px;font-weight:550;font-size:12px;white-space:nowrap;background:white}.button.primary{color:white;background:var(--green)}.button.primary:hover{background:#42644e}.button.subtle{background:transparent}.button.subtle:hover,.icon-button:hover{background:#f0f2eb}.button.outline{border-color:#dfe3da;background:transparent}.button.outline:hover{background:#f1f4ed}.full{width:100%}.avatar{background:#ecebdf;color:#6c7162;border:4px solid #f8f8f3;width:39px;height:39px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600;margin-left:8px}.editor-layout{display:grid;grid-template-columns:78px 290px minmax(330px,1fr) 266px;height:calc(100dvh - 82px);min-height:640px}.rail{border-right:1px solid var(--line);display:flex;align-items:center;flex-direction:column;padding:22px 7px 18px;gap:12px;background:white}.rail-item{background:none;border:0;width:62px;height:65px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;font-size:10px;color:#7e847d}.rail-item svg{width:21px;height:21px}.rail-item.active{background:#eef3e4;color:#36513b}.rail-item:hover{background:#f5f7f0}.rail-bottom{margin-top:auto}.help-dot{border:1px solid #cfd4ca;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;color:#8e958a}.library{background:#fff;border-right:1px solid var(--line);padding:27px 21px 0;overflow:auto;display:flex;flex-direction:column}.panel-heading h1{font-family:Manrope,Arial,sans-serif;font-size:17px;letter-spacing:-.65px;margin:0 0 8px;font-weight:750}.panel-heading p{font-size:11px;color:var(--muted);margin:0 0 24px;line-height:1.6}.search{display:flex;align-items:center;gap:9px;border:1px solid var(--line);padding:10px 11px;border-radius:6px;color:#92978f}.search svg{width:15px;height:15px}.search input{width:100%;min-width:0;border:0;outline:0;font-size:11px;background:transparent}.search input::placeholder{color:#a0a49d}.filter-tabs{display:flex;gap:5px;margin:16px 0 25px}.filter-tabs button{font-size:10px;border:1px solid var(--line);background:#fff;border-radius:20px;padding:7px 10px}.filter-tabs button.selected{background:var(--green);color:white;border-color:var(--green)}.section-caption{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.section-caption h2{font-size:11px;font-weight:600;margin:0}.section-caption>span{font-size:9px;color:#a0a59c}.template-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 11px}.template-card{border:0;padding:0;text-align:left;background:transparent;min-width:0}.template-card canvas{width:100%;display:block;aspect-ratio:1;border-radius:7px;border:2px solid transparent;transition:transform .2s,border-color .2s}.template-card:hover canvas{transform:translateY(-3px);border-color:#9da991}.template-card.active canvas{border-color:#67825a;box-shadow:0 0 0 2px #eaf1dd}.template-card>span{display:block;font-size:10px;margin-top:7px;color:#777e73}.template-card .template-kind{font-size:8px;color:#adb1a8;margin-top:3px}.library-tip{margin:27px 0 22px;background:#f7f8f2;border:1px solid #eceee4;border-radius:8px;display:flex;gap:10px;padding:14px 11px}.library-tip>span{font-size:24px;color:#6d8355}.library-tip strong{font-size:10px;font-weight:600}.library-tip p{font-size:10px;color:#919689;line-height:1.7;margin:6px 0 0}.library-footer{margin-top:auto;border-top:1px solid var(--line);padding:18px 0;color:#a0a599;font-size:9px;display:flex;gap:7px;align-items:center}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#8ba577;flex-shrink:0}.workspace{min-width:0;display:flex;flex-direction:column;background:#f1f2ed}.workspace-toolbar{height:64px;flex-shrink:0;padding:0 26px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7e9e1;font-size:10px}.breadcrumb{color:#959c8e}.slash{color:#bbc1b4;margin:0 12px}.workspace-toolbar strong{font-weight:500;color:#65705e}.history-buttons{display:flex;gap:10px}.icon-button{display:grid;place-items:center;width:29px;height:29px;background:transparent;border:0;border-radius:5px}.icon-button svg{width:16px;height:16px;color:#8a9382}.flip{transform:scaleX(-1)}.canvas-area{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:54px 35px 45px;background-image:radial-gradient(#d9ddd2 .65px,transparent .65px);background-size:12px 12px}.artboard-wrap{position:relative;flex-shrink:0}.artboard-label{position:absolute;top:-26px;width:100%;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#66725e}.muted{color:#a0a796}.artboard-label .muted{margin-left:4px}.artboard-label>span:last-child{font-size:9px;color:#939c87}#artboard{display:block;width:100%;height:100%;box-shadow:0 7px 25px #29322214;touch-action:none;cursor:default}.workspace-footer{height:50px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-top:1px solid #e1e5d9;font-size:9px;color:#929a87;gap:10px}.workspace-footer>span{display:flex;align-items:center;gap:7px}.zoom-controls{display:flex;align-items:center;gap:9px}.zoom-controls input{width:66px;accent-color:var(--green);height:3px}.zoom-controls button{background:none;border:0;color:#6f7b65;font-size:14px;padding:4px}.zoom-controls #fitButton{font-size:10px;margin-left:4px}.properties{background:#fff;overflow:auto;padding:0 22px}.properties-heading{display:flex;align-items:center;justify-content:space-between;height:65px;border-bottom:1px solid var(--line)}.properties-heading h2{font-size:13px;font-weight:600}.small-badge{font-size:8px;font-weight:600;letter-spacing:1px;color:#8e977f;background:#f1f4eb;border-radius:4px;padding:5px 7px}.property-section{padding:21px 0;border-bottom:1px solid var(--line)}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-title h3{margin:0;font-size:11px;font-weight:650}.section-title svg{width:13px;height:13px;color:#9fa692}.section-title .muted{font-size:9px}.field-label{font-size:10px;color:#909784;display:block;margin-bottom:12px}.field-label select,.field-label textarea{display:block;margin-top:8px;width:100%;border:1px solid #e2e6db;border-radius:5px;padding:9px 10px;background:white;color:#5e6855;font-size:11px;resize:vertical}.dimension-inputs{display:flex;align-items:center;gap:8px;margin:13px 0 12px}.dimension-inputs label{flex:1;min-width:0;color:#969c8f;font-size:9px}.dimension-inputs label>div{display:flex;align-items:center;margin-top:7px;border:1px solid #e2e6db;border-radius:5px;padding:8px}.dimension-inputs input{width:100%;min-width:0;border:0;color:#616b57;background:transparent;font-size:11px;-moz-appearance:textfield}.dimension-inputs input::-webkit-inner-spin-button{display:none}.dimension-inputs label span{font-size:9px;color:#9ba28f}.dimension-cross{margin-top:18px;color:#b6bdaa;font-size:12px}.property-section>.button{font-size:10px;padding:9px}.selection-indicator{color:#7f9664;font-size:8px;background:#f1f5e9;padding:4px 6px;border-radius:3px}.text-options{display:flex;gap:7px;align-items:center}.size-field{display:flex;align-items:center;border:1px solid #e2e6db;border-radius:5px;padding:8px;flex:1;min-width:0}.size-field input{border:0;min-width:0;width:100%;font-size:11px;color:#617052}.size-field span{font-size:9px;color:#a0a791}.format-button{width:30px;height:32px;background:#fff;border:1px solid #e2e6db;border-radius:4px;font-weight:bold}.format-button.active{background:#eaf0de;border-color:#bacba4}.italic{font-family:Georgia,serif;font-style:italic}input[type=color]{width:31px;height:32px;border:1px solid #e2e6db;border-radius:4px;padding:4px;background:white;cursor:pointer}.alignment-buttons{display:flex;margin-top:10px;border:1px solid #e2e6db;border-radius:5px;overflow:hidden}.alignment-buttons button{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;background:white;border:0;padding:7px 2px;font-size:10px;color:#8d9780}.alignment-buttons button+button{border-left:1px solid #e2e6db}.alignment-buttons button.active{background:#f0f4e8;color:#3e5830}.alignment-buttons span{font-size:8px}.opacity-label{display:flex;flex-wrap:wrap;justify-content:space-between}.opacity-label input{width:100%;margin:13px 0 2px;height:3px;accent-color:var(--green)}.opacity-label>span{color:#5d6c50}.element-actions{display:flex;gap:8px}.element-actions .button:first-child{flex:1}.element-actions .button{font-size:10px;padding:8px 10px}.element-actions svg{width:14px;height:14px}.layer-controls{display:flex;gap:8px;margin-top:12px}.layer-controls button{flex:1;border:0;background:none;font-size:9px;color:#8b957c;padding:3px}.pro-tip{padding:22px 0;color:#788466}.pro-tip>span{display:block;font-size:23px;margin-bottom:12px}.pro-tip strong{font-size:12px;font-weight:500;line-height:1.7}.pro-tip p{font-size:10px;line-height:1.8;color:#a0a791;margin-top:9px}.text-presets{display:flex;flex-direction:column;gap:12px;margin-top:20px}.text-presets button{padding:18px 10px;background:#f6f7f2;border:1px solid var(--line);border-radius:7px}.text-presets button:first-child{font-size:22px;font-weight:bold}.text-presets button:nth-child(2){font-size:16px}.panel-note{font-size:11px;color:var(--muted);line-height:1.8;margin-top:24px}.shape-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.shape-grid button{display:flex;flex-direction:column;align-items:center;gap:15px;background:#f6f7f2;border:1px solid var(--line);border-radius:8px;padding:24px 8px;font-size:11px}.shape-preview{display:block;background:#849774;width:50px;height:50px}.shape-preview.circle{border-radius:50%}.shape-preview.line{height:3px;margin:24px 0 23px}.upload-zone{cursor:pointer;border:1px dashed #b8c4ab;border-radius:9px;background:#f8faf3;padding:30px 10px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.upload-zone strong{font-size:11px}.upload-zone span{font-size:9px;color:var(--muted)}.upload-zone.drag-over{background:#e6efda}.upload-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.upload-gallery button{padding:0;border:0;background:none}.upload-gallery img{width:100%;height:100px;object-fit:cover;border-radius:5px}.background-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:20px}.background-swatches button{height:43px;border-radius:7px;border:1px solid #ddd}.empty-state{color:var(--muted);font-size:12px;padding:15px 0}dialog{border:1px solid #e1e5d9;border-radius:14px;padding:28px;width:min(440px,calc(100% - 32px));color:var(--ink);box-shadow:0 24px 100px #17281d30}dialog::backdrop{background:#1c2c245c;backdrop-filter:blur(4px)}dialog h2{font-family:Manrope,Arial,sans-serif;font-size:18px;margin:0;letter-spacing:-.5px}dialog p{font-size:12px;color:#8b957f;line-height:1.8;margin-bottom:24px}.dialog-heading{display:flex;gap:12px;align-items:center}.dialog-heading h2{flex:1}.dialog-heading button{font-size:24px}.export-summary{display:flex;align-items:center;gap:10px;font-size:11px;padding:18px 0 24px;color:#738366}.export-summary span:last-child{margin-left:auto;font-size:9px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);background:#273f30;color:white;box-shadow:0 4px 20px #0002;padding:13px 20px;border-radius:8px;opacity:0;pointer-events:none;transition:.2s;font-size:12px;z-index:20;max-width:90vw}.toast.visible{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
@media(min-width:1550px){.editor-layout{grid-template-columns:84px 320px minmax(330px,1fr) 286px}.library{padding-left:25px;padding-right:25px}.properties{padding:0 25px}.template-grid{gap:20px 14px}}
@media(max-width:1200px){.editor-layout{grid-template-columns:66px 240px minmax(280px,1fr) 230px}.library{padding-left:15px;padding-right:15px}.properties{padding:0 15px}.rail-item{width:54px}.workspace-footer>span{font-size:0}.workspace-footer>span .status-dot{display:none}.canvas-area{padding-left:22px;padding-right:22px}.filter-tabs{gap:3px}.filter-tabs button{padding:6px 8px}.panel-heading h1{font-size:15px}.topbar{padding:0 20px}.header-divider{margin-left:0}}
@media(max-width:980px){.editor-layout{grid-template-columns:62px 215px minmax(270px,1fr);height:auto;min-height:calc(100dvh - 75px)}.properties{grid-column:2/4;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;border-top:1px solid var(--line)}.properties-heading{grid-column:1/-1;height:45px}.property-section{padding-top:0}.pro-tip{display:none}.workspace{min-height:650px}.rail{grid-row:1/3}.library{padding-top:24px}.topbar{height:75px;gap:20px}.header-actions{gap:5px}.avatar{display:none}.save-state{font-size:9px}.document-name input{width:150px}.header-actions .subtle{font-size:0;gap:0}.header-actions .primary{font-size:11px}.brand{font-size:25px}.workspace-toolbar{padding:0 18px}.canvas-area{padding:50px 20px}.workspace-footer{justify-content:flex-end}.library-tip{margin-top:20px}}
@media(max-width:650px){.topbar{height:70px;padding:0 14px;gap:12px}.brand{font-size:23px;gap:7px}.brand-mark{width:32px;height:34px;font-size:35px;line-height:37px}.brand-studio{font-size:8px}.header-divider,.document-name,.header-actions .subtle{display:none}.header-actions .primary{padding:10px 12px}.editor-layout{display:flex;flex-direction:column;min-height:0}.rail{flex-direction:row;padding:6px 10px;gap:4px;justify-content:center;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.rail-item{height:53px;width:65px;gap:5px}.rail-item svg{width:18px;height:18px}.rail-bottom{display:none}.library{order:2;padding:24px 20px}.library-footer{margin-top:20px}.workspace{order:1;min-height:0;height:560px}.workspace-toolbar{height:47px}.canvas-area{padding:45px 30px 30px}.workspace-footer{height:40px}.properties{order:3;display:block;padding:0 22px}.properties-heading{margin-bottom:20px}.property-section{padding:18px 0}.template-grid{grid-template-columns:repeat(3,1fr)}.library-tip{display:none}.template-card>span{font-size:10px}.template-card .template-kind{font-size:8px}.library-panel .panel-heading p{margin-bottom:16px}.filter-tabs{margin:14px 0 20px}.pro-tip{display:none}}
/* Keep the studio controls visible while the panels and page scroll. */
:root{--header-height:82px;--footer-height:50px}
html{scroll-padding-top:calc(var(--header-height) + 16px);scroll-padding-bottom:calc(var(--footer-height) + 16px)}
body{padding-top:var(--header-height);padding-bottom:var(--footer-height)}
.topbar{position:fixed;inset:0 0 auto;z-index:20;height:var(--header-height)}
.editor-layout{height:calc(100dvh - var(--header-height) - var(--footer-height));min-height:0}
.library,.properties,.workspace,.rail{min-height:0}
.rail{overflow-y:auto}
.workspace-footer{position:fixed;inset:auto 0 0;z-index:20;height:var(--footer-height);background:var(--surface,var(--paper));box-shadow:0 -4px 18px #00000012}
.toast{bottom:calc(var(--footer-height) + 16px);z-index:30}
@media(max-width:980px){
  :root{--header-height:75px}
  .editor-layout{height:auto;min-height:calc(100dvh - var(--header-height) - var(--footer-height))}
  .workspace{min-height:650px}
}
@media(max-width:650px){
  :root{--header-height:70px;--footer-height:calc(40px + env(safe-area-inset-bottom,0px))}
  html{scroll-padding-top:calc(var(--header-height) + 80px)}
  .editor-layout{min-height:0}
  .rail{top:var(--header-height);overflow:visible}
  .workspace{min-height:0}
  .workspace-footer{padding-bottom:env(safe-area-inset-bottom,0px)}
}
