.canvas-viewport{--canvas-scroll-limit:max(180px, calc(100dvh - 132px));--canvas-chrome-height:66px;flex-direction:column;flex:1;width:100%;min-width:0;max-width:100%;padding-bottom:0;display:flex}.canvas-zoom-controls{z-index:3;background:#fff;border:1px solid #dce2eb;border-radius:8px;grid-area:1/1;place-self:start end;align-items:center;gap:0;display:flex;position:sticky;top:8px;right:8px;overflow:hidden;box-shadow:0 2px 6px #1b2b4410}.canvas-zoom-controls button,.canvas-zoom-controls select{background:#fff;border:0;border-radius:0;height:30px;min-height:30px;font-size:11px}.canvas-zoom-controls button{width:32px;padding:0;font-size:18px;line-height:1}.canvas-zoom-controls select{font-variant-numeric:tabular-nums;width:90px;padding:3px 4px 3px 6px}.canvas-scrollport{width:100%;min-width:0;max-width:100%;min-height:0;height:var(--canvas-scroll-limit);max-height:var(--canvas-scroll-limit);overscroll-behavior:contain;overflow-anchor:none;scrollbar-width:thin;scrollbar-color:#a5ad98 transparent;overflow:auto}.canvas-scrollport:focus-visible{outline-offset:-2px}.canvas-scroll-content{grid-template-columns:minmax(0,1fr);min-width:100%;padding:8px 8px 14px;display:grid}.canvas-stage-host{--stage-gutter:14px;padding:0 var(--stage-gutter);grid-area:1/1;justify-content:center;justify-self:center;width:100%;min-width:0;margin-top:44px;display:flex}.canvas-viewport-shape .canvas-stage-host{--stage-gutter:6px}.canvas-viewport.is-zoomed .canvas-scroll-content{width:max-content}.canvas-viewport.is-zoomed .canvas-stage-host{width:calc(var(--canvas-preview-width) + 2 * var(--stage-gutter))}.canvas-viewport.is-zoomed .page-stage,.canvas-viewport.is-zoomed .shape-stage{width:100%;min-width:100%;max-width:none;margin:0}.canvas-viewport.is-zoomed .a4-paper{max-height:none}.canvas-viewport-page.is-fit .page-stage{width:min(100%, calc((var(--canvas-scroll-limit) - var(--canvas-chrome-height)) * 210 / 297));max-width:none}.canvas-viewport-shape.is-fit .shape-stage{width:min(100%, calc(var(--canvas-scroll-limit) - var(--canvas-chrome-height)));max-width:none}.canvas-viewport.is-fit .a4-paper{max-height:none}@media (max-width:680px){.canvas-viewport{--canvas-scroll-limit:max(180px, calc(100dvh - 144px));--canvas-chrome-height:72px}.canvas-zoom-controls button,.canvas-zoom-controls select{height:36px;min-height:36px}.canvas-zoom-controls button{width:36px}.canvas-stage-host{--stage-gutter:16px;margin-top:50px}.canvas-viewport-shape .canvas-stage-host{--stage-gutter:4px}}@font-face{font-family:Floralia Serif;src:url(/floral-patterns/fonts/fell.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Great Vibes;src:url(/floral-patterns/fonts/greatvibes/GreatVibes-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Marck Script;src:url(/floral-patterns/fonts/marckscript/MarckScript-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Bad Script;src:url(/floral-patterns/fonts/badscript/BadScript-Regular.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{color:#20242c;font-synthesis:none;--paper:#fff;--text:#20242c;--muted:#747b87;--blue:#1672f3;--olive:var(--blue);--rule:#e1e5eb;--light-rule:#edf0f4;--serif:Georgia, "Times New Roman", serif;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;font-size:13px;line-height:1.4}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--rule);background:#fff;border-radius:7px;transition:background-color .15s,border-color .15s}button:hover{background:#f4f7fc;border-color:#becbdf}button:disabled{opacity:.38;cursor:default}input,select{background:#fff;border:1px solid #dce1e8;border-radius:6px;min-width:0;padding:4px 8px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:2px}a{color:var(--blue);text-underline-offset:3px}button svg{flex-shrink:0}input[type=number]{font-variant-numeric:tabular-nums;width:100%}input::-webkit-inner-spin-button{opacity:.4}::selection{background:#dceafe}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.generation-error{color:#ab3030;padding:0 8px;font-size:12px;line-height:1.5}.studio-shell{min-height:100dvh}.masthead{border-bottom:1px solid var(--rule);align-items:center;height:56px;padding:0 24px;display:flex}.wordmark{letter-spacing:-.7px;margin:0;font-size:25px;font-weight:600;line-height:1.2}.workspace-tabs{align-items:center;gap:2px;height:44px;padding:0 24px;display:flex}.workspace-tabs button{border:0;padding:6px 20px;font-size:13px;font-weight:500}.workspace-tabs button.active{color:#0965e6;background:#e5efff}.studio-main{grid-template-columns:minmax(0,1fr) 360px;height:calc(100dvh - 100px);display:grid}.workspace{background:#edf0f4;border-radius:10px;flex-direction:column;min-width:0;margin:8px;padding:8px;display:flex;overflow:hidden}.a4-paper{aspect-ratio:210/297;border:1px solid #d7dbe0;width:100%;position:relative;box-shadow:0 3px 12px #222a3718}.pattern-image{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.growth-preview{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.growth-preview>svg{width:100%;height:100%;display:block}.frame-overlay,.shape-overlay{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.frame-overlay{pointer-events:none;overflow:visible}.reserved-rect{fill:#0000;stroke:#8795a6;stroke-width:.4px;stroke-dasharray:2 1.3;pointer-events:all;cursor:move}.page-text-layer{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.page-text-layer foreignObject{pointer-events:auto}.page-text-input{resize:none;opacity:0;text-align:center;cursor:text;border:0;border-radius:1px;width:100%;height:100%;padding:2px;font-size:4.5px;line-height:1.5;display:block}.page-text-input:focus{opacity:1;outline:.3px solid #a1b9d7}.edit-page-text{width:100%;min-height:29px;margin-bottom:10px;font-size:12px}.text-settings{grid-template-columns:minmax(0,1fr) 70px 29px;gap:8px;margin-bottom:10px;display:grid}.text-settings .color-well{width:29px;height:29px}.video-export{margin-top:7px}.video-export .action-pair{margin-top:0}.video-download{width:100%;min-height:30px;padding:5px;font-size:11px}.video-export progress{width:100%;height:4px;accent-color:var(--blue,#1677ff);margin-top:8px;display:block}.video-status{color:#607085;margin-top:6px;font-size:11px;display:block}.text-settings label{flex-direction:column;gap:4px;font-size:11px;display:flex}.text-settings select{width:100%;height:29px;font-size:12px}.frame-handle{fill:#fff;stroke:#8795a6;stroke-width:.5px;pointer-events:all}.frame-handle.nw,.frame-handle.se{cursor:nwse-resize}.frame-handle.ne,.frame-handle.sw{cursor:nesw-resize}.shape-stage{border:1px solid #d7dbe0;box-shadow:0 3px 12px #222a3718}.shape-paper{aspect-ratio:1;position:relative;overflow:hidden}.shape-paper.drawing .pattern-image{opacity:.17}.shape-overlay{pointer-events:none}.shape-overlay.active{pointer-events:all;cursor:crosshair}.drawing-instruction{text-align:center;pointer-events:none;color:#617086;font-size:12px;position:absolute;bottom:16px;left:16px;right:16px}.inspector{flex-direction:column;min-height:0;padding:8px 12px 0 0;display:flex}.inspector-fields{scrollbar-width:thin;scrollbar-color:#c9d0da transparent;flex:1;min-height:0;overflow-y:auto}.control-section{border:1px solid var(--rule);background:#fff;border-radius:10px;margin-bottom:8px;padding:10px 12px}.section-heading{justify-content:space-between;align-items:center;gap:8px;min-height:18px;margin-bottom:10px;display:flex}.section-heading h2{letter-spacing:-.12px;margin:0;font-size:14px;font-weight:600;line-height:1.3}.text-button{color:var(--blue);border:0;padding:0;font-size:11px}.seed-row{grid-template-columns:80px minmax(0,1fr) 30px;align-items:center;gap:8px;font-size:12px;display:grid}.seed-row input{height:29px}.icon-button{place-items:center;width:30px;height:29px;padding:0;display:grid}.slider-row{align-items:center;gap:8px;margin-top:11px;font-size:12px;display:flex}.slider-row>span{flex:none;min-width:80px}.slider-row output{text-align:right;font-variant-numeric:tabular-nums;color:#596372;min-width:34px;font-size:11px}.slider-row input[type=range]{accent-color:var(--blue);border:0;width:100%;min-width:24px;height:16px;padding:0}.growth-controls{justify-content:space-between;align-items:center;margin-top:11px;display:flex}.growth-controls button{color:var(--blue);border:0;padding:0;font-size:11px}.check{cursor:pointer;align-items:center;gap:7px;min-height:20px;font-size:12px;display:flex}.check input{appearance:none;cursor:pointer;background:#d5dbe3;border:0;border-radius:20px;flex:0 0 28px;width:28px;height:17px;margin:0;padding:0;transition:background .15s;position:relative}.check input:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0002}.check input:checked{background:var(--blue)}.check input:checked:after{transform:translate(11px)}.check-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.color-controls{justify-content:space-between;gap:8px;display:flex}.color-control{align-items:center;gap:5px;font-size:12px;display:flex}.color-well{border:1px solid #0002;border-radius:50%;flex-shrink:0;width:25px;height:25px;display:block;position:relative;overflow:hidden}.color-well input{opacity:0;cursor:pointer;width:100%;height:100%;padding:0;position:absolute;inset:0}.color-well:focus-within{outline:2px solid var(--blue);outline-offset:2px}.palette-row{gap:9px;margin-top:11px;display:flex}.palette-swatch{outline:1px solid var(--rule);border:2px solid #fff;border-radius:5px;flex:1;height:16px;padding:0;display:flex;overflow:hidden}.palette-swatch span{width:33.333%;height:100%}.palette-swatch span:first-child{margin-left:33.333%}.flower-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.flower-color-mode{margin-bottom:10px}.color-well:has(input:disabled){opacity:.5}.flower-tile{min-width:0;position:relative}.flower-select{border-radius:8px;flex-direction:column;align-items:center;width:100%;min-height:80px;padding:4px 2px;display:flex}.flower-select[aria-pressed=true]{background:#f5f9ff;border-color:#75aaff}.flower-select[aria-pressed=false]{border-color:#e8ecf1}.flower-glyph{flex:0 0 44px;width:44px;height:44px}.flower-name{text-align:center;overflow-wrap:normal;justify-content:center;align-items:center;width:100%;min-height:26px;font-size:10px;font-weight:500;line-height:1.15;display:flex}.flower-selected{background:var(--blue);color:#fff;border-radius:50%;width:13px;height:13px;font-size:10px;line-height:13px;position:absolute;top:3px;right:3px}.flower-color{border:2px solid #fff;width:16px;height:16px;position:absolute;top:35px;right:3px;box-shadow:0 0 0 1px #d6dde7}.segmented{background:#f1f3f7;border:1px solid #e4e8ee;border-radius:7px;gap:2px;margin-bottom:9px;padding:2px;display:flex}.segmented button{background:0 0;border:0;border-radius:5px;flex:1;min-width:0;min-height:26px;padding:4px;font-size:11px}.segmented button[aria-pressed=true]{color:#0866e8;background:#fff;box-shadow:0 1px 3px #15243a16}.visitor-select{position:relative}.control-section>.segmented:last-child{margin-bottom:0}.dimension-grid{grid-template-columns:1fr 1fr;gap:7px 10px;margin-bottom:10px;display:grid}.dimension-grid label{align-items:center;gap:5px;min-width:0;display:flex}.dimension-grid label>span{flex:0 0 42px;font-size:11px}.dimension-grid label>div{align-items:center;gap:4px;min-width:0;display:flex}.dimension-grid input{min-width:42px;height:27px;padding:3px 4px;font-size:11px}.dimension-grid label>div>span{color:var(--muted);font-size:10px}.actions{background:#fff;flex-shrink:0;padding:8px 0 12px}.primary-button{background:var(--blue);color:#fff;border-color:#0000;justify-content:center;align-items:center;gap:10px;width:100%;min-height:35px;padding:7px 12px;font-size:12px;font-weight:600;display:flex}.primary-button:hover{background:#0867e8;border-color:#0000}.primary-button:disabled{opacity:.55}.primary-button[aria-busy=true]{cursor:progress}.button-spinner{border:2px solid #fff5;border-top-color:currentColor;border-radius:50%;width:15px;height:15px;animation:.8s linear infinite button-spin}@keyframes button-spin{to{transform:rotate(360deg)}}.action-pair{grid-template-columns:1fr 1fr;gap:7px;margin-top:7px;display:grid}.action-pair button{min-height:30px;padding:5px;font-size:11px}.letter-input{width:100%;height:49px;font:32px/1 var(--serif);margin-bottom:8px;padding:4px 10px}.font-select{width:100%;height:29px;font-size:12px}.shape-presets{gap:6px;display:flex}.shape-presets button{flex:1;min-height:29px;font-size:11px}.shape-presets button[aria-pressed=true]{color:var(--blue);background:#eff5ff;border-color:#c9defc}.draw-button{width:100%;min-height:29px;font-size:12px}@media (max-width:1000px){.studio-main{grid-template-columns:minmax(0,1fr) 330px}.inspector{padding-right:8px}.control-section{padding:9px}.flower-name{font-size:9.5px}}@media (max-width:680px){.masthead{height:72px;padding:0 16px}.wordmark{letter-spacing:-.5px;max-width:440px;font-size:21px}.workspace-tabs{padding:0 12px}.workspace-tabs button{flex:1;padding:6px 10px;font-size:12px}.studio-main{flex-direction:column;height:auto;display:flex}.workspace{padding:4px}.inspector{padding:8px 12px 12px}.inspector-fields{overflow:visible}.control-section{padding:12px}.flower-name{font-size:10px}.flower-select{min-height:86px}.flower-glyph{flex-basis:48px;width:48px;height:48px}.flower-color{width:21px;height:21px;top:34px}.actions{z-index:4;padding-top:10px;position:sticky;bottom:0}.primary-button{min-height:40px}.action-pair button,.video-download{min-height:36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
