:root{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#f8f6ec;background:#101c16;font-synthesis:none;--gold:#c6a56a;--forest:#101c16;--muted:#65766b}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:radial-gradient(ellipse at top left,#284336,transparent 70%),#101c16;min-height:100vh}.staging{background:#dbc99d;color:#23352b;text-align:center;font-size:11px;font-weight:700;letter-spacing:.06em;padding:10px}header{max-width:1140px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#faf7ef;font-size:25px;font-weight:850;letter-spacing:5px}.brand img{width:60px;height:60px;border-radius:15px}.brand small{display:block;font-size:9px;letter-spacing:3px;color:var(--gold);margin-top:5px}main{max-width:1140px;margin:auto;padding:20px 24px 60px}.welcome{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center;min-height:70vh}h1{font-size:clamp(32px,4.5vw,56px);line-height:1.08;letter-spacing:-.04em;margin:12px 0 22px}h2{font-size:23px;line-height:1.2;letter-spacing:-.025em;margin:0 0 15px}p{line-height:1.6}a{color:inherit}.eyebrow{color:var(--gold);letter-spacing:2px;font-weight:750;font-size:10px;text-transform:uppercase}.lead{color:#c5d1c8;font-size:19px;max-width:420px}.benefits{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.benefits span{border:1px solid #5b6b5a;border-radius:50px;padding:9px 12px;font-size:11px;color:#d5dfd7}.card{background:#faf8f0;color:#1a2d22;border-radius:25px;padding:28px;margin:0 0 22px;box-shadow:0 10px 30px #0002}.card .eyebrow{color:#8a6c38}.card p{font-size:14px}.muted{color:var(--muted);font-size:12px!important}.login{padding:36px}label{display:block;font-size:13px;font-weight:650;margin:20px 0 7px}input,select,textarea{width:100%;background:#fffef9;border:1px solid #cbd3c7;border-radius:10px;padding:13px;font:inherit;color:#203a28;font-size:15px;max-width:100%}textarea{min-height:95px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:2px}button{background:#284f38;color:#fffdf4;border:0;border-radius:11px;padding:13px 18px;font:inherit;font-size:13px;font-weight:750;cursor:pointer;margin-top:15px}button:hover{background:#386548}button:disabled{opacity:.5;cursor:wait}.quiet{background:#e4e9df;color:#23422d}.quiet:hover{background:#d1dacb}header .quiet{background:#2e4335;color:#faf7ef}fieldset{border:0;padding:0;margin:0}.check{display:flex;align-items:flex-start;gap:10px;font-weight:500;line-height:1.5}.check input{width:18px;height:18px;flex:none;margin:1px 0}.title-row{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:15px 0 30px}.title-row h1{margin-bottom:8px}.dog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.dog-card{padding:0;overflow:hidden}.dog-card img{width:100%;height:235px;object-fit:cover;background:#15271d}.dog-card .inside{padding:24px}.dog-card h2{font-size:28px}.pill{display:inline-block;border-radius:30px;padding:6px 11px;font-size:11px!important;font-weight:750;background:#dcebdc;color:#234b29}.pill.lost{background:#f6ded2;color:#912c1d}.empty{text-align:center;padding:55px 24px}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.photo-preview{height:150px;width:150px;object-fit:cover;border-radius:16px;margin-top:15px}.detail-head{display:grid;grid-template-columns:210px 1fr;gap:30px;align-items:center}.detail-head img{width:210px;height:210px;object-fit:cover;border-radius:17px}.detail-head h1{margin-bottom:10px}.status-row{display:flex;gap:10px;align-items:center;margin-top:20px}.status-row button{margin:0;white-space:nowrap}.detail-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.item{padding:14px 0;border-bottom:1px solid #dfe5da}.item p{white-space:pre-wrap;overflow-wrap:anywhere}.item button{margin-top:2px;font-size:11px}.notice:empty{display:none}.notice{background:#eadfbd;color:#283b2d;border-radius:12px;padding:14px;position:sticky;top:10px;z-index:5}.public-profile{max-width:650px;margin:auto}.public-profile>img{width:100%;max-height:390px;object-fit:cover;border-radius:18px;margin-bottom:24px}footer{text-align:center;color:#aaba9e;font-size:10px;letter-spacing:2px;padding:25px}.back{margin-bottom:18px}#code{letter-spacing:10px;font-size:28px;text-align:center}#inviteLink{margin-top:18px;overflow-wrap:anywhere;font-size:12px}.login button{width:100%}@media(max-width:850px){.welcome{grid-template-columns:1fr;gap:30px;min-height:0}.welcome>div:first-child{padding:20px 0}.dog-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.detail-head{grid-template-columns:150px 1fr}.detail-head img{width:150px;height:180px}}@media(max-width:550px){header{padding:18px}main{padding:8px 18px 40px}.welcome{gap:20px}.welcome h1{font-size:43px}.login,.card{padding:24px}.dog-grid{grid-template-columns:1fr}.dog-card{padding:0}.dog-card img{height:250px}.title-row{align-items:flex-start;flex-direction:column;gap:0}.two{grid-template-columns:1fr;gap:0}.detail-head{grid-template-columns:1fr}.detail-head img{width:100%;height:280px}.status-row{flex-direction:column;align-items:stretch}.benefits{margin-top:20px}.lead{font-size:17px}.brand{font-size:23px}.brand img{width:50px;height:50px}}

.brand-hero{overflow:hidden;border-radius:22px;margin:0 0 28px;background:#16291e}.brand-hero img{display:block;width:100%;height:auto}.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#284f38;color:#fffdf4;border-radius:11px;padding:13px 18px;font-size:13px;font-weight:750;min-height:44px}.button-link:hover{background:#386548}.button-link.quiet{background:#e4e9df;color:#23422d}.owner-return{margin:0 0 22px}.danger{background:#8b332c}.danger:hover{background:#6c241e}.unread-summary{display:inline-block;background:#d6b16b;color:#172b20;padding:6px 12px;border-radius:20px;font-weight:700}.message-new{display:inline-block;border-radius:12px;padding:3px 8px;background:#d6b16b;color:#172b20;font-size:11px;font-weight:750}

.vet-editor{border-top:1px solid #d8dece;margin:28px 0 12px;padding-top:16px}.vet-editor legend{font-size:20px;font-weight:750;padding:0 8px 0 0}.vet-card{border:1px solid #d6ddcb;background:#edf1e7;border-radius:18px;padding:22px;margin:26px 0}.vet-address{white-space:pre-line}.vet-actions{display:flex;flex-wrap:wrap;gap:10px}#publicVetName{font-weight:750}

.finder-detail{margin:20px 0}.finder-detail h2{font-size:17px;margin-bottom:6px}.finder-detail p{margin-top:0;white-space:pre-wrap;overflow-wrap:anywhere}

.contact-options{margin:24px 0}.contact-options legend{font-weight:750;font-size:17px}.contact-choices{display:flex;gap:8px;flex-wrap:wrap}.contact-choice{background:#e4e9df;color:#23422d;min-height:46px;flex:1;white-space:nowrap;padding:12px 10px;border:2px solid transparent}.contact-choice[aria-pressed="true"]{background:#284f38;color:#fffdf4;border-color:#b59452}.contact-choice:focus-visible{outline:3px solid #b59452;outline-offset:2px}.message-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.message-shortcuts button{font-size:12px;margin:0;min-height:42px}.finder-security{margin-top:16px}#finderSend{width:100%;min-height:48px}

/* 009: compact signup presentation; all owner/finder views keep their existing layout. */
#welcome{min-height:0;gap:52px;padding:28px 0 24px}
#welcome>div:first-child{padding:0}
#welcome h1{font-size:clamp(36px,4vw,54px);line-height:1.08;margin:0 0 18px}
#welcome .lead{font-size:18px;line-height:1.55;margin:0;max-width:480px}
@media(max-width:850px){
 #welcome{grid-template-columns:1fr;gap:24px;padding:0}
 #welcome .lead{max-width:600px}
}
@media(max-width:550px){
 body:has(#welcome:not([hidden])) header{padding:14px 18px}
 body:has(#welcome:not([hidden])) .brand-hero{margin-bottom:18px;border-radius:18px}
 #welcome{gap:18px}
 #welcome h1{font-size:clamp(30px,8.7vw,38px);line-height:1.08;letter-spacing:-.035em;margin:0 0 12px}
 #welcome .lead{font-size:16px;line-height:1.5}
 #welcome .login{padding:24px;margin-bottom:0}
 #welcome .login>.eyebrow{margin:0 0 10px}
 #welcome .login h2{font-size:23px;margin:0 0 12px}
 #welcome .login>p:not(.eyebrow){margin:0 0 12px;line-height:1.5}
 #welcome .login label{margin-top:14px}
 #welcome #loginNote{margin:12px 0 0}
}

/* 010: resilient names, accessible photo navigation and inline validation. */
.dog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-head{grid-template-columns:210px minmax(0,1fr)}
.card,.detail-head>div,.dog-card .inside{min-width:0}.detail-head>img{max-width:100%}
h1,h2,.dog-card p,.detail-head p,.button-link,.unread-links button{overflow-wrap:anywhere}
.dog-photo-link{display:block;width:100%;padding:0;margin:0;border-radius:0;background:#15271d;line-height:0}.dog-photo-link img{display:block}.dog-photo-link:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.field-error{color:#8b332c;font-size:13px!important;margin:7px 0 0;line-height:1.4}[aria-invalid="true"]{border-color:#8b332c}
.unread-summary{margin:8px 0}.unread-summary:hover{background:#e2c184}.unread-links{display:flex;flex-wrap:wrap;gap:8px}.unread-links button{margin:0}
@media(max-width:850px){.dog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-head{grid-template-columns:150px minmax(0,1fr)}}
@media(max-width:550px){.dog-grid,.detail-head{grid-template-columns:minmax(0,1fr)}}
.dog-card h2,.detail-head h1,#publicName{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}

/* 012: phone-friendly photo framing, with keyboard alternatives to dragging. */
#photoCrop{width:min(460px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:0;border-radius:22px;padding:24px;background:#faf8f0;color:#1a2d22;box-shadow:0 20px 80px #0006}
#photoCrop::backdrop{background:#07130dcc}#photoCrop h2{font-size:23px;margin-bottom:8px}#photoCrop p{margin:0 0 14px}#cropCanvas{display:block;width:min(100%,320px);height:auto;aspect-ratio:1;margin:auto;border-radius:12px;background:#15271d;touch-action:none;cursor:grab}#cropCanvas:active{cursor:grabbing}
#photoCrop label{margin-top:12px}#photoCrop input[type="range"]{padding:8px 0;accent-color:#284f38;min-height:36px}.crop-actions{display:flex;justify-content:flex-end;gap:10px}.crop-actions button{min-height:44px}#recropPhoto{display:block}
@media(max-width:550px){#photoCrop{padding:18px}#photoCrop .two{grid-template-columns:1fr 1fr;gap:12px}}

/* 013: preserve square photo framing in My Dogs cards at every screen size. */
.dog-card .dog-photo-link img{width:100%;height:auto;aspect-ratio:1 / 1;object-fit:cover}

/* 014: device-local appearance. The light palette retains the existing design. */
:root[data-theme="light"]{color-scheme:light}
header{flex-wrap:wrap;gap:14px}.header-tools{display:flex;align-items:center;gap:10px;margin-left:auto}.header-tools select{width:155px;font-size:12px;padding:10px;background:#203b2c;color:#faf7ef;border-color:#66806b;min-height:42px}.header-tools button{margin:0;min-height:42px}
:root[data-theme="dark"]{color-scheme:dark;--muted:#b6c4ba}
[data-theme="dark"] .card,[data-theme="dark"] #photoCrop{background:#1d3329;color:#f6f3e7}
[data-theme="dark"] .card .eyebrow{color:#d5b475}
[data-theme="dark"] input,[data-theme="dark"] select,[data-theme="dark"] textarea{background:#12261c;border-color:#61776a;color:#f6f3e7}
[data-theme="dark"] input::placeholder,[data-theme="dark"] textarea::placeholder{color:#aebeb2;opacity:1}
[data-theme="dark"] button,[data-theme="dark"] .button-link{background:#356449;color:#fffdf4}
[data-theme="dark"] button:hover,[data-theme="dark"] .button-link:hover{background:#447b59}
[data-theme="dark"] .quiet,[data-theme="dark"] .button-link.quiet,[data-theme="dark"] .contact-choice{background:#304d3c;color:#f2f5e9}
[data-theme="dark"] .quiet:hover,[data-theme="dark"] .button-link.quiet:hover{background:#3d5f49}
[data-theme="dark"] .contact-choice[aria-pressed="true"]{background:#356449;color:#fffdf4;border-color:#d5b475}
[data-theme="dark"] .pill{background:#345b3f;color:#edf6e6}[data-theme="dark"] .pill.lost{background:#703a30;color:#ffe9db}
[data-theme="dark"] .vet-card{background:#243e30;border-color:#61776a}
[data-theme="dark"] .vet-editor,[data-theme="dark"] .item{border-color:#4c6556}
[data-theme="dark"] .field-error{color:#ffb4a7}[data-theme="dark"] [aria-invalid="true"]{border-color:#ffb4a7}
[data-theme="dark"] .danger{background:#853f36;color:#fff4ec}[data-theme="dark"] .danger:hover{background:#a04e42}
[data-theme="dark"] .notice{background:#4b432b;color:#fff1c6}
[data-theme="dark"] .unread-summary,[data-theme="dark"] .message-new{background:#d6b16b;color:#172b20}
[data-theme="dark"] .dog-photo-link,[data-theme="dark"] .dog-photo-link:hover{background:#15271d}
@media(max-width:550px){.header-tools{gap:8px}.header-tools select{width:142px}.header-tools button{padding:10px 13px}}

.activation{max-width:700px;margin:18px auto}.activation h1{font-size:clamp(29px,5vw,42px)}.activation .eyebrow{letter-spacing:2px}.activation button,.activation a{margin-right:6px}.tracker-instructions{white-space:pre-wrap;border-left:3px solid #a2aa69;padding-left:16px}#activationPublicId{font-family:monospace;font-size:14px}#ownedCollars p{overflow-wrap:anywhere}
