.landing-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:52px;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #e5e5ea}.landing-brand{font-size:1.05rem;font-weight:700;color:#1d1d1f;letter-spacing:-.3px}.landing-header-right{display:flex;align-items:center;gap:16px}.landing-link{font-size:.9rem;font-weight:600;color:#0071e3;text-decoration:none}.landing-link:hover{text-decoration:underline}.landing-btn-sm{padding:7px 16px;border-radius:8px;background:#0071e3;color:#fff;font-size:.85rem;font-weight:600;text-decoration:none;transition:background .2s}.landing-btn-sm:hover{background:#0077ed}.hero{text-align:center;padding:100px 24px 80px;background:linear-gradient(180deg,#e8f0fe,#f5f5f7)}.hero-title{font-size:3.2rem;font-weight:700;letter-spacing:-1px;line-height:1.15;color:#1d1d1f}.hero-subtitle{max-width:540px;margin:20px auto 0;font-size:1.15rem;line-height:1.55;color:#6e6e73}.hero-actions{display:flex;justify-content:center;gap:14px;margin-top:36px}.hero-btn-primary{padding:14px 32px;border-radius:12px;background:#0071e3;color:#fff;font-size:1rem;font-weight:600;text-decoration:none;transition:background .2s,transform .1s}.hero-btn-primary:hover{background:#0077ed;transform:translateY(-1px)}.hero-btn-secondary{padding:14px 32px;border-radius:12px;background:transparent;border:1.5px solid #d2d2d7;color:#1d1d1f;font-size:1rem;font-weight:600;text-decoration:none;transition:background .2s,transform .1s}.hero-btn-secondary:hover{background:#fff;transform:translateY(-1px)}.section{padding:80px 24px;max-width:1000px;margin:0 auto}.section-alt{background:#fff;max-width:none}.section-alt>*{max-width:1000px;margin-left:auto;margin-right:auto}.section-title{text-align:center;font-size:2rem;font-weight:700;letter-spacing:-.5px;margin-bottom:48px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.step-card{text-align:center;padding:32px 24px;background:#fff;border-radius:16px;box-shadow:0 2px 12px #0000000f}.step-number{width:44px;height:44px;margin:0 auto 16px;border-radius:50%;background:#0071e3;color:#fff;font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center}.step-card h3{font-size:1.1rem;font-weight:600;margin-bottom:8px}.step-card p{font-size:.95rem;color:#6e6e73;line-height:1.5}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.feature-card{text-align:center;padding:32px 24px}.feature-icon{width:56px;height:56px;margin:0 auto 16px;border-radius:14px;background:#e8f0fe;display:flex;align-items:center;justify-content:center}.feature-card h3{font-size:1.1rem;font-weight:600;margin-bottom:8px}.feature-card p{font-size:.95rem;color:#6e6e73;line-height:1.5}.cta-banner{text-align:center;padding:80px 24px;background:linear-gradient(135deg,#0071e3,#005bb5);color:#fff}.cta-banner h2{font-size:2rem;font-weight:700;letter-spacing:-.5px;margin-bottom:12px}.cta-banner p{font-size:1.1rem;opacity:.9;margin-bottom:32px}.cta-btn{display:inline-block;padding:14px 36px;border-radius:12px;background:#fff;color:#0071e3;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .1s,box-shadow .2s}.cta-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00000026}.landing-footer{text-align:center;padding:32px 24px;font-size:.85rem;color:#86868b}@media(max-width:768px){.hero{padding:64px 20px 56px}.hero-title{font-size:2.2rem}.hero-subtitle{font-size:1rem}.steps,.features{grid-template-columns:1fr;gap:16px}.section{padding:56px 20px}.section-title{font-size:1.6rem;margin-bottom:32px}.cta-banner{padding:56px 20px}.cta-banner h2{font-size:1.6rem}}@media(max-width:480px){.landing-header{padding:0 16px}.hero-actions{flex-direction:column;align-items:center}.hero-btn-primary,.hero-btn-secondary{width:100%;max-width:280px;text-align:center}}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.auth-card{width:100%;max-width:420px;background:#fff;border-radius:16px;padding:40px 36px;box-shadow:0 4px 24px #00000014}.auth-title{font-size:1.6rem;font-weight:700;text-align:center;letter-spacing:-.3px;margin-bottom:4px}.auth-subtitle{text-align:center;color:#86868b;font-size:.95rem;margin-bottom:28px}.auth-label{display:block;font-size:.85rem;font-weight:600;color:#1d1d1f;margin-bottom:6px;margin-top:16px}.auth-label:first-of-type{margin-top:0}.auth-input{display:block;width:100%;padding:12px 14px;border:1px solid #d2d2d7;border-radius:10px;font-size:.95rem;font-family:inherit;background:#fafafa;color:#1d1d1f;outline:none;transition:border-color .2s,box-shadow .2s}.auth-input:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e326;background:#fff}.auth-input::placeholder{color:#b0b0b5}.auth-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.auth-row .auth-label{margin-top:0}.auth-btn{display:block;width:100%;padding:14px;margin-top:24px;border:none;border-radius:12px;background:#0071e3;color:#fff;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s,opacity .2s}.auth-btn:hover:not(:disabled){background:#0077ed}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-error{background:#fff0f0;color:#d70015;border:1px solid #ffd4d4;border-radius:10px;padding:12px 16px;font-size:.9rem;text-align:center;margin-bottom:8px}.auth-footer{text-align:center;margin-top:24px;font-size:.9rem;color:#86868b}.auth-footer a{color:#0071e3;text-decoration:none;font-weight:600}.auth-footer a:hover{text-decoration:underline}@media(max-width:480px){.auth-card{padding:32px 24px}.auth-row{grid-template-columns:1fr}}.multi-drop-zone{position:relative;border:2px dashed #d2d2d7;border-radius:16px;background:#fff;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;overflow:hidden;padding:16px}.multi-drop-zone:hover{border-color:#0071e3;background:#f0f5ff}.multi-drop-zone.drag-over{border-color:#0071e3;background:#e8f0fe;box-shadow:0 0 0 4px #0071e326}.multi-drop-zone.has-images{border-style:solid;border-color:#d2d2d7;cursor:default}.multi-drop-zone.has-images:hover{background:#fff;border-color:#d2d2d7}.multi-drop-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;color:#86868b;pointer-events:none}.multi-drop-label{font-size:1.1rem;font-weight:600;color:#1d1d1f}.multi-drop-hint{font-size:.85rem}.multi-drop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;width:100%}.multi-thumb{position:relative;aspect-ratio:3 / 4;border-radius:10px;overflow:hidden;background:#f5f5f7}.multi-thumb img{width:100%;height:100%;object-fit:cover;display:block}.multi-remove-btn{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:none;background:#0000008c;color:#fff;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;opacity:0;transition:opacity .2s,background .2s}.multi-thumb:hover .multi-remove-btn{opacity:1}.multi-remove-btn:hover{background:#000c}.multi-add-btn{aspect-ratio:3 / 4;border-radius:10px;border:2px dashed #d2d2d7;background:transparent;color:#86868b;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s,background .2s}.multi-add-btn:hover{border-color:#0071e3;color:#0071e3;background:#f0f5ff}.multi-drop-count{margin-top:10px;font-size:.8rem;color:#86868b}.drop-zone{position:relative;border:2px dashed #d2d2d7;border-radius:16px;background:#fff;aspect-ratio:3 / 4;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s;overflow:hidden}.drop-zone:hover{border-color:#0071e3;background:#f0f5ff}.drop-zone.drag-over{border-color:#0071e3;background:#e8f0fe;box-shadow:0 0 0 4px #0071e326}.drop-zone.has-image{border-style:solid;border-color:#d2d2d7;cursor:default}.drop-zone.has-image:hover{background:#fff;border-color:#d2d2d7}.drop-zone-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;color:#86868b;pointer-events:none}.drop-zone-label{font-size:1.1rem;font-weight:600;color:#1d1d1f}.drop-zone-hint{font-size:.85rem}.preview-img{width:100%;height:100%;object-fit:cover;border-radius:14px}.remove-btn{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:50%;border:none;background:#0000008c;color:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:background .2s}.remove-btn:hover{background:#000c}.result-section h2{text-align:center;font-size:1.4rem;margin-bottom:20px}.results-list{display:flex;flex-direction:column;gap:40px}.result-pair-title{text-align:center;font-size:1rem;font-weight:600;color:#86868b;margin-bottom:16px}.result-error{background:#fff0f0;color:#d70015;border:1px solid #ffd4d4;border-radius:12px;padding:14px 20px;font-size:.95rem;text-align:center}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px}.result-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px #00000014}.result-card img{width:100%;display:block}.result-label{display:block;text-align:center;padding:10px;font-weight:600;font-size:.9rem;color:#86868b}.download-btn{display:block;width:fit-content;margin:0 auto;padding:12px 28px;border:none;border-radius:10px;background:#1d1d1f;color:#fff;text-decoration:none;font-family:inherit;font-weight:600;font-size:.95rem;cursor:pointer;transition:background .2s}.download-btn:hover{background:#333}@media(max-width:600px){.result-grid{grid-template-columns:1fr}}.navbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:52px;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #e5e5ea}.navbar-brand{font-size:1.05rem;font-weight:700;color:#1d1d1f;letter-spacing:-.3px}.navbar-right{display:flex;align-items:center;gap:16px}.navbar-email{font-size:.85rem;color:#86868b}.navbar-signout{padding:6px 14px;border:none;border-radius:8px;background:transparent;color:#0071e3;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .2s}.navbar-signout:hover{background:#f0f0f5}@media(max-width:600px){.navbar{padding:0 16px}.navbar-email{display:none}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f5f5f7;color:#1d1d1f;min-height:100vh}.container{max-width:900px;margin:0 auto;padding:40px 20px 60px}header{text-align:center;margin-bottom:40px}header h1{font-size:2rem;font-weight:700;letter-spacing:-.5px}.subtitle{color:#86868b;margin-top:8px;font-size:1.05rem}.upload-section{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:32px}.try-btn{display:block;width:100%;max-width:320px;margin:0 auto 32px;padding:14px 32px;border:none;border-radius:12px;background:#0071e3;color:#fff;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s,opacity .2s,transform .1s}.try-btn:hover:not(:disabled){background:#0077ed;transform:translateY(-1px)}.try-btn:active:not(:disabled){transform:translateY(0)}.try-btn:disabled{opacity:.4;cursor:not-allowed}.loading{text-align:center;margin-bottom:32px}.loading p{color:#86868b;margin-top:16px;font-size:.95rem}.spinner{width:40px;height:40px;margin:0 auto;border:3px solid #e5e5ea;border-top-color:#0071e3;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error{background:#fff0f0;color:#d70015;border:1px solid #ffd4d4;border-radius:12px;padding:14px 20px;margin-bottom:32px;font-size:.95rem;text-align:center}.prompt-section{margin-bottom:32px}.prompt-label{display:block;font-size:.9rem;font-weight:600;color:#86868b;margin-bottom:8px}.prompt-input{width:100%;padding:12px 14px;border:1px solid #d2d2d7;border-radius:12px;font-family:inherit;font-size:.95rem;color:#1d1d1f;background:#fff;resize:vertical;transition:border-color .2s,box-shadow .2s}.prompt-input::placeholder{color:#aaa}.prompt-input:focus{outline:none;border-color:#0071e3;box-shadow:0 0 0 3px #0071e326}.prompt-char-count{display:block;text-align:right;font-size:.78rem;color:#aaa;margin-top:4px}.loading-sub{color:#aaa!important;font-size:.85rem!important;margin-top:4px!important}@media(max-width:600px){.container{padding:24px 16px 40px}header h1{font-size:1.5rem}.upload-section{grid-template-columns:1fr;gap:16px}}
