/* Garden companion shell shared by mobile and desktop. */
:root{--pet-ink:#354a3a;--pet-paper:#f7f7ef;--pet-accent:#58784a}body{background:var(--pet-paper);color:var(--pet-ink);font-family:"Microsoft YaHei","PingFang SC",sans-serif}.sidebar{display:none!important}.main-content{margin-left:0!important;max-width:1280px;margin-inline:auto!important;padding:0 36px 124px!important}.topbar{height:60px}.page{padding-top:22px}.topbar .breadcrumb{font-size:12px}
.mobile-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;position:fixed;z-index:30;bottom:16px;left:50%;right:auto;transform:translateX(-50%);width:min(480px,calc(100% - 32px));padding:8px;border:1px solid #fff;border-radius:25px;background:#fffef9f5;box-shadow:0 8px 35px #314d3226;backdrop-filter:blur(18px);gap:5px}.mobile-nav button{border:0;border-radius:18px;display:flex;align-items:center;justify-content:center;gap:10px;padding:12px 8px;background:transparent;color:#9a9c8e;font:inherit;cursor:pointer;min-height:52px}.mobile-nav button span{display:flex}.mobile-nav svg{width:25px;height:25px}.mobile-nav button b{font-size:14px}.mobile-nav button.active{background:#e8efdc;color:#456741}.mobile-nav button:focus-visible,.paradise-links button:focus-visible{outline:3px solid #86a16a;outline-offset:3px}
.paradise-heading{margin-bottom:0;align-items:center}.paradise-heading .eyebrow{letter-spacing:3px;font-size:11px;color:#94a080;margin-bottom:9px}.paradise-heading h1{font-size:32px;margin-bottom:10px}.paradise-heading .welcome-sub{font-size:13px;color:#86917c}.paradise-heading>.button{font-size:12px;border-radius:24px;background:#e8eddf;min-height:42px}.paradise-home{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:24px;margin:22px 0 32px;align-items:stretch}
.companion-room{border-radius:28px;overflow:hidden;background:#fffef9;box-shadow:0 9px 28px #536a3d12;border:1px solid #e4e7d8}.companion-room .pet-panel{position:relative;padding:0;border:0;border-radius:28px;background:#fffef9;box-shadow:none;overflow:hidden}.companion-room .pet-panel-head{position:absolute;left:20px;right:20px;top:18px;z-index:5;align-items:flex-start;padding:0}.companion-room .pet-panel-head>div{background:#fffdf0e8;padding:11px 18px;border:1px solid #fff9;border-radius:20px;box-shadow:0 3px 12px #53744215}.companion-room .pet-panel-head .section-kicker{display:none}.companion-room .pet-panel h2{font-size:25px;color:#3f533c;line-height:1.2;margin:0 0 6px}.companion-room .pet-panel-head p{font-size:11px;color:#7c8b67;margin:0}.companion-room .health-chip{background:#fffdf0ed;border:1px solid #fff9;color:#61754e;font:inherit;font-size:11px;padding:10px 12px;border-radius:20px;cursor:pointer;min-height:40px}
.companion-room .pet-portrait{position:relative;height:355px!important;min-height:355px;margin:0;overflow:hidden;border-radius:0;background:#bfd893 url('./assets/pet-garden-habitat-v1.png') center 52%/cover no-repeat}.companion-room .pet-portrait:before{content:'';position:absolute;inset:0;background:linear-gradient(#eef7cf10,transparent 50%,#e5eebe24);pointer-events:none}.companion-room .pet-portrait:after{content:'';position:absolute;bottom:34px;left:50%;transform:translateX(-50%);width:116px;height:19px;border-radius:50%;background:#344c322b;filter:blur(8px)}.companion-room .portrait-halo,.companion-room .portrait-flower,.companion-room .portrait-chicken{display:none}.companion-room .pet-portrait .farm-pet-art{--actor-height:270px;bottom:24px;z-index:2;mix-blend-mode:multiply;filter:drop-shadow(0 8px 6px #3d532d25)}
.companion-stats{padding:17px 22px 0;display:grid;grid-template-columns:1fr 1fr;column-gap:22px;row-gap:7px}.companion-stats .stat-line{font-size:12px;margin:0;grid-row:1;color:#738265}.companion-stats .stat-line b{font-size:12px;color:#4d6547}.companion-stats .meter{height:6px;grid-row:2;margin:0;background:#edf0e2}.companion-stats .growth-stage-track{grid-column:1/-1;margin:6px 0 0;gap:8px}.companion-stats .growth-stage-track li{border:0;border-radius:12px;background:#f2f1e9;padding:7px;font-size:11px;color:#a0a18c}.companion-stats .growth-stage-track li.active{background:#e4edcf;color:#5a7549}.companion-stats .growth-plan{grid-column:1/-1;margin:0;font-size:11px;line-height:1.7;color:#8e977f}
.companion-room .pet-actions{display:grid;grid-template-columns:1.3fr 1.1fr .8fr;gap:9px;padding:16px 22px 20px;margin:0}.companion-room .pet-actions .button{min-height:46px;font-size:13px;border-radius:16px;padding:10px 9px;justify-content:center}.companion-room .button-primary{background:#56744c}.companion-room .button-soft{background:#eff1e7;color:#718265}
.paradise-side{display:flex;flex-direction:column;gap:20px}.paradise-note{padding:30px;border:1px solid #e7e7d5;background:linear-gradient(135deg,#edf2df,#f6eedc);border-radius:27px;flex:1;position:relative;overflow:hidden}.paradise-note:after{content:'✿';position:absolute;right:-10px;bottom:-45px;font-size:190px;color:#aabc7d22;pointer-events:none}.paradise-note>span{font-size:12px;letter-spacing:3px;color:#9ba27b}.paradise-note h2{font-size:28px;line-height:1.5;margin:26px 0 14px}.paradise-note p{font-size:14px;color:#899275;line-height:2;margin-bottom:28px;max-width:260px}.paradise-note .button{min-height:45px;border-radius:22px;position:relative;z-index:1}.paradise-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.paradise-links button{display:flex;flex-direction:column;align-items:center;gap:9px;border:1px solid #e7e8dc;background:#fffef9;border-radius:22px;padding:18px 5px;color:#5c6b50;cursor:pointer}.paradise-links span{display:grid;place-items:center;background:#f1e8cb;border-radius:16px;width:45px;height:45px;color:#b59c59;font-size:25px}.paradise-links button:nth-child(2) span{background:#f4e4dc;color:#bd9483}.paradise-links button:nth-child(3) span{background:#e8edda;color:#95a670}.paradise-links b{font-size:12px}.paradise-links small{font-size:10px;color:#a0a48e}
.paradise-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 20px}.paradise-section-title h2{font-size:23px}.paradise-section-title>span{font-size:12px;color:#a0a58e}.paradise-section-title+.info-banner{display:none}.breed-grid,.owned-pets-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.breed-card{border:1px solid #e6e8dc;border-radius:23px;padding:11px;background:#fffef9;box-shadow:none;display:flex;flex-direction:column;min-width:0}.breed-card.is-selected{border-color:#a7bb83;box-shadow:0 0 0 2px #c5d2a83d}.breed-art{position:relative;isolation:isolate;height:160px;border-radius:16px;margin:0 0 15px;overflow:hidden;display:grid;place-items:center}.breed-card h2{font-size:18px;line-height:1.4;margin:0 0 8px}.breed-card .section-kicker{font-size:10px;margin:0 0 6px}.breed-card p{font-size:12px;line-height:1.8;color:#899478;margin:4px 0}.breed-card .breed-meta{display:flex;flex-direction:column;gap:8px;font-size:11px;line-height:1.6;color:#8d977d;margin:13px 0}.breed-card .breed-meta b{font-size:14px;color:#9a8150}.breed-card>.button{min-height:40px;border-radius:12px;margin-top:auto;font-size:12px;justify-content:center}.breed-card>.button:disabled{background:#e9eddf;color:#99a287;opacity:1}.companion-card-details{font-size:11px;color:#9a9f8b;padding:8px 0;margin-bottom:10px}.companion-card-details summary{cursor:pointer;min-height:28px;line-height:28px;color:#8e997b}.toast{bottom:110px!important}
@media(max-width:760px){.main-content{padding:0 16px calc(112px + env(safe-area-inset-bottom))!important}.topbar{height:50px}.page{padding-top:19px}.paradise-heading{gap:12px}.paradise-heading h1{font-size:27px}.paradise-heading .welcome-sub{font-size:12px;line-height:1.7;max-width:230px}.paradise-heading>.button{font-size:11px;white-space:nowrap;padding:10px 12px}.paradise-heading .eyebrow{font-size:10px}.paradise-home{grid-template-columns:1fr;gap:14px;margin:17px 0 25px}.companion-room,.companion-room .pet-panel{border-radius:25px}.companion-room .pet-portrait{height:320px!important;min-height:320px}.companion-room .pet-portrait .farm-pet-art{--actor-height:250px;bottom:20px}.companion-room .pet-panel-head{top:15px;left:15px;right:15px}.companion-room .pet-panel-head>div{padding:10px 14px}.companion-room .pet-panel h2{font-size:22px}.companion-stats{padding:15px 18px 0;column-gap:15px}.companion-room .pet-actions{padding:14px 18px 18px}.companion-room .pet-actions .button{min-height:45px;font-size:12px}.paradise-note{display:none}.paradise-links button{padding:15px 4px;border-radius:19px;gap:8px}.paradise-links small{display:none}.paradise-links span{width:39px;height:39px;border-radius:14px}.paradise-links b{font-size:12px}.paradise-section-title h2{font-size:22px}.paradise-section-title>span{font-size:11px}.mobile-nav{bottom:calc(10px + env(safe-area-inset-bottom));width:calc(100% - 28px);max-width:460px;padding:7px;border-radius:24px}.mobile-nav button{flex-direction:column;gap:5px;padding:6px;min-height:52px}.mobile-nav button b{font-size:11px}.mobile-nav svg{height:23px;width:23px}.breed-grid,.owned-pets-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.breed-card h2{font-size:17px}.breed-art{height:150px}.companion-stats .growth-plan{font-size:10px}}
@media(max-width:400px){.companion-room .pet-portrait{height:285px!important;min-height:285px}.companion-room .pet-portrait .farm-pet-art{--actor-height:225px}.companion-room .health-chip{font-size:10px;padding:8px}.breed-art{height:126px}.companion-room .pet-actions{gap:6px}.companion-stats .growth-line b{font-size:10px}}
.catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}.pet-view-tabs{display:flex;background:#e9eddf;padding:5px;border-radius:16px;gap:4px}.pet-view-tabs button{border:0;border-radius:12px;background:transparent;color:#959e83;padding:12px 18px;font:inherit;font-size:13px;cursor:pointer;min-height:44px}.pet-view-tabs button.active{background:#fff;color:#5e744d;box-shadow:0 3px 8px #65517f12}.pet-view-tabs button:focus-visible{outline:3px solid #86a16a;outline-offset:2px}.catalog-balance{display:flex;gap:12px;align-items:center;font-size:12px;color:#938a9b}.catalog-balance b{color:#5e744d}.owned-pets-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.owned-summary{padding:24px;display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.owned-summary p{font-size:13px;color:#938a9b;line-height:1.8}.owned-total{font-size:30px;color:#8b9b69}.owned-total small{font-size:12px;margin-left:8px}.breed-art{isolation:isolate}.breed-art img{position:absolute;inset:0;margin:auto}.catalog-species-art{display:block;height:100%;aspect-ratio:.85;background-repeat:no-repeat;max-width:100%}.catalog-species-chicken{background-image:url('./assets/chicken-rustic-v2.png');background-size:273.57% 100%;background-position:97.94% 0}.catalog-species-quail{background-image:url('./assets/quail-pearl-v2.png');background-size:291.3% 100%;background-position:100% 0}.catalog-species-cow{background-image:url('./assets/cow-meadow-v2.png');background-size:267.83% 100%;background-position:100% 0}.catalog-species-sheep{background-image:url('./assets/sheep-cloud-v2.png');background-size:284.3% 100%;background-position:100% 0}.catalog-species-pig{background-image:url('./assets/pig-obsidian-v2.png');background-size:267.83% 100%;background-position:100% 0}.catalog-species-duck{background-image:url('./assets/duck-sunshine-v2.png');background-size:271.25% 100%;background-position:100% 0}.catalog-species-goose{background-image:url('./assets/goose-snow-v2.png');background-size:275.47% 100%;background-position:100% 0}.paradise-section-title+.info-banner{display:none}
@media(max-width:760px){.owned-pets-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pet-view-tabs{flex:1}.pet-view-tabs button{flex:1;padding:11px;font-size:12px}.catalog-balance{width:100%;justify-content:space-between}.owned-summary{padding:18px}.owned-summary h2{font-size:20px}}
@media(prefers-reduced-motion:reduce){.companion-room *{animation:none!important}}

.companion-room .pet-portrait:before{animation:garden-sunlight 9s ease-in-out infinite alternate}@keyframes garden-sunlight{from{opacity:.25}to{opacity:1}}@media(prefers-reduced-motion:reduce){.companion-room .pet-portrait:before{animation:none}}

.companion-batch-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;margin:0 0 20px;border-radius:20px;border:1px solid #e4e8d8;background:#edf2e3}.companion-batch-actions strong{font-size:16px;color:#62774f}.companion-batch-actions p{font-size:12px;line-height:1.8;color:#929c80;margin:6px 0 0}.companion-batch-actions .button{min-height:46px;white-space:nowrap;font-size:12px;border-radius:16px}@media(max-width:400px){.companion-batch-actions{padding:15px;gap:10px}.companion-batch-actions strong{font-size:14px}.companion-batch-actions p{font-size:11px}.companion-batch-actions .button{font-size:11px;padding-inline:12px}}
.pet-combat-care{padding:20px;margin:18px 0}.pet-combat-care h3{font-size:17px;margin:0 0 12px}.pet-combat-care progress{display:block;width:100%;height:13px;accent-color:#6b9a75}.pet-combat-care p{font-size:12px;line-height:1.8;color:#737b6c}.pet-combat-actions{display:flex;gap:8px;flex-wrap:wrap}.pet-combat-actions button{min-height:44px;flex:1 1 135px}.pet-combat-actions button:disabled{opacity:.5}
