:root{--color-bg: #ffffff;--color-surface: #f5f5f5;--color-border: #dddddd;--color-text-primary: #111111;--color-text-secondary: #555555;--color-text-inverse: #ffffff;--color-accent: #1a56db;--color-accent-hover: #1648c0;--color-success: #1a7f4b;--color-warning: #b45309;--color-danger: #c0392b;--color-overlay-bg: rgba(0, 0, 0, .55);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-8: 3rem}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text-primary);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.6}html{font-size:18px}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3;margin:0 0 var(--space-4)}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}p{margin:0 0 var(--space-4)}small,.caption{font-size:.85rem;color:var(--color-text-secondary)}img{max-width:100%;height:auto;display:block}#app{min-height:100dvh;display:flex;flex-direction:column}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-5);border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;border:none;height:52px;width:100%;text-decoration:none;transition:background-color .15s ease,transform .1s ease;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-accent);color:var(--color-text-inverse)}.btn-primary:hover,.btn-primary:active{background:var(--color-accent-hover)}.btn-secondary{background:transparent;border:2px solid var(--color-border);color:var(--color-text-primary)}.btn-secondary:hover{background:var(--color-surface)}.btn-danger{background:var(--color-danger);color:var(--color-text-inverse)}.btn-danger:hover{opacity:.9}@media(min-width:600px){.screen-footer .btn{width:auto;min-width:200px}.screen-footer{align-items:center}}.screen{min-height:100dvh;display:flex;flex-direction:column;padding:var(--space-4);max-width:480px;margin:0 auto;width:100%}.screen-header{padding-bottom:var(--space-4)}.screen-body{flex:1;display:flex;flex-direction:column}.screen-footer{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-4)}.step-indicator{font-size:.85rem;color:var(--color-text-secondary);text-align:center;margin-bottom:var(--space-2)}.trust-badge{display:inline-flex;align-items:center;gap:var(--space-1);font-size:.8rem;color:var(--color-text-secondary);white-space:normal;word-break:break-word}.card{background:var(--color-surface);border-radius:12px;padding:var(--space-5);border:1px solid var(--color-border)}.ad-slot{width:100%;min-height:90px;background:var(--color-surface);border:1px dashed var(--color-border);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--color-text-secondary)}.ad-slot.ad-loaded{border:none}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:40px;height:40px;border:4px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.landing-screen{gap:var(--space-8);padding-bottom:var(--space-8)}.landing-header{display:flex;align-items:center;justify-content:center;padding:var(--space-4) 0 0}.landing-logo{font-size:1.5rem;font-weight:700;color:var(--color-accent);letter-spacing:-.02em}.landing-hero{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);text-align:center}.landing-hero h1{font-size:1.75rem;line-height:1.25}.landing-subtitle{font-size:1rem;color:var(--color-text-secondary);max-width:36ch;margin:0 auto}.landing-cta{font-size:1.2rem;max-width:380px;width:100%}.landing-hero .trust-badge{white-space:normal;text-align:center}.landing-hero .ad-slot{margin-top:var(--space-2);border-radius:8px}.landing-how h2,.landing-trust h2,.landing-faq h2{margin-bottom:var(--space-5)}.steps-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-5)}.step-item{display:flex;align-items:flex-start;gap:var(--space-4)}.step-number{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:50%;background:var(--color-accent);color:var(--color-text-inverse);font-size:1.3rem;font-weight:700}.step-item div strong{display:block;font-size:1rem;margin-bottom:var(--space-1)}.step-item div p{font-size:.95rem;color:var(--color-text-secondary);margin:0}.trust-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.trust-list li{font-size:1rem;font-weight:600;color:var(--color-success)}.faq-item{border:1px solid var(--color-border);border-radius:8px;padding:var(--space-4);margin-bottom:var(--space-3)}.faq-item summary{font-weight:600;cursor:pointer;font-size:1rem;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"+ ";color:var(--color-accent);font-weight:700}.faq-item[open] summary:before{content:"− "}.faq-item p{margin:var(--space-3) 0 0;color:var(--color-text-secondary);font-size:.95rem}.landing-footer{text-align:center;padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-3)}.footer-links{display:flex;gap:var(--space-5);justify-content:center;flex-wrap:wrap}.footer-links a{color:var(--color-text-secondary);font-size:.9rem;text-decoration:underline}.footer-links a:hover{color:var(--color-text-primary)}.footer-copy{font-size:.8rem;color:var(--color-text-secondary)}.camera-screen .screen-body{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);flex:1}.camera-video-container{position:relative;width:100%;background:#000;border-radius:12px;overflow:hidden;aspect-ratio:16 / 10}.camera-video{width:100%;height:100%;object-fit:cover;display:block}.camera-card-outline{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-width:92%;max-height:92%;border:2px solid rgba(255,255,255,.9);border-radius:8px;pointer-events:none;box-sizing:border-box;transition:border-color .3s ease}.camera-card-outline.rect--good{border-color:var(--color-success);box-shadow:0 0 0 2px var(--color-success)}.camera-guidance-text{position:absolute;bottom:var(--space-3);left:50%;transform:translate(-50%);white-space:nowrap;color:#fff;font-size:1rem;font-weight:600;background:#00000080;padding:6px 12px;border-radius:6px;pointer-events:none;max-width:90%;text-align:center;white-space:normal}.camera-error-msg{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-4);color:var(--color-text-secondary);font-size:.95rem;text-align:center}
