:root{--signal-flame: #F2542C;--deep-ember: #2A1A14;--dream-purple: #C2A8FF;--cosmic-indigo: #28164B;--sunblush: #FEC29A;--peach-veil: #FEF2E7;--skyfoam: #E2F0F3;--ghost-white: #F8F8F8;--primary-action-start: var(--sunblush);--primary-action-end: var(--signal-flame);--secondary-action-start: var(--dream-purple);--secondary-action-end: #8A64FF;--text-color: var(--peach-veil);--subtle-text-color: var(--dream-purple);--border-color: rgba(254, 242, 231, .2);--glass-background: rgba(40, 22, 75, .25);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--border-radius: 12px;--box-shadow: 0 8px 32px 0 rgba(24, 15, 43, .37)}body{margin:0;font-family:var(--font-family);color:var(--text-color);line-height:1.6;overflow-x:hidden}.background-gradient{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(-45deg,var(--cosmic-indigo),var(--signal-flame),var(--dream-purple),var(--sunblush));background-size:400% 400%;animation:gradient-animation 15s ease infinite;z-index:-1}@keyframes gradient-animation{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.container{max-width:1200px;margin:2rem auto;padding:2rem}header{text-align:center;margin-bottom:3rem;color:var(--ghost-white);text-shadow:0 2px 4px rgba(0,0,0,.2)}header h1{font-size:3rem;margin-bottom:.5rem}header p{font-size:1.2rem;opacity:.9}.main-content{background:var(--glass-background);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--border-radius);border:1px solid var(--border-color);box-shadow:var(--box-shadow);overflow:hidden}.tabs{display:flex;background:#0003}.tab-button{flex:1;padding:1rem;font-size:1.1rem;font-weight:600;color:var(--subtle-text-color);background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.tab-button .tab-icon{display:inline-block;width:24px;height:24px;line-height:24px;border-radius:50%;background-color:var(--subtle-text-color);color:var(--deep-ember);font-size:.9rem;font-weight:700;transition:all .3s ease}.tab-button:not(:disabled):hover{background:#ffffff1a;color:var(--ghost-white)}.tab-button.active{color:var(--ghost-white);border-bottom-color:var(--signal-flame)}.tab-button.active .tab-icon{background:linear-gradient(45deg,var(--primary-action-start),var(--primary-action-end));color:var(--ghost-white)}.tab-button:disabled{cursor:not-allowed;opacity:.5}.tab-panel{display:none;padding:2.5rem}.tab-panel.active{display:block;animation:fade-in .5s ease}@keyframes fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tab-panel h2{margin-top:0;font-size:1.8rem;border-bottom:2px solid var(--border-color);padding-bottom:.5rem;margin-bottom:1rem;color:var(--ghost-white)}.instructions{color:var(--subtle-text-color);margin-bottom:2rem;max-width:80ch}.instructions code{background:#0000004d;padding:2px 6px;border-radius:4px;font-family:monospace;color:var(--sunblush)}.file-input-wrapper{margin:2rem 0}input[type=file]{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.status-info{margin-top:1rem;font-style:italic;min-height:20px;color:var(--peach-veil);background:#0003;padding:.75rem 1rem;border-radius:8px}.action-bar{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem;margin-bottom:2rem}.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;font-size:1rem;font-weight:600;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .3s ease;color:#fff;text-decoration:none}.button svg{margin-right:8px}.button:disabled{background:#999;cursor:not-allowed;box-shadow:none;transform:none;opacity:.6}.primary-button{background-image:linear-gradient(45deg,var(--primary-action-start),var(--primary-action-end));box-shadow:0 4px 15px #0003;color:var(--deep-ember)}.secondary-button{background-image:linear-gradient(45deg,var(--secondary-action-start),var(--secondary-action-end));box-shadow:0 4px 15px #0003;color:var(--peach-veil)}.button:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 6px 20px #0000004d}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.image-card{background:var(--glass-background);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:var(--box-shadow);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.image-card:hover{transform:translateY(-5px);box-shadow:0 12px 24px #0003}.image-card img{width:100%;display:block;aspect-ratio:1 / 1;object-fit:cover}.image-card-info{padding:1rem;text-align:center}.image-card-info p{margin:0;font-weight:600;word-break:break-all;color:var(--peach-veil)}.image-card-info .button{margin-top:.75rem;font-size:.9rem;padding:8px 16px}.image-grid .placeholder{grid-column:1 / -1;text-align:center;padding:2rem;border-radius:var(--border-radius);border:2px dashed var(--border-color);color:var(--subtle-text-color)}footer{text-align:center;margin-top:4rem;padding:2rem 0;color:var(--ghost-white);text-shadow:0 1px 2px rgba(0,0,0,.1)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fade-in .3s ease}.modal-content{background:var(--glass-background);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-radius:var(--border-radius);border:1px solid var(--border-color);padding:2rem 2.5rem;width:90%;max-width:500px}#progress-label{margin-top:0;font-weight:600;font-size:1.2rem;color:var(--ghost-white)}.progress-bar-container{width:100%;background-color:#fff3;border-radius:8px;overflow:hidden;margin-top:1rem}.progress-bar{width:0;height:20px;background-image:linear-gradient(45deg,var(--primary-action-start),var(--primary-action-end));background-size:40px 40px;animation:progress-bar-stripes 1s linear infinite;transition:width .4s ease;border-radius:8px}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}#progress-text{text-align:right;margin-top:.5rem;color:var(--subtle-text-color)}
