*,:after,:before{margin:0;padding:0;box-sizing:border-box}:root{--bg:#ffffff;--bg-card:#f7f7f8;--bg-card-hover:#f0f0f2;--bg-section-alt:#fafafa;--text-primary:#000000;--text-secondary:#6b6b6b;--accent:#FF5FA2;--accent-light:rgba(255,95,162,0.1);--border:#e8e8e8;--radius:16px;--radius-sm:10px}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text-primary);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{max-width:1120px;margin:0 auto;padding:0 24px}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:16px 0;background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);transition:padding .3s}.nav.scrolled{padding:10px 0}.nav .container{justify-content:space-between}.nav .container,.nav-brand{display:flex;align-items:center}.nav-brand{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;gap:10px}.nav-brand .logo-icon{width:32px;height:32px;border-radius:8px;object-fit:cover}.nav-links{display:flex;gap:32px;list-style:none}.nav-links a{font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:color .2s}.nav-links a:hover,.nav-toggle{color:var(--text-primary)}.nav-toggle{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer}.hero{padding:120px 0 60px;background:var(--bg);text-align:center}.hero h1{font-size:clamp(2.5rem,6vw,4rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:16px}.accent{background-color:var(--accent);color:#ffffff;padding:2px 12px}.hero-sub{font-size:1.15rem;color:var(--text-secondary);max-width:520px;margin:0 auto 40px;line-height:1.7}.try-it-content{max-width:480px;margin:0 auto}.upload-area{border:2px dashed var(--border);border-radius:var(--radius);padding:64px 28px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;position:relative;animation:borderPulse 2s ease-in-out infinite}@keyframes borderPulse{0%,to{border-color:var(--border)}50%{border-color:var(--accent)}}.upload-area.dragover,.upload-area:hover{border-color:var(--accent);background:var(--accent-light);animation:none}.upload-icon{width:40px;height:40px;margin:0 auto 12px;color:var(--accent)}.upload-icon svg{width:100%;height:100%}.upload-text{font-size:.95rem;color:var(--text-primary);margin-bottom:6px}.upload-browse{color:var(--accent);font-weight:600}.upload-hint{font-size:.8rem}.sample-label,.upload-hint{color:var(--text-secondary)}.sample-label{font-size:.85rem;text-align:center;margin-top:20px;margin-bottom:12px}.sample-grid{display:flex;gap:12px;justify-content:center}.sample-card{width:72px;height:72px;border-radius:12px;overflow:hidden;cursor:pointer;border:2px solid var(--border);transition:border-color .25s,transform .25s}.sample-card img{width:100%;height:100%;object-fit:cover;display:block}.sample-card:hover{border-color:var(--accent);transform:scale(1.08)}.camera-btn{display:none;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:50px;background:none;font-size:.9rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:border-color .2s,color .2s}.camera-btn:hover{border-color:var(--accent);color:var(--accent)}.camera-btn svg{width:20px;height:20px;fill:currentColor}@media (hover:none) and (pointer:coarse){.camera-btn{display:flex}}.privacy-note{margin-top:16px;font-size:.75rem}.photo-counter,.privacy-note{color:var(--text-secondary);text-align:center}.photo-counter{margin-top:32px;font-size:.85rem}.photo-counter span{font-weight:700;color:var(--accent)}.processing-state{text-align:center;padding:60px 0}.processing-state p{color:var(--text-secondary);margin-top:16px;font-size:.95rem}.processing-text{transition:opacity .4s ease;animation:textFadeIn .4s ease}@keyframes textFadeIn{0%{opacity:0}to{opacity:1}}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;margin:0 auto;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.compare-container{display:grid;position:relative;width:100%;border-radius:var(--radius);overflow:hidden;cursor:ew-resize;-moz-user-select:none;user-select:none;-webkit-user-select:none;box-shadow:0 12px 40px rgba(0,0,0,.1)}.compare-img{grid-area:1/1;display:block;width:100%;height:auto}.compare-before{-webkit-clip-path:inset(0 50% 0 0);clip-path:inset(0 50% 0 0)}.compare-slider{top:0;width:3px;height:100%;transform:translateX(-50%);z-index:10;box-shadow:0 0 6px rgba(0,0,0,.3)}.compare-handle,.compare-slider{position:absolute;left:50%;background:white}.compare-handle{top:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center}.compare-handle svg{width:14px;height:14px;fill:var(--text-secondary)}.compare-label{position:absolute;bottom:12px;padding:4px 12px;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;background:rgba(0,0,0,.5);color:white;z-index:5}.compare-label-before{left:12px}.compare-label-after{right:12px}.try-again-btn{display:block;margin:20px auto 0;padding:10px 28px;border:1px solid var(--border);border-radius:50px;background:none;font-size:.9rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:border-color .2s,color .2s}.try-again-btn:hover{border-color:var(--accent);color:var(--accent)}.result-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}.download-btn{display:inline-flex;align-items:center;gap:6px;background:var(--accent);color:white;border-color:var(--accent)}.download-btn:hover{background:#e8528f;border-color:#e8528f;color:white}.error-state{text-align:center;padding:48px 0}.error-state p{color:var(--text-secondary);margin-bottom:16px}section{padding:80px 0}.section-label{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);margin-bottom:12px}.section-title{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700;letter-spacing:-.02em;margin-bottom:16px}.section-subtitle{font-size:1.05rem;color:var(--text-secondary);max-width:540px;line-height:1.7}.section-header{text-align:center;margin-bottom:48px}.section-header .section-subtitle{margin:0 auto}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:24px;gap:24px}.feature-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:32px 24px;transition:transform .25s,background .25s}.feature-card:hover{transform:translateY(-4px);background:var(--bg-card-hover)}.feature-icon{width:44px;height:44px;border-radius:12px;background:var(--accent-light);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.feature-icon svg{width:22px;height:22px;fill:var(--accent)}.feature-card h3{font-size:1.1rem;font-weight:600;margin-bottom:8px}.feature-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.65}.filters{background:var(--bg-section-alt)}.filter-grid{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-bottom:24px}.filter-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:50px;font-size:.88rem;font-weight:500;background:var(--bg);border:1px solid var(--border);transition:transform .2s,border-color .2s}.filter-badge:hover{transform:translateY(-2px);border-color:var(--accent)}.filter-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.filter-custom{text-align:center;color:var(--text-secondary);font-size:.92rem}.filter-custom strong{color:var(--accent)}.video-cta{background:var(--bg)}.video-teaser{max-width:480px;margin:0 auto;position:relative}.video-card{border:2px dashed var(--border);border-radius:var(--radius);padding:48px 40px;text-align:center;background:var(--bg);animation:borderPulse 2s ease-in-out infinite}.video-icon{width:48px;height:48px;margin:0 auto 16px}.video-icon svg{width:100%;height:100%;fill:var(--accent)}.video-card h3{font-size:1.2rem;font-weight:700;margin-bottom:8px}.video-card p{font-size:.92rem;color:var(--text-secondary);margin-bottom:28px;line-height:1.6}.btn-appstore,.video-card .btn-appstore{display:inline-flex}.btn-appstore{align-items:center;gap:10px;padding:14px 32px;background:var(--text-primary);color:var(--bg);border-radius:50px;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s}.btn-appstore:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(0,0,0,.12)}.btn-appstore svg{width:22px;height:22px}.footer{padding:32px 0;border-top:1px solid var(--border)}.footer .container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.footer-links{display:flex;gap:24px;list-style:none}.footer-links a{font-size:.85rem;color:var(--text-secondary);transition:color .2s}.footer-links a:hover{color:var(--text-primary)}.footer-copy{font-size:.82rem;color:var(--text-secondary)}.faq-section{background:var(--bg-section-alt)}.faq-list{max-width:680px;margin:0 auto}.faq-item{border-bottom:1px solid var(--border)}.faq-item summary{padding:20px 0;font-size:1.05rem;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";font-size:1.4rem;font-weight:300;color:var(--text-secondary);flex-shrink:0;margin-left:16px}.faq-item[open] summary:after{content:"\2212"}.faq-item p{padding:0 0 20px;font-size:.95rem;color:var(--text-secondary);line-height:1.7}.fade-in{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}@media (max-width:768px){.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);flex-direction:column;padding:20px 24px;gap:16px;border-bottom:1px solid var(--border)}.nav-links.open{display:flex}.nav-toggle{display:block}.features-grid{grid-template-columns:1fr;gap:20px}.hero{padding:110px 0 48px}section{padding:60px 0}}@media (max-width:480px){.container{padding:0 16px}.hero{padding:90px 0 32px}.hero h1{font-size:1.8rem}section{padding:48px 0}.try-it-content{max-width:100%}.upload-area{padding:32px 16px}.sample-card{width:64px;height:64px}.filter-grid{gap:8px}.filter-badge{padding:7px 14px;font-size:.82rem}.video-teaser{max-width:100%}.video-card{padding:36px 20px}.btn-appstore{padding:12px 24px;font-size:.9rem}.compare-label{font-size:.7rem;padding:3px 8px}.compare-slider{width:4px}.footer .container{flex-direction:column;text-align:center}.footer-links{justify-content:center}}.privacy,.terms{padding:140px 0 80px;max-width:680px;margin:0 auto}.privacy h1,.terms h1{font-size:2rem;margin-bottom:12px}.privacy .updated,.terms .updated{color:var(--text-secondary);font-size:.9rem;margin-bottom:40px}.privacy h2,.terms h2{font-size:1.2rem;margin:32px 0 12px;color:var(--text-primary)}.privacy p,.terms p,.terms ul{color:var(--text-primary);font-size:.95rem;line-height:1.75;margin-bottom:16px}.terms ul{padding-left:20px}.privacy li{color:var(--text-primary);font-size:.95rem;line-height:1.75;margin-bottom:6px}.privacy ul{margin-bottom:16px;padding-left:20px}.back-link{display:inline-block;margin-top:40px;color:var(--accent);font-size:.9rem}.back-link:hover{text-decoration:underline}.blog-hero{padding:140px 0 60px;text-align:center}.blog-hero h1{font-size:clamp(2rem,5vw,3rem);font-weight:800;letter-spacing:-.03em;margin-bottom:12px}.blog-hero p{font-size:1.1rem;color:var(--text-secondary);max-width:520px;margin:0 auto}.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:32px;gap:32px;padding-bottom:80px}.blog-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .25s,box-shadow .25s}.blog-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.08)}.blog-card-body{padding:24px}.blog-card-meta{font-size:.8rem;color:var(--text-secondary);margin-bottom:8px;display:flex;gap:12px}.blog-card-tag{background:var(--accent-light);color:var(--accent);padding:2px 8px;border-radius:4px;font-weight:600;font-size:.75rem}.blog-card h2{font-size:1.2rem;font-weight:700;margin-bottom:8px;line-height:1.3}.blog-card h2 a{color:var(--text-primary);transition:color .2s}.blog-card h2 a:hover{color:var(--accent)}.blog-card p{font-size:.9rem;color:var(--text-secondary);line-height:1.65}.blog-card-link{display:inline-block;margin-top:12px;font-size:.88rem;font-weight:600;color:var(--accent)}.blog-card-link:hover{text-decoration:underline}@media (max-width:768px){.blog-grid{grid-template-columns:1fr;gap:24px}.blog-hero{padding:120px 0 40px}}.article{padding:140px 0 80px;max-width:720px;margin:0 auto}.article-meta{font-size:.85rem;color:var(--text-secondary);margin-bottom:24px;display:flex;gap:16px;align-items:center}.article-tag{background:var(--accent-light);color:var(--accent);padding:2px 10px;border-radius:4px;font-weight:600;font-size:.78rem}.article h1{font-size:clamp(1.8rem,5vw,2.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-bottom:16px}.article-intro{font-size:1.1rem;color:var(--text-secondary);line-height:1.7;margin-bottom:40px}.article h2{font-size:1.4rem;font-weight:700;margin:40px 0 16px;letter-spacing:-.01em}.article h3{font-size:1.1rem;font-weight:600;margin:28px 0 12px}.article p{font-size:1rem;line-height:1.8;margin-bottom:16px;color:var(--text-primary)}.article ol,.article ul{margin-bottom:16px;padding-left:24px}.article li{font-size:1rem;line-height:1.8;margin-bottom:8px;color:var(--text-primary)}.article strong{font-weight:600}.article blockquote{border-left:3px solid var(--accent);padding:16px 24px;margin:24px 0;background:var(--bg-card);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:1rem;color:var(--text-primary);line-height:1.7}.article-cta{margin:48px 0;padding:32px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-align:center}.article-cta h3{margin:0 0 8px;font-size:1.2rem}.article-cta p{color:var(--text-secondary);margin-bottom:16px}.article-cta .btn-accent{display:inline-block;padding:12px 28px;background:var(--accent);color:white;border-radius:50px;font-weight:600;font-size:.95rem;transition:background .2s}.article-cta .btn-accent:hover{background:#e8528f}.breadcrumb{font-size:.82rem;color:var(--text-secondary);margin-bottom:24px}.breadcrumb a{color:var(--accent)}.breadcrumb a:hover{text-decoration:underline}.comparison-table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.95rem}.comparison-table th{text-align:left;padding:12px 16px;background:var(--bg-card);border-bottom:2px solid var(--border);font-weight:600}.comparison-table td{padding:12px 16px;border-bottom:1px solid var(--border);line-height:1.6}.comparison-table tr:last-child td{border-bottom:none}@media (max-width:768px){.article{padding:120px 0 60px}.comparison-table{font-size:.85rem}.comparison-table td,.comparison-table th{padding:10px 12px}}.not-found{display:flex;align-items:center;justify-content:center;min-height:100vh;text-align:center}.not-found h1{font-size:4rem;font-weight:800;margin-bottom:4px}.not-found p{color:var(--text-secondary);margin-bottom:24px;font-size:1.1rem}.not-found a{display:inline-block;padding:12px 32px;background:var(--accent);color:#fff;border-radius:50px;font-weight:600;transition:transform .2s}.not-found a:hover{transform:translateY(-2px)}