.header{text-align:center;margin-bottom:40px;padding:30px 0;animation:fadeInDown .8s ease}.header h1{font-size:2.8rem;margin-bottom:15px;color:#fff;text-shadow:2px 2px 8px rgba(0,0,0,.3);font-weight:700;letter-spacing:-1px}.header p{font-size:1.2rem;color:#fff;opacity:.95;text-shadow:1px 1px 3px rgba(0,0,0,.2)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.header h1{font-size:2rem}.header p{font-size:1rem}}@media (max-width: 480px){.header{padding:20px 0;margin-bottom:25px}.header h1{font-size:1.6rem}.header p{font-size:.9rem}}.upload-section{margin-bottom:40px}.upload-box{text-align:center;padding:50px 30px;border:3px dashed #667eea;border-radius:20px;margin-bottom:30px;background:linear-gradient(135deg,#f8f9ff,#f0f2ff);transition:all .4s ease;cursor:pointer}.upload-box:hover{border-color:#5568d3;background:linear-gradient(135deg,#f0f2ff,#e8eaff);transform:translateY(-3px);box-shadow:0 10px 30px #667eea33}.upload-button{display:inline-block;padding:18px 45px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff!important;border-radius:15px;cursor:pointer;font-size:1.15rem;font-weight:600;transition:all .3s ease;box-shadow:0 8px 20px #667eea4d;border:none}.upload-button:hover{transform:translateY(-3px);box-shadow:0 12px 30px #667eea80;background:linear-gradient(135deg,#5568d3,#6a3f8f)}.upload-section .hint{margin-top:18px;color:#666;font-size:.95rem;font-weight:500}.upload-section .tip{margin-top:12px;color:#888;font-size:.85rem;font-style:italic}.preview-box{margin:35px 0;padding:30px;background:linear-gradient(135deg,#f8f9ff,#fff);border-radius:20px;border:2px solid #e0e5ff;animation:fadeIn .5s ease}.preview-box h3{margin-bottom:20px;color:#333;font-size:1.4rem;font-weight:700;text-align:center}.preview-image{width:100%;max-width:650px;height:auto;border-radius:15px;box-shadow:0 10px 40px #00000026;display:block;margin:0 auto;transition:transform .3s ease}.preview-image:hover{transform:scale(1.02)}.info-text{margin-top:18px;color:#666;font-size:.95rem;text-align:center;padding:12px 20px;background:#e8f4f8;border-radius:10px;border-left:4px solid #667eea;font-weight:500}.location-input{margin-top:20px;padding:20px;background:#f0f2ff;border-radius:12px;border:2px solid #e0e5ff}.location-input label{display:block;margin-bottom:10px;color:#333;font-weight:600;font-size:1rem}.hint-text{display:block;font-size:.85rem;color:#666;font-weight:400;margin-top:5px}.location-input-field{width:100%;padding:12px 15px;border:2px solid #dddddd;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease;background:#fff;color:#333}.location-input-field:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.location-input-field::placeholder{color:#999;font-style:italic}@media (max-width: 768px){.upload-box{padding:35px 20px}.upload-button{padding:15px 30px;font-size:1rem}}.prompt-section{margin:40px 0;padding:30px;background:linear-gradient(135deg,#f8f9ff,#f0f2ff);border-radius:20px;border:2px solid #e0e5ff;box-shadow:0 5px 20px #0000000d}.prompt-section label{display:block;margin-bottom:15px;font-weight:700;color:#333;font-size:1.15rem}.prompt-section textarea{width:100%;padding:18px;border:2px solid #dddddd;border-radius:12px;font-size:1rem;resize:vertical;margin-bottom:20px;font-family:inherit;transition:all .3s ease;min-height:90px;line-height:1.6;background:#fff;color:#333}.prompt-section textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a;background:#fefeff}.prompt-section textarea:disabled{background:#f5f5f5;cursor:not-allowed}.generate-button{width:100%;padding:18px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff!important;border:none;border-radius:15px;font-size:1.15rem;cursor:pointer;transition:all .3s ease;font-weight:700;box-shadow:0 8px 20px #667eea4d;text-transform:uppercase;letter-spacing:.5px}.generate-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 30px #667eea80;background:linear-gradient(135deg,#5568d3,#6a3f8f)}.generate-button:disabled{background:linear-gradient(135deg,#ccc,#aaa);cursor:not-allowed;transform:none;box-shadow:none}.error-message{color:#e74c3c;background:linear-gradient(135deg,#ffeaea,#ffe5e5);padding:15px 20px;border-radius:12px;margin-top:15px;text-align:center;font-weight:600;border:2px solid #ffcccc;box-shadow:0 4px 12px #e74c3c26}.api-info{margin-top:15px;padding:12px;background:#e8f4f8;border-radius:8px;border-left:4px solid #17a2b8}.api-info p{margin:5px 0;color:#555;font-size:.9rem}@media (max-width: 768px){.prompt-section{padding:25px 20px}.generate-button{font-size:1rem;padding:15px}}.loading-section{text-align:center;padding:60px 30px;background:linear-gradient(135deg,#f8f9ff,#f0f2ff);border-radius:20px;margin:40px 0;border:2px solid #e0e5ff}.loading-spinner{width:70px;height:70px;border:7px solid #f3f3f3;border-top:7px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 25px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{color:#666;font-size:1.15rem;line-height:1.8;font-weight:500}.loading-subtext{display:block;font-size:.9rem;color:#888;margin-top:10px;font-style:italic}@media (max-width: 768px){.loading-spinner{width:50px;height:50px;border-width:5px}.loading-text{font-size:1rem}}.result-section{margin-top:50px;text-align:center;padding:40px;background:linear-gradient(135deg,#f8f9ff,#f0f2ff);border-radius:20px;border:2px solid #e0e5ff;animation:fadeIn .8s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.result-section h3{margin-bottom:25px;color:#333;font-size:1.6rem;font-weight:700}.result-box{margin:25px 0;padding:25px;background:#fff;border-radius:15px;box-shadow:0 5px 20px #00000014}.result-image{width:100%;max-width:650px;height:auto;border-radius:15px;box-shadow:0 10px 40px #00000026;display:block;margin:0 auto;transition:transform .3s ease}.result-image:hover{transform:scale(1.02)}.action-buttons{display:flex;gap:12px;flex-direction:column;margin-top:20px}.download-button,.reset-button{width:100%;padding:18px;color:#fff!important;border:none;border-radius:15px;font-size:1.15rem;cursor:pointer;transition:all .3s ease;font-weight:700;box-shadow:0 8px 20px #667eea4d;text-transform:uppercase;letter-spacing:.5px}.download-button{background:linear-gradient(135deg,#667eea,#764ba2)}.download-button:hover{transform:translateY(-3px);box-shadow:0 12px 30px #667eea80;background:linear-gradient(135deg,#5568d3,#6a3f8f)}.reset-button{background:linear-gradient(135deg,#868cff,#9747ff)}.reset-button:hover{transform:translateY(-3px);box-shadow:0 12px 30px #868cff80;background:linear-gradient(135deg,#7580ff,#8636ff)}@media (max-width: 768px){.result-section{padding:25px 20px}.download-button,.reset-button{font-size:1rem;padding:15px}}.info-section{margin-top:60px;padding:40px;background:linear-gradient(135deg,#f8f9ff,#f0f2ff);border-radius:20px;border:2px solid #e0e5ff}.use-cases{margin-bottom:35px}.use-cases h3,.tips-box h4,.how-it-works h4{margin-bottom:20px;color:#333;font-size:1.5rem;text-align:center;font-weight:700}.use-case-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;margin-top:20px}.use-case-item{padding:20px;background:#fff;border-radius:12px;text-align:center;font-weight:600;color:#555;transition:all .3s ease;box-shadow:0 4px 12px #00000014;font-size:1.05rem}.use-case-item:hover{transform:translateY(-5px);box-shadow:0 8px 25px #667eea40;background:linear-gradient(135deg,#fff,#f8f9ff);color:#667eea}.tips-box{margin-top:35px;padding:30px;background:#fff;border-radius:15px;border-left:6px solid #667eea;box-shadow:0 5px 20px #00000014}.tips-box h4{margin-bottom:10px;color:#333;font-size:1.3rem;text-align:left}.tips-box p{margin-bottom:15px;color:#555;font-size:1rem}.tips-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:15px;margin-top:15px}.tip-item{padding:15px;background:#f8f9ff;border-radius:10px;font-style:italic;color:#555;font-size:.95rem;border:2px solid #e0e5ff;transition:all .3s ease;font-weight:500}.tip-item:hover{background:#f0f2ff;border-color:#667eea;transform:translateY(-2px);box-shadow:0 5px 15px #667eea26}.how-it-works{margin-top:35px;padding:30px;background:#fff;border-radius:15px;border-left:6px solid #17a2b8;box-shadow:0 5px 20px #00000014}.how-it-works h4{text-align:left;color:#333;font-size:1.3rem}.steps-list{list-style-position:inside;color:#555;line-height:2;padding-left:10px}.steps-list li{margin:10px 0;font-size:1rem}.api-note{margin-top:20px;padding:15px;background:#e8f4f8;border-radius:8px;color:#333;font-size:.9rem;line-height:1.6}.api-note strong{color:#17a2b8}@media (max-width: 768px){.info-section{padding:25px 20px}.use-case-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.tips-grid{grid-template-columns:1fr}}.footer{text-align:center;margin-top:60px;padding:35px}.footer p{color:#fff;font-size:1.05rem;margin:8px 0}.footer a{color:#fff!important;text-decoration:none;font-weight:700;border-bottom:2px solid rgba(255,255,255,.5);transition:all .3s ease;padding-bottom:2px}.footer a:hover{border-bottom-color:#fff;letter-spacing:.5px}.footer-tech{font-size:.9rem;opacity:.9;margin-top:10px}@media (max-width: 480px){.footer{padding:25px}.footer p{font-size:.95rem}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}.app-container{max-width:1200px;margin:0 auto;padding:20px;min-height:100vh}main{background:#fff;border-radius:25px;padding:50px;box-shadow:0 25px 80px #00000059;animation:fadeInUp .8s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){main{padding:30px 25px;border-radius:20px}}@media (max-width: 480px){.app-container{padding:15px}main{padding:25px 20px;border-radius:15px}}*{margin:0;padding:0;box-sizing:border-box}#root{width:100%;min-height:100vh}
