:root{--primary: #ff6a3d;--primary-dark: #e85829;--accent: #15b7a6;--accent-dark: #0a8a7d;--ink: #1a2b2a;--ink-muted: #5a6e6c;--cream: #fdf9f2;--paper: #ffffff;--rule: #ece4d2;--rule-strong: #d7cdb6;--good: #16a34a;--warn: #ea580c;--shadow: 0 1px 2px rgba(26, 43, 42, .04), 0 8px 24px rgba(26, 43, 42, .08);--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;font-feature-settings:"ss01" on,"cv11" on}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;color:inherit}.shell{min-height:100%;display:flex;flex-direction:column}.topbar{background:var(--paper);border-bottom:1px solid var(--rule);padding:14px 32px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--ink)}.brand-mark{width:30px;height:30px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:16px;font-weight:700}.brand-mark:before{content:"🐾"}.topbar-meta{font-size:13px;color:var(--ink-muted)}.topbar-meta strong{color:var(--ink)}.main{flex:1;padding:40px 24px 80px;display:flex;flex-direction:column;align-items:center}.stepper{display:flex;gap:8px;align-items:center;margin-bottom:28px;font-size:13px;color:var(--ink-muted);font-weight:500}.stepper-dot{width:22px;height:22px;border-radius:50%;background:var(--rule);color:var(--ink-muted);display:grid;place-items:center;font-size:12px;font-weight:600}.stepper-step{display:flex;align-items:center;gap:6px}.stepper-step.active .stepper-dot{background:var(--primary);color:#fff}.stepper-step.active{color:var(--ink);font-weight:600}.stepper-step.done .stepper-dot{background:var(--accent);color:#fff}.stepper-step.done .stepper-dot:before{content:"✓"}.stepper-step.done .stepper-dot{font-size:0}.stepper-step.done .stepper-dot:before{font-size:13px}.stepper-divider{width:24px;height:1px;background:var(--rule)}.card{background:var(--paper);border-radius:16px;border:1px solid var(--rule);box-shadow:var(--shadow);padding:32px;width:100%;max-width:720px}.card.wide{max-width:960px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:700;color:var(--primary);margin:0 0 10px}.h-display{font-family:var(--font-display);font-weight:600;font-size:30px;line-height:1.15;letter-spacing:-.01em;margin:0 0 12px;color:var(--ink)}.lede{font-size:16px;line-height:1.55;color:var(--ink-muted);margin:0 0 24px}.btn{border:0;border-radius:999px;padding:14px 28px;font-weight:600;font-size:15px;letter-spacing:.01em;display:inline-flex;align-items:center;gap:8px;transition:transform .08s ease,background .15s ease,box-shadow .15s ease}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:active{transform:translateY(1px)}.btn-primary:disabled{background:var(--rule-strong);cursor:not-allowed}.btn-secondary{background:transparent;color:var(--ink);border:1px solid var(--rule-strong)}.btn-secondary:hover{background:var(--cream)}.btn-ghost{background:transparent;color:var(--ink-muted);padding:10px 14px}.btn-ghost:hover{color:var(--ink)}.btn-row{display:flex;gap:12px;align-items:center;margin-top:28px}.welcome{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}.welcome-img{background:linear-gradient(160deg,#ffe8de,#e6f6f4);border-radius:16px;aspect-ratio:4 / 5;background-image:url(/pets/bailey.jpg);background-size:cover;background-position:center;box-shadow:inset 0 0 0 1px var(--rule)}.welcome h1{font-family:var(--font-display);font-size:44px;line-height:1.05;margin:0 0 16px;font-weight:600;letter-spacing:-.015em}.welcome h1 .accent{color:var(--primary)}.welcome .lede{font-size:17px}.welcome ul{list-style:none;padding:0;margin:24px 0;display:grid;gap:10px}.welcome li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--ink)}.welcome li:before{content:"✓";color:var(--accent);font-weight:700;margin-top:1px}@media (max-width: 760px){.welcome{grid-template-columns:1fr}}.upload-area{border:2px dashed var(--rule-strong);background:var(--cream);border-radius:14px;padding:36px;text-align:center;margin:20px 0 24px}.upload-icon{width:56px;height:56px;margin:0 auto 14px;border-radius:14px;background:var(--primary);display:grid;place-items:center;color:#fff;font-size:26px}.upload-area p{margin:0 0 4px;font-weight:600}.upload-area small{color:var(--ink-muted)}.demo-pets{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}@media (max-width: 620px){.demo-pets{grid-template-columns:1fr}}.demo-pet{border:1px solid var(--rule);border-radius:12px;background:var(--paper);padding:14px;display:flex;gap:12px;align-items:center;text-align:left;transition:border-color .15s ease,transform .08s ease}.demo-pet:hover{border-color:var(--primary)}.demo-pet:active{transform:translateY(1px)}.demo-pet img{width:56px;height:56px;object-fit:cover;border-radius:50%;flex-shrink:0}.demo-pet div{font-size:14px}.demo-pet strong{display:block;font-size:14px;color:var(--ink)}.demo-pet span{color:var(--ink-muted);font-size:12.5px}.demo-divider{display:flex;align-items:center;gap:12px;color:var(--ink-muted);font-size:13px;margin:22px 0 10px}.demo-divider:before,.demo-divider:after{content:"";flex:1;height:1px;background:var(--rule)}.method-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:6px}@media (max-width: 620px){.method-row{grid-template-columns:1fr}}.method-card{position:relative;border:1px dashed var(--rule-strong);border-radius:12px;background:var(--paper);padding:14px;display:flex;gap:12px;align-items:flex-start;text-align:left;cursor:not-allowed;opacity:.72;font-family:inherit}.method-card .method-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--cream);color:var(--primary);flex-shrink:0}.method-card .method-icon svg{width:22px;height:22px;display:block}.method-body{font-size:13px;flex:1;min-width:0}.method-body strong{display:block;font-size:13.5px;color:var(--ink);margin-bottom:2px}.method-body span{color:var(--ink-muted);font-size:12px;line-height:1.4;display:block}.method-tag{position:absolute;bottom:8px;right:10px;font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);background:var(--cream);border:1px solid var(--rule);padding:2px 6px;border-radius:999px}.method-card{padding-bottom:28px}.analyzing{text-align:center;padding:16px 0 8px}.analyzing-photo{position:relative;width:220px;height:220px;margin:0 auto 24px;border-radius:50%;overflow:hidden;border:4px solid var(--paper);box-shadow:var(--shadow)}.analyzing-photo img{width:100%;height:100%;object-fit:cover}.scan-line{position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:scan 1.6s ease-in-out infinite;box-shadow:0 0 24px var(--accent)}@keyframes scan{0%{top:0}50%{top:calc(100% - 4px)}to{top:0}}.analyzing-steps{display:grid;gap:8px;max-width:420px;margin:0 auto;text-align:left}.analyzing-step{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:var(--cream);font-size:14px;font-weight:500;color:var(--ink-muted);transition:all .3s ease}.analyzing-step.done{background:#15b7a614;color:var(--ink)}.analyzing-step.done:before{content:"✓";color:var(--accent);font-weight:700}.analyzing-step.running:before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid var(--rule-strong);border-top-color:var(--primary);animation:spin .7s linear infinite}.analyzing-step.pending:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rule);margin:0 3px}@keyframes spin{to{transform:rotate(360deg)}}.view-toggle-row{display:flex;justify-content:flex-end;margin:-10px 0 14px}.view-toggle{display:inline-flex;background:var(--cream);border:1px solid var(--rule);border-radius:999px;padding:3px;gap:2px}.view-toggle-btn{border:0;background:transparent;color:var(--ink-muted);font-size:12.5px;font-weight:600;padding:7px 14px;border-radius:999px;transition:background .15s ease,color .15s ease}.view-toggle-btn:hover{color:var(--ink)}.view-toggle-btn.active{background:var(--ink);color:#fff}.view-toggle-btn.active:hover{color:#fff}.form-hero{display:flex;gap:20px;align-items:center;padding:18px 20px;background:linear-gradient(120deg,#fff6f1,#e8f7f4);border-radius:14px;margin-bottom:24px}.form-hero img{width:84px;height:84px;border-radius:50%;object-fit:cover;border:3px solid white;box-shadow:var(--shadow)}.form-hero-body{flex:1}.form-hero h2{font-family:var(--font-display);margin:0 0 4px;font-size:22px;font-weight:600}.form-hero p{margin:0;color:var(--ink-muted);font-size:14px;line-height:1.5}.form-section{margin-top:26px}.form-section h3{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin:0 0 14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 620px){.form-grid{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:6px}.field-full{grid-column:1 / -1}.field label{font-size:13px;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:8px}.field input,.field select{border:1px solid var(--rule-strong);border-radius:10px;padding:11px 14px;font-size:15px;background:var(--paper);transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px #ff6a3d2e}.field.prefilled input,.field.prefilled select{background:#f7fbfa;border-color:#c8e6e1}.tag{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600;letter-spacing:.02em}.tag-auto{background:#15b7a624;color:var(--accent-dark)}.tag-auto:before{content:"✨"}.tag-manual{background:#1a2b2a0f;color:var(--ink-muted)}.tag-conf-high{background:#15b7a624;color:var(--accent-dark)}.tag-conf-medium{background:#ea580c1f;color:#b3490b}.tag-conf-low{background:#ea580c29;color:var(--warn)}.helper{font-size:12.5px;color:var(--ink-muted);margin:0}.risks{display:grid;gap:8px;margin-top:12px}.risk{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:10px;background:var(--cream);border:1px solid var(--rule)}.risk-icon{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:14px;font-weight:700;flex-shrink:0}.risk-icon.monitor{background:var(--accent)}.risk-icon.watch{background:var(--warn)}.risk-body strong{display:block;font-size:14px;margin-bottom:2px}.risk-body span{color:var(--ink-muted);font-size:12.5px}.bcs-dial{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding:14px 16px;background:var(--cream);border-radius:12px;border:1px solid var(--rule)}.bcs-score{font-family:var(--font-display);font-weight:600;font-size:40px;line-height:1;color:var(--ink)}.bcs-score small{display:block;font-family:var(--font-body);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-weight:600;margin-top:4px}.bcs-bar{height:8px;background:linear-gradient(90deg,#b1d4f4 0%,var(--good) 33%,var(--good) 55%,var(--warn) 100%);border-radius:4px;position:relative;margin-top:12px}.bcs-marker{position:absolute;top:-4px;width:4px;height:16px;background:var(--ink);border-radius:2px;transform:translate(-2px)}.bcs-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-muted);margin-top:4px}.bcs-note{font-size:13px;color:var(--ink-muted);margin-top:8px;line-height:1.5}.success{text-align:center;padding:18px 0}.success-mark{width:96px;height:96px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:44px;margin:0 auto 18px;animation:pop .4s ease-out}@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}.policy{margin:20px auto;max-width:420px;text-align:left;background:var(--cream);border-radius:12px;padding:18px 22px;border:1px solid var(--rule)}.policy-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}.policy-row span:first-child{color:var(--ink-muted)}.policy-row span:last-child{font-weight:600}.policy-row+.policy-row{border-top:1px dashed var(--rule)}.footer{text-align:center;padding:28px 16px;font-size:12px;color:var(--ink-muted)}.footer a{color:var(--accent-dark);text-decoration:none}
