@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;700&family=Inter:wght@400;500&display=swap";:root{--primary-color:#004080;--secondary-color:#fc0;--accent-hover:#e6b800;--text-dark:#1f2937;--text-light:#6b7280;--bg-light:#f8fafc;--card-bg:#fff;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 25px #0000001a;--border-radius:12px;--transition:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-light);color:var(--text-dark);font-family:Inter,Montserrat,sans-serif;line-height:1.6}.app-header{background:var(--primary-color);color:#fff;z-index:100;box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.app-header a.brand{align-items:center;gap:.75rem;text-decoration:none;display:flex}.app-header .logo{filter:brightness(0)invert();width:auto;height:40px}.app-header .brand-name{color:#fff;letter-spacing:.3px;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:700}.app-header .back-link{color:#fff;opacity:.9;transition:var(--transition);font-size:.9rem;font-weight:500;text-decoration:none}.app-header .back-link:hover{color:var(--secondary-color);opacity:1}.app{text-align:center;flex-direction:column;min-height:calc(100vh - 74px);display:flex}.app-hero{padding:2.5rem 1.5rem 1rem}.app-hero h1{color:var(--primary-color);margin-bottom:.5rem;font-family:Montserrat,sans-serif;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:700}.app-hero p{color:var(--text-light);max-width:520px;margin:0 auto}.app-main{flex:1;padding:1rem 1.5rem 3rem}.upload{background:var(--card-bg);border-radius:var(--border-radius);box-shadow:var(--shadow-md);border-top:4px solid var(--secondary-color);max-width:480px;margin:1.5rem auto;padding:2rem}.upload h2{color:var(--primary-color);margin-bottom:1rem;font-family:Montserrat,sans-serif;font-size:1.2rem}.upload input[type=file]{color:var(--text-dark);font-family:Inter,sans-serif}.poster-card{background:var(--card-bg);border-radius:var(--border-radius);box-shadow:var(--shadow-lg);max-width:680px;margin:1.5rem auto;padding:1.5rem}.poster{aspect-ratio:1;background:#fff;border-radius:8px;width:min(90vw,600px);margin:0 auto;position:relative;overflow:hidden}.photo-mask{z-index:2;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.person{object-fit:cover;z-index:1;position:absolute}.template{z-index:3;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}button{background:var(--secondary-color);color:var(--primary-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:none;align-items:center;gap:.5rem;margin-top:1.5rem;padding:1rem 2rem;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;display:inline-flex}button:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-lg);transform:translateY(-2px)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.loading{z-index:100;background:#fffffff7;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex;position:fixed;inset:0}.loading h2{color:var(--primary-color);margin-top:1rem;font-family:Montserrat,sans-serif;font-size:1.2rem}.loading p{color:var(--text-light);font-size:.9rem}.spinner{border:6px solid #e5e7eb;border-top:6px solid var(--primary-color);border-radius:50%;width:56px;height:56px;animation:1s linear infinite rotation}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-footer{background:var(--primary-color);color:#ffffffd9;text-align:center;padding:1.25rem 1.5rem;font-size:.85rem}.app-footer a{color:var(--secondary-color);font-weight:600;text-decoration:none}.app-footer a:hover{text-decoration:underline}
