@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');
:root{font-family:'DM Sans',Arial,sans-serif;color:#292735;font-size:14px;--purple:#7654e8;--purple-dark:#6240d0;--ink:#282532;--muted:#777380;--line:#e9e7ee;--surface:#fff;--stage:#eeedf1;--soft:#f6f5f8;--rail:#fff}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:var(--stage)}button,input,textarea,select{font:inherit}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:inherit;border:0;background:transparent;white-space:nowrap}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #8c6fe8;outline-offset:3px}button:hover{background:#eeeaf9}input,textarea,select{color:var(--ink);background:var(--surface);border:1px solid #dedbe5;border-radius:7px;padding:10px 12px;min-width:0}button svg{flex-shrink:0}textarea{resize:vertical}a{color:var(--purple)}.app-shell{height:100dvh;display:grid;grid-template-rows:62px 1fr}.topbar{background:linear-gradient(105deg,#4097a9 0%,#6f62d7 47%,#834cdb 100%);color:white;display:flex;align-items:center;padding:0 18px;gap:8px;z-index:5}.topbar button:hover{background:#ffffff25}.logo{font:italic 700 31px Georgia,serif;letter-spacing:-1.5px;padding:2px 12px 6px 0}.topbar .divider{background:#ffffff35}.topbar .icon-button{color:white}.topbar .quiet{padding:9px 12px}.topbar .project-title{flex:1;text-align:center;max-width:360px;margin:auto;border:1px solid transparent;background:transparent;color:white;font-weight:500;text-overflow:ellipsis}.project-title:hover,.project-title:focus{border-color:#ffffff55;outline:none;background:#ffffff13}.save-indicator{display:flex;align-items:center;gap:7px;font-size:12px;color:#ffffffe8;white-space:nowrap}.avatar{height:33px;width:33px;border-radius:50%;background:#e5e7be;color:#47533e;font-weight:700;font-size:13px;border:2px solid #fff;flex-shrink:0}.avatar-stack{display:flex;align-items:center;margin:0 8px}.avatar-stack .avatar+.avatar{margin-left:-9px;background:#b9dfea}.topbar .present-btn{border:1px solid #ffffff66;border-radius:8px;padding:9px 14px}.topbar .share-btn{background:white;color:#383041;border-radius:8px;font-weight:650;padding:10px 17px;margin-left:4px}.workspace{min-height:0;display:grid;grid-template-columns:76px 306px minmax(0,1fr)}.rail{background:var(--rail);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:stretch;padding:11px 6px;gap:4px;z-index:3}.rail button{height:65px;gap:6px;flex-direction:column;font-size:11px;border-radius:10px;color:#625d6b}.rail button svg{width:22px;height:22px}.rail button.active{color:var(--purple);background:#f0ebfc}.rail .bottom{margin-top:auto}.panel{background:var(--surface);border-right:1px solid var(--line);overflow-y:auto;padding:22px 18px;min-height:0;scrollbar-width:thin}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.panel-title h2{font-family:Manrope,Arial,sans-serif;font-size:18px;margin:0;letter-spacing:-.5px}.icon-button{width:34px;height:34px;border-radius:7px;padding:5px;flex-shrink:0}.panel .search{position:relative;margin-bottom:20px}.search svg{position:absolute;top:12px;left:12px;color:#797384}.search input{height:43px;width:100%;padding-left:39px;font-size:13px;background:var(--surface)}.tabs{display:flex;border-bottom:1px solid var(--line);gap:15px;margin:0 0 18px}.tabs button{padding:0 7px 12px;font-size:14px;position:relative;flex:1}.tabs button.active{font-weight:600;color:var(--purple)}.tabs button.active:after{content:'';position:absolute;bottom:-1px;height:3px;background:var(--purple);left:0;right:0;border-radius:2px}.chips{display:flex;gap:7px;overflow:auto;padding:0 0 16px;scrollbar-width:none}.chip{border:1px solid #dfdce7;border-radius:7px;font-size:12px;padding:8px 11px;white-space:nowrap}.chip.active{color:var(--purple);border-color:#aa91f1;background:#f6f1ff}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:10px 0 13px;font-weight:650}.section-heading small{font-weight:400;font-size:12px;color:var(--muted)}.template-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px 11px}.template-card{display:block;position:relative;text-align:left;padding:0;min-width:0;background:none;border-radius:7px;overflow:hidden}.template-card:hover{background:none}.template-card .template-art{border-radius:7px;overflow:hidden;aspect-ratio:1.42;background:#eee;transition:box-shadow .18s,transform .18s;border:1px solid #00000007}.template-card:hover .template-art{box-shadow:0 0 0 2px #a78bed;transform:translateY(-1px)}.template-art canvas{width:100%;height:100%;object-fit:cover;display:block}.template-caption{display:block;margin:8px 0 0;overflow:hidden;text-overflow:ellipsis;font-size:11px;color:#6d6678}.template-tag{position:absolute;right:5px;top:6px;background:#ffffffe8;border-radius:4px;padding:2px 4px;color:#70519c;font-size:9px;font-weight:700}.design-callout{margin:23px 0 19px;padding:16px;border-radius:10px;background:linear-gradient(125deg,#f2eeff,#e6f7f5);position:relative}.design-callout strong{display:block;font-size:14px;margin:8px 0 6px}.design-callout p{font-size:12px;line-height:1.5;color:#736b81;margin:0 0 12px}.design-callout button{background:white;border:1px solid #ded7ed;border-radius:6px;padding:7px 13px;width:100%;font-size:12px;font-weight:550}.panel-footer{font-size:11px;color:#9a94a2;text-align:center;margin:22px 0 5px}.editor{display:grid;grid-template-rows:51px minmax(0,1fr) 102px 43px;min-width:0;min-height:0}.toolbar{display:flex;align-items:center;gap:8px;padding:7px 22px;background:var(--surface);border-bottom:1px solid var(--line);min-width:0;overflow-x:auto;scrollbar-width:none}.toolbar button{font-size:13px;padding:8px 9px;border-radius:6px}.toolbar input,.toolbar select{height:32px;padding:4px 8px;font-size:13px}.toolbar input[type=number]{width:58px}.toolbar select{max-width:135px}.toolbar .spacer{flex:1}.divider{height:22px;width:1px;background:var(--line);margin:0 5px;flex-shrink:0}.color-control{position:relative;width:28px;height:28px;flex-shrink:0;border:1px solid #ddd;border-radius:6px;overflow:hidden}.color-control input{position:absolute;width:48px!important;height:48px!important;padding:0;top:-10px;left:-10px;cursor:pointer;border:0}.canvas-area{overflow:auto;display:flex;align-items:center;justify-content:center;position:relative;padding:35px 48px 28px;min-width:0;min-height:0}.page-surround{position:relative;flex-shrink:0}.page-heading{position:absolute;left:0;right:0;top:-32px;display:flex;justify-content:space-between;align-items:center;color:#756f81;font-size:12px;height:27px;gap:8px}.page-heading span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-heading .page-actions{display:flex;gap:4px}.page-actions button{height:26px;width:27px}.artboard{position:relative;transform-origin:top left;background:white;box-shadow:0 3px 15px #2c22351b;touch-action:none;isolation:isolate}.artboard>canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.interaction{position:absolute;inset:0;touch-action:none;overflow:visible}.selection{position:absolute;border:1.7px solid #8c52f1;transform-origin:center;pointer-events:none;box-sizing:border-box}.handle{position:absolute;width:9px;height:9px;background:#fff;border:1.3px solid #8c52f1;border-radius:2px;pointer-events:auto;transform:translate(-50%,-50%);cursor:nwse-resize}.handle[data-handle=nw]{left:0;top:0}.handle[data-handle=n]{left:50%;top:0;cursor:ns-resize}.handle[data-handle=ne]{left:100%;top:0;cursor:nesw-resize}.handle[data-handle=e]{left:100%;top:50%;cursor:ew-resize}.handle[data-handle=se]{left:100%;top:100%}.handle[data-handle=s]{left:50%;top:100%;cursor:ns-resize}.handle[data-handle=sw]{left:0;top:100%;cursor:nesw-resize}.handle[data-handle=w]{left:0;top:50%;cursor:ew-resize}.rotation-handle{position:absolute;bottom:-38px;left:50%;width:24px;height:24px;border-radius:50%;background:white;color:#7451d9;transform:translateX(-50%);pointer-events:auto;box-shadow:0 1px 5px #0002;cursor:grab;display:grid;place-items:center}.rotation-handle:before{content:'';position:absolute;bottom:24px;height:12px;width:1px;background:#8c52f1}.text-edit{position:absolute;margin:0;padding:0;border:1px solid #9462eb;outline:0;border-radius:0;background:transparent;resize:none;overflow:hidden;transform-origin:center;z-index:8;white-space:pre-wrap}.selection-label{position:absolute;left:50%;bottom:-28px;transform:translateX(-50%);background:#7e4bd4;color:white;padding:2px 5px;border-radius:3px;font-size:11px;white-space:nowrap}.marquee{position:absolute;background:#9162ed12;border:1px solid #9262ed;pointer-events:none}.snapline{position:absolute;background:#bd79f7;pointer-events:none;z-index:3}.pages-strip{background:var(--stage);display:flex;align-items:center;padding:8px 25px;gap:12px;overflow-x:auto;border-top:1px solid #e2dfe8}.page-thumb{border:2px solid transparent;border-radius:7px;padding:3px;position:relative;flex-shrink:0;background:transparent;height:82px}.page-thumb.active{border-color:var(--purple)}.page-thumb canvas{width:109px;height:61px;border-radius:3px;display:block;box-shadow:0 1px 4px #0001}.page-thumb .number{position:absolute;bottom:5px;left:5px;background:#fffffff2;padding:1px 5px;border-radius:3px;font-size:10px;color:#675e76}.add-page-thumb{height:68px;width:92px;border:1px dashed #bfb9cb;border-radius:5px;color:#82788f;flex-shrink:0}.statusbar{display:flex;align-items:center;background:var(--surface);border-top:1px solid var(--line);padding:0 18px;gap:13px;color:#6f667c;font-size:12px}.statusbar button{font-size:12px;border-radius:5px;padding:6px}.statusbar .spacer{flex:1}.statusbar input{width:125px;padding:0;accent-color:var(--purple);border:0;height:18px}.statusbar .zoom-value{min-width:43px}.outline-button{border:1px solid #dcd7e5;padding:10px 14px;border-radius:7px}.primary-button{background:var(--purple);color:white;padding:11px 17px;border-radius:7px;font-weight:600}.primary-button:hover{background:var(--purple-dark)}.full{width:100%}.text-presets{display:grid;gap:10px}.text-preset{padding:18px;background:var(--soft);border:1px solid var(--line);border-radius:8px}.text-preset.heading{font-size:27px;font-weight:700}.text-preset.subheading{font-size:20px;font-weight:500}.text-preset.body{font-size:15px}.shape-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:13px 0 24px}.shape-item{height:72px;border-radius:9px;background:var(--soft);color:#8d70d7}.shape-item svg{width:43px;height:43px}.photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.photo-grid button{padding:0;overflow:hidden;border-radius:7px;height:102px}.photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.photo-grid button:hover img{transform:scale(1.05)}.field{margin:14px 0}.field label{display:block;font-size:12px;font-weight:550;color:#6d6379;margin-bottom:7px}.field input,.field textarea,.field select{width:100%}.field input[type=range]{padding:0;accent-color:var(--purple)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-row .field{margin:8px 0}.swatches{display:flex;flex-wrap:wrap;gap:10px;margin:13px 0 20px}.swatch{width:39px;height:39px;border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px #ddd}.brand-card{padding:18px;border:1px solid var(--line);border-radius:10px;margin:14px 0}.layer-item{display:flex;align-items:center;gap:9px;padding:10px 6px;border-bottom:1px solid var(--line);cursor:pointer}.layer-item.active{background:#f1eafb}.layer-icon{width:36px;height:33px;background:var(--soft);display:grid;place-items:center;border-radius:5px}.layer-name{flex:1;font-size:12px;max-width:138px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-item .icon-button{width:25px;height:28px}.upload-zone{padding:30px 14px;border:1px dashed #bab1cc;text-align:center;border-radius:10px;background:#faf8ff;margin:16px 0}.upload-zone p{font-size:13px;color:#8c809b;line-height:1.5}.comment-card{border:1px solid var(--line);padding:13px;border-radius:9px;margin:12px 0}.comment-author{display:flex;gap:9px;align-items:center;font-size:12px;font-weight:600}.comment-author .avatar{width:27px;height:27px;font-size:10px;background:#eae1f7}.comment-card p{font-size:14px;line-height:1.55;white-space:pre-wrap}.comment-card small{font-size:11px;color:#92869f}.comment-card button{font-size:11px;color:var(--purple)}.comment-card.resolved{opacity:.55}.empty{color:var(--muted);text-align:center;padding:28px 12px;font-size:14px;line-height:1.6}.empty svg{margin:0 auto 10px;display:block}.note-panel{position:absolute;left:0;bottom:0;right:0;height:150px;z-index:6;background:var(--surface);border-top:1px solid var(--line);padding:16px 25px}.note-panel textarea{width:100%;height:90px}.notes-open .canvas-area{padding-bottom:170px}.cursor{position:absolute;pointer-events:none;z-index:10;color:#35a591;font-size:11px;white-space:nowrap}.cursor span{display:block;margin:0 0 0 12px;padding:3px 6px;border-radius:3px;background:currentColor}.cursor b{color:white;font-weight:500}.floating-comment{position:absolute;right:15px;top:45px;box-shadow:0 3px 10px #33234312;border:1px solid var(--line);background:white;border-radius:50%;width:36px;height:36px;color:#645873}dialog{border:1px solid #e5dfee;border-radius:16px;padding:0;max-width:calc(100vw - 32px);width:470px;color:var(--ink);background:var(--surface);box-shadow:0 25px 90px #22133935}dialog::backdrop{background:#18102465;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 12px}.modal-head h2{font-family:Manrope,Arial,sans-serif;letter-spacing:-.5px;margin:0;font-size:21px}.modal-body{padding:6px 24px 25px}.modal-body p{line-height:1.55;color:#85798e;font-size:14px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.modal-separator{border-top:1px solid var(--line);margin:23px 0}.share-person{display:flex;gap:11px;align-items:center;margin:14px 0}.share-person .details{flex:1;font-size:13px}.share-person small{display:block;color:#8b8099;font-size:11px;margin-top:3px}.permission-tag{font-size:12px;color:#867b93}.copy-row{display:flex;gap:8px;margin-top:14px}.copy-row input{flex:1;font-size:12px}.export-preview{height:132px;background:#f2eff6;border-radius:8px;display:flex;justify-content:center;align-items:center;margin:12px 0 20px}.export-preview canvas{height:112px;max-width:95%;object-fit:contain;box-shadow:0 2px 8px #0002}.export-note{font-size:12px!important}.home-screen{grid-column:2/4;background:var(--surface);overflow-y:auto;padding:32px 45px}.home-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.home-header h1{font-family:Manrope,Arial;font-size:28px;letter-spacing:-1px;margin:0}.home-header p{margin:8px 0 0;color:var(--muted)}.home-banner{background:linear-gradient(105deg,#edf4fe,#efe6ff 65%,#f7eefa);border-radius:14px;padding:30px;text-align:center;margin-bottom:30px}.home-banner h2{font-size:27px;font-family:Manrope;letter-spacing:-.9px;margin:0 0 22px}.format-list{display:flex;align-items:center;justify-content:center;gap:25px}.format-button{flex-direction:column;font-size:12px;gap:10px}.format-button span{border-radius:16px;display:grid;place-items:center;background:#fff;width:58px;height:58px;color:#6f56d0;box-shadow:0 4px 12px #78518d0b}.home-search-row{display:flex;gap:12px;align-items:center;margin:18px 0}.home-search-row .search{position:relative;flex:1;max-width:330px}.home-search-row input{width:100%;padding-left:40px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:25px 20px}.project-card{border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:pointer;position:relative}.project-card:hover{box-shadow:0 4px 20px #0001}.project-cover{background:#eeedf2;padding:20px;aspect-ratio:1.5;display:flex;align-items:center;justify-content:center}.project-cover canvas{width:100%;max-height:100%;object-fit:contain;box-shadow:0 3px 9px #0002}.project-info{padding:14px;display:flex;align-items:center;justify-content:space-between}.project-info strong{font-size:14px;display:block}.project-info small{font-size:12px;color:#91899a;display:block;margin-top:6px}.home-templates{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.home-templates .template-caption{font-size:14px;color:var(--ink)}#toast{position:fixed;bottom:60px;left:50%;transform:translate(-50%,20px);z-index:1000;background:#282334;color:white;border-radius:9px;padding:12px 20px;max-width:90vw;box-shadow:0 5px 24px #0003;font-size:13px;opacity:0;transition:.2s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}.present-overlay{position:fixed;inset:0;background:#111;z-index:99;display:flex;align-items:center;justify-content:center;flex-direction:column}.present-overlay canvas{max-width:100%;max-height:calc(100% - 58px);object-fit:contain}.present-controls{height:52px;display:flex;gap:18px;align-items:center;color:white}.present-controls button{color:white;border-radius:7px;padding:9px}.present-controls button:hover{background:#ffffff25}.context-menu{position:fixed;min-width:200px;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:5px;z-index:40;box-shadow:0 8px 30px #25173625}.context-menu button{display:flex;justify-content:flex-start;padding:9px 12px;width:100%;border-radius:5px;font-size:13px}.context-menu kbd{margin-left:auto;color:#a198ab;font-size:11px}.keyboard-table{width:100%;font-size:13px;border-collapse:collapse}.keyboard-table td{padding:9px;border-bottom:1px solid var(--line)}kbd{font:12px 'DM Sans',Arial;background:var(--soft);padding:3px 6px;border-radius:4px}.theme-dark{--ink:#eee9f7;--muted:#b3a9c0;--line:#41384c;--surface:#2b2434;--stage:#1f1927;--soft:#383040;--rail:#27212f;color:var(--ink)}.theme-dark .rail button{color:#b6a6c5}.theme-dark .rail button.active{background:#514069;color:#d6c0fb}.theme-dark .panel-title,.theme-dark button{color:inherit}.theme-dark .template-caption,.theme-dark .statusbar,.theme-dark .page-heading{color:#b6a9c6}.theme-dark .design-callout{background:#44364f}.theme-dark .design-callout p{color:#c6b9cf}.theme-dark .design-callout button{background:#352d3e}.theme-dark .chip.active{background:#4c365d;color:#e3c9fc}.theme-dark .home-banner{background:linear-gradient(105deg,#29344d,#48305b)}.theme-dark .format-button span{background:#34253f;color:#d5c2f3}.theme-dark input,.theme-dark textarea,.theme-dark select{border-color:#51465d}.theme-dark .upload-zone{background:#35273f}.theme-dark .share-btn{color:#282532!important}.theme-dark .pages-strip{border-color:var(--line)}.theme-dark button:hover{background:#ffffff15}.theme-dark .primary-button{background:var(--purple)}
@media(min-width:1550px){.workspace{grid-template-columns:80px 330px minmax(0,1fr)}.panel{padding:24px}.canvas-area{padding:42px 64px}.template-art{aspect-ratio:1.35}}
@media(max-width:1180px){.workspace{grid-template-columns:66px 260px minmax(0,1fr)}.topbar{gap:3px;padding:0 12px}.topbar .quiet{padding:8px}.save-indicator span{display:none}.panel{padding:18px 14px}.toolbar{padding:7px 12px;gap:5px}.canvas-area{padding:38px 30px 25px}.home-screen{padding:25px}.topbar .project-title{max-width:230px}.template-caption{font-size:10px}.rail{padding:10px 4px}.format-list{gap:14px}}
@media(max-width:900px){.workspace{grid-template-columns:62px 230px minmax(0,1fr)}.topbar .file-label,.topbar .resize-label,.save-indicator,.topbar>.divider{display:none}.topbar .project-title{max-width:190px}.topbar .present-btn{padding:9px}.topbar .present-btn span{display:none}.avatar-stack{margin:0 2px}.editor{grid-template-rows:51px minmax(0,1fr) 86px 43px}.pages-strip{padding:6px 16px}.page-thumb{height:69px}.page-thumb canvas{width:88px;height:49px}.add-page-thumb{height:56px;width:58px}.toolbar .optional{display:none}.canvas-area{padding:33px 22px 20px}.panel{padding:18px 12px}.format-list{flex-wrap:wrap}.home-templates{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.app-shell{grid-template-rows:56px 1fr}.workspace{grid-template-columns:56px minmax(0,1fr)}.panel{position:absolute;left:56px;top:56px;bottom:0;width:272px;z-index:15;box-shadow:8px 0 20px #0002;display:none}.panel.mobile-open{display:block}.editor{grid-column:2}.logo{font-size:27px;padding-right:5px}.topbar .project-title{font-size:12px;max-width:145px}.topbar .avatar-stack,.topbar .present-btn{display:none}.topbar .share-btn{padding:9px 12px}.topbar .share-btn span{display:none}.topbar>.icon-button{width:29px}.rail button{font-size:10px;height:63px}.rail button svg{height:20px;width:20px}.statusbar{padding:0 8px;gap:6px}.statusbar input{width:65px}.statusbar .optional{display:none}.toolbar{padding:6px 8px}.toolbar button{font-size:12px}.canvas-area{padding:30px 14px 20px}.page-actions{display:none!important}.home-screen{grid-column:2;padding:22px 16px}.home-header h1{font-size:23px}.home-header{align-items:flex-start;gap:10px}.home-header p{font-size:12px}.home-header .primary-button{padding:9px;font-size:12px}.home-banner{padding:22px 12px}.home-banner h2{font-size:22px}.format-list{gap:17px}.format-button span{width:43px;height:43px;border-radius:11px}.format-button{font-size:11px}.home-templates{grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.home-search-row{flex-wrap:wrap}.home-search-row .search{max-width:100%}.modal-head{padding:20px 18px 10px}.modal-body{padding:6px 18px 22px}.modal-head h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
