body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;font-family:Inter,sans-serif;margin:0;padding:0}.app-wrapper{background:#e5e5e5;display:flex;flex-direction:column;height:100vh}.main-layout{display:flex;flex:1 1;overflow:hidden}.sidebar{background:#fff;border-right:1px solid #ddd;box-shadow:0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f,0 2px 4px -1px #0003;display:flex;flex-direction:column;min-height:0;overflow-x:hidden;overflow-y:auto;width:260px}.sidebar-tabs{border-bottom:1px solid #ddd;display:flex}.tab{background:#0000;border:none;color:#666;cursor:pointer;flex:1 1;font-weight:600;padding:14px 0}.tab.active{border-bottom:3px solid #007aff;color:#000}.sidebar-actions{display:flex;gap:10px;padding:16px}.action-btn{background:#007aff;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-weight:600;padding:10px}.sidebar-filter{color:#333;font-size:14px;padding:0 16px}.filter-row{gap:10px;margin:10px 0}.filter-row,.search-bar{align-items:center;display:flex}.search-bar{border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 5px 0 #00000024,0 1px 10px 0 #0000001f,0 2px 4px -1px #0003;gap:6px;padding:6px 8px}.search-bar input{border:none;flex:1 1;outline:none}.photo-preview{display:flex;justify-content:center;margin:20px}.photo-thumb{border-radius:4px;width:120px}.photo-preview-list{display:flex;flex-wrap:wrap;gap:8px;padding:10px}.photo-thumb{height:70px;object-fit:cover;width:70px}.remove-photo{background:#ff5b5b;color:#fff;line-height:18px;right:-5px;top:-5px}.layout-options{padding:15px}.layout-title{font-size:16px;font-weight:600;margin-bottom:15px;text-align:center}.layout-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(2,1fr);justify-items:center}.layout-item{cursor:pointer;text-align:center;transition:all .2s ease}.layout-item:hover{transform:scale(1.05)}.photo-thumb-wrapper{display:inline-block;margin:5px;position:relative}.photo-thumb{border:1px solid #ddd;border-radius:6px;height:auto;max-width:100px;width:100%}.remove-photo{background:#f00c;border:none;border-radius:50%;cursor:pointer;font-size:12px;height:20px;position:absolute;right:3px;top:3px;width:20px}@media (max-width:768px){.layout-grid{grid-template-columns:1fr}}.sort-dropdown-container{display:inline-block;position:relative}.sort-dropdown{background:#fff;border:1px solid #ccc;border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;margin-left:25px;margin-top:4px;min-width:140px;overflow:hidden;position:absolute;top:100%;z-index:999}.sort-option{cursor:pointer;font-size:14px;padding:8px 12px;text-transform:capitalize;transition:background .2s}.sort-option:hover{background:#f0f0f0}.layout-item.active{border:2px solid #007bff;border-radius:8px}.fullscreen-loader.transparent{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14141480;color:#fff;display:flex;flex-direction:column;font-family:Inter,sans-serif;font-size:1.1rem;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.loader-spinner{animation:spin 1s linear infinite;border:5px solid #ffffff4d;border-radius:50%;border-top-color:#00b4ff;height:60px;margin-bottom:15px;width:60px}.canvas-topbar{align-items:center;background:#e0e0e0;display:flex;justify-content:space-between;margin:0 0 6px;padding:6px 10px;width:100%}.canvas-topbar-left{align-items:center;color:#333;display:flex;font-size:20px;font-weight:600;gap:8px}.canvas-topbar-right{align-items:center;display:flex;gap:10px}.canvas-topbar-btn{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-weight:600;gap:6px;padding:6px 10px}.canvas-topbar-btn.icon-btn{background:#0000;color:#111}.canvas-topbar-btn.next-btn{background:#007aff;box-shadow:0 2px 4px #00000026;color:#fff}@media (max-width:1024px){.canvas-topbar{width:450px}}@media (max-width:768px){.canvas-topbar{width:100%}}.settings-dropdown{display:inline-block;position:relative}.settings-menu{background:#fff;border:1px solid #ccc;border-radius:8px;box-shadow:0 4px 10px #0000001a;padding:10px;position:absolute;right:0;text-align:left;top:45px;width:200px;z-index:999}.settings-menu h4{color:#333;font-size:14px;margin:0 0 8px}.settings-menu ul{list-style:none;margin:0;padding:0}.settings-menu li{border-radius:5px;cursor:pointer;padding:6px 8px;transition:.2s}.settings-menu li:hover{background-color:#f5f5f5}.settings-menu .exit-btn{background-color:#eee;border:1px solid #ccc;border-radius:6px;cursor:pointer;margin-top:10px;padding:6px;text-align:center;width:100%}.settings-menu .exit-btn:hover{background-color:#ddd}.canvas-section{background:#e0e0e0;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.editor-shell{flex-direction:column}.canvas-area{align-items:center;background:#e0e0e0;display:flex;flex:1 1;flex-direction:column;justify-content:flex-start;padding:20px;position:relative}.canvas-tools{background:#fff;border-radius:6px;box-shadow:0 2px 5px #00000026;display:flex;gap:10px;margin-bottom:15px;padding:8px 14px}.tool-btn{background:#0000;border:none;color:#555;cursor:pointer;font-weight:600}.canvas-wrapper{background:#fff;border-radius:6px;box-shadow:0 2px 10px #0000001a;height:700px;width:550px}@media (max-width:1024px){.sidebar{width:220px}.canvas-wrapper{height:600px;width:450px}}@media (max-width:768px){.main-layout{flex-direction:column}.sidebar{border-bottom:1px solid #ddd;border-right:none;width:100%}.canvas-wrapper{height:70vh;width:100%}}.editor-shell{align-items:flex-start;background:#e0e0e0;flex:1 1;height:100vh;overflow:hidden;padding:20px;position:relative}.canvas-center,.editor-shell{display:flex;justify-content:center}.canvas-center{align-items:center;background-color:#e0e0e0;box-sizing:border-box;min-height:calc(100vh - 100px);overflow:auto;width:100%}.canvas-center canvas{max-height:100%;object-fit:contain}.layout-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:absolute;z-index:10}.layout-missing-popup{background:#fff;border-radius:10px;box-shadow:0 4px 12px #0003;max-width:400px;padding:30px 40px;text-align:center;width:90%;z-index:11}.popup-title{font-size:1.4rem;margin-bottom:10px}.popup-message{color:#333;font-size:1rem;margin-bottom:20px}.popup-button{background:#111;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:all .2s ease}.popup-button:hover{background:#333}@media (max-width:768px){.editor-shell{height:auto;min-height:100vh;padding:10px}.canvas-center{margin-top:15px}.layout-missing-popup{max-width:320px;padding:25px 20px}.popup-title{font-size:1.2rem}.popup-message{font-size:.95rem}.popup-button{padding:8px 18px}}@media (max-width:480px){.editor-shell{padding:8px}.canvas-center{margin-top:10px}.layout-missing-popup{padding:20px 15px;width:95%}.popup-title{font-size:1.1rem}.popup-message{font-size:.9rem}.popup-button{width:100%}}.loading-overlay{align-items:center;background:#00000080;display:flex;flex-direction:column;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:9999}.spinner{animation:spin 1s linear infinite;border:6px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:60px;margin-bottom:20px;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-percent{color:#fff;font-size:24px;font-weight:700}#root,body,html{min-height:100%;min-width:0;width:100%}body{overflow-x:hidden}.app-wrapper,.canvas-center,.canvas-center>.canvas-container,.canvas-section,.editor-shell,.main-layout{min-width:0}.app-wrapper{height:auto;min-height:100dvh}.sidebar{flex:0 0 260px;min-width:0}.canvas-section{min-height:0}.editor-shell{height:100%;max-width:100%;min-height:0;padding:clamp(8px,2vw,20px);width:100%}.canvas-center{min-height:0;padding:0 clamp(4px,1.5vw,16px) 24px}.canvas-center>*{max-width:100%}.canvas-center canvas{display:block;height:auto!important;max-width:100%;touch-action:none}.konvajs-content,.konvajs-content canvas{touch-action:none}.text-editor-panel{color:#111}.text-editor-controls{align-items:center;display:flex;gap:6px;margin-bottom:8px}.text-editor-toolbar{background:#f9f9f9;border-bottom:1px solid #ddd;border-radius:6px 6px 0 0;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-start;padding:6px}.text-editor-close-button{background:#dc3545;border:0;border-radius:6px;color:#fff;cursor:pointer;margin-top:8px;padding:8px 12px;width:100%}.text-editor-title{color:#000;margin:0 0 8px}@media (max-width:768px){.main-layout{flex-direction:column;overflow:auto}.sidebar{border-bottom:1px solid #ddd;border-right:0;flex:0 0 auto;max-height:min(42dvh,380px);overflow-x:hidden;overflow-y:auto;width:100%}.canvas-section{flex:1 1 auto;min-height:58dvh;overflow:visible}.editor-shell{height:auto;min-height:100%;overflow:visible}.canvas-center{align-items:flex-start;overflow:auto;width:100%}.canvas-topbar{flex-wrap:wrap;gap:8px;padding:8px 10px;width:100%}.canvas-topbar-left{font-size:18px}.canvas-topbar-right{flex:1 1 100%;gap:4px;justify-content:flex-end}.canvas-topbar-btn{font-size:13px;min-height:36px;padding:7px 9px}.text-editor-panel{max-height:calc(100dvh - 16px);right:max(8px,env(safe-area-inset-right));top:max(5px,env(safe-area-inset-top));width:min(400px,calc(100vw - 16px))!important}}@media (max-width:480px){.sidebar{max-height:45dvh}.canvas-section{min-height:55dvh}.canvas-topbar-left span{font-size:16px}.canvas-topbar-right{justify-content:space-between}.canvas-topbar-btn{flex:1 1;font-size:12px;justify-content:center;padding-inline:6px}.text-editor-controls{align-items:stretch}.text-editor-controls select{min-width:0}}.layout-preview{background:#f8f9fa;border:1px solid #ccc;border-radius:6px;height:100px;margin:0 auto 8px;position:relative;width:100px}.image-editor-backdrop{align-items:center;background:#00000080;display:flex;flex-direction:column;gap:12px;inset:0;justify-content:center;overflow:auto;padding:16px;position:fixed;z-index:10000}.image-editor-stage-wrap{background:#fff;max-height:calc(100dvh - 100px);max-width:100%;overflow:auto}.image-editor-stage{display:block;flex:0 0 auto}.image-editor-stage-wrap canvas{max-height:none;max-width:none}.image-editor-actions{display:flex;gap:10px;justify-content:center}.image-editor-actions button{border:0;border-radius:6px;color:#fff;cursor:pointer;padding:7px 14px}.image-editor-done{background:#28a745}.image-editor-cancel{background:#dc3545}@media (max-width:768px){.canvas-topbar{flex-wrap:nowrap;gap:3px;margin:0 0 4px;overflow:visible;padding:4px 5px}.canvas-center{margin-top:0}.canvas-topbar-left{flex:0 0 clamp(102px,31vw,132px);font-size:14px;gap:2px;min-width:0}.canvas-topbar-left>button{flex:0 0 20px;min-width:20px;padding:0;width:20px}.canvas-topbar-left span{font-size:12px;line-height:1;margin-left:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-topbar-right{flex:1 1 auto;gap:2px;justify-content:stretch;min-width:0}.settings-dropdown{display:flex;flex:1 1;min-width:0}.canvas-topbar-right>.canvas-topbar-btn,.settings-dropdown>.canvas-topbar-btn{flex:1 1;font-size:10px;gap:2px;justify-content:center;min-width:0;overflow:hidden;padding:5px 3px;text-overflow:ellipsis;white-space:nowrap;width:100%}.layout-options{padding:10px}.layout-grid{align-items:start;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))!important}.layout-item{min-width:0;padding:4px;width:100%}.layout-preview{aspect-ratio:1/1;height:min(46vw,175px)!important;width:min(46vw,175px)!important}}@media (max-width:360px){.canvas-topbar-left{flex-basis:102px}.canvas-topbar-left span{font-size:10.5px}.canvas-topbar-right>.canvas-topbar-btn,.settings-dropdown>.canvas-topbar-btn{font-size:9px;padding-inline:1px}.canvas-topbar-btn i{font-size:10px}}@media (min-width:769px){.app-wrapper{height:100dvh;overflow:hidden}.main-layout{height:100%;min-height:0;overflow:hidden}.sidebar{height:100%;max-height:100%;overflow-y:auto}.editor-shell{justify-content:flex-start;padding:4px 8px 8px}.canvas-center{align-items:flex-start;justify-content:flex-start;padding:0 4px 16px}.canvas-topbar{margin-bottom:2px}.canvas-center>.canvas-container{flex:0 1 auto;margin:0}}
/*# sourceMappingURL=main.5c46134f.css.map*/