.pets-page{width:92%;max-width:1200px;margin:calc(var(--nav-size) * 1.6) auto calc(var(--nav-size) * 1.5);color:var(--text-color);min-height:calc(100vh - calc(var(--nav-size) * 2.4));font-family:CutiveMono-Regular,monospace}.pets-btn{justify-content:center;align-items:center;gap:calc(var(--nav-size) * .12);padding:calc(var(--nav-size) * .15) calc(var(--nav-size) * .28);font-size:var(--font-size-small);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;font-family:CutiveMono-Regular,monospace;font-weight:600;text-decoration:none;transition:opacity .15s,transform .15s,background .15s,border-color .15s;display:inline-flex}.pets-btn:hover{transform:translateY(-1px)}.pets-btn:active{transform:translateY(0)}.pets-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.pets-btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.pets-btn--primary{background:var(--fg-blue);color:#fff;border-color:var(--fg-blue)}.pets-btn--primary:hover{opacity:.85}.pets-btn--ghost{color:var(--text-color);border-color:var(--border-nav);background:0 0}.pets-btn--ghost:hover{background:var(--bg-mint)}.pets-empty{background:var(--bg-1);border:1px solid var(--border-nav);text-align:center;padding:calc(var(--nav-size) * 1.5) calc(var(--nav-size) * .5);border-radius:8px;max-width:560px;margin:0 auto}.pets-empty__emoji{font-size:calc(var(--nav-size) * 1.5);margin-bottom:calc(var(--nav-size) * .3);line-height:1}.pets-empty h1{font-size:var(--font-size-heading);margin:0 0 calc(var(--nav-size) * .2)}.pets-empty p{margin:0 auto calc(var(--nav-size) * .4);color:var(--text-color-accent);line-height:1.6;font-size:var(--font-size-small);max-width:420px}.pets-empty__actions{gap:calc(var(--nav-size) * .2);flex-wrap:wrap;justify-content:center;display:flex}.pets-loading{justify-content:center;align-items:center;gap:calc(var(--nav-size) * .3);padding:calc(var(--nav-size) * 2) 0;color:var(--text-color-accent);font-size:var(--font-size-small);flex-direction:column;display:flex}.pets-loading__spinner{width:calc(var(--nav-size) * .8);height:calc(var(--nav-size) * .8);border:3px solid var(--border-nav);border-top-color:var(--fg-blue);border-radius:50%;animation:.8s linear infinite pets-spin}@keyframes pets-spin{to{transform:rotate(360deg)}}.pets-adopt{background:var(--bg-1);border:1px solid var(--border-nav);padding:calc(var(--nav-size) * .6);border-radius:8px;max-width:720px;margin:0 auto}.pets-adopt h1{font-size:var(--font-size-heading);text-align:center;margin:0 0 calc(var(--nav-size) * .4);border-bottom:2px solid var(--border-nav);padding-bottom:calc(var(--nav-size) * .2)}.pets-adopt__species{margin:0 0 calc(var(--nav-size) * .4);border:none;padding:0}.pets-adopt__species legend{font-size:var(--font-size-small);margin-bottom:calc(var(--nav-size) * .2);color:var(--text-color);padding:0;font-weight:700}.pets-adopt__grid{gap:calc(var(--nav-size) * .2);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.pets-species-card{align-items:center;gap:calc(var(--nav-size) * .15);padding:calc(var(--nav-size) * .4) calc(var(--nav-size) * .2);border:1px solid var(--border-nav);background:var(--bg-1);color:var(--text-color);cursor:pointer;border-radius:8px;flex-direction:column;font-family:CutiveMono-Regular,monospace;transition:border-color .15s,transform .15s,background .15s;display:flex}.pets-species-card:hover{border-color:var(--fg-blue);transform:translateY(-2px)}.pets-species-card.is-selected{border-color:var(--fg-blue);background:var(--bg-mint);box-shadow:0 0 0 2px var(--fg-blue)}.pets-species-card__emoji{font-size:calc(var(--nav-size) * .8);line-height:1}.pets-species-card__label{font-weight:700;font-size:var(--font-size-small)}.pets-adopt__name{margin-bottom:calc(var(--nav-size) * .4);display:block}.pets-adopt__name span{font-weight:700;font-size:var(--font-size-small);margin-bottom:calc(var(--nav-size) * .15);display:block}.pets-adopt__name input{width:100%;padding:calc(var(--nav-size) * .2) calc(var(--nav-size) * .25);border:1px solid var(--border-nav);font-family:inherit;font-size:var(--font-size-base);background:var(--bg-page);color:var(--text-color);border-radius:6px}.pets-adopt__name input:focus{border-color:var(--fg-blue);box-shadow:0 0 0 3px var(--bg-mint);outline:none}.pets-adopt__actions{gap:calc(var(--nav-size) * .2);flex-wrap:wrap;justify-content:flex-end;display:flex}.pets-heading{justify-content:space-between;align-items:center;gap:calc(var(--nav-size) * .3);margin-bottom:calc(var(--nav-size) * .4);flex-wrap:wrap;display:flex}.pets-heading h1{font-size:var(--font-size-heading);border-bottom:2px solid var(--border-nav);padding-bottom:calc(var(--nav-size) * .15);margin:0;display:inline-block}.pets-heading__sub{margin:calc(var(--nav-size) * .12) 0 0;color:var(--text-color-accent);font-size:var(--font-size-small)}.pets-layout{gap:calc(var(--nav-size) * .35);flex-direction:column;display:flex}.pets-roster{gap:calc(var(--nav-size) * .2);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.pets-roster-card{align-items:center;gap:calc(var(--nav-size) * .2);padding:calc(var(--nav-size) * .25) calc(var(--nav-size) * .28);border:1px solid var(--border-nav);background:var(--bg-1);color:var(--text-color);cursor:pointer;text-align:left;border-radius:8px;font-family:CutiveMono-Regular,monospace;transition:border-color .15s,transform .15s,background .15s;display:flex}.pets-roster-card:hover{border-color:var(--fg-blue);transform:translateY(-2px)}.pets-roster-card.is-active{border-color:var(--fg-blue);background:var(--bg-mint);box-shadow:0 0 0 2px var(--fg-blue)}.pets-roster-card:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.pets-roster-card__emoji{font-size:calc(var(--nav-size) * .7);flex-shrink:0;line-height:1}.pets-roster-card__info{flex-direction:column;min-width:0;display:flex}.pets-roster-card__name{font-weight:700;font-size:var(--font-size-small);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pets-roster-card__mood{font-size:var(--font-size-xs);color:var(--text-color-accent)}.pets-detail{background:var(--bg-1);border:1px solid var(--border-nav);padding:calc(var(--nav-size) * .5);border-radius:8px}.pets-detail__hero{align-items:center;gap:calc(var(--nav-size) * .35);margin-bottom:calc(var(--nav-size) * .4);flex-wrap:wrap;display:flex}.pets-detail__avatar{width:calc(var(--nav-size) * 1.8);height:calc(var(--nav-size) * 1.8);font-size:calc(var(--nav-size) * 1.2);background:var(--bg-mint);border:1px solid var(--border-nav);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:flex}.pets-detail__avatar.is-passed{filter:grayscale();opacity:.7}.pets-detail__id{flex:1;min-width:180px}.pets-detail__id h2{margin:0 0 calc(var(--nav-size) * .1);font-size:var(--font-size-large)}.pets-detail__mood{font-size:var(--font-size-base);margin:0;font-weight:700}.pets-detail__meta{margin:calc(var(--nav-size) * .06) 0 0;color:var(--text-color-accent);font-size:var(--font-size-small)}.pets-detail__level{text-align:right;min-width:140px}.pets-detail__level-num{font-weight:700;font-size:var(--font-size-small);margin-bottom:calc(var(--nav-size) * .12);display:block}.pets-detail__xp{height:calc(var(--nav-size) * .16);background:var(--bg-page);border:1px solid var(--border-nav);border-radius:4px;overflow:hidden}.pets-detail__xp-fill{background:var(--fg-blue);height:100%;transition:width .3s}.pets-detail__stats{gap:calc(var(--nav-size) * .2);margin-bottom:calc(var(--nav-size) * .4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.pets-stat{background:var(--bg-accent);border:1px solid var(--border-nav);padding:calc(var(--nav-size) * .25);gap:calc(var(--nav-size) * .15);border-radius:8px;flex-direction:column;display:flex}.pets-stat__top{justify-content:space-between;align-items:center;gap:calc(var(--nav-size) * .15);display:flex}.pets-stat__label{align-items:center;gap:calc(var(--nav-size) * .12);font-size:var(--font-size-xs);color:var(--text-color-accent);text-transform:uppercase;letter-spacing:.5px;display:flex}.pets-stat__emoji{font-size:var(--font-size-small)}.pets-stat__value{font-size:var(--font-size-large);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.pets-stat__track{height:calc(var(--nav-size) * .16);background:var(--bg-page);border:1px solid var(--border-nav);border-radius:4px;overflow:hidden}.pets-stat__fill{border-radius:3px;height:100%;transition:width .3s}.pets-stat__track--good .pets-stat__fill{background:#22c55e}.pets-stat__track--warn .pets-stat__fill{background:#f59e0b}.pets-stat__track--bad .pets-stat__fill{background:var(--red0)}.pets-detail__actions{gap:calc(var(--nav-size) * .18);margin-bottom:calc(var(--nav-size) * .3);grid-template-columns:repeat(auto-fit,minmax(96px,1fr));display:grid}.pets-action-btn{align-items:center;gap:calc(var(--nav-size) * .1);padding:calc(var(--nav-size) * .25) calc(var(--nav-size) * .15);border:1px solid var(--border-nav);background:var(--bg-1);color:var(--text-color);cursor:pointer;font-family:CutiveMono-Regular,monospace;font-size:var(--font-size-xs);border-radius:8px;flex-direction:column;font-weight:700;transition:border-color .15s,transform .15s,background .15s;display:flex}.pets-action-btn:hover{border-color:var(--fg-blue);transform:translateY(-2px)}.pets-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.pets-action-btn:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.pets-action-btn__emoji{font-size:calc(var(--nav-size) * .5);line-height:1}.pets-action-btn--danger:hover{border-color:var(--red0);background:var(--bg-orange)}.pets-banner{align-items:center;gap:calc(var(--nav-size) * .2);padding:calc(var(--nav-size) * .25) calc(var(--nav-size) * .3);font-size:var(--font-size-small);margin-bottom:calc(var(--nav-size) * .3);border-radius:6px;display:flex}.pets-banner--warn{background:var(--bg-orange);border:1px solid var(--fg-orange);color:var(--text-color)}.pets-banner--passed{background:var(--bg-accent);border:1px solid var(--border-nav);color:var(--text-color-accent);align-items:flex-start}.pets-banner--passed p{margin:calc(var(--nav-size) * .08) 0 calc(var(--nav-size) * .2)}.pets-banner--passed>div{flex:1;min-width:0}.pets-banner .pets-detail__actions{margin-bottom:0;margin-top:calc(var(--nav-size) * .15)}.pets-carelog{margin-top:calc(var(--nav-size) * .3)}.pets-carelog h3{margin:0 0 calc(var(--nav-size) * .2);font-size:var(--font-size-small);border-bottom:1px solid var(--border-nav);padding-bottom:calc(var(--nav-size) * .12)}.pets-carelog ul{margin:0;padding:0;list-style:none}.pets-carelog li{align-items:center;gap:calc(var(--nav-size) * .2);padding:calc(var(--nav-size) * .15) 0;border-bottom:1px solid var(--border-nav);font-size:var(--font-size-small);display:flex}.pets-carelog li:last-child{border-bottom:none}.pets-carelog__icon{font-size:var(--font-size-base)}.pets-carelog__action{font-weight:700}.pets-carelog__time{color:var(--text-color-accent);font-size:var(--font-size-xs);margin-left:auto}.pets-detail__treats{margin-top:calc(var(--nav-size) * .12);padding:calc(var(--nav-size) * .06) calc(var(--nav-size) * .18);background:var(--bg-mint);border:1px solid var(--border-nav);font-size:var(--font-size-small);white-space:nowrap;border-radius:6px;font-weight:700;display:inline-block}.pets-panel{background:var(--bg-accent);border:1px solid var(--border-nav);padding:calc(var(--nav-size) * .3);margin-bottom:calc(var(--nav-size) * .3);border-radius:8px}.pets-panel__title{margin:0 0 calc(var(--nav-size) * .2);font-size:var(--font-size-small);border-bottom:1px solid var(--border-nav);padding-bottom:calc(var(--nav-size) * .12)}.pets-tricks{gap:calc(var(--nav-size) * .18);flex-direction:column;display:flex}.pets-trick{align-items:center;gap:calc(var(--nav-size) * .22);display:flex}.pets-trick__emoji{font-size:calc(var(--nav-size) * .45);flex-shrink:0;line-height:1}.pets-trick__body{gap:calc(var(--nav-size) * .1);flex-direction:column;flex:1;min-width:0;display:flex}.pets-trick__top{justify-content:space-between;align-items:center;gap:calc(var(--nav-size) * .2);font-size:var(--font-size-xs);display:flex}.pets-trick__label{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.pets-trick__status{color:var(--text-color-accent);flex-shrink:0}.pets-trick__track{height:calc(var(--nav-size) * .14);background:var(--bg-page);border:1px solid var(--border-nav);border-radius:4px;overflow:hidden}.pets-trick__fill{background:var(--fg-blue);border-radius:3px;height:100%;transition:width .3s}.pets-trick.is-mastered .pets-trick__fill{background:#22c55e}.pets-trick__train{padding:calc(var(--nav-size) * .08) calc(var(--nav-size) * .18);font-size:var(--font-size-xs);flex-shrink:0}.pets-challenges{gap:calc(var(--nav-size) * .18);flex-direction:column;display:flex}.pets-challenge{gap:calc(var(--nav-size) * .1);flex-direction:column;display:flex}.pets-challenge__top{justify-content:space-between;align-items:center;gap:calc(var(--nav-size) * .2);font-size:var(--font-size-xs);display:flex}.pets-challenge__label{font-weight:700}.pets-challenge__reward{color:var(--text-color-accent);white-space:nowrap}.pets-challenge__track{height:calc(var(--nav-size) * .14);background:var(--bg-page);border:1px solid var(--border-nav);border-radius:4px;overflow:hidden}.pets-challenge__fill{background:var(--fg-orange);border-radius:3px;height:100%;transition:width .3s}.pets-challenge.is-completed .pets-challenge__fill{background:#22c55e}.pets-challenge__count{font-size:var(--font-size-xs);color:var(--text-color-accent)}.pets-challenge.is-completed .pets-challenge__count{color:#22c55e;font-weight:700}
