@import url("https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap");:root{--ink:#20201d;--muted:#77766f;--paper:#f6f5f1;--line:#dfded7;--panel:#fbfaf7;--orange:#ed6a3a;--orange-dark:#c9512b;--lavender:#d9d1ff}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{background:var(--paper);color:var(--ink);font-family:DM Sans,sans-serif}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:76px;border-bottom:1px solid var(--line);justify-content:space-between;padding:0 42px;background:rgba(251,250,247,.9)}.brand,.topbar{display:flex;align-items:center}.brand{gap:12px;font-weight:700;letter-spacing:-.04em;font-size:21px}.brand-mark{width:27px;height:27px;border-radius:8px 8px 12px 3px;background:var(--orange);transform:rotate(-11deg);display:inline-block}.top-actions{gap:22px}.auth-actions,.top-actions{display:flex;align-items:center}.auth-actions{gap:13px}.auth-button{padding:9px 13px;font-size:12px}.top-link{border:0;background:transparent;color:var(--muted);font-size:14px}.avatar{width:34px;height:34px;border:0;border-radius:50%;background:#272622;color:#fff;font-size:12px;font-weight:700}.dashboard{width:min(1220px,calc(100% - 64px));margin:0 auto;padding:68px 0 92px}.eyebrow{color:var(--orange-dark);text-transform:uppercase;letter-spacing:.16em;font:500 11px DM Mono,monospace}.hero{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:53px;gap:30px}h1{font:700 clamp(42px,6vw,72px)/.98 Playfair Display,serif;letter-spacing:-.055em;margin:13px 0 16px}.hero-copy{color:var(--muted);font-size:16px;line-height:1.6;max-width:410px;margin:0}.new-button{border:0;background:var(--ink);color:#fff;border-radius:5px;padding:14px 19px;display:flex;align-items:center;gap:10px;font-size:14px;transition:transform .2s,background .2s}.new-button:hover{transform:translateY(-2px);background:var(--orange-dark)}.plus{color:#f8bc9e;font-size:21px;line-height:0}.section-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:24px}.section-heading h2{font-size:16px;margin:0;letter-spacing:-.02em}.section-heading span{color:var(--muted);font:11px DM Mono,monospace}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:22px;gap:22px}.template-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-bottom:54px}.template-row button{border:0;background:transparent;padding:0;text-align:left;color:var(--ink)}.template-row button:hover .template-swatch{transform:translateY(-3px);box-shadow:0 10px 24px rgba(45,42,34,.1)}.template-row strong{display:block;font-size:13px;margin-top:11px}.template-swatch{display:flex;align-items:center;justify-content:center;aspect-ratio:2.2;border:1px solid var(--line);border-radius:4px;transition:transform .2s,box-shadow .2s;text-align:center;font:700 17px/.95 Playfair Display}.market-swatch{background:#f4c5b8;color:#52261f}.ideas-swatch{background:#ded8ff;color:#2e245d}.blank-swatch{background:#fff;color:var(--orange);font:28px DM Sans}.recent-heading{margin-top:0}.project-card{text-align:left;border:1px solid var(--line);background:var(--panel);padding:0;border-radius:5px;overflow:hidden;transition:transform .2s,box-shadow .2s}.project-card-wrap{min-width:0}.project-actions{display:flex;gap:12px;padding:9px 2px 0}.project-actions button{border:0;background:transparent;color:var(--muted);padding:0;font-size:11px}.project-actions button:hover{color:var(--orange-dark)}.project-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(45,42,34,.08)}.project-preview{aspect-ratio:1.35;padding:25px;display:flex;align-items:center;justify-content:center}.preview-paper{width:59%;aspect-ratio:.8;position:relative;box-shadow:0 9px 15px rgba(0,0,0,.13);overflow:hidden}.preview-one{background:#e8e1d3}.preview-paper.preview-one:before{content:"STILL\A LIFE";white-space:pre;position:absolute;left:16%;top:23%;font:700 26px/.95 Playfair Display;color:#223f38}.preview-paper.preview-one:after{content:"objects for ordinary days";position:absolute;left:17%;bottom:14%;font:7px DM Mono;color:#5d695d}.preview-two{background:#f4c5b8}.preview-paper.preview-two:before{content:"SUNDAY\A MARKET";white-space:pre;position:absolute;left:13%;top:18%;font:700 24px/.94 Playfair Display;color:#52261f}.preview-paper.preview-two:after{content:"fresh • local • slow";position:absolute;left:14%;bottom:14%;font:7px DM Mono;color:#8d4939}.preview-three{background:#ded8ff}.preview-paper.preview-three:before{content:"MAKE SPACE\A FOR IDEAS";white-space:pre;position:absolute;left:13%;top:26%;font:700 21px/.95 Playfair Display;color:#2e245d}.preview-paper.preview-three:after{content:"a note on creative practice";position:absolute;left:14%;bottom:14%;font:7px DM Mono;color:#655b9a}.project-info{padding:16px 18px 18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.project-name{font-size:14px;font-weight:600;margin:0 0 4px}.project-date{font-size:12px;color:var(--muted);margin:0}.kebab{color:var(--muted);font-size:20px}.editor-shell{height:100vh;min-height:650px;display:flex;flex-direction:column;background:#e9e8e3}.editorbar{height:65px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:var(--panel);border-bottom:1px solid var(--line)}.editor-left,.editor-right{display:flex;align-items:center;gap:17px}.back{border:0;background:transparent;color:var(--muted);font-size:20px}.doc-name{font-weight:600;font-size:14px}.save-state{font:11px DM Mono;color:#7c9b78}.export-button{color:#fff;border:0;background:var(--orange);border-radius:4px;padding:11px 17px;font-size:13px;font-weight:600}.export-button:hover{background:var(--orange-dark)}.editor-workspace{display:flex;flex:1 1;min-height:0}.tool-panel{width:245px;background:var(--panel);border-right:1px solid var(--line);padding:27px 20px}.tool-label{font:10px DM Mono;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin:0 0 13px}.tool-group{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:24px}.tool-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.tool{border:1px solid var(--line);background:#fff;border-radius:4px;padding:12px 6px;color:var(--ink);font-size:12px}.tool:hover{border-color:var(--orange);color:var(--orange-dark)}.tool-icon{display:block;font-size:20px;margin-bottom:6px}.layer-label{margin-top:26px}.zoom-controls{display:flex;align-items:center;justify-content:space-between;gap:8px}.zoom-controls .tool{padding:6px 11px;font-size:18px;line-height:1}.zoom-controls span{font:11px DM Mono;color:var(--muted)}.layer-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;margin-top:24px}.layer-actions .tool{padding:8px 3px;font-size:10px}.color-row{display:flex;gap:8px}.color{width:26px;height:26px;border:2px solid var(--panel);outline:1px solid var(--line);border-radius:4px}.color.selected{outline:2px solid var(--orange)}.canvas-area{flex:1 1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;overflow:auto;padding:30px}.canvas-wrap{width:min(680px,70vh);aspect-ratio:1;background:white;box-shadow:0 16px 38px rgba(39,37,29,.13);position:relative;touch-action:none}.canvas-grid{position:absolute;inset:0;background-image:linear-gradient(#f2f1ed 1px,transparent 0),linear-gradient(90deg,#f2f1ed 1px,transparent 0);background-size:10% 10%;pointer-events:none;opacity:.58}.canvas-element{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:move;display:flex;align-items:center}.canvas-element.selected{outline:2px solid var(--orange);outline-offset:4px}.element-text{font:700 40px Playfair Display;color:#25251f}.element-rect{background:var(--lavender)}.resize-handle{position:absolute;width:8px;height:8px;background:#fff;border:2px solid var(--orange);border-radius:50%;right:-6px;bottom:-6px;cursor:nwse-resize}.canvas-caption{font:10px DM Mono;color:var(--muted)}.element-image{overflow:hidden}.element-image img{width:100%;height:100%;object-fit:cover;pointer-events:none}.layers-list{border:1px solid var(--line);border-radius:4px;background:#fff;margin-bottom:22px;overflow:hidden}.layer-row{display:flex;align-items:center;border-bottom:1px solid var(--line);min-height:34px}.layer-row:last-child{border-bottom:0}.layer-row.active{background:#fff1eb}.layer-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;padding:8px;color:var(--ink);font-size:11px}.layer-icon,.layer-name{border:0;background:transparent}.layer-icon{width:25px;color:var(--muted);font:11px DM Mono;padding:5px 0}.layer-icon:hover{color:var(--orange-dark)}.marquee{z-index:20;border:1px dashed var(--orange);background:rgba(237,106,58,.08)}.marquee,.snap-guide{position:absolute;pointer-events:none}.snap-guide{z-index:19;border-color:rgba(237,106,58,.7);border-style:dashed}.snap-guide-x{top:0;bottom:0;border-left-width:1px}.snap-guide-y{left:0;right:0;border-top-width:1px}.layer-row.drop-before{border-top:2px solid var(--orange)}.layer-row.drop-after{border-bottom:2px solid var(--orange)}.rotation-handle{position:absolute;z-index:25;left:50%;top:4%;transform:translateX(-50%);width:24px;height:24px;border:1px solid var(--orange);border-radius:50%;background:#fff;color:var(--orange-dark);font-size:15px;line-height:20px;cursor:-webkit-grab;cursor:grab;box-shadow:0 2px 6px rgba(0,0,0,.12)}.selection-box{position:absolute;z-index:21;border:1px solid var(--orange);pointer-events:none}.transform-handle{position:absolute;width:9px;height:9px;padding:0;border:2px solid var(--orange);border-radius:50%;background:#fff;pointer-events:auto}.handle-nw{left:-5px;top:-5px;cursor:nwse-resize}.handle-n{left:calc(50% - 5px);top:-5px;cursor:ns-resize}.handle-ne{right:-5px;top:-5px;cursor:nesw-resize}.handle-e{right:-5px;top:calc(50% - 5px);cursor:ew-resize}.handle-se{right:-5px;bottom:-5px;cursor:nwse-resize}.handle-s{left:calc(50% - 5px);bottom:-5px;cursor:ns-resize}.handle-sw{left:-5px;bottom:-5px;cursor:nesw-resize}.handle-w{left:-5px;top:calc(50% - 5px);cursor:ew-resize}.property-panel{width:228px;background:var(--panel);border-left:1px solid var(--line);padding:27px 20px}.property-title{font-size:14px;font-weight:600;margin:0 0 28px}.property-row{display:flex;justify-content:space-between;align-items:center;margin:0 0 17px;font-size:12px;color:var(--muted)}.property-input{width:82px;border:1px solid var(--line);border-radius:3px;background:#fff;padding:7px 8px;font-size:12px;color:var(--ink)}.property-input:focus{outline:2px solid #f4b299;border-color:var(--orange)}.hint{color:var(--muted);font-size:11px;line-height:1.5;margin-top:42px}.color-input{width:82px;height:29px;padding:2px;border:1px solid var(--line);border-radius:3px;background:#fff}.property-actions{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:5px;gap:5px;margin:22px 0}.property-actions .tool{padding:8px 2px;font-size:10px}.auth-page{min-height:100vh;display:grid;place-items:center;background:var(--paper);padding:24px}.share-links-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:8px 24px;background:#302f2a;color:#f6f5f1;font:10px DM Mono}.share-links-bar span{display:inline-flex;align-items:center;gap:8px}.share-links-bar button{border:0;border-bottom:1px solid #f4b299;background:transparent;color:#f4b299;font:inherit;padding:0}.share-page{min-height:100vh;background:#e9e8e3;padding:0 24px 48px}.share-header{height:76px;display:flex;align-items:center;justify-content:space-between;max-width:900px;margin:auto;color:var(--muted);font:11px DM Mono}.share-canvas{width:min(80vw,760px);aspect-ratio:1;margin:38px auto 0;box-shadow:0 18px 45px rgba(39,37,29,.16);position:relative;overflow:hidden}.share-element{position:absolute;display:flex;align-items:center;white-space:pre-line}.share-element.text{font:700 40px Playfair Display}.share-element.rect{opacity:.95}.share-element.image{overflow:hidden}.share-element.image img{width:100%;height:100%;object-fit:cover}.share-error{min-height:100vh;display:grid;place-content:center;grid-gap:12px;gap:12px;text-align:center}.share-error h1{font-size:36px}@media (max-width:800px){.topbar{padding:0 20px}.top-link{display:none}.dashboard{width:min(100% - 40px,600px);padding-top:42px}.hero{display:block}.new-button{margin-top:25px}.project-grid,.template-row{grid-template-columns:1fr}.property-panel,.tool-panel{display:none}.canvas-area{padding:20px}.canvas-wrap{width:min(92vw,600px)!important}.editorbar{padding:0 15px}.save-state{display:none}.share-page{padding:0 14px 30px}.share-canvas{width:92vw;margin-top:20px}}