/* ===== 宠物食量计算 �?马卡龙暖色系 (�?pet-naming/pet-age/pet-personality 一�? ===== */

html, body { background: #f5f5f5; }
.tab-bar { position: relative; top: auto; left: auto; right: auto; display: flex; align-items: center; }
.tab-bar .tab-btn.active::after { background: rgb(108, 175, 166); opacity: 0.75; }
.tab-back {
    position: absolute; left: 0.16rem; top: 50%; transform: translateY(-50%);
    border: 0; background: transparent; color: #666;
    padding: 0.16rem 0.1rem; cursor: pointer; line-height: 1;
    display: flex; align-items: center; text-decoration: none;
    -webkit-tap-highlight-color: transparent;
}
.tab-back svg { width: 0.52rem; height: 0.52rem; }
body {
    margin: 0;
    padding-bottom: 0.5rem; box-sizing: border-box;
}
#scroll-root {
    display: block;
    overflow-y: visible; background: #f5f5f5;
    padding-bottom: 0; height: auto;
}
#scroll-root::-webkit-scrollbar { display: none; }
.container {
    max-width: 23.52rem; width: 100%; margin: 0 auto;
    padding: 0.21rem 0.42rem 1.2rem 0.42rem; box-sizing: border-box;
}

.card {
    background: #fff; border-radius: 0.47rem;
    padding: 0.31rem; margin-bottom: 0.42rem;
}

