.ghibli-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;overflow:hidden;background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed}.cloud{display:none;position:absolute;background:#ffffffe6;border-radius:50px;opacity:.8;animation:float 20s infinite ease-in-out}.cloud:before,.cloud:after{content:"";position:absolute;background:#ffffffe6;border-radius:50px}.cloud1{width:200px;height:60px;top:10%;left:10%;animation-duration:25s}.cloud1:before{width:100px;height:100px;top:-50px;left:10px}.cloud1:after{width:120px;height:120px;top:-60px;right:10px}.cloud2{width:180px;height:55px;top:20%;right:15%;animation-duration:30s;animation-delay:-5s}.cloud2:before{width:90px;height:90px;top:-45px;left:15px}.cloud2:after{width:110px;height:110px;top:-55px;right:15px}.cloud3{width:160px;height:50px;top:5%;left:50%;animation-duration:35s;animation-delay:-10s}.cloud3:before{width:80px;height:80px;top:-40px;left:20px}.cloud3:after{width:100px;height:100px;top:-50px;right:20px}.cloud4{width:140px;height:45px;top:15%;right:40%;animation-duration:28s;animation-delay:-15s}.cloud4:before{width:70px;height:70px;top:-35px;left:25px}.cloud4:after{width:90px;height:90px;top:-45px;right:25px}@keyframes float{0%,to{transform:translate(0) translateY(0)}25%{transform:translate(20px) translateY(-10px)}50%{transform:translate(-10px) translateY(-5px)}75%{transform:translate(15px) translateY(-8px)}}.tree{display:none;position:absolute;bottom:0}.tree1{left:5%;width:200px;height:300px}.tree2{right:8%;width:180px;height:280px}.tree3{left:30%;width:150px;height:250px}.tree4{right:25%;width:170px;height:270px}.tree-trunk{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:30px;height:80px;background:linear-gradient(to right,#8b4513,sienna,#8b4513);border-radius:15px 15px 0 0}.tree-foliage{position:absolute;bottom:60px;left:50%;transform:translate(-50%);width:0;height:0;border-style:solid}.tree1 .tree-foliage{width:180px;height:220px;background:radial-gradient(ellipse at center,#7cb342,#66bb6a,#4caf50 60%,#388e3c);border-radius:50%/60% 60% 40% 40%;box-shadow:-20px -10px 0 -10px #4caf50cc,20px -10px 0 -10px #4caf50cc,-30px 20px 0 -15px #388e3cb3,30px 20px 0 -15px #388e3cb3,-15px 40px 0 -20px #4caf5099,15px 40px 0 -20px #4caf5099}.tree2 .tree-foliage{width:160px;height:200px;background:radial-gradient(ellipse at center,#7cb342,#66bb6a,#4caf50 60%,#388e3c);border-radius:50%/60% 60% 40% 40%;box-shadow:-18px -8px 0 -8px #4caf50cc,18px -8px 0 -8px #4caf50cc,-25px 18px 0 -12px #388e3cb3,25px 18px 0 -12px #388e3cb3,-12px 35px 0 -18px #4caf5099,12px 35px 0 -18px #4caf5099}.tree3 .tree-foliage{width:130px;height:170px;background:radial-gradient(ellipse at center,#7cb342,#66bb6a,#4caf50 60%,#388e3c);border-radius:50%/60% 60% 40% 40%;box-shadow:-15px -6px 0 -6px #4caf50cc,15px -6px 0 -6px #4caf50cc,-20px 15px 0 -10px #388e3cb3,20px 15px 0 -10px #388e3cb3}.tree4 .tree-foliage{width:150px;height:190px;background:radial-gradient(ellipse at center,#7cb342,#66bb6a,#4caf50 60%,#388e3c);border-radius:50%/60% 60% 40% 40%;box-shadow:-17px -7px 0 -7px #4caf50cc,17px -7px 0 -7px #4caf50cc,-22px 17px 0 -13px #388e3cb3,22px 17px 0 -13px #388e3cb3,-10px 32px 0 -16px #4caf5099,10px 32px 0 -16px #4caf5099}.tree-leaves{position:absolute;width:8px;height:8px;background:#4caf50;border-radius:50%;animation:leaf-fall 8s infinite ease-in-out;opacity:.6}@keyframes leaf-fall{0%{transform:translateY(0) rotate(0);opacity:.6}50%{opacity:.8}to{transform:translateY(100px) rotate(360deg);opacity:0}}.sun{display:none;position:absolute;top:15%;right:10%;width:120px;height:120px;background:radial-gradient(circle,gold,orange);border-radius:50%;box-shadow:0 0 40px #ffd70099;animation:sun-glow 3s infinite ease-in-out}@keyframes sun-glow{0%,to{box-shadow:0 0 40px #ffd70099}50%{box-shadow:0 0 60px #ffd700cc}}.bird{display:none;position:absolute;color:#333;font-size:20px;animation:bird-fly 15s infinite linear;opacity:.7}.bird1{top:25%;left:-50px;animation-duration:20s}.bird2{top:35%;left:-50px;animation-duration:25s;animation-delay:-5s}@keyframes bird-fly{0%{transform:translate(0) translateY(0)}25%{transform:translate(25vw) translateY(-20px)}50%{transform:translate(50vw) translateY(10px)}75%{transform:translate(75vw) translateY(-15px)}to{transform:translate(100vw) translateY(0)}}@media (max-width: 768px){.tree3,.tree4,.cloud3,.cloud4,.bird2{display:none}.tree1,.tree2{width:120px;height:180px}.tree1 .tree-foliage,.tree2 .tree-foliage{width:100px;height:120px}.sun{width:80px;height:80px;top:10%;right:5%}.cloud1,.cloud2{width:120px;height:40px}}*{margin:0;padding:0;box-sizing:border-box}:root{--ghibli-sky-blue: #87CEEB;--ghibli-light-blue: #B0E0E6;--ghibli-green: #7CB342;--ghibli-dark-green: #4CAF50;--ghibli-yellow: #FFD700;--ghibli-orange: #FF8C42;--ghibli-pink: #FFB6C1;--ghibli-purple: #BA68C8;--primary-color: #4A90E2;--primary-hover: #357ABD;--success-color: #66BB6A;--success-hover: #4CAF50;--bg-color: rgba(0, 0, 0, .25);--card-bg: rgba(0, 0, 0, .25);--card-bg-hover: rgba(0, 0, 0, .35);--border-color: rgba(255, 255, 255, .25);--text-primary: #f9fbff;--text-secondary: rgba(255, 255, 255, .85);--spacing: 1rem;--shadow-soft: 0 4px 20px rgba(0, 0, 0, .08);--shadow-medium: 0 8px 30px rgba(0, 0, 0, .12);--shadow-strong: 0 12px 40px rgba(0, 0, 0, .15)}body{font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:transparent;color:var(--text-primary);line-height:1.6;position:relative;overflow-x:hidden}body,p,li,label,span,input,select,textarea{color:var(--text-secondary);text-shadow:1px 1px 3px rgba(0,0,0,.4)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);text-shadow:2px 2px 6px rgba(0,0,0,.5)}.app-container{min-height:100vh;display:flex;flex-direction:column;position:relative;z-index:1}.ghibli-nav{position:sticky;top:0;z-index:100;background:transparent;backdrop-filter:blur(0px);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:none;border-bottom:none}.nav-left{display:flex;gap:2rem}.nav-link{color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;padding:.5rem 1.2rem;border-radius:20px;transition:all .3s ease;position:relative;text-shadow:2px 2px 6px rgba(0,0,0,.5),0 0 15px rgba(0,0,0,.3);background:#0003;backdrop-filter:blur(5px)}.nav-link:hover{background:#00000059;backdrop-filter:blur(8px);transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.nav-link.active{color:#fff;background:#4caf5066;backdrop-filter:blur(8px);box-shadow:0 4px 12px #4caf5066}.nav-right{margin-left:auto;display:flex;align-items:center;gap:1rem}.lang-selector{position:relative;display:inline-flex;align-items:center}.lang-selector-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#00000047;color:#fff;font-size:.85rem;letter-spacing:.03em;cursor:pointer;transition:all .2s ease}.lang-selector-toggle:hover,.lang-selector-toggle:focus-visible,.lang-selector.is-open .lang-selector-toggle{background:#8fd68f59;border-color:#8fd68fbf;color:#0b2e1b;outline:none}.lang-menu{position:absolute;top:110%;right:0;min-width:160px;padding:.35rem;border-radius:16px;border:1px solid rgba(255,255,255,.2);background:#00000073;backdrop-filter:blur(10px);box-shadow:0 18px 48px #00000059;display:none;flex-direction:column;gap:.25rem;z-index:50}.lang-selector.is-open .lang-menu{display:flex}.lang-option{width:100%;padding:.45rem .65rem;border:none;border-radius:10px;background:transparent;color:#ffffffd9;font-size:.85rem;text-align:left;cursor:pointer;transition:all .2s ease}.lang-option:hover,.lang-option:focus-visible{background:#8fd68f59;color:#0b2e1b;outline:none}.lang-option.is-active{background:#8fd68f80;color:#0b2e1b;font-weight:600}.ghibli-header{background:transparent;color:var(--text-primary);padding:3rem 2rem;text-align:center;position:relative}.ghibli-title{font-size:3.5rem;font-weight:700;margin-bottom:1rem;background:linear-gradient(135deg,#4a90e2,#66bb6a,#ba68c8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:2px 2px 8px rgba(0,0,0,.3),0 0 20px rgba(255,255,255,.5),0 0 40px rgba(255,255,255,.3);letter-spacing:-.02em;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.ghibli-subtitle{font-size:1.3rem;color:#fff;margin-bottom:2rem;font-weight:500;text-shadow:2px 2px 6px rgba(0,0,0,.5),0 0 15px rgba(0,0,0,.3);background:#0003;backdrop-filter:blur(5px);padding:.5rem 1.5rem;border-radius:20px;display:inline-block}.feature-badges{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.badge{padding:.6rem 1.5rem;border-radius:25px;font-size:.9rem;font-weight:500;color:#fff;box-shadow:var(--shadow-soft);transition:all .3s ease}.badge:hover{transform:translateY(-2px);box-shadow:var(--shadow-medium)}.badge-orange{background:linear-gradient(135deg,#ff8c42,#ff6b35)}.badge-green{background:linear-gradient(135deg,#66bb6a,#4caf50)}.badge-blue{background:linear-gradient(135deg,#4a90e2,#357abd)}.badge-purple{background:linear-gradient(135deg,#ba68c8,#9c27b0)}.header-description{max-width:800px;margin:0 auto;font-size:1rem;color:#fff;line-height:1.8;text-shadow:1px 1px 4px rgba(0,0,0,.5),0 0 10px rgba(0,0,0,.3);background:#00000040;backdrop-filter:blur(8px);padding:1.5rem 2rem;border-radius:15px;font-weight:400;margin-bottom:1.5rem}.header-quick-links{display:none;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-top:1rem}@media (max-width: 960px){.header-quick-links{display:flex}}.quick-link{color:#fff;text-decoration:none;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;border-radius:25px;background:#ffffff26;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);transition:all .3s ease;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.quick-link:hover{background:#ffffff40;transform:translateY(-2px);box-shadow:0 4px 12px #0003;border-color:#ffffff4d}.main-content{display:grid;grid-template-columns:320px 1fr 280px;grid-template-areas:"sidebar canvas image";align-items:start;gap:1.5rem;padding:1.5rem 1rem 2rem;flex:1;max-width:1800px;margin:0 auto;width:100%}.sidebar{grid-area:sidebar;background:var(--card-bg);backdrop-filter:blur(18px);border-radius:24px;padding:1.5rem;box-shadow:0 10px 40px #00000040;border:1px solid rgba(255,255,255,.18);overflow-y:auto;max-height:calc(100vh - 280px);transition:all .3s ease;color:var(--text-secondary)}.sidebar:hover{background:var(--card-bg-hover);box-shadow:0 18px 50px #00000059}.sidebar-section{margin-bottom:2rem;scroll-margin-top:110px}.sidebar-section:last-child{margin-bottom:0}.sidebar-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:transparent;border:none;padding:0;cursor:pointer;text-align:left;gap:1rem}.sidebar-section-toggle:focus-visible{outline:3px solid rgba(143,214,143,.5);border-radius:14px}.sidebar-section .section-title{font-size:1.1rem;font-weight:600;color:#8fd68f;text-shadow:2px 2px 6px rgba(0,0,0,.5);padding-bottom:.5rem;position:relative;display:inline-flex;align-items:center}.sidebar-section .section-title:after{content:"";position:absolute;bottom:-2px;left:0;width:30px;height:2px;background:#fff9;border-radius:2px}.sidebar-section .toggle-icon{width:24px;height:24px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;position:relative;transition:transform .25s ease;box-shadow:inset 0 0 0 1px #ffffff40}.sidebar-section .toggle-icon:before{content:"";width:8px;height:8px;border-left:2px solid rgba(255,255,255,.8);border-bottom:2px solid rgba(255,255,255,.8);transform:rotate(-45deg) translateY(-1px);transition:transform .25s ease}.sidebar-section.is-open .toggle-icon{box-shadow:inset 0 0 0 1px #8fd68f99}.sidebar-section.is-open .toggle-icon:before{transform:rotate(135deg) translateY(-1px)}.sidebar-section-content{margin-top:1rem}.mobile-section-nav{display:none;width:100%;max-width:1024px;margin:0 auto 1.25rem;padding:0 1rem;gap:.6rem;flex-wrap:wrap;justify-content:center}.mobile-nav-btn{flex:1 1 150px;min-width:140px;padding:.65rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#00000040;color:#ffffffe6;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:all .25s ease;text-shadow:1px 1px 3px rgba(0,0,0,.4);box-shadow:0 8px 24px #00000038}.mobile-nav-btn:hover,.mobile-nav-btn:focus-visible{background:#4caf5047;border-color:#8fd68f99;box-shadow:0 12px 28px #00000052;outline:none}.mobile-nav-btn.is-active{background:#8fd68f4d;border-color:#8fd68fb3;color:#e5ffe5}.upload-area{border:2px dashed rgba(255,255,255,.4);border-radius:20px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#0006;backdrop-filter:blur(8px);box-shadow:0 10px 35px #00000040;position:relative}.upload-area:hover{border-color:#fff9;background:#4caf5040;transform:translateY(-2px);box-shadow:0 16px 40px #00000059}.upload-area.drag-over{border-color:#4caf50cc;background:#4caf5059;transform:scale(1.02)}.upload-icon{font-size:3rem;margin-bottom:.5rem}.upload-icon img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 6px 12px rgba(0,0,0,.35))}.upload-area p{color:#fffffff2;margin:.25rem 0;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.upload-cta{margin-top:1rem;padding:.65rem 1.25rem;border-radius:14px;border:1px solid rgba(143,214,143,.6);background:linear-gradient(135deg,#8fd68f73,#66bb6ab3);color:#0f2410;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:all .25s ease;text-shadow:none;box-shadow:0 10px 30px #66bb6a47}.upload-cta:hover,.upload-cta:focus-visible{transform:translateY(-1px);box-shadow:0 14px 34px #66bb6a52;outline:none}.upload-hint{font-size:.875rem;color:#ffffffe6;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.image-count{margin-top:1rem;padding:.75rem;background:#0000004d;border-radius:16px;text-align:center;font-weight:500;color:#fff;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 25px #00000040}.template-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.template-categories{display:flex;gap:.6rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:.5rem}.template-categories::-webkit-scrollbar{height:6px}.template-categories::-webkit-scrollbar-thumb{background:#fff3;border-radius:999px}.template-subheading{font-size:.85rem;color:#8fd68f;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.6rem;text-shadow:1px 1px 3px rgba(0,0,0,.4)}.template-themes{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1rem}.recommendation-summary{padding:.85rem 1rem;border-radius:18px;border:1px solid rgba(143,214,143,.55);background:#00000047;box-shadow:0 12px 30px #8fd68f2e;backdrop-filter:blur(8px);margin-bottom:1rem;display:grid;gap:.55rem}.recommendation-summary.is-hidden{display:none}.recommendation-summary .summary-heading{font-size:.9rem;font-weight:600;color:#e4ffe3;text-transform:uppercase;letter-spacing:.08em}.recommendation-summary .summary-subtitle{font-size:.8rem;color:#ffffffc7;line-height:1.4}.recommendation-summary .summary-template{color:#bff4b8;font-weight:600}.recommendation-summary .summary-tags{display:flex;flex-wrap:wrap;gap:.4rem}.recommendation-summary .summary-tag{padding:.22rem .6rem;border-radius:999px;border:1px solid rgba(143,214,143,.55);background:#8fd68f33;color:#eefeea;font-size:.68rem;letter-spacing:.02em;text-shadow:1px 1px 2px rgba(0,0,0,.35)}.recommendation-summary .summary-note{font-size:.78rem;color:#ffffffb8;line-height:1.35}.template-theme-row{display:flex;gap:.65rem;overflow-x:auto;padding-bottom:.4rem}.template-theme-row::-webkit-scrollbar{height:6px}.template-theme-row::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.theme-chip{min-width:164px;padding:.75rem 1rem;border-radius:18px;border:1px solid rgba(255,255,255,.24);background:#0000005c;color:#ffffffe6;cursor:pointer;transition:all .25s ease;backdrop-filter:blur(8px);box-shadow:0 10px 28px #00000052;text-align:left;display:flex;flex-direction:column;gap:.35rem}.theme-chip .theme-chip-name{font-size:.95rem;font-weight:600;text-shadow:1px 1px 3px rgba(0,0,0,.4)}.theme-chip .theme-chip-desc{font-size:.78rem;color:#ffffffb8;line-height:1.35}.theme-chip:hover{transform:translateY(-3px);box-shadow:0 14px 32px #00000061}.theme-chip.active{border-color:#8fd68fb3;color:#edffec;box-shadow:0 14px 36px #8fd68f61}.theme-chip.theme-all.active{background:#ffffff26}.theme-chip.theme-holiday.active{background:#ffcdb259;border-color:#ffcdb2a6}.theme-chip.theme-commerce.active{background:#b0c4de59;border-color:#b0c4de99}.theme-chip.theme-travel.active{background:#add8e659;border-color:#add8e699}.theme-chip.theme-photography.active{background:#e6e6ff59;border-color:#e6e6ff99}.theme-chip.theme-social.active{background:#ffb6c159;border-color:#ffb6c199}.theme-chip.theme-family.active{background:#c8ffc859;border-color:#c8ffc899}.template-category{padding:.45rem .9rem;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#00000040;color:#ffffffe6;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .25s ease;backdrop-filter:blur(6px);text-shadow:1px 1px 3px rgba(0,0,0,.4);box-shadow:0 8px 24px #00000038}.template-category:hover{transform:translateY(-1px);box-shadow:0 12px 28px #00000052}.template-category.active{background:#8fd68f4d;border-color:#8fd68f99;box-shadow:0 12px 30px #8fd68f59;color:#e5ffe5}.template-item{padding:1rem;border:2px solid rgba(255,255,255,.2);border-radius:12px;text-align:center;cursor:pointer;transition:all .3s ease;background:#00000040;backdrop-filter:blur(8px);color:#fff;box-shadow:0 8px 30px #00000040;position:relative;overflow:visible}.template-item:hover{border-color:#4caf5099;transform:translateY(-3px);box-shadow:0 12px 36px #00000059;background:#4caf5040}.template-item.active{border-color:#4caf50cc;background:#4caf5059;box-shadow:0 12px 36px #00000059}.template-item.recommended{border-color:#8fd68fb3}.template-item.favorite{border-color:#8fd68f99;box-shadow:0 12px 36px #8fd68f52}.template-item.favorite .template-name{color:#c8ffd0}.template-tags{margin-top:.75rem;display:flex;gap:.35rem;flex-wrap:wrap;justify-content:center}.template-tag{padding:.18rem .55rem;border-radius:999px;font-size:.68rem;letter-spacing:.02em;border:1px solid rgba(255,255,255,.18);background:#0006;color:#f0fafff2;text-transform:uppercase;text-shadow:0 0 6px rgba(0,0,0,.6);box-shadow:inset 0 0 0 1px #ffffff1f,0 6px 18px #00000059;word-break:break-word;hyphens:auto;text-align:center}.template-tag.theme-holiday{border-color:#ffcdb2cc;background:#ffcdb259;color:#2b1d1d}.template-tag.theme-commerce{border-color:#b0c4debf;background:#b0c4de52;color:#10232f}.template-tag.theme-travel{border-color:#add8e6bf;background:#add8e652;color:#0f2c37}.template-tag.theme-photography{border-color:#e6e6ffbf;background:#e6e6ff52;color:#1f2238}.template-tag.theme-social{border-color:#ffb6c1bf;background:#ffb6c152;color:#341822}.template-tag.theme-family{border-color:#c8ffc8bf;background:#c8ffc852;color:#17301b}.template-item.recommended:before{content:"AI";position:absolute;top:8px;left:8px;font-size:.65rem;font-weight:600;letter-spacing:.02em;color:#1f3d1f;background:#8fd68fe6;padding:.2rem .45rem;border-radius:999px;box-shadow:0 4px 12px #8fd68f66;pointer-events:none;z-index:2}.template-favorite-btn{position:absolute;top:.6rem;right:.6rem;width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:#0000008c;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;backdrop-filter:blur(6px);color:#ffffffd9;font-size:.9rem;box-shadow:0 6px 14px #00000059;z-index:3}.template-favorite-btn:before{content:"☆"}.template-favorite-btn:hover{transform:translateY(-1px) scale(1.05)}.template-favorite-btn:focus-visible{outline:2px solid rgba(143,214,143,.85);outline-offset:2px}.template-favorite-btn.is-favorite{border-color:#8fd68fcc;background:#8fd68f59;color:#f0fff0;box-shadow:0 8px 20px #8fd68f73}.template-favorite-btn.is-favorite:before{content:"★"}.template-icon{font-size:1.5rem;margin-bottom:.5rem;display:flex;align-items:center;justify-content:center;height:42px}.template-icon-grid{display:grid;width:86px;height:68px;gap:3px;padding:6px;border-radius:16px;background:#ffffff1f;border:1px solid rgba(255,255,255,.2);align-items:center;justify-items:center}.template-icon-grid span{display:block;width:100%;height:100%;background:linear-gradient(135deg,#fffffff2,#d6e1ff8c);border-radius:8px;box-shadow:inset 0 1px 3px #ffffffa6,0 0 1px #0000004d}.template-icon-grid.custom-horizontal{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr}.template-icon-grid.custom-horizontal .icon-bar,.template-icon-grid.custom-vertical .icon-bar{background:#fffc}.template-icon-grid.custom-horizontal .icon-arrow,.template-icon-grid.custom-vertical .icon-arrow{background:transparent;font-size:1.6rem;font-weight:700;color:#ffffffd9;text-shadow:0 4px 10px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center}.template-icon-grid.custom-vertical{grid-template-columns:1fr;grid-template-rows:repeat(3,1fr)}.template-name{font-size:.875rem;font-weight:500;color:#fff;text-shadow:1px 1px 3px rgba(0,0,0,.5)}.custom-grid-controls{display:flex;flex-direction:column;gap:1rem}.custom-grid-controls label{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;color:#ffffffe6;text-shadow:1px 1px 3px rgba(0,0,0,.4)}.custom-grid-controls input[type=number]{width:80px;padding:.5rem;border:1px solid rgba(255,255,255,.2);border-radius:14px;font-size:.9rem;transition:all .3s ease;background:#00000059;color:#fff;box-shadow:inset 0 2px 6px #0006,0 6px 18px #00000040;text-align:center;text-shadow:1px 1px 3px rgba(0,0,0,.4)}.custom-grid-controls input[type=number]:focus{outline:none;border-color:#4caf5099;box-shadow:0 0 0 3px #4caf5040,inset 0 2px 8px #00000080;background:#4caf504d}.decorate-block{background:#00000040;border:1px solid rgba(255,255,255,.15);border-radius:18px;padding:1rem;margin-bottom:1rem;box-shadow:0 12px 30px #00000047}.decorate-block:last-of-type{margin-bottom:1.25rem}.decorate-heading{font-size:.95rem;font-weight:600;color:#8fd68f;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.decorate-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem}.decorate-field span{font-size:.8rem;color:#ffffffb3}.decorate-field input[type=text]{width:100%;padding:.6rem .75rem;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#0000004d;color:#fff;transition:all .25s ease;box-shadow:inset 0 2px 6px #0006}.decorate-field input[type=text]:focus{outline:none;border-color:#8fd68fb3;box-shadow:0 0 0 2px #8fd68f40,inset 0 2px 10px #00000080}.decorate-field-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.decorate-field-row select,.decorate-field-row input[type=color]{padding:.55rem .75rem;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:#0000004d;color:#fff;cursor:pointer;transition:all .25s ease;box-shadow:inset 0 2px 6px #0006}.decorate-field-row select:focus,.decorate-field-row input[type=color]:focus{outline:none;border-color:#8fd68fb3;box-shadow:0 0 0 2px #8fd68f40,inset 0 2px 10px #00000080}.decorate-action{width:100%;padding:.7rem 1rem;border-radius:12px;border:none;background:linear-gradient(135deg,#4caf5080,#66bb6acc);color:#102214;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;text-shadow:none;box-shadow:0 12px 30px #66bb6a4d}.decorate-action:hover,.decorate-action:focus-visible{transform:translateY(-1px);box-shadow:0 16px 38px #66bb6a59;outline:none}.sticker-options{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.sticker-option{padding:.5rem .75rem;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#00000047;color:#fff;font-size:1.25rem;cursor:pointer;transition:all .2s ease;box-shadow:0 10px 24px #00000047}.sticker-option:hover,.sticker-option:focus-visible{border-color:#8fd68f99;background:#66bb6a59;outline:none}.decorate-active{display:flex;flex-direction:column;gap:.6rem}.decorate-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem .85rem;border-radius:12px;background:#00000059;border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 26px #00000047;color:#ffffffe6;cursor:pointer}.decorate-item.is-active{border-color:#8fd68fb3;box-shadow:0 16px 34px #8fd68f66}.decorate-item-type{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#8fd68fd9}.decorate-item-content{flex:1;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.decorate-item[data-highlight-mode=text] .decorate-item-content{font-weight:600}.decorate-item[data-highlight-mode=text] .decorate-text-sample{display:inline-block;font-weight:inherit}.decorate-item-meta{font-size:.75rem;color:#ffffff8c;margin-top:.25rem}.decorate-remove{background:transparent;border:none;color:#fffc;cursor:pointer;font-size:.85rem;display:flex;align-items:center;gap:.25rem;transition:color .2s ease}.decorate-remove:hover,.decorate-remove:focus-visible{color:#ff7878e6;outline:none}.decorate-empty{text-align:center;padding:.75rem 0;font-size:.85rem;color:#fff9}.settings-controls{display:flex;flex-direction:column;gap:1rem}.settings-controls label{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;color:#ffffffe6;text-shadow:1px 1px 3px rgba(0,0,0,.4)}.range-wrapper{position:relative;flex:1;margin:0 .5rem;height:18px;display:flex;align-items:center}.range-track{width:100%;height:6px;border-radius:999px;background:#ffffff38;overflow:hidden;position:relative}.range-progress{position:absolute;top:0;left:0;bottom:0;width:0;border-radius:999px;background:linear-gradient(135deg,#66bb6ab3,#66bb6af2);box-shadow:inset 0 0 6px #ffffff40,0 8px 20px #66bb6a73;pointer-events:none}.range-wrapper input[type=range]{position:absolute;width:100%;height:18px;top:-6px;left:0;margin:0;background:transparent;appearance:none;cursor:pointer;z-index:2}.range-wrapper input[type=range]::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:var(--success-color);border:2px solid rgba(255,255,255,.75);box-shadow:0 6px 14px #66bb6a73;transition:transform .2s ease}.range-wrapper input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.1)}.range-wrapper input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:transparent}.range-wrapper input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--success-color);border:2px solid rgba(255,255,255,.75);box-shadow:0 6px 14px #66bb6a73;transition:transform .2s ease}.range-wrapper input[type=range]::-moz-range-thumb:hover{transform:scale(1.1)}.range-wrapper input[type=range]::-moz-range-track{height:6px;border-radius:999px;background:#ffffff38}.range-wrapper input[type=range]::-moz-range-progress{height:6px;border-radius:999px;background:linear-gradient(135deg,#66bb6ab3,#66bb6af2)}.range-wrapper input[type=range]::-ms-thumb{width:18px;height:18px;border-radius:50%;background:var(--success-color);border:2px solid rgba(255,255,255,.75)}.range-wrapper input[type=range]::-ms-track{height:6px;border-radius:999px;background:#ffffff38;border-color:transparent;color:transparent}.range-wrapper input[type=range]::-ms-fill-lower{background:linear-gradient(135deg,#66bb6ab3,#66bb6af2);border-radius:999px}.settings-controls input[type=color]{width:50px;height:35px;border:1px solid rgba(255,255,255,.25);border-radius:12px;cursor:pointer;transition:all .3s ease;box-shadow:0 6px 18px #00000040}.settings-controls input[type=color]:hover{transform:scale(1.1);box-shadow:0 10px 28px #00000059}.settings-controls span{min-width:50px;text-align:right;font-weight:500;color:#ffffffd9;text-shadow:1px 1px 3px rgba(0,0,0,.4)}.image-fit-control{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border-radius:12px;background:#00000040;box-shadow:inset 0 0 0 1px #ffffff14}.image-fit-label{font-size:.9rem;font-weight:600;color:#ffffffeb;text-shadow:1px 1px 3px rgba(0,0,0,.35)}.image-fit-toggle{display:inline-flex;padding:4px;border-radius:999px;background:#ffffff14;gap:6px}.image-fit-option{flex:1;min-width:110px;padding:.45rem .75rem;border-radius:999px;border:none;background:transparent;color:#ffffffbf;font-size:.85rem;font-weight:600;text-shadow:1px 1px 3px rgba(0,0,0,.3);transition:all .2s ease;cursor:pointer}.image-fit-option.is-active{background:linear-gradient(135deg,#66bb6ad9,#7ccf80f2);color:#103618;box-shadow:0 8px 18px #66bb6a59}.image-fit-option:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:2px}.image-fit-hint{margin:0;font-size:.75rem;line-height:1.35;color:#ffffffb3;text-shadow:1px 1px 3px rgba(0,0,0,.35)}@media (max-width: 768px){.image-fit-toggle{flex-wrap:wrap;justify-content:center}.image-fit-option{flex:0 1 48%;min-width:unset;font-size:.8rem}}.export-controls{display:flex;flex-direction:column;gap:1rem}.export-controls label{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;color:#ffffffe6;text-shadow:1px 1px 3px rgba(0,0,0,.4)}.export-controls select{padding:.5rem .75rem;border:1px solid rgba(255,255,255,.2);border-radius:14px;font-size:.9rem;cursor:pointer;transition:all .3s ease;background:#00000059;color:#fff;box-shadow:inset 0 2px 6px #0006,0 6px 18px #00000040;appearance:none;text-shadow:1px 1px 3px rgba(0,0,0,.4)}.export-controls select option{background:#141414f2;color:#fff}.export-controls select:focus{outline:none;border-color:#4caf5099;box-shadow:0 0 0 3px #4caf5040,inset 0 2px 8px #00000080;background:#4caf504d}.btn{padding:.75rem 1.5rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%;color:#fff;box-shadow:0 10px 28px #00000047;text-shadow:1px 1px 3px rgba(0,0,0,.4)}.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%)}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-hover) 0%,var(--primary-color) 100%);transform:translateY(-2px);box-shadow:0 16px 36px #00000059}.btn-success{background:linear-gradient(135deg,var(--success-color) 0%,var(--success-hover) 100%)}.btn-success:hover{background:linear-gradient(135deg,var(--success-hover) 0%,var(--success-color) 100%);transform:translateY(-2px);box-shadow:0 16px 36px #00000059}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.canvas-area{grid-area:canvas;background:var(--card-bg);backdrop-filter:blur(18px);border-radius:30px;padding:1.5rem;box-shadow:0 12px 45px #00000047;border:1px solid rgba(255,255,255,.18);overflow:auto;display:flex;align-items:center;justify-content:center;transition:all .3s ease;color:#ffffffd9;position:relative}.canvas-area:hover{box-shadow:0 20px 55px #0000005c}.canvas-toolbar{position:absolute;top:1rem;right:1rem;display:none;gap:.5rem;z-index:5}.canvas-expand-btn,.canvas-close-btn{padding:.45rem .85rem;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:#00000059;color:#fff;font-size:.85rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:all .25s ease;text-shadow:1px 1px 3px rgba(0,0,0,.4);box-shadow:0 8px 24px #00000040}.canvas-expand-btn:hover,.canvas-expand-btn:focus-visible,.canvas-close-btn:hover,.canvas-close-btn:focus-visible{background:#66bb6a73;border-color:#8fd68fbf;outline:none}.canvas-close-btn{display:none}body.is-canvas-expanded{overflow:hidden}body.is-canvas-expanded .canvas-area{position:fixed;inset:0;z-index:150;width:100vw;height:100vh;padding:1.25rem;border-radius:0;max-width:none}body.is-canvas-expanded .canvas-container{max-width:none}body.is-canvas-expanded .canvas-toolbar{top:1.25rem;right:1.25rem}body.is-canvas-expanded .canvas-expand-btn{display:none}body.is-canvas-expanded .canvas-close-btn{display:inline-flex}body.is-canvas-expanded .mobile-section-nav,body.is-canvas-expanded .sidebar,body.is-canvas-expanded .image-panel{filter:blur(8px);pointer-events:none}.canvas-container{width:100%;height:100%;min-height:500px;display:flex;align-items:center;justify-content:center}.canvas-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ffffffd9;min-height:400px;text-shadow:2px 2px 6px rgba(0,0,0,.45)}.placeholder-icon{font-size:4rem;margin-bottom:1rem;opacity:.95}.placeholder-icon:before{content:"";display:block;width:96px;height:96px;background-image:var(--placeholder-icon-url, url(/placeholder-icon.webp));background-size:contain;background-position:center;background-repeat:no-repeat;filter:drop-shadow(0 12px 20px rgba(0,0,0,.45))}.collage-canvas{width:100%;max-width:1200px;min-height:500px;display:flex;box-shadow:0 14px 40px #00000059;border-radius:20px;overflow:hidden;background:#ffffff1a;backdrop-filter:blur(6px);position:relative}.collage-overlay{position:absolute;inset:0;pointer-events:none;mix-blend-mode:normal}.overlay-item{position:absolute;pointer-events:auto;touch-action:none;cursor:grab;max-width:70%}.overlay-item.is-dragging{cursor:grabbing}.overlay-text{font-family:Noto Sans SC,Segoe UI,sans-serif;text-shadow:0 3px 12px rgba(0,0,0,.45);font-weight:600;letter-spacing:.04em;white-space:pre-wrap}.overlay-sticker{font-size:2.2rem;text-shadow:0 8px 18px rgba(0,0,0,.35)}.image-container{aspect-ratio:1;min-width:50px;min-height:50px}.image-panel{grid-area:image;background:var(--card-bg);backdrop-filter:blur(18px);border-radius:24px;padding:1.5rem;box-shadow:0 12px 45px #00000047;border:1px solid rgba(255,255,255,.18);overflow-y:auto;max-height:calc(100vh - 280px);transition:all .3s ease;color:#ffffffd9}.image-panel:hover{background:var(--card-bg-hover);box-shadow:0 20px 55px #0000005c}.image-panel h2{font-size:1.1rem;font-weight:600;margin-bottom:1rem;color:#8fd68f;border-bottom:2px solid rgba(255,255,255,.25);padding-bottom:.5rem;position:relative;text-shadow:2px 2px 6px rgba(0,0,0,.5)}.image-panel h2:after{content:"";position:absolute;bottom:-2px;left:0;width:30px;height:2px;background:#fff9;border-radius:2px}.image-list{display:flex;flex-direction:column;gap:.75rem}.image-item{position:relative;border:2px solid rgba(255,255,255,.2);border-radius:14px;overflow:hidden;cursor:pointer;transition:all .3s ease;background:#00000040;backdrop-filter:blur(8px);box-shadow:0 10px 32px #0000004d}.image-item:hover{border-color:#4caf5099;transform:translateY(-3px);box-shadow:0 16px 40px #0006}.image-item img{width:100%;height:150px;object-fit:cover;display:block}.remove-btn{position:absolute;top:.5rem;right:.5rem;width:30px;height:30px;border-radius:50%;background:transparent;color:transparent;border:none;font-size:0;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:0;background-image:url(/remove-icon.png);background-size:contain;background-position:center;background-repeat:no-repeat;box-shadow:0 10px 25px #00000059;z-index:3}.image-item:hover .remove-btn{opacity:1}.remove-btn:hover{transform:scale(1.1);box-shadow:0 14px 32px #00000073}.back-to-top{position:fixed;bottom:1.5rem;right:1.5rem;padding:.8rem 1.1rem;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:#00000073;color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.02em;box-shadow:0 12px 36px #00000059;backdrop-filter:blur(8px);cursor:pointer;z-index:200;display:none;align-items:center;justify-content:center;gap:.4rem;transition:opacity .25s ease,transform .25s ease,background .25s ease;opacity:0;transform:translateY(16px);pointer-events:none}.back-to-top span{color:inherit;text-shadow:1px 1px 3px rgba(0,0,0,.45)}.back-to-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.back-to-top:hover{background:#66bb6a99;box-shadow:0 16px 42px #0006}.back-to-top:focus-visible{outline:3px solid rgba(255,255,255,.6)}@media (max-width: 1280px){.main-content{grid-template-columns:minmax(240px,320px) minmax(0,1fr);grid-template-areas:"sidebar canvas" "image image";max-width:1200px;gap:1.25rem;padding:1.25rem 1rem 1.75rem}.image-panel{max-height:none;margin-top:.5rem}.canvas-area{min-height:520px}}@media (max-width: 1024px){.ghibli-nav{padding:.75rem 1.25rem;flex-wrap:wrap;gap:.75rem}.nav-left{flex-wrap:wrap;gap:.75rem}.nav-right{width:100%;justify-content:flex-end}.ghibli-header{padding:2.5rem 1.25rem}.ghibli-title{font-size:3rem}.ghibli-subtitle{font-size:1.1rem;margin-bottom:1.5rem}.main-content{grid-template-columns:1fr;grid-template-areas:"canvas" "sidebar" "image";gap:1.25rem;padding:1.25rem 1rem 1.75rem}.sidebar,.image-panel{max-height:none;overflow:visible}.image-panel{margin-top:0}.template-grid{grid-template-columns:1fr}.template-categories{flex-wrap:wrap;justify-content:center;overflow-x:visible;gap:.6rem}.template-category{flex:1 1 140px;text-align:center}.canvas-area{min-height:360px;padding:1rem;border-radius:20px}.canvas-toolbar{display:flex;top:.75rem;right:.75rem}.canvas-container{min-height:320px}.canvas-placeholder{min-height:260px}.collage-canvas{min-height:320px}.image-item img{height:120px}.back-to-top{display:flex}}@media (max-width: 768px){body{line-height:1.5}.ghibli-nav{position:static;padding:.75rem 1rem;background:#0003;backdrop-filter:blur(8px)}.nav-left,.nav-right{width:100%;justify-content:center}.nav-left{gap:.5rem}.nav-link,.lang-selector{width:100%;justify-content:center;text-align:center}.sidebar{padding:1.1rem 1.1rem 1.25rem}.sidebar-section{margin-bottom:1.35rem}.upload-area{padding:1.35rem;border-radius:18px}.upload-icon img{width:56px;height:56px}.image-count{margin-top:.75rem}.ghibli-header{padding:2rem 1rem}.ghibli-title{font-size:2.4rem}.ghibli-subtitle{font-size:1rem;padding:.5rem 1rem}.feature-badges{gap:.6rem}.main-content{padding:1rem .75rem 1.5rem;gap:1rem}.sidebar-section h2,.image-panel h2{font-size:1rem}.template-grid{grid-template-columns:1fr;gap:.85rem}.template-themes{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.theme-chip{padding:.85rem 1rem;text-align:left;min-height:96px}.theme-chip .theme-chip-name{font-size:.95rem}.theme-chip .theme-chip-desc{font-size:.8rem}.recommendation-summary{padding:.75rem .9rem;margin-bottom:.85rem}.template-category{flex:1 1 140px;text-align:center}.canvas-area{min-height:360px;padding:1rem;border-radius:20px}.canvas-container{min-height:320px}.canvas-placeholder{min-height:260px}.collage-canvas{min-height:320px}.image-item img{height:120px}.back-to-top{display:flex}.lang-selector{position:static;width:100%;justify-content:flex-end}.lang-selector-toggle{padding:.5rem 1.1rem;font-size:.95rem}.lang-menu{position:fixed;inset:auto 0 0;margin:0 auto;width:min(360px,92vw);border-radius:20px 20px 0 0;padding:.75rem;gap:.45rem;transform:translateY(16px);transition:transform .25s ease}.lang-selector.is-open .lang-menu{transform:translateY(0)}.lang-option{padding:.65rem .9rem;font-size:.95rem}}@media (max-width: 600px){.ghibli-title{font-size:2.1rem}.ghibli-subtitle{font-size:.95rem}.header-description{padding:1rem 1.25rem;font-size:.95rem}.main-content{padding:.75rem .5rem 1.25rem}.sidebar,.image-panel{padding:1.15rem 1.1rem 1.25rem}.mobile-section-nav{display:flex;position:sticky;top:.5rem;z-index:90;padding:.75rem .8rem;background:#0c1816bf;border-radius:18px;border:1px solid rgba(143,214,143,.3);box-shadow:0 20px 45px #00000061;backdrop-filter:blur(12px)}body.is-mobile .sidebar{display:flex;flex-direction:column;gap:.85rem;padding:0;background:transparent;border:none;box-shadow:none}body.is-mobile .main-content{margin-top:.75rem}body.is-mobile .sidebar-section{margin:0;padding:1rem 1.1rem 1.05rem;border-radius:18px;border:1px solid rgba(255,255,255,.18);background:#00000047;box-shadow:0 12px 32px #00000047}body.is-mobile .sidebar-section-toggle{width:100%}body.is-mobile .sidebar-section-content{max-height:0;overflow:hidden;margin-top:0;opacity:0;transition:max-height .3s ease,opacity .2s ease}body.is-mobile .sidebar-section.is-open .sidebar-section-content{max-height:900px;margin-top:.75rem;opacity:1}body.is-mobile .sidebar-section:not(.is-open) .section-title:after{opacity:0}body.is-mobile .sidebar-section .toggle-icon:before{width:10px;height:10px;border-left-width:2px;border-bottom-width:2px;transform:rotate(-45deg)}body.is-mobile .sidebar-section.is-open .toggle-icon:before{transform:rotate(135deg)}.template-category{flex:1 1 120px}.template-themes{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem}.theme-chip{padding:.75rem .9rem;min-height:88px}.theme-chip .theme-chip-name{font-size:.92rem}.canvas-area{min-height:320px}.canvas-container{min-height:280px}.canvas-placeholder{min-height:220px}.collage-canvas{min-height:280px}.template-categories{gap:.45rem}.range-wrapper{margin:0 .35rem}.btn{padding:.65rem 1.1rem;font-size:.95rem}.canvas-toolbar{top:.65rem;right:.65rem}}body.is-canvas-expanded .back-to-top{display:none!important}.template-preview{margin-top:.75rem;border-radius:14px;padding:.4rem;background:#00000040;border:1px solid rgba(255,255,255,.16);box-shadow:inset 0 4px 18px #00000040;min-height:90px}.template-preview-grid{display:grid;gap:3px;width:100%;border-radius:10px;overflow:hidden}.template-preview-grid .preview-cell{border-radius:6px;background:#fff9;position:relative}.template-preview-grid .preview-cell:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff59,#0000002e);opacity:.6}.template-preview-special{display:grid;gap:3px;width:100%;border-radius:10px;overflow:hidden;background:#ffffff2e}.template-preview-special .preview-cell{border-radius:6px;background:#ffffff52;position:relative}.template-preview-special .preview-cell:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff2e,#0000001f);opacity:.85}#uploadSection,#templatesSection,#decorateSection,#customSection,#settingsSection,#exportSection,#canvasArea,#imagePanel{scroll-margin-top:110px}.decorate-field-row label{display:flex;flex-direction:column;gap:.35rem;min-width:120px;color:#fffc}.decorate-color-group{display:flex;flex-direction:column;gap:.5rem;min-width:140px}.color-swatch-row{display:flex;gap:.5rem;flex-wrap:wrap}.color-swatch{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;box-shadow:0 6px 18px #00000040;transition:transform .2s ease,box-shadow .2s ease,border .2s ease}.color-swatch:hover,.color-swatch:focus-visible{transform:translateY(-2px);box-shadow:0 12px 28px #00000052;outline:none}.color-swatch.is-active{border-color:#ffffffd9;box-shadow:0 14px 30px #00000059,0 0 0 3px #ffffff40}.color-more-btn{align-self:flex-start;padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:#0000004d;color:#fff;font-size:.75rem;letter-spacing:.05em;cursor:pointer;transition:all .2s ease}.color-more-btn:hover,.color-more-btn:focus-visible{background:#66bb6a66;border-color:#8fd68fbf;outline:none}.decorate-color-group input[type=color]{display:none}.filter-block{background:#00000040;border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:1rem;margin-bottom:1rem;box-shadow:0 12px 30px #00000047}.filter-heading{font-size:.95rem;font-weight:600;color:#8fd68f;margin-bottom:.85rem;text-transform:uppercase;letter-spacing:.05em}.filter-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.6rem}.filter-preset{padding:.65rem .75rem;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:#0000004d;color:#ffffffd9;display:flex;flex-direction:column;gap:.35rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border .2s ease}.filter-preset-thumb{height:48px;border-radius:10px;background:#ffffff2e;box-shadow:inset 0 2px 6px #0000004d}.filter-preset-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.filter-preset:hover,.filter-preset:focus-visible{transform:translateY(-2px);border-color:#8fd68f99;box-shadow:0 16px 34px #00000059;outline:none}.filter-preset.is-active{border-color:#8fd68fbf;box-shadow:0 18px 36px #8fd68f59}.filter-slider{margin-bottom:.85rem}.filter-slider label{display:flex;flex-direction:column;gap:.45rem;color:#ffffffd9}.filter-slider input[type=range]{width:100%}.filter-slider-value{font-size:.75rem;color:#fff9}.filter-reset{width:100%;padding:.55rem .8rem;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#0000004d;color:#fff;letter-spacing:.04em;cursor:pointer;transition:all .2s ease}.filter-reset:hover,.filter-reset:focus-visible{background:#66bb6a66;border-color:#8fd68fbf;outline:none}.image-item.is-selected{border-color:#8fd68fd9;box-shadow:0 18px 44px #8fd68f52}.filter-empty{font-size:.85rem;color:#fff9;margin-bottom:.85rem;text-align:center}.filter-block.is-disabled,.filter-presets.is-disabled,.filter-slider.is-disabled,.filter-reset.is-disabled{opacity:.45;pointer-events:none}.template-icon-grid.dense{height:62px;padding:5px}.template-icon-grid.dense span{border-radius:4px;box-shadow:inset 0 1px 2px #fff9,0 0 1px #00000047}.filter-target{margin-bottom:.75rem;padding:.6rem .75rem;border-radius:12px;background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:#ffffffd1;font-size:.82rem;letter-spacing:.01em;backdrop-filter:blur(8px)}.filter-scope{margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.filter-scope-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#8fd68fe6}.filter-scope-actions{display:inline-flex;background:#00000047;border-radius:999px;border:1px solid rgba(255,255,255,.18);overflow:hidden}.filter-scope-btn{padding:.45rem 1.15rem;font-size:.78rem;font-weight:600;color:#ffffffc7;background:transparent;border:none;cursor:pointer;transition:all .2s ease}.filter-scope-btn+.filter-scope-btn{border-left:1px solid rgba(255,255,255,.18)}.filter-scope-btn:hover,.filter-scope-btn:focus-visible{background:#8fd68f40;color:#fff;outline:none}.filter-scope-btn.is-active{background:#8fd68f80;color:#0b2e1b;box-shadow:inset 0 0 12px #8fd68f73}.filter-scope-btn.is-active+.filter-scope-btn{border-left-color:#ffffff3d}.image-item[draggable=true]{cursor:grab}.image-item.is-dragging{opacity:.85;cursor:grabbing;box-shadow:0 18px 46px #8fd68f47}.image-item:before{content:"";position:absolute;left:10px;right:10px;height:4px;border-radius:999px;background:#8fd68fbf;opacity:0;transform:scaleX(.7);transition:opacity .15s ease,transform .15s ease;pointer-events:none}.image-item.drop-before:before{top:6px;opacity:1;transform:scaleX(1)}.image-item.drop-after:before{bottom:6px;opacity:1;transform:scaleX(1)}.image-item-footer{position:absolute;inset-inline:0;bottom:0;display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .65rem;background:linear-gradient(180deg,#0000,#0000008c);opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:2}.image-item:hover .image-item-footer,.image-item.is-selected .image-item-footer,body.is-mobile .image-item-footer{opacity:1;pointer-events:auto}.image-reorder-handle{border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:.35rem .55rem;background:#00000059;color:#ffffffd9;font-size:.85rem;letter-spacing:.12em;cursor:grab;transition:all .2s ease}.image-reorder-handle:hover,.image-reorder-handle:focus-visible{background:#8fd68f73;border-color:#8fd68fcc;color:#0b2e1b;outline:none}.image-order-buttons{display:inline-flex;gap:.3rem}.image-move-btn{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:#00000059;color:#ffffffd9;display:flex;align-items:center;justify-content:center;font-size:.8rem;cursor:pointer;transition:all .2s ease}.image-move-btn:hover,.image-move-btn:focus-visible{background:#8fd68f73;border-color:#8fd68fcc;color:#0b2e1b;outline:none}.image-move-btn:disabled{opacity:.45;cursor:not-allowed}.page-content{min-height:calc(100vh - 200px);padding:2rem;max-width:1200px;margin:0 auto}body[data-nav-mode=spa] .page-content{display:block}body[data-nav-mode=spa].spa-ready .page-content{display:none}body[data-nav-mode=spa].spa-ready .page-content.is-visible{display:block}.page-container{background:var(--card-bg);backdrop-filter:blur(18px);border-radius:30px;padding:3rem;box-shadow:0 20px 60px #00000059;border:1px solid rgba(255,255,255,.18);color:var(--text-secondary)}.page-title{font-size:2.5rem;font-weight:700;margin-bottom:1rem;color:#8fd68f;text-shadow:3px 3px 12px rgba(0,0,0,.6),0 0 30px rgba(0,0,0,.4);text-align:center}.page-subtitle{font-size:1.2rem;color:#8fd68f;text-align:center;margin-bottom:3rem;text-shadow:2px 2px 6px rgba(0,0,0,.5);background:#00000040;display:inline-block;padding:.6rem 1.8rem;border-radius:20px;backdrop-filter:blur(8px)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem}.feature-card{background:#00000040;backdrop-filter:blur(10px);border-radius:20px;padding:2rem;text-align:center;transition:all .3s ease;border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 40px #0000004d;color:#ffffffe6}.feature-card:hover{transform:translateY(-5px);box-shadow:0 18px 48px #0006;background:#4caf504d;border-color:#4caf5099}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card-title{font-size:1.3rem;font-weight:600;color:#8fd68f;margin-bottom:1rem;text-shadow:2px 2px 6px rgba(0,0,0,.5)}.feature-card-desc{color:#ffffffd9;line-height:1.6;font-size:.95rem}.tutorial-steps{margin-bottom:3rem}.tutorial-step{display:flex;gap:2rem;margin-bottom:2.5rem;align-items:flex-start;background:#00000040;backdrop-filter:blur(10px);border-radius:20px;padding:2rem;border:1px solid rgba(255,255,255,.18);transition:all .3s ease}.tutorial-step:hover{background:#4caf5040;transform:translate(5px);box-shadow:0 16px 40px #00000059}.step-number{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color) 0%,var(--ghibli-dark-green) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;flex-shrink:0;box-shadow:var(--shadow-soft)}.step-content{flex:1}.step-title{font-size:1.4rem;font-weight:600;color:#8fd68f;margin-bottom:.75rem;text-shadow:2px 2px 6px rgba(0,0,0,.5)}.step-desc{color:#ffffffd9;line-height:1.8;font-size:1rem}.tutorial-tips{background:#00000040;border-radius:20px;padding:2rem;margin-bottom:3rem;border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 40px #0000004d}.tips-title{font-size:1.8rem;font-weight:600;color:#8fd68f;margin-bottom:1.5rem;text-align:center;text-shadow:2px 2px 6px rgba(0,0,0,.5)}.tips-list{list-style:none;padding:0}.tip-item{padding:1rem;margin-bottom:.75rem;background:#0000004d;border-radius:12px;border-left:4px solid rgba(76,175,80,.8);color:#8fd68f;line-height:1.6;box-shadow:0 10px 30px #00000047}.tip-item:last-child{margin-bottom:0}.tutorial-faq{background:#00000040;backdrop-filter:blur(10px);border-radius:20px;padding:2rem;border:1px solid rgba(255,255,255,.18);box-shadow:0 12px 40px #0000004d}.faq-title{font-size:1.8rem;font-weight:600;color:#8fd68f;margin-bottom:2rem;text-align:center;text-shadow:2px 2px 6px rgba(0,0,0,.5)}.faq-list{display:flex;flex-direction:column;gap:1.5rem}.faq-item{background:#0000004d;border-radius:16px;padding:1.5rem;border:1px solid rgba(255,255,255,.18);transition:all .3s ease;box-shadow:0 10px 35px #00000047}.faq-item:hover{border-color:#4caf5099;box-shadow:0 16px 45px #0006}.faq-question{font-size:1.1rem;font-weight:600;color:#8fd68f;margin-bottom:.75rem;text-shadow:2px 2px 6px rgba(0,0,0,.5)}.faq-answer{color:#ffffffd9;line-height:1.7;margin:0}@media (max-width: 768px){.page-content{padding:1rem}.page-container{padding:1.5rem}.page-title{font-size:2rem}.page-subtitle{font-size:1rem}.features-grid{grid-template-columns:1fr;gap:1.5rem}.tutorial-step{flex-direction:column;gap:1rem;padding:1.5rem}.step-number{width:50px;height:50px;font-size:1.2rem}.step-title{font-size:1.2rem}}.blog-list{display:grid;gap:2rem;margin-top:2rem}.blog-post{background:#0000004d;backdrop-filter:blur(10px);border-radius:20px;padding:2rem;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.blog-post:hover{transform:translateY(-5px);box-shadow:0 15px 40px #0006;border-color:#8fd68f66}.blog-post-title{font-size:1.8rem;font-weight:600;margin-bottom:1rem;color:#8fd68f}.blog-post-title a{color:inherit;text-decoration:none;transition:color .3s ease}.blog-post-title a:hover{color:#66bb6a}.blog-post-meta{display:flex;gap:1rem;margin-bottom:1rem;font-size:.9rem;color:#ffffffb3}.blog-date{padding:.3rem .8rem;background:#8fd68f33;border-radius:12px}.blog-category{padding:.3rem .8rem;background:#4a90e233;border-radius:12px}.blog-post-excerpt{line-height:1.8;margin-bottom:1rem;color:#ffffffd9}.blog-read-more{color:#8fd68f;text-decoration:none;font-weight:500;transition:all .3s ease;display:inline-block}.blog-read-more:hover{color:#66bb6a;transform:translate(5px)}.blog-controls{margin-bottom:2rem;display:flex;flex-direction:column;gap:1.5rem}.blog-search{display:flex;gap:.5rem;max-width:500px;margin:0 auto}.blog-search-input{flex:1;padding:.75rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:#0000004d;color:#fff;font-size:1rem;backdrop-filter:blur(10px);transition:all .3s ease}.blog-search-input:focus{outline:none;border-color:#8fd68f99;background:#0006}.blog-search-input::placeholder{color:#ffffff80}.blog-search-btn{padding:.75rem 1.5rem;border:1px solid rgba(143,214,143,.6);border-radius:20px;background:#8fd68f33;color:#8fd68f;cursor:pointer;font-size:1.2rem;transition:all .3s ease}.blog-search-btn:hover{background:#8fd68f4d;transform:translateY(-2px)}.blog-categories{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.blog-category-btn{padding:.5rem 1.25rem;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:#0000004d;color:#fffc;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s ease;backdrop-filter:blur(10px)}.blog-category-btn:hover{background:#8fd68f33;border-color:#8fd68f66;color:#8fd68f}.blog-category-btn.is-active{background:#8fd68f4d;border-color:#8fd68f99;color:#8fd68f;font-weight:600}.blog-tags-filter{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:center}.blog-tags-label{color:#ffffffb3;font-size:.9rem;margin-right:.5rem}.blog-tag-btn{padding:.4rem .8rem;border:1px solid rgba(74,144,226,.3);border-radius:15px;background:#4a90e226;color:#fffc;cursor:pointer;font-size:.85rem;transition:all .3s ease}.blog-tag-btn:hover{background:#4a90e240;border-color:#4a90e280;color:#fff;transform:translateY(-2px)}.blog-post-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.blog-tag{padding:.3rem .7rem;background:#4a90e233;border-radius:12px;font-size:.8rem;color:#fffc}.blog-empty{text-align:center;padding:3rem;color:#ffffffb3;font-size:1.1rem}.blog-post-header{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.blog-back-link{display:inline-block;color:#8fd68f;text-decoration:none;margin-bottom:1rem;font-weight:500;transition:all .3s ease}.blog-back-link:hover{color:#66bb6a;transform:translate(-5px)}.blog-post-main-title{font-size:2.5rem;font-weight:700;color:#8fd68f;margin-bottom:1rem;line-height:1.2}.blog-post-body{line-height:1.8;color:#ffffffe6;font-size:1.1rem}.blog-post-body h2{font-size:1.8rem;color:#8fd68f;margin-top:2rem;margin-bottom:1rem;font-weight:600}.blog-post-body h3{font-size:1.4rem;color:#fffffff2;margin-top:1.5rem;margin-bottom:.75rem;font-weight:600}.blog-post-body p{margin-bottom:1rem}.blog-related-posts{margin:3rem 0;padding:2rem;background:#0003;border-radius:15px;border:1px solid rgba(255,255,255,.1)}.blog-related-title{font-size:1.8rem;color:#8fd68f;margin-bottom:1.5rem;font-weight:600}.blog-related-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.blog-related-item{background:#0003;padding:1.5rem;border-radius:10px;border:1px solid rgba(255,255,255,.1);transition:all .3s ease}.blog-related-item:hover{background:#0000004d;transform:translateY(-3px);box-shadow:0 4px 12px #0003}.blog-related-item-title{font-size:1.2rem;margin-bottom:.75rem}.blog-related-item-title a{color:#8fd68f;text-decoration:none;transition:color .3s ease}.blog-related-item-title a:hover{color:#66bb6a}.blog-related-item-excerpt{color:#fffc;font-size:.95rem;line-height:1.6;margin-bottom:1rem}.blog-related-item-link{color:#8fd68f;text-decoration:none;font-weight:500;font-size:.9rem;transition:all .3s ease;display:inline-block}.blog-related-item-link:hover{color:#66bb6a;transform:translate(5px)}.blog-post-body ul,.blog-post-body ol{margin-bottom:1rem;padding-left:2rem}.blog-post-body li{margin-bottom:.5rem}.blog-post-body a{color:#8fd68f;text-decoration:none;transition:color .3s ease}.blog-post-body a:hover{color:#66bb6a;text-decoration:underline}.blog-cta-grid{margin:2.5rem 0;padding:1.8rem;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#00000040}.blog-cta-title{font-size:1.6rem;color:#8fd68f;margin-bottom:1.2rem;font-weight:600}.blog-cta-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.blog-cta-card{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:#ffffffe6;text-decoration:none;transition:transform .2s ease,background .2s ease}.blog-cta-card:hover{background:#ffffff1f;transform:translateY(-2px)}.blog-post-footer{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.blog-share{display:flex;align-items:center;gap:1rem;color:#ffffffb3}.blog-share-link{color:#8fd68f;text-decoration:none;padding:.5rem 1rem;border:1px solid rgba(143,214,143,.3);border-radius:15px;transition:all .3s ease}.blog-share-link:hover{background:#8fd68f33;border-color:#8fd68f99}@media (max-width: 768px){.blog-post{padding:1.5rem}.blog-post-title{font-size:1.5rem}.blog-post-main-title{font-size:2rem}.blog-controls{gap:1rem}.blog-search{max-width:100%}.blog-post-footer{flex-direction:column;align-items:flex-start}}.nav-share{display:none;gap:.5rem;align-items:center;margin-right:.5rem}@media (min-width: 768px){.nav-share{display:flex}}.nav-share .blog-share-label{display:none}.nav-share .blog-share-link{font-size:.85rem;padding:.35rem .6rem}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%) translateY(20px);background:#111827f2;color:#fff;padding:10px 14px;border-radius:8px;font-size:14px;line-height:1.2;box-shadow:0 6px 18px #00000040;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;z-index:9999}.toast.is-visible{opacity:1;transform:translate(-50%) translateY(0)}.upload-result{margin-top:12px;padding:12px;border:1px dashed rgba(143,214,143,.35);border-radius:8px;background:#8fd68f14;color:#ffffffe0;font-size:14px;line-height:1.5}.upload-result .result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.upload-result .result-actions button,.upload-result .result-actions a{font-size:13px;padding:6px 10px;border-radius:6px;border:1px solid rgba(143,214,143,.35);color:#8fd68f;background:transparent;cursor:pointer;text-decoration:none}.upload-result .result-actions button:hover,.upload-result .result-actions a:hover{background:#8fd68f33}#page-works .page-container{padding-top:2rem}#page-works .work-hero{text-align:center}#page-works .work-hero img{max-width:100%;height:auto;border-radius:10px;box-shadow:0 10px 30px #00000040}
