:root{color:#14241e;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef6f1;font-family:Avenir Next,PingFang SC,Microsoft YaHei,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}body{margin:0;padding:0}.app-shell{background:linear-gradient(120deg,#ffffffeb,#f2f9f5e6),#eef6f1;place-items:center;min-height:100svh;display:grid}.phone-frame{background:#fbfefd;border:1px solid #dce9e4;border-radius:28px;width:min(390px,100%);min-height:760px;max-height:calc(100svh - 40px);position:relative;overflow:auto;box-shadow:0 22px 60px #1f4e3f29}.status-bar,.page-header{grid-template-columns:44px 1fr 44px;align-items:center;display:grid}.status-bar{color:#111c18;height:36px;padding:0 18px;font-size:12px;font-weight:700}.status-icons{letter-spacing:1px;grid-column:3;justify-self:end}.page-header{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfefde6;height:52px;padding:0 14px;position:sticky;top:0}.page-header h1{text-align:center;color:#121d19;margin:0;font-size:17px;font-weight:800}.header-trailing{color:#14241e;justify-self:end}.icon-button{color:#14241e;background:0 0;border:0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.home-page,.page-content{padding:18px 18px 24px}.main-flow-page{flex-direction:column;min-height:724px;display:flex}.main-page-header{grid-template-columns:44px 1fr 44px}.tab-content{flex:1;padding-bottom:128px}.bottom-nav{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfefdf5;border:1px solid #d9e9e4;border-radius:14px;grid-template-columns:1fr 1fr;gap:8px;width:min(354px,100% - 36px);padding:8px;display:grid;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 14px 36px #14413333}.bottom-nav button{color:#63736d;background:0 0;border:0;border-radius:8px;height:42px;font-weight:800}.bottom-nav .active{color:#08765f;background:#e6f6f0}.empty-state{text-align:center;color:#50615b;align-content:center;justify-items:center;min-height:360px;display:grid}.empty-icon{color:#088d70;background:#e8f6f1;border-radius:50%;place-items:center;width:76px;height:76px;display:grid}.empty-state h2{color:#15211d;margin:16px 0 8px;font-size:19px}.empty-state p{width:250px;margin:0;font-size:14px;line-height:1.7}.record-list{gap:10px;display:grid}.pet-card{color:#15211d;text-align:left;background:#fff;border:1px solid #e0ece8;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;min-height:76px;padding:12px;display:grid}.record-card{background:#fff;border:1px solid #e0ece8;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:8px;width:100%;min-height:76px;padding:8px;display:grid}.record-card-open{color:#15211d;text-align:left;background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-width:0;min-height:60px;padding:4px;display:grid}.record-delete-button{color:#a7473a;background:#fff7f5;border:1px solid #f1d7d2;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.pet-avatar{color:#0a8068;background:#e8f6f1;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.pet-card-main,.record-card-main{gap:5px;min-width:0;display:grid}.pet-card-main strong,.record-card-main strong{font-size:16px}.pet-card-main small,.record-card-main small{color:#687a74;line-height:1.4}.record-score{color:#08765f;background:#e8f6f1;border-radius:8px;place-items:center;width:64px;min-height:44px;font-size:12px;font-weight:900;display:grid}.modal-backdrop{z-index:10;background:#081c165c;place-items:center;padding:18px;display:grid;position:absolute;inset:0}.pet-selector{background:#fbfefd;border-radius:14px;width:min(354px,100%);max-height:68svh;overflow:auto;box-shadow:0 18px 48px #0c312647}.pet-selector header{border-bottom:1px solid #edf2f0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.pet-selector h2{margin:0;font-size:17px}.pet-selector header button{color:#08765f;background:0 0;border:0;font-weight:800}.selector-list,.selector-empty{gap:10px;padding:14px;display:grid}.selector-list button{color:#15211d;background:#fff;border:1px solid #e0ece8;border-radius:8px;justify-content:space-between;align-items:center;min-height:52px;padding:0 12px;font-weight:800;display:flex}.selector-list small,.selector-empty p{color:#687a74}.app-toast{z-index:12;color:#fff;text-align:center;pointer-events:none;background:#12221ce0;border-radius:999px;max-width:calc(100% - 48px);padding:10px 14px;font-size:14px;font-weight:700;line-height:1.35;position:absolute;bottom:92px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #0c31263d}.primary-button,.secondary-button{border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:46px;font-size:17px;font-weight:800;display:inline-flex}.primary-button{color:#fff;background:linear-gradient(#1fbf9b,#07906f);border:0;box-shadow:0 10px 24px #0a91703d}.primary-button:disabled{opacity:.48;box-shadow:none}.secondary-button{color:#08765f;background:#fff;border:1px solid #15977b}.notice,.privacy,.disclaimer{color:#6a7a75;align-items:flex-start;gap:8px;font-size:13px;line-height:1.55;display:flex}button,label{-webkit-tap-highlight-color:transparent}.home-page{flex-direction:column;align-items:center;min-height:690px;display:flex}.home-copy{text-align:center;margin-top:34px}.home-copy h1{color:#0d6b54;margin:0 0 12px;font-size:33px;line-height:1.08}.home-copy p{color:#4b5d57;width:260px;margin:0 auto;line-height:1.8}.pet-hero{background:#f8fbf6;border-radius:18px;width:288px;height:214px;margin:28px 0 22px;overflow:hidden}.pet-hero img{object-fit:cover;width:100%;height:100%;display:block}.home-page .notice{width:280px;margin-top:24px}.form-row{color:#15211d;border-bottom:1px solid #edf2f0;grid-template-columns:92px 1fr auto;align-items:center;min-height:45px;display:grid}.form-label{font-size:14px;font-weight:800}.text-row input{color:#1d2a25;min-width:0;font:inherit;background:0 0;border:0;outline:0}.text-row input::placeholder{color:#b3bfba}.suffix{color:#77837e}.breed-recognition-row{grid-template-columns:92px minmax(0,1fr) auto;gap:8px}.breed-recognition-upload{align-items:center;display:flex}.ai-inline-button{color:#08765f;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #b9ddd4;border-radius:8px;align-items:center;gap:5px;height:30px;padding:0 9px;font-size:13px;font-weight:800;display:inline-flex}.segmented{flex-wrap:wrap;gap:7px;display:flex}.segmented button{color:#61716b;background:#fff;border:1px solid #dfe8e4;border-radius:8px;height:30px;padding:0 10px;font-weight:700}.segmented .selected{color:#fff;background:linear-gradient(#1eb995,#078a6d);border-color:#088d70}.docked{margin-top:20px}.error-list{color:#9b3427;background:#fff2ef;border-radius:8px;margin:14px 0 0;padding:10px 12px;font-size:13px;list-style:none}.upload-content{gap:14px;display:grid}.upload-slot{background:#fcfffe;border:1px solid #e1ece8;border-radius:8px;padding:12px}.upload-slot h2{color:#09836a;margin:0 0 4px;font-size:15px}.upload-slot h2 span,.upload-slot p{color:#53635e}.upload-slot p{margin:0 0 10px;font-size:12px}.upload-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.upload-box,.sample-image{aspect-ratio:3/4;text-align:center;border-radius:8px;place-items:center;font-size:13px;display:grid}.upload-box{color:#8b9893;cursor:pointer;border:1px dashed #a9b7b2;position:relative;overflow:hidden}.upload-box.has-preview{background:#f3faf7;border-style:solid;border-color:#84cfc1}.upload-box img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.sample-image{color:#996a34;background:#fff9ee;position:relative;overflow:hidden}.sample-image img{object-fit:cover;width:100%;height:100%}.sample-image span{color:#996a34;background:#fff9eee0;border-radius:999px;padding:3px 8px;font-weight:800;position:absolute;bottom:8px;right:8px}.file-name{text-overflow:ellipsis;white-space:nowrap;color:#fff;z-index:1;background:#08765fd6;border-radius:6px;max-width:calc(100% - 16px);padding:4px 7px;font-size:12px;font-weight:800;position:absolute;inset:auto 8px 8px;overflow:hidden}.upload-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.upload-actions label{color:#07846a;cursor:pointer;border:1px solid #b9ddd4;border-radius:7px;justify-content:center;align-items:center;gap:6px;height:32px;font-weight:800;display:flex}.sr-only{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.recognition-message,.recognition-error{border-radius:8px;margin:-4px 0 0;padding:10px 12px;font-size:13px;line-height:1.5}.recognition-message{color:#08765f;background:#e9f8f3}.recognition-error{color:#9b3427;background:#fff2ef}.guidance{color:#2f3d38;margin:0;line-height:1.65}.pet-diagram{place-items:center;height:160px;margin:8px 0 12px;display:grid;overflow:hidden}.pet-diagram img{object-fit:contain;width:100%;height:100%;display:block}.option-list{gap:8px;display:grid}.option-card{color:#33423d;text-align:left;background:#fff;border:1px solid #d8e6e1;border-radius:8px;grid-template-columns:30px 1fr;align-items:center;gap:8px;min-height:38px;font-weight:700;display:grid}.option-card span{color:#fff;background:#13987b;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.option-card.selected{background:#f1fbf8;border-color:#13987b}.analyzing-content{text-align:center}.progress-ring{color:#0b8f72;background:radial-gradient(circle at center, #fbfefd 58%, transparent 59%), conic-gradient(#0b8f72 0 68%, #dceee8 68% 100%);border-radius:50%;place-items:center;width:142px;height:142px;margin:10px auto 22px;display:grid}.progress-ring span,.progress-ring strong{grid-area:1/1}.progress-ring span{color:#1b2a25;font-weight:800;transform:translateY(-18px)}.progress-ring strong{font-size:30px;transform:translateY(18px)}.analysis-steps{text-align:left;gap:14px;width:250px;margin:24px auto;padding:0;list-style:none;display:grid}.analysis-steps li{color:#6a7a75;padding-left:32px;position:relative}.analysis-steps li:before{content:"";border:2px solid #c9d8d3;border-radius:50%;width:18px;height:18px;position:absolute;top:2px;left:0}.analysis-steps .done:before,.analysis-steps .active:before{background:#0b9677;border-color:#0b9677}.privacy{justify-content:center;margin-top:24px}.score-card{color:#fff;background:linear-gradient(140deg,#1fc7a0,#078b6d);border-radius:8px;grid-template-columns:minmax(0,1fr) 116px;gap:12px;min-height:128px;padding:18px;display:grid}.score-card h2{margin:0 0 12px;font-size:21px}.score-card p{margin:0;font-size:13px;line-height:1.6}.bcs-bar{align-self:center;width:116px;padding-top:28px;position:relative}.bcs-bar-track{border:2px solid #ffffff70;border-radius:8px;grid-template-columns:1fr 1fr 1fr;min-height:44px;display:grid;overflow:hidden;box-shadow:inset 0 1px #ffffff4d}.bcs-bar-segment{color:#0c372dd1;text-align:center;place-items:center;gap:2px;padding:5px 2px 4px;font-size:12px;font-weight:900;line-height:1;transition:filter .2s,transform .2s;display:grid}.bcs-bar-segment.thin{background:#f2cf5a}.bcs-bar-segment.fit{background:#9de3bd}.bcs-bar-segment.heavy{background:#f49a62}.bcs-bar-segment[data-active=true]{color:#fff;filter:saturate(1.14)contrast(1.03)}.bcs-bar-segment small{opacity:.82;font-size:10px;font-weight:800}.bcs-bar-marker{color:#fff;background:#08735e;border:2px solid #ffffffc2;border-radius:999px;place-items:center;width:28px;height:24px;font-size:16px;font-weight:900;line-height:1;display:grid;position:absolute;top:0;transform:translate(-50%);box-shadow:0 6px 14px #00000029}.report-section{background:#fbfffd;border:1px solid #e0ece8;border-radius:8px;grid-template-columns:58px 1fr;gap:10px;margin-top:10px;padding:12px;display:grid}.report-icon{color:#108c72;place-items:center;display:grid}.report-section h3{color:#108c72;margin:0 0 6px;font-size:14px}.report-section ul{color:#3b4a45;margin:0;padding-left:18px;font-size:13px;line-height:1.55}.confidence-row{color:#108c72;border:1px solid #dceae5;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;min-height:44px;margin-top:10px;padding:0 14px;display:flex}.confidence-row strong{font-size:15px}.confidence-row span{gap:3px;display:flex}.breed-note{color:#61716b;margin:10px 0 0;font-size:13px}.disclaimer{margin:10px 0 0}