/* 简介卡�?*/
.intro-card {
    display: flex; align-items: center; gap: 0.31rem;
    background: linear-gradient(135deg, #E4F3F1, #F0F8F6);
    border: 0.02rem solid #B7DBD5;
    border-radius: 0.47rem; padding: 0.31rem;
}
.intro-text h2 { margin: 0 0 0.1rem; font-size: 0.42rem; color: #4E9189; }
.intro-text p { margin: 0; font-size: 0.29rem; color: #666; line-height: 1.6; }
.intro-disclaimer { margin-top: 0.16rem !important; font-size: 0.28rem !important; color: #9E9E9E !important; word-break: break-all; }
.intro-text .intro-brand { margin: 0.31rem 0 0; font-size: 0.28rem; color: #4E9189; text-align: right; }

/* 宠物类型切换 */
.pet-type-tabs {
    display: flex; gap: 0.16rem; overflow-x: auto;
    padding: 0.08rem 0; scrollbar-width: none;
}
.pet-type-tabs::-webkit-scrollbar { display: none; }
.pet-type-tab {
    flex: 1 1 0; cursor: pointer; padding: 0.21rem 0.16rem;
    border-radius: 9999px; border: 0.02rem solid #e8e8e8;
    background: #fff; font-size: 0.3rem; font-family: inherit;
    text-align: center; transition: all 0.2s; color: #888;
    white-space: nowrap; user-select: none;
    -webkit-tap-highlight-color: transparent;
}
.pet-type-tab.active {
    background: #6CAFA6;
    border-color: #B7DBD5; color: #fff; font-weight: 600;
}

/* 表单区域 */
.form-card { padding: 0.31rem; }
.form-row { margin-bottom: 0.31rem; }
.form-row:last-child { margin-bottom: 0; }
.form-label {
    display: block; font-size: 0.3rem; color: #555;
    margin-bottom: 0.16rem; font-weight: 500;
}
.form-input {
    width: 100%; padding: 0.21rem 0.26rem;
    border: 0.02rem solid #D5ECE8; border-radius: 0.31rem;
    font-size: 0.31rem; color: #333; background: #F7FCFB;
    outline: none; font-family: inherit;
    box-sizing: border-box;
    -webkit-appearance: none;
}
.form-input:focus { border-color: #6CAFA6; background: #fff; }
.form-input::placeholder { color: #ccc; }

/* 体型/种类选择�?*/
.size-selector { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.12rem; }
.size-option {
    padding: 0.16rem 0.08rem; border-radius: 0.26rem; border: 0.02rem solid #e8e8e8;
    background: #fafafa; font-size: 0.28rem; font-family: inherit; cursor: pointer;
    text-align: center; color: #666; transition: all 0.2s;
    -webkit-tap-highlight-color: transparent;
}
.size-option span { font-size: 0.24rem; color: #aaa; display: block; }
.size-option.active {
    background: #E4F3F1; border-color: #6CAFA6; color: #3F6E68; font-weight: 600;
}
.size-option.active span { color: #6A9B94; }

.exotic-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.12rem; }
.exotic-option {
    padding: 0.16rem 0.08rem; border-radius: 0.26rem; border: 0.02rem solid #e8e8e8;
    background: #fafafa; font-size: 0.28rem; font-family: inherit; cursor: pointer;
    text-align: center; color: #666; transition: all 0.2s;
    -webkit-tap-highlight-color: transparent;
}
.exotic-option span { font-size: 0.24rem; color: #aaa; display: block; }
.exotic-option.active {
    background: #E4F3F1; border-color: #6CAFA6; color: #3F6E68; font-weight: 600;
}
.exotic-option.active span { color: #6A9B94; }

/* 年龄/BCS 副文本 */
.age-sub { font-size: 0.22rem; color: #3F6E68; }
.option-btn.active .age-sub { color: #3F6E68; }

/* 选择器按钮组 */
.option-group {
    display: flex; flex-wrap: wrap; gap: 0.16rem;
}
.option-btn {
    flex: 1 1 auto; min-width: 0;
    padding: 0.21rem 0.16rem; border-radius: 999px;
    border: 0.02rem solid #e8e8e8; background: #fafafa;
    font-size: 0.28rem; font-family: inherit; cursor: pointer;
    color: #888; transition: all 0.2s; text-align: center;
    -webkit-tap-highlight-color: transparent;
}
.option-btn.active {
    background: #D5ECE8; border-color: #B7DBD5; color: #3F6E68; font-weight: 600;
}

.goal-hint {
    padding: 0.12rem 0.21rem; margin-bottom: 0.16rem;
    border-radius: 0.16rem; background: #E4F3F1;
    font-size: 0.24rem; color: #3F6E68; line-height: 1.5;
}
.goal-hint:empty { display: none; }

/* 计算按钮 */
.calc-btn {
    width: 100%; padding: 0.26rem 0;
    border: none; border-radius: 999px;
    background: #6CAFA6; color: #fff;
    font-size: 0.34rem; font-weight: 600;
    font-family: inherit; cursor: pointer;
    transition: all 0.2s;
    -webkit-tap-highlight-color: transparent;
}
.calc-btn:active { transform: scale(0.97); background: #4E9189; }

/* 结果卡片 */
.result-card {
    background: linear-gradient(135deg, #F0F8F6, #E4F3F1);
    border: 0.02rem solid #B7DBD5;
    border-radius: 0.47rem; padding: 0.37rem;
    display: none;
}
.result-card.show { display: block; }
.form-card.hide { display: none; }
.back-btn {
    width: 100%; padding: 0.21rem 0;
    border: 0.02rem solid #B7DBD5; border-radius: 999px;
    background: #fff; color: #4E9189;
    font-size: 0.3rem; font-weight: 500;
    font-family: inherit; cursor: pointer;
    transition: all 0.2s; margin-top: 0.26rem;
    -webkit-tap-highlight-color: transparent;
}
.back-btn:active { transform: scale(0.97); background: #F0F8F6; }
.share-hint {
    margin-top: 0.26rem;
    padding: 0.26rem;
    background: linear-gradient(135deg, #E4F3F1, #D5ECE8);
    border: 0.02rem solid #6CAFA6;
    border-radius: 0.31rem;
    text-align: center;
    box-shadow: 0 0.02rem 0.1rem rgba(108,175,166,0.15);
}
.share-hint p {
    margin: 0;
    font-size: 0.28rem;
    color: #4E9189;
    font-weight: 400;
}
.share-hint p:first-child {
    font-weight: 500;
}
.result-title {
    font-size: 0.37rem; font-weight: 600; color: #4E9189;
    margin-bottom: 0.26rem; display: flex; align-items: center; gap: 0.16rem;
}
.result-title::before {
    content: ''; width: 0.08rem; height: 0.37rem;
    background: #6CAFA6; border-radius: 0.04rem; display: inline-block;
}
.result-params {
    font-size: 0.24rem; color: #3F6E68;
    border-radius: 0.21rem; padding: 0.16rem 0.21rem; margin-bottom: 0.26rem;
    text-align: center; line-height: 1.6;
}
.result-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 0.16rem;
}
.result-item {
    background: #fff; border-radius: 0.31rem;
    padding: 0.26rem; text-align: center;
    border: 0.02rem solid #D5ECE8;
}
.result-value {
    font-size: 0.52rem; font-weight: 700; color: #4E9189;
    line-height: 1.2;
}
.result-unit {
    font-size: 0.24rem; color: #9E9E9E; margin-top: 0.04rem;
}
.result-label {
    font-size: 0.26rem; color: #888; margin-top: 0.1rem;
}

/* 详细建议 */
.result-detail {
    margin-top: 0.26rem; padding: 0.26rem;
    background: #fff; border-radius: 0.31rem;
    border: 0.02rem solid #D5ECE8;
}
.result-detail h4 {
    font-size: 0.3rem; color: #3F6E68; margin: 0 0 0.16rem;
}
.result-detail p {
    font-size: 0.28rem; color: #666; line-height: 1.7; margin: 0 0 0.1rem;
}
.result-detail p:last-child { margin-bottom: 0; }

/* 知识卡片 */
.knowledge-card { }
.knowledge-card .card-title {
    font-size: 0.37rem; font-weight: 600; color: #333;
    margin-bottom: 0.26rem; display: flex; align-items: center; gap: 0.16rem;
}
.knowledge-card .card-title::before {
    content: ''; width: 0.08rem; height: 0.37rem;
    background: #6CAFA6; border-radius: 0.04rem; display: inline-block;
}
.knowledge-text {
    font-size: 0.28rem; color: #666; line-height: 1.8;
}
.knowledge-text h4 {
    font-size: 0.3rem; color: #3F6E68; margin: 0.21rem 0 0.1rem;
}
.knowledge-text h4:first-child { margin-top: 0; }
.knowledge-text ul {
    margin: 0.08rem 0; padding-left: 0.42rem;
}
.knowledge-text li { margin-bottom: 0.08rem; }

/* 鱼类体重提示 */
.fish-hint {
    margin-top: 0.12rem; font-size: 0.24rem; color: #5BA0D0;
    background: #EEF6FC; border-radius: 0.21rem;
    padding: 0.12rem 0.21rem; line-height: 1.5;
}
.fish-hint b { color: #3A80B0; }

/* 食量占比结果项高�?*/
#resultFoodPct { color: #5BA0D0; }
