:root{font-family:Lora,system-ui,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#3d342b;background-color:#fdfbf7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#e07a5f;text-decoration:inherit}a:hover{color:#d1664d}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Patrick Hand,cursive}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#fcfcfc;cursor:pointer;transition:border-color .25s}button:hover{border-color:#e07a5f}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#3d342b;background-color:#fdfbf7}a:hover{color:#e07a5f}button{background-color:#fff}}.context-menu{position:fixed;z-index:1000;width:200px;background-color:#fff;border-radius:4px;box-shadow:0 2px 10px #0003;padding:5px 0;border:1px solid #ddd;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:14px}.context-menu ul{list-style:none;padding:0;margin:0}.context-menu li{padding:8px 12px;cursor:pointer;display:flex;align-items:center;color:#333}.context-menu li:hover{background-color:#f0f0f0}.context-menu li.disabled{color:#ccc;cursor:default}.context-menu li.disabled:hover{background-color:transparent}.context-menu .checkmark{width:20px;display:inline-block;font-weight:700;color:#bb86fc}.context-menu .label{flex-grow:1}.photo-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.photo-modal-content{background:var(--bg-primary);padding:24px;border-radius:16px;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a;max-width:90vw;display:flex;flex-direction:column;align-items:center;border:1px solid var(--glass-border)}.photo-modal-content h3{margin:0 0 8px;font-family:var(--font-heading);color:var(--text-primary);font-size:1.8rem}.photo-modal-content p{margin:0 0 20px;color:var(--text-secondary);font-family:var(--font-body)}.photo-modal-canvas-container{border:2px solid var(--accent-color);border-radius:8px;overflow:hidden;background:#fff;margin-bottom:24px;box-shadow:inset 0 2px 4px #0000000f}.photo-modal-actions{display:flex;gap:16px;width:100%;justify-content:flex-end}.photo-modal-actions button{padding:10px 24px;border-radius:8px;font-size:1rem;cursor:pointer;font-weight:600;transition:all .2s ease}.cancel-btn{background:transparent;border:1px solid var(--text-secondary);color:var(--text-secondary)}.cancel-btn:hover{background:#0000000d}.confirm-btn{background:var(--accent-color);border:none;color:#fff}.confirm-btn:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}:root{--font-heading: "Patrick Hand", cursive;--font-body: "Lora", serif;--font-ui: "Lora", system-ui, sans-serif;line-height:1.5;font-weight:400;--bg-primary: #fdfbf7;--bg-secondary: #f4eadd;--accent-color: #e07a5f;--accent-hover: #d1664d;--text-primary: #3d342b;--text-secondary: #6e6359;--paper-bg: rgba(255, 255, 255, .85);--paper-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--glass-border: rgba(0, 0, 0, .05);color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:#d8c3a5}#root{width:100%;height:100vh}.app-container{display:flex;flex-direction:column;height:100vh;width:100%;background-image:url(/assets/wood_desk_bg-C-7nLR-t.jpg);background-size:cover;background-position:center;position:relative}.app-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#ffffff1a;pointer-events:none;z-index:1}.app-header{padding:.5rem 2rem;height:50px;background:var(--paper-bg);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-bottom:1px solid var(--glass-border);color:var(--text-primary);display:flex;align-items:center;justify-content:center;box-shadow:var(--paper-shadow);z-index:10;position:relative}.app-header h1{font-family:var(--font-heading);font-size:1.6rem;font-weight:400;margin:0;color:var(--text-primary)}.main-layout{display:flex;flex:1;overflow:hidden;position:relative;z-index:5;padding:10px 20px;gap:15px}.left-panel,.right-panel{width:300px;background:var(--paper-bg);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-radius:2px;display:flex;flex-direction:column;box-shadow:0 1px 1px #00000026,0 10px 0 -5px #eee,0 10px 1px -4px #00000026,0 20px 0 -10px #eee,0 20px 1px -9px #00000026;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:100;border:1px solid rgba(0,0,0,.05);background-image:linear-gradient(rgba(253,251,247,.5) 2px,transparent 2px),linear-gradient(90deg,rgba(253,251,247,.5) 2px,transparent 2px);background-size:100% 100%,100% 100%;position:fixed;top:80px;bottom:20px}.panel-scroll-container{flex:1;overflow-y:auto;padding:1.5rem;height:100%}.left-panel{left:20px;transform:rotate(-1deg)}.right-panel{right:20px;transform:rotate(1deg)}.left-panel.closed{transform:translate(calc(-100% - 40px)) rotate(-1deg)}.right-panel.closed{transform:translate(calc(100% + 40px)) rotate(1deg)}.left-panel.open{transform:translate(0) rotate(-1deg)}.right-panel.open{transform:translate(0) rotate(1deg)}.left-panel:before,.right-panel:before{content:"";position:absolute;top:-15px;left:40%;width:20%;height:35px;background-color:#e07a5f66;transform:rotate(-2deg);box-shadow:0 1px 3px #0003;border-left:1px dashed rgba(255,255,255,.3);border-right:1px dashed rgba(255,255,255,.3);z-index:10;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.right-panel:before{transform:rotate(2deg);background-color:#5ec99266}.panel-scroll-container::-webkit-scrollbar{width:6px}.canvas-area{flex:1;display:flex;flex-direction:column;align-items:center;padding:1rem;overflow:hidden;position:relative;background:transparent}.canvas-main-wrapper{flex:1;width:100%;display:flex;justify-content:center;align-items:center;overflow:auto}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.thumbnail,.artifact-item{cursor:grab;border-radius:4px;overflow:hidden;background:#fff;transition:transform .2s,box-shadow .2s;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d;padding:4px}.thumbnail:hover,.artifact-item:hover{transform:translateY(-2px) rotate(-1deg);box-shadow:0 10px 20px #00000030,0 6px 6px #0000003b;z-index:2}.thumbnail img,.artifact-item img{width:100%;height:auto;display:block;object-fit:contain;aspect-ratio:1;background:#fdfbf7}h2,.panel-title{font-family:var(--font-heading);font-size:1.5rem;color:var(--text-secondary);margin-top:0;margin-bottom:1.5rem;border-bottom:2px solid var(--bg-secondary);padding-bottom:.5rem}.btn-primary{background:var(--accent-color);color:#fff;border:none;padding:.6rem 1.4rem;border-radius:25px;font-family:var(--font-ui);font-weight:600;cursor:pointer;box-shadow:0 2px 4px #0000001a;transition:transform .1s,box-shadow .1s}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 6px #00000026;background-color:var(--accent-hover)}.btn-secondary{background:transparent;color:var(--text-primary);border:2px solid var(--text-secondary);padding:.5rem 1.2rem;border-radius:25px;cursor:pointer;font-family:var(--font-ui);font-weight:500;transition:all .2s}.btn-secondary:hover{background:var(--text-secondary);color:#fff}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d6cfc7;border-radius:5px;border:2px solid var(--paper-bg)}::-webkit-scrollbar-thumb:hover{background:#c0b9b0}.panel-toggle{position:fixed;top:50%;width:30px;height:60px;background:var(--accent-color);color:#fff;border:none;border-radius:0 8px 8px 0;cursor:pointer;z-index:1000;font-weight:700;font-family:monospace;display:flex;align-items:center;justify-content:center;box-shadow:2px 0 5px #0003;transition:left .3s ease,right .3s ease,background .2s;font-size:1.2rem}.panel-toggle:hover{background:var(--accent-hover);width:35px}.left-toggle{left:0;border-radius:0 8px 8px 0}.left-toggle.open{left:300px}.right-toggle{right:0;border-radius:8px 0 0 8px;box-shadow:-2px 0 5px #0003}.right-toggle.open{right:250px}.general-toggle{right:0;top:40%;border-radius:8px 0 0 8px;background:#6200ee}.general-toggle.open{right:200px}.drawer-close{position:absolute;top:10px;right:10px;background:transparent;border:2px solid var(--text-secondary);border-radius:50%;font-size:1.2rem;cursor:pointer;color:var(--text-secondary);z-index:150;width:30px;height:30px;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}.drawer-close:hover{color:var(--accent-color);border-color:var(--accent-color);background:#ffffff80}.app-container.responsive-mode .main-layout{position:relative}.app-container.responsive-mode .left-panel,.app-container.responsive-mode .right-panel{position:fixed;top:80px;bottom:20px;height:auto;margin-top:0;transform:rotate(0);background:var(--bg-primary);box-shadow:0 0 50px #0003;z-index:100;border-right:1px solid rgba(0,0,0,.1)}.app-container.responsive-mode .left-panel.open{transform:rotate(-1deg) translate(0)!important}.app-container.responsive-mode .right-panel.open{transform:rotate(1deg) translate(0)!important}.app-container.responsive-mode .left-panel{left:20px;transform:rotate(-1deg) translate(-150%)!important}.app-container.responsive-mode .right-panel{right:20px;transform:rotate(1deg) translate(150%)!important}.app-container.responsive-mode .left-panel:before,.app-container.responsive-mode .right-panel:before{display:block;top:-15px}.package-selector{padding:0 5px}.artist-group{margin-bottom:2.5rem}.artist-header{font-family:var(--font-heading);font-size:1.2rem;color:var(--text-secondary);margin-bottom:1rem;padding-left:8px;border-left:4px solid var(--accent-color);background:#e07a5f0d;border-radius:0 4px 4px 0}.package-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.package-tile{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:2px;cursor:pointer;transition:all .25s cubic-bezier(.175,.885,.32,1.275);padding:4px;box-shadow:0 1px 2px #0000001a;display:flex;flex-direction:column;position:relative;background-image:radial-gradient(circle at 50% 50%,#fff,#f4f4f44d)}.package-tile:hover{transform:translateY(-4px) rotate(2deg);box-shadow:0 8px 15px #0000001f;z-index:10}.package-tile.active{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--accent-color),0 4px 8px #e07a5f33;background-color:#fff9f5}.tile-thumb-container{width:100%;aspect-ratio:1;background:#fdfbf7;border:1px solid rgba(0,0,0,.03);overflow:hidden;margin-bottom:4px;display:flex;align-items:center;justify-content:center}.tile-thumb{width:100%;height:100%;object-fit:contain;transition:transform .3s}.package-tile:hover .tile-thumb{transform:scale(1.1)}.tile-title-box{padding:2px;text-align:center;border-top:1px solid rgba(0,0,0,.03);flex:1;display:flex;align-items:center;justify-content:center}.tile-title{font-family:var(--font-ui);font-size:.8rem;font-weight:600;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.1;text-transform:capitalize}.package-tile.active .tile-title{color:var(--accent-color)}.top-toolbar-container{position:absolute;top:15px;left:50%;transform:translate(-50%);background:var(--paper-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:10px 20px 12px;border-radius:8px;box-shadow:var(--paper-shadow);z-index:50;border:1px solid var(--glass-border);display:flex;flex-direction:column;align-items:center;transition:all .4s cubic-bezier(.4,0,.2,1);max-width:80%;min-width:300px}.toolbar-content-wrapper{transition:all .3s ease;overflow:hidden;width:100%}.top-toolbar-container.closed{transform:translate(-50%,-100%);opacity:.8;padding-bottom:0;box-shadow:none;background:transparent;border-color:transparent}.top-toolbar-container.closed .toolbar-content-wrapper{height:0;opacity:0;pointer-events:none}.top-toolbar-container.closed:hover{opacity:1}.toolbar-toggle{background:var(--paper-bg);border:1px solid var(--glass-border);border-top:none;border-radius:0 0 12px 12px;color:var(--text-secondary);cursor:pointer;padding:4px 25px;font-size:.8rem;opacity:.9;transition:all .2s;outline:none;box-shadow:0 2px 4px #0000001a;position:absolute;top:100%;left:50%;transform:translate(-50%);z-index:151}.toolbar-toggle:focus,.toolbar-toggle:active,.toolbar-toggle:focus-visible{outline:none!important;box-shadow:0 2px 4px #0000001a!important;-webkit-tap-highlight-color:transparent}.top-toolbar-container.closed .toolbar-toggle{background:#fff;opacity:1;box-shadow:0 4px 8px #00000026}.toolbar-toggle:hover{opacity:1;background:#fff;color:var(--accent-color);padding-bottom:8px}.toolbar-content{display:flex;gap:2rem;align-items:center}.toolbar-section{display:flex;flex-direction:column;gap:4px}.section-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);font-weight:700;text-align:center}.button-group{display:flex;gap:8px}.toolbar-btn{background:#fff;border:1px solid var(--glass-border);border-radius:4px;padding:6px 12px;cursor:pointer;display:flex;align-items:center;gap:6px;color:var(--text-primary);font-family:var(--font-ui);font-size:.85rem;transition:all .2s;box-shadow:0 1px 2px #0000000d}.toolbar-btn:hover{border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.toolbar-btn.primary-action{background:var(--accent-color);color:#fff;border:none}.toolbar-btn.primary-action:hover{background:var(--accent-hover);box-shadow:0 2px 8px #e07a5f4d}.toolbar-select{padding:4px 8px;border:1px solid var(--glass-border);border-radius:4px;font-family:var(--font-ui);font-size:.85rem;background:#fff}.export-section .button-group{border-left:1px solid var(--glass-border);padding-left:20px}.general-actions-panel .panel-scroll-container{padding:1.5rem;flex:1;overflow-y:auto}.panel-title{font-family:var(--font-heading);font-size:1.2rem;color:var(--text-primary);margin-bottom:1.5rem;text-align:center}.actions-grid{display:flex;flex-direction:column;gap:1.5rem}.action-group{display:flex;flex-direction:column;gap:.5rem}.group-label{font-family:var(--font-ui);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary);font-weight:700}.group-buttons{display:flex;gap:.5rem}.action-btn{flex:1;background:#fdfbf7;border:1px solid #e9ecef;border-radius:4px;padding:.6rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;color:var(--text-primary);transition:all .2s;box-shadow:0 1px 2px #0000000d;font-family:var(--font-ui)}.action-btn:hover:not(:disabled){background:#fff;color:var(--accent-color);border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.action-btn.primary-action{background:var(--accent-color);color:#fff;border:none;padding:.8rem}.action-btn.primary-action:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 4px 8px #e07a5f4d}.action-btn.btn-danger:hover{background:#fff5f5;color:#f44;border-color:#f44}.page-size-select{width:100%;padding:.6rem;border:1px solid #e9ecef;border-radius:6px;font-family:var(--font-ui);font-size:.85rem}.group-buttons.multi-row{flex-wrap:wrap}.panel-header-with-back{display:flex;align-items:center;gap:.8rem;margin-bottom:1.5rem}.back-btn{background:transparent;border:1px solid #e9ecef;border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all .2s}.back-btn:hover{background:var(--bg-secondary);color:var(--accent-color);border-color:var(--accent-color)}.action-btn.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.blend-slider{width:100%;margin-top:.5rem;accent-color:var(--accent-color);cursor:pointer}.action-group .action-btn:disabled{opacity:.3;cursor:not-allowed;filter:grayscale(1)}.panel-tabs{display:flex;background:#fff6;border-radius:4px 4px 0 0;margin:0;padding:1.5rem 1.5rem 0;overflow:hidden;box-shadow:inset 0 -1px 2px #0000000d;border-bottom:1px solid rgba(0,0,0,.1)}.tab-btn{flex:1;border:none;background:transparent;padding:.6rem;font-family:var(--font-heading);font-size:1rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;border-bottom:2px solid transparent}.tab-btn:hover{background:#ffffff4d}.tab-btn.active{color:var(--accent-color);background:var(--paper-bg);border-bottom:2px solid var(--accent-color);font-weight:700}.layers-view{display:flex;flex-direction:column;gap:1rem}.layers-list{display:flex;flex-direction:column;gap:.8rem;max-height:400px;overflow-y:auto;padding:4px}.layer-tile{background:#fff;border:1px solid #e9ecef;border-radius:4px;display:flex;align-items:center;padding:6px;gap:10px;cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #00000014;position:relative}.layer-tile:hover{border-color:var(--accent-color);transform:translate(2px);box-shadow:0 4px 6px #0000001a}.layer-tile.selected{border:2px solid var(--accent-color);background:#fdfaf8}.layer-thumbnail{width:64px;height:auto;min-height:32px;background:#fdfbf7;border:1px solid #f1f3f5;border-radius:3px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.layer-thumbnail img{width:100%;height:auto;display:block}.layer-name{flex:1;font-family:var(--font-ui);font-size:.85rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-badges{display:flex;gap:4px;color:var(--text-secondary);opacity:.6}.layer-actions-context{margin-top:1rem;padding-top:1rem;border-top:1px dashed #e9ecef;display:flex;flex-direction:column;gap:1rem}.effect-row{display:flex;flex-direction:column;gap:.4rem}.effect-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.effect-label{font-family:var(--font-ui);font-size:.75rem;color:var(--text-secondary);font-weight:600}.reset-mini{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:2px;display:flex;align-items:center;justify-content:center;transition:all .2s;opacity:.6}.reset-mini:hover{color:var(--accent-color);opacity:1;transform:scale(1.1)}.effect-row input[type=range]{width:100%;accent-color:var(--accent-color);cursor:pointer}.photo-upload-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--accent-color);opacity:.7;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;margin-left:4px}.photo-upload-btn:hover{opacity:1;transform:scale(1.15);color:var(--accent-hover)}.photo-upload-btn svg{width:16px;height:16px}
