@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";:root{--bg-page: #f8f9fa;--bg-panel: #ffffff;--bg-panel-hover: #f1f3f4;--bg-input: #f1f3f4;--text-primary: #1a1a2e;--text-secondary: #6b7280;--text-muted: #9ca3af;--border: rgba(0, 0, 0, .08);--border-strong: rgba(0, 0, 0, .15);--accent: #1f2023;--accent-text: #ffffff;--accent-hover: #3c4043;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--shadow-lg: 0 20px 40px rgba(0, 0, 0, .08);--slider-track: #e2e8f0;--slider-thumb: #1f2023;--transition: all .25s ease}.dark-theme{--bg-page: #0f1117;--bg-panel: #1a1d23;--bg-panel-hover: #22262e;--bg-input: #22262e;--text-primary: #f0f2f5;--text-secondary: #9aa3b0;--text-muted: #6b7280;--border: rgba(255, 255, 255, .08);--border-strong: rgba(255, 255, 255, .16);--accent: #e8eaed;--accent-text: #111214;--accent-hover: #c8ccd0;--shadow-sm: 0 1px 4px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 20px 60px rgba(0, 0, 0, .6);--slider-track: #2d3139;--slider-thumb: #e8eaed}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}.app-container{width:100%;min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 15% 30%,rgba(26,115,232,.04) 0%,transparent 25%),radial-gradient(circle at 85% 65%,rgba(217,48,37,.03) 0%,transparent 20%),radial-gradient(circle at 50% 10%,rgba(244,180,0,.04) 0%,transparent 30%),radial-gradient(circle at 70% 80%,rgba(15,157,88,.03) 0%,transparent 20%),var(--bg-page);background-size:150% 150%;animation:gradientFlow 20s ease infinite;color:var(--text-primary);transition:color .3s ease}.dark-theme.app-container{background:radial-gradient(circle at 20% 40%,rgba(100,140,255,.06) 0%,transparent 30%),radial-gradient(circle at 80% 60%,rgba(120,80,255,.04) 0%,transparent 25%),radial-gradient(circle at 50% 90%,rgba(40,200,180,.03) 0%,transparent 25%),var(--bg-page);background-size:200% 200%;animation:gradientFlow 25s ease infinite}@keyframes gradientFlow{0%{background-position:0% 0%}50%{background-position:50% 100%}to{background-position:0% 0%}}.app-header{text-align:center;padding:1rem 1.5rem .5rem;position:relative;z-index:10}.app-header h1{font-size:2.5rem;font-weight:800;letter-spacing:-.04em;margin-bottom:.2rem;color:var(--text-primary);line-height:1.1}.app-header p{color:var(--text-secondary);font-size:.875rem;font-weight:400;opacity:.8}.theme-toggle-btn{position:absolute;top:1rem;right:1.5rem;width:42px;height:42px;border-radius:50%;background:var(--bg-panel);border:1px solid var(--border-strong);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-md)}.theme-toggle-btn:hover{transform:scale(1.08);box-shadow:var(--shadow-lg)}.install-app-btn{position:absolute;top:1rem;right:5rem;height:42px;border-radius:24px;background:var(--bg-panel);border:1px solid var(--border-strong);color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:.5rem;padding:0 1.2rem;font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-md)}.install-app-btn:hover{background:var(--accent);color:var(--accent-text);border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-lg)}@media(max-width:768px){.theme-toggle-btn{display:none}.install-app-btn{right:1.5rem}}.app-main{flex:1;display:flex;flex-direction:column;padding:.5rem 2rem 2rem;width:100%;max-width:1920px;margin:0 auto}.upload-wrapper{display:flex;justify-content:center;align-items:center;flex:1;width:100%}.upload-container{width:100%;max-width:560px;background:var(--bg-panel);border:2px dashed var(--border-strong);border-radius:20px;padding:3.5rem 2rem;text-align:center;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-md)}.upload-container:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:var(--shadow-lg)}.upload-icon{color:var(--text-secondary);margin-bottom:1.25rem}.upload-text{font-size:1.2rem;font-weight:600;margin-bottom:.4rem;color:var(--text-primary)}.upload-subtext{color:var(--text-secondary);margin-bottom:.75rem;font-size:.9rem}.upload-hint{font-size:.8rem;color:var(--text-muted)}.three-column-layout{display:flex;justify-content:center;align-items:flex-start;gap:1.25rem;width:100%}.column-left{width:220px;flex-shrink:0}.column-right{width:260px;flex-shrink:0}.column-middle{flex:0 1 auto;min-width:0;display:flex;justify-content:center;max-width:calc(100% - 520px)}@media(max-width:768px){.three-column-layout{flex-direction:column;align-items:center;gap:0}.column-left,.column-right{display:none}.column-middle{width:100%;max-width:100%;padding-bottom:240px;overflow-x:auto}}.mobile-bottom-bar{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--bg-panel);border-top:1px solid var(--border);padding:.5rem 1rem calc(.5rem + env(safe-area-inset-bottom));z-index:50;box-shadow:0 -4px 20px #0000000d}.dark-theme .mobile-bottom-bar{box-shadow:0 -4px 20px #0000004d}.mobile-tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;background:transparent;border:none;color:var(--text-secondary);font-size:.65rem;font-weight:600;text-transform:uppercase;cursor:pointer;transition:var(--transition);padding:.5rem 0}.mobile-tab-btn.active{color:var(--accent)}@media(max-width:768px){.mobile-bottom-bar{display:flex;justify-content:space-around}}.mobile-bottom-sheet{position:fixed;bottom:0;left:0;right:0;background:var(--bg-panel);border-radius:20px 20px 0 0;padding:1.5rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom));z-index:60;box-shadow:0 -10px 40px #00000026;transform:translateY(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);display:none;max-height:85vh;overflow-y:auto}.dark-theme .mobile-bottom-sheet{box-shadow:0 -10px 40px #0009;border:1px solid var(--border-strong);border-bottom:none}.mobile-bottom-sheet.open{transform:translateY(0)}.sheet-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;border-bottom:1px solid var(--border);padding-bottom:.75rem}.sheet-title{font-size:1rem;font-weight:700;color:var(--text-primary)}.close-sheet-btn{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.25rem;border-radius:50%;transition:background .2s}.close-sheet-btn:hover{background:var(--bg-input);color:var(--text-primary)}@media(max-width:768px){.mobile-bottom-sheet{display:block}}.mobile-thumbnail-strip{display:none;flex-direction:row;overflow-x:auto;gap:.75rem;padding:1rem;background:var(--bg-panel);border-top:1px solid var(--border);position:fixed;bottom:calc(70px + env(safe-area-inset-bottom));left:0;right:0;z-index:45;box-shadow:0 -4px 15px #0000000d}.dark-theme .mobile-thumbnail-strip{box-shadow:0 -4px 15px #0000004d}.mobile-thumbnail-strip::-webkit-scrollbar{display:none}.mobile-thumbnail-strip .thumbnail-item{width:95px;height:95px;flex-shrink:0;border-radius:12px}@media(max-width:768px){:root{--mobile-canvas-safe-height: calc(100vh - 350px) }.mobile-thumbnail-strip{display:flex}.app-main{padding:0}.app-header{padding-bottom:.5rem}.canvas-wrapper{margin-top:1rem;border-radius:0;box-shadow:none;touch-action:pan-x pan-y pinch-zoom}.preview-canvas{max-height:var(--mobile-canvas-safe-height);width:100%;object-fit:contain}.remove-photo-btn,.header-hidden-mobile{display:none!important}}.panel-box{background:var(--bg-panel);border-radius:16px;padding:1rem;box-shadow:var(--shadow-md);border:1px solid var(--border);transition:background .3s ease,border .3s ease,box-shadow .3s ease}.panel-title{font-size:.9375rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary);border-bottom:1px solid var(--border);padding-bottom:.5rem}.settings-section{margin-bottom:1.5rem}.settings-section:last-child{margin-bottom:0}.thumbnail-strip{display:flex;flex-direction:column;gap:.5rem;max-height:400px;overflow-y:auto;margin-bottom:1rem;padding-right:.5rem}.thumbnail-strip::-webkit-scrollbar{width:5px}.thumbnail-strip::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.thumbnail-item{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:var(--transition);background:var(--bg-input)}.thumbnail-item img{width:100%;height:100%;object-fit:cover;opacity:.75;transition:opacity .2s ease}.thumbnail-item:hover img{opacity:1}.thumbnail-item.active{border-color:var(--accent);box-shadow:0 0 0 2px #0000001f}.thumbnail-item.active img{opacity:1}.remove-photo-btn{position:absolute;top:5px;right:5px;width:24px;height:24px;border-radius:50%;background:#0000008c;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:var(--transition);z-index:10}.remove-photo-btn:hover{background:#ef4444;transform:scale(1.1)}.thumbnail-item:hover .remove-photo-btn{opacity:1}.actions-group{display:flex;flex-direction:column;gap:.5rem}.control-group{display:flex;flex-direction:column;gap:.6rem}.control-label{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em}.slider{width:100%;accent-color:var(--slider-thumb);height:5px;border-radius:3px;background:var(--slider-track);outline:none;appearance:none;-webkit-appearance:none;cursor:pointer}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--slider-thumb);cursor:pointer;border:2px solid var(--bg-panel);box-shadow:0 1px 4px #00000040}.template-selector{display:flex;flex-direction:column;gap:.5rem}.template-heading{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-weight:700}.template-options{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.template-btn{padding:.45rem .75rem;border:1px solid var(--border-strong);background:var(--bg-input);border-radius:18px;cursor:pointer;font-family:inherit;font-size:.8125rem;color:var(--text-secondary);transition:var(--transition);text-align:center}.template-btn:hover{background:var(--bg-panel-hover);color:var(--text-primary);border-color:var(--accent)}.template-btn.active{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}.app-button,.new-photo-btn,.reset-btn,.upload-logo-btn,.download-btn{width:100%;padding:.6rem 1.2rem;border:1px solid transparent;background:var(--accent);border-radius:24px;color:var(--accent-text);cursor:pointer;font-size:.875rem;font-weight:600;font-family:inherit;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:.5rem}.new-photo-btn:hover,.upload-logo-btn:hover,.app-button:hover{background:var(--accent-hover);color:var(--accent-text)}.reset-btn{background:transparent;color:#ef4444;border:1px solid rgba(239,68,68,.4)}.reset-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444}.download-btn{padding:.9rem 2rem;font-size:1rem;margin:0 auto}.download-btn:hover{background:var(--accent-hover)}.logo-upload-group{display:flex;align-items:center;gap:.5rem}.clear-logo-btn{padding:.4rem .75rem;background:transparent;border:none;font-size:.8125rem;color:#ef4444;cursor:pointer;text-decoration:underline;font-family:inherit}.canvas-container{width:100%;display:flex;flex-direction:column;align-items:center}.canvas-wrapper{width:auto;border-radius:10px;overflow:hidden;box-shadow:var(--shadow-lg);background:var(--bg-panel);display:inline-flex;justify-content:center}.preview-canvas{width:auto;height:auto;max-width:100%;max-height:82vh;object-fit:contain;display:block}.global-loading-overlay{position:fixed;inset:0;background:#0a0a0fe0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.15);border-top-color:#e8eaed;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1.25rem}@keyframes spin{to{transform:rotate(360deg)}}.global-loading-overlay h2{font-size:1.4rem;margin-bottom:.4rem;color:#f0f2f5;font-weight:700;letter-spacing:-.02em}.global-loading-overlay p{color:#f0f2f599;font-size:.9rem}.app-footer{text-align:center;padding:1.25rem 2rem;border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:.35rem;margin-top:auto}.footer-brand{display:flex;align-items:center;gap:.5rem;margin-bottom:.2rem}.footer-logo{width:22px;height:22px;object-fit:contain;opacity:.85}.footer-brand-name{font-size:.9rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.footer-tagline{font-size:.8rem;color:var(--text-muted)}.footer-copy{font-size:.72rem;color:var(--text-muted);opacity:.6}.delete-confirm-overlay{position:fixed;inset:0;background:#000000a6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease-out forwards}.delete-confirm-modal{background:var(--bg-panel);border-radius:16px;padding:1.5rem;width:85%;max-width:320px;box-shadow:var(--shadow-xl);border:1px solid var(--border-strong);text-align:center;animation:scaleUp .15s ease-out forwards}.delete-confirm-modal h3{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.delete-confirm-modal p{font-size:.9rem;color:var(--text-secondary);line-height:1.4;margin-bottom:1.25rem}.modal-actions{display:flex;gap:.75rem;justify-content:center}.modal-actions button{flex:1;padding:.75rem 1rem;border-radius:10px;font-size:.95rem;font-weight:600;border:none;cursor:pointer;transition:var(--transition)}.btn-cancel{background:var(--bg-input);color:var(--text-primary)}.btn-delete{background:#ef4444;color:#fff}.btn-cancel:hover{background:var(--border-strong)}.btn-delete:hover{background:#dc2626;transform:scale(1.03)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@media(max-width:768px){.app-footer{display:none!important}}
