    :root { --brand:#2F6FED; --dry:#FF9F43; --wet:#3D8BFF; }
    body { font-size:16px; background:#f3f4f6; word-break:keep-all; font-family:-apple-system,sans-serif; }
    input,select { outline:none; }
    input[type=range] { -webkit-appearance:none; background:#e5e7eb; height:8px; border-radius:4px; width:100%; }
    input[type=range]::-webkit-slider-thumb { -webkit-appearance:none; width:24px; height:24px; background:var(--brand); border-radius:50%; cursor:pointer; border:4px solid white; box-shadow:0 2px 4px rgba(0,0,0,.15); }
    .autocomplete-item:hover { background:#f0f7ff; }

    /* -----------------------------------------------
       공유 카드 모달 스타일
       역할: 결과 이미지 카드를 보여주는 전체화면 레이어
    ----------------------------------------------- */
    #shareModal {
      display: none;
      position: fixed;
      inset: 0;
      z-index: 9999;
      background: rgba(0,0,0,0.8);
      overflow-y: auto;
      padding: 24px 16px 48px;
      -webkit-overflow-scrolling: touch;
    }
    #shareModal.open { display: block; }

    /* 모달 내부 컨텐츠 박스 */
    .share-modal-inner {
      max-width: 360px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

    /* 닫기 버튼 */
    .share-close-btn {
      align-self: flex-end;
      background: rgba(255,255,255,0.15);
      border: none;
      color: #fff;
      font-size: 20px;
      width: 38px; height: 38px;
      border-radius: 50%;
      cursor: pointer;
      display: flex; align-items: center; justify-content: center;
    }

    /* -----------------------------------------------
       공유 카드 본체 (콘텐츠 높이에 따라 자연 확장)
       역할: 이 div 전체가 png 이미지로 캡처됩니다
    ----------------------------------------------- */
    #shareCard {
      width: 360px;
      max-width: 100%;
      height: auto;
      min-height: 640px;
      box-sizing: border-box;
      transform: none;
      zoom: 1;
      background: #101B33;
      border-radius: 22px;
      overflow: hidden;
      position: relative;
      display: flex;
      flex-direction: column;
      font-family: -apple-system, sans-serif;
    }

    /* 배경 장식 그라데이션 원 */
    #shareCard::before {
      content: '';
      position: absolute;
      top: -80px; right: -80px;
      width: 280px; height: 280px;
      background: transparent;
      border-radius: 50%;
      pointer-events: none;
    }
    #shareCard::after {
      content: '';
      position: absolute;
      bottom: -60px; left: -60px;
      width: 200px; height: 200px;
      background: transparent;
      border-radius: 50%;
      pointer-events: none;
    }

    /* 카드 헤더: 브랜드명 + 고양이 이름 */
    .sc-header {
      padding: 26px 24px 0;
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      position: relative;
    }
    .sc-brand { font-size:14px; font-weight:900; color:#5ba3e8; font-style:italic; letter-spacing:-0.02em; }
    .sc-cat-name { font-size:22px; font-weight:900; color:#fff; line-height:1.1; text-align:right; letter-spacing:-0.03em; }
    .sc-cat-sub { font-size:10px; color:rgba(255,255,255,0.38); text-align:right; margin-top:3px; font-weight:700; }

    /* 칼로리 블록 */
    .sc-kcal-block {
      padding: 18px 24px 16px;
      border-bottom: 1px solid rgba(255,255,255,0.06);
      position: relative;
    }
    .sc-kcal-label { font-size:9px; font-weight:900; color:#5ba3e8; letter-spacing:0.18em; margin-bottom:4px; }
    .sc-kcal-row { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; }
    .sc-kcal-value { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
    .sc-kcal-num { display:block; font-size:54px; font-weight:900; color:#fff; line-height:0.95; letter-spacing:-0.04em; }
    .sc-kcal-unit { display:block; font-size:12px; line-height:1.25; color:rgba(255,255,255,0.35); font-weight:700; margin-top:4px; }
    .sc-ratio-wrap { display:flex; flex-direction:column; align-items:flex-end; gap:5px; flex-shrink:0; padding-bottom:4px; }
    .sc-ratio-bar { width:84px; height:6px; background:rgba(255,255,255,0.1); border-radius:3px; overflow:hidden; display:flex; }
    .sc-dry-seg { background:#FF9F43; }
    .sc-wet-seg { background:#3D8BFF; flex:1; }
    .sc-ratio-txt { font-size:9px; font-weight:900; color:rgba(255,255,255,0.3); letter-spacing:0.07em; }

    /* 사료 급여량 목록 */
    .sc-feeds {
      padding: 14px 24px;
      display: flex;
      flex-direction: column;
      gap: 7px;
      border-bottom: 1px solid rgba(255,255,255,0.06);
      position: relative;
    }
    .sc-feeds-title { font-size:9px; font-weight:900; color:rgba(255,255,255,0.25); letter-spacing:0.15em; margin-bottom:2px; }
    .sc-feed-row {
      display:flex; align-items:center; gap:9px;
      padding:10px 12px;
      background:rgba(255,255,255,0.04);
      border:1px solid rgba(255,255,255,0.07);
      border-radius:13px;
    }
    .sc-feed-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
    .sc-feed-info { flex:1; min-width:0; }
    .sc-feed-type { font-size:8px; font-weight:900; letter-spacing:0.12em; opacity:0.45; color:#fff; }
    .sc-feed-name { font-size:11px; font-weight:700; color:rgba(255,255,255,0.85); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin-top:1px; }
    .sc-feed-right { text-align:right; flex-shrink:0; }
    .sc-feed-g { font-size:20px; font-weight:900; color:#fff; line-height:1; letter-spacing:-0.03em; }
    .sc-feed-kcal { font-size:9px; color:rgba(255,255,255,0.3); font-weight:700; }

    /* 영양 분석 섹션 */
    .sc-analysis {
      padding: 12px 24px;
      display: flex;
      flex-direction: column;
      gap: 9px;
      position: relative;
      flex: 1;
    }
    .sc-analysis-title { font-size:9px; font-weight:900; color:rgba(255,255,255,0.25); letter-spacing:0.15em; }
    .sc-an-card {
      background:rgba(255,255,255,0.04);
      border:1px solid rgba(255,255,255,0.07);
      border-radius:14px;
      padding:12px 14px;
      box-sizing:border-box;
    }
    .sc-an-label { font-size:9px; font-weight:900; color:rgba(255,255,255,0.3); letter-spacing:0.1em; margin-bottom:7px; line-height:1.25; }
    .sc-an-main-row { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; }
    .sc-an-val { font-size:24px; font-weight:900; line-height:1.1; letter-spacing:-0.03em; }
    .sc-an-sub { font-size:10px; font-weight:700; margin-top:4px; line-height:1.35; }

    /* Ca:P 칼슘/인 용량 상세 */
    .sc-cap-detail { display:flex; gap:10px; margin-top:8px; }
    .sc-cap-item { flex:1; background:rgba(255,255,255,0.05); border-radius:9px; padding:7px 9px; text-align:center; }
    .sc-cap-item-label { font-size:8px; font-weight:900; color:rgba(255,255,255,0.3); letter-spacing:0.1em; }
    .sc-cap-item-val { font-size:15px; font-weight:900; color:#fff; margin-top:2px; line-height:1; }
    .sc-cap-item-unit { font-size:8px; color:rgba(255,255,255,0.3); font-weight:700; }

    /* 수분 게이지 */
    .sc-water-card { display:flex; flex-direction:column; gap:7px; }
    .sc-water-main-row { align-items:flex-start; }
    .sc-water-ml { display:block; flex:1; min-width:0; overflow-wrap:anywhere; }
    .sc-water-pct { flex-shrink:0; margin-top:3px; text-align:right; }
    .sc-water-gauge-track { width:100%; height:7px; background:rgba(255,255,255,0.1); border-radius:4px; overflow:hidden; margin-top:2px; flex-shrink:0; }
    .sc-water-gauge-fill { height:7px; border-radius:4px; }
    .sc-water-nums { display:flex; justify-content:space-between; gap:10px; margin-top:0; font-size:8px; line-height:1.25; font-weight:700; color:rgba(255,255,255,0.25); }
    .sc-water-nums span:last-child { text-align:right; }

    /* 상태 색상 */
    .color-ok   { color: #4ade80; }
    .color-warn { color: #fbbf24; }

    /* 카드 푸터 */
    .sc-footer {
      padding: 10px 24px 18px;
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-top: 1px solid rgba(255,255,255,0.05);
      position: relative;
    }
    .sc-footer-url { font-size:9px; font-weight:900; color:rgba(255,255,255,0.2); letter-spacing:0.04em; }
    .sc-footer-date { font-size:9px; font-weight:700; color:rgba(255,255,255,0.2); }

    /* 저장/공유 버튼 */
    .share-btn-row { display:flex; gap:10px; }
    .share-btn-save {
      flex:1; padding:15px;
      background:#2F6FED; color:#fff;
      font-size:14px; font-weight:900;
      border:none; border-radius:16px; cursor:pointer;
    }
    .share-btn-kakao {
      flex:1; padding:15px;
      background:#FEE500; color:#3C1E1E;
      font-size:14px; font-weight:900;
      border:none; border-radius:16px; cursor:pointer;
    }
    .share-btn-save:active, .share-btn-kakao:active { opacity:0.8; }

/* 모바일 PWA 설치 안내 */
.pwa-install-prompt {
  position: fixed;
  left: 50%;
  bottom: calc(16px + env(safe-area-inset-bottom));
  z-index: 9997;
  width: min(92vw, 320px);
  transform: translateX(-50%);
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  pointer-events: none;
}

.pwa-install-prompt:not(.hidden) {
  display: flex;
}

.pwa-install-actions {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
}

.pwa-install-btn {
  padding: 8px 13px;
  border: 1px solid rgba(45, 125, 210, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
  color: rgba(45, 125, 210, 0.78);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  backdrop-filter: blur(10px);
  cursor: pointer;
  pointer-events: auto;
}

.pwa-install-dismiss-btn {
  position: absolute;
  top: -8px;
  right: -10px;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: rgba(100, 116, 139, 0.72);
  font-size: 13px;
  font-weight: 900;
  line-height: 16px;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
  cursor: pointer;
}

.pwa-install-dismiss-btn:active {
  transform: translateY(1px);
  opacity: 0.82;
}

.pwa-install-btn:active {
  transform: translateY(1px);
  opacity: 0.82;
}

.pwa-install-msg {
  max-width: 100%;
  padding: 8px 10px;
  border-radius: 14px;
  background: rgba(17, 24, 39, 0.82);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.45;
  text-align: center;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
  pointer-events: none;
}

@media (min-width: 768px) {
  .pwa-install-prompt:not(.hidden) {
    display: none;
  }
}

/* -----------------------------------------------
   Figma-inspired mobile app refresh (2026)
   Scope: visual overrides only; preserve existing IDs/JS behavior.
----------------------------------------------- */
:root {
  --background: #F5F7FA;
  --foreground: #1A1A2E;
  --card: #FFFFFF;
  --primary: #2F6FED;
  --primary-strong: #236fbf;
  --primary-foreground: #FFFFFF;
  --secondary: #EEF4FF;
  --muted: #F0F2F5;
  --muted-foreground: #9CA3AF;
  --accent: #FFF8F0;
  --dry: #FF9F43;
  --wet: #3D8BFF;
  --border: #E5E7EB;
  --destructive: #E74C3C;
  --nutrition: #5a9e6f;
  --success: #5a9e6f;
  --radius-lg: 16px;
  --radius-xl: 22px;
  --radius-2xl: 28px;
  --shadow-soft: 0 8px 24px rgba(15, 23, 42, 0.08), 0 1px 2px rgba(15, 23, 42, 0.06);
  --shadow-button: 0 8px 18px rgba(41, 121, 255, 0.28);
  --brand: var(--primary);
}

html { background: var(--background); }
body {
  background: var(--background) !important;
  color: var(--foreground);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.pc-app-shell {
  background: var(--background) !important;
  box-shadow: none !important;
}
header { padding: 18px 10px 14px !important; }
#authOpenBtn {
  border: 0 !important;
  background: rgba(255,255,255,0.58) !important;
  color: #6B7280 !important;
  box-shadow: 0 2px 10px rgba(15, 23, 42, 0.04);
}
.pc-tabs {
  padding: 0 6px 26px !important;
  gap: 0 !important;
  border-radius: 18px;
}
#navCalculator,
#navWeightTrend {
  min-height: 48px;
  border-radius: 999px !important;
  background: var(--muted) !important;
  color: var(--muted-foreground) !important;
  box-shadow: none !important;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
#navCalculator.bg-\[\#2F6FED\],
#navWeightTrend.bg-\[\#2F6FED\] {
  background: var(--brand-primary);
  color: var(--primary-foreground) !important;
  box-shadow: var(--shadow-button) !important;
}
main { padding: 0 16px 28px !important; }
#calculatorPage { gap: 24px !important; }
.pc-ratio-card,
.pc-trend-card,
#weightTrendLoginNotice,
#calBox,
#capResult > div,
#waterResult > div {
  border: 1px solid var(--border) !important;
  background: var(--card) !important;
  border-radius: var(--radius-xl) !important;
  box-shadow: var(--shadow-soft) !important;
}
.pc-info-card {
  padding: 0 !important;
  overflow: visible;
  gap: 16px !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.pc-section-title,
.pc-upload-section h2 {
  color: #05051F !important;
  letter-spacing: -0.04em;
}
.pc-info-card > .pc-section-title {
  padding: 0 !important;
  margin-bottom: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
#catName, #catWeight, #catBirth, #catNeutered,
.pc-info-card label {
  border: 1px solid var(--border) !important;
  border-radius: 1rem !important;
  background: var(--card) !important;
  color: var(--foreground) !important;
  box-shadow: none !important;
}
#catName { margin-top: 0 !important; }
#catWeight { border-top: 1px solid var(--border) !important; }
#savedCatLoadBox {
  background: #eff6ff !important;
  border: 1px solid #dbeafe !important;
  border-radius: 1rem !important;
}
#catName::placeholder,
#catWeight::placeholder,
#catBirth,
#catNeutered,
#dryInput1::placeholder,
#dryInput2::placeholder,
#wetSlots input::placeholder { color: #8D99AE; }
#isDiet { accent-color: var(--primary); }
#calBox {
  margin: 14px !important;
  background: var(--secondary) !important;
}
.pc-ratio-card {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-soft) !important;
  padding: 18px 16px !important;
}
#dryPct { color: var(--dry); font-size: 34px; line-height: 1; }
#wetPct { color: var(--wet); font-size: 34px; line-height: 1; }
#ratioSlider { height: 10px; background: #D1D5DB; }
#ratioSlider::-webkit-slider-thumb {
  width: 20px; height: 20px; border: 0; background: var(--primary); box-shadow: none;
}
#ratioSlider::-moz-range-thumb {
  width: 20px; height: 20px; border: 0; background: var(--primary); border-radius: 50%;
}
#dryInput1, #dryInput2, #wetSlots input[type="text"] {
  min-height: 48px;
  font-size: 15px;
}
#dryInput1, #dryInput2 { background: var(--accent) !important; }
#dryInput1:focus, #dryInput2:focus { box-shadow: inset 0 0 0 1px rgba(245,146,30,.24); }
#dryList1, #dryList2, [id^="wetList_"] {
  border: 1px solid var(--border) !important;
  border-radius: 18px !important;
  box-shadow: 0 18px 34px rgba(15,23,42,.14) !important;
}
.autocomplete-item { background: #fff; }
.autocomplete-item:hover { background: var(--secondary); }
#addWetBtn {
  background: rgba(255,255,255,.72) !important;
  border-color: var(--border) !important;
  color: #667085 !important;
  border-radius: 999px !important;
}
.pc-calculate-btn {
  background: var(--brand-primary);
  border-radius: 16px !important;
  min-height: 58px;
  box-shadow: 0 12px 22px rgba(45, 125, 210, .28) !important;
}

.pc-result-hero {
  background: #111827 !important;
  border: 1px solid rgba(255, 255, 255, 0.06) !important;
  border-radius: var(--radius-xl) !important;
  box-shadow: 0 14px 28px rgba(17, 24, 39, 0.18) !important;
  color: #FFFFFF !important;
}
.pc-result-hero #resDER { color: #FFFFFF !important; }
.pc-result-label { color: #8EC5FF !important; }
.pc-result-unit { color: #B7C0CC !important; }
#capBtn { background: var(--nutrition) !important; }
#waterBtn { background: #38A8C5 !important; }
#openShareModalBtn { border-radius: 16px !important; }
.pc-upload-section {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding-top: 0 !important;
}
.pc-upload-section h2 {
  font-size: 22px !important;
  color: #05051F !important;
}
.pc-upload-section label > div {
  background: var(--secondary);
  border-color: var(--primary) !important;
  border-style: solid !important;
  color: var(--primary);
}
#upDryBtn, #upWetBtn {
  border-radius: 999px !important;
  background: rgba(255,255,255,.72) !important;
}

/* Weight trend page */
#weightTrendPage { gap: 16px !important; }
.pc-trend-hero {
  background: #EAF2FF !important;
  border: 0 !important;
  border-radius: var(--radius-xl) !important;
  box-shadow: none !important;
  padding: 26px 20px !important;
}
.pc-trend-card {
  padding: 18px 16px !important;
}
#trendCatList [data-cat-id] {
  background: #FAFAFB !important;
  border-color: var(--border) !important;
  border-radius: 22px !important;
  min-height: 64px;
}
#trendCatList [data-cat-id].border-\[\#2F6FED\] {
  background: var(--secondary) !important;
  border-color: var(--primary) !important;
  border-width: 2px !important;
}
#trendCatList [data-cat-menu-button] {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #B8C0CC !important;
}
#weightTrendChart { width: 100% !important; }
#trendSummaryBox { gap: 10px !important; }
#trendSummaryBox > div {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  border-radius: 16px !important;
  box-shadow: var(--shadow-soft) !important;
  text-align: left !important;
  padding: 16px !important;
}
.pc-summary-label { color: var(--primary) !important; }
#trendLatestWeight, #trendStartWeight, #trendWeightDelta {
  color: #05051F;
  font-size: 22px !important;
  letter-spacing: -0.04em;
}
#trendWeightDelta.text-blue-500 { color: var(--primary) !important; }
#weightTrendLoginNotice button,
#authSheet button.bg-\[\#2F6FED\] {
  background: var(--primary) !important;
  border-radius: 16px !important;
  box-shadow: var(--shadow-button) !important;
}
@media (max-width: 430px) {
  main { padding-left: 16px !important; padding-right: 16px !important; }
  header { padding-left: 10px !important; padding-right: 10px !important; }
  #trendSummaryBox > div { padding: 14px 16px !important; }
}

/* ProvedCat feeding flow component system */
:root {
  --brand-blue: #2F6FED; --brand-blue-pressed: #234FB8;
  --page-background: #F6F7F8; --surface: #FFFFFF; --snack-surface: #ECEAE6;
  --text-primary: #222222; --text-secondary: #6B7280; --border: #E2E5E9;
  --cat-wet: #3D8BFF; --cat-wet-strong: #416A86; --cat-wet-surface: #EDF5FF;
  --cat-dry: #FF9F43; --cat-dry-strong: #C98245; --cat-dry-surface: #FFF7ED;
  --result-background: #101B33; --result-surface: #172440; --result-text: #FFFFFF;
  --result-text-secondary: #C7D0DF; --result-divider: #2A3855;
  --radius-control: 16px; --radius-card: 24px; --radius-sheet: 28px; --radius-pill: 999px;
  --background: var(--page-background); --foreground: var(--text-primary); --card: var(--surface);
  --primary: var(--brand-blue); --brand: var(--brand-blue); --dry: var(--cat-dry); --wet: var(--cat-wet);
}
html, body, .pc-app-shell { max-width: 100%; overflow-x: clip; background: var(--page-background) !important; }
#calculatorPage { display: flex; flex-direction: column; gap: 32px !important; }
#calculatorPage.hidden { display: none; }
.pc-step-section { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.pc-section-title { margin: 0; color: var(--text-primary) !important; font-size: 22px; font-weight: 900; letter-spacing: -.03em; }
.pc-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }
.pc-field + .pc-field { margin-top: 4px; }
.pc-field-label { color: var(--text-primary); font-size: 14px; font-weight: 800; }
fieldset.pc-field > legend ~ .pc-segmented,
fieldset.pc-field > legend ~ .pc-chip-row { margin-top: 4px; }
.pc-help { color: var(--text-secondary); font-size: 12px; font-weight: 600; }
.pc-field input[type=text], .pc-field input[type=date], .pc-field input[type=number],
.pc-feed-input-row input[type=text] { width: 100%; min-width: 0; min-height: 52px; padding: 0 16px; border: 1px solid var(--border) !important; border-radius: var(--radius-control) !important; background: var(--surface) !important; box-shadow: none !important; color: var(--text-primary); }
.pc-input-unit { position: relative; }.pc-input-unit input { padding-right: 48px !important; }.pc-input-unit span { position:absolute; right:16px; top:50%; transform:translateY(-50%); color:var(--text-secondary); font-weight:700; }
.pc-segmented { display: flex; gap: 4px; padding: 4px; border-radius: var(--radius-pill); background: var(--snack-surface); min-width: 0; }
.pc-segmented-option { flex: 1; min-width: 0; min-height: 44px; display:flex; align-items:center; justify-content:center; padding: 8px 10px; border: 2px solid transparent; border-radius: var(--radius-pill); color: var(--text-secondary); font-size: 12px; font-weight: 800; text-align:center; cursor:pointer; }
.pc-segmented-option.is-selected, .pc-segmented-option:has(input:checked) { border-color: var(--brand-blue); background: var(--surface); color: var(--brand-blue); }
.pc-segmented-option.is-selected::before, .pc-segmented-option:has(input:checked)::before { content:'✓'; margin-right:5px; }.pc-segmented-option input { position:absolute; opacity:0; pointer-events:none; }
.pc-chip-row { display:flex; flex-wrap:wrap; gap:8px; }.pc-choice-chip { position:relative; min-height:44px; display:flex; align-items:center; padding:0 16px; border:1px solid var(--border); border-radius:var(--radius-pill); background:var(--surface); font-size:13px; font-weight:800; cursor:pointer; }.pc-choice-chip input { position:absolute; opacity:0; }.pc-choice-chip:has(input:checked) { border:2px solid var(--brand-blue); color:var(--brand-blue); background:#EDF3FF; }.pc-choice-chip:has(input:checked)::before { content:'✓'; margin-right:6px; }
.pc-inline-error { margin:0; color:#C53B36; font-size:13px; line-height:1.4; font-weight:700; }.pc-inline-error:not(.hidden) { display:block; }
.pc-feed-panel, .pc-ratio-card { padding:20px !important; border:1px solid; border-radius:var(--radius-card) !important; box-shadow:none !important; display:flex; flex-direction:column; gap:12px; min-width:0; }.pc-feed-panel--dry { border-color:var(--cat-dry); background:var(--cat-dry-surface); color:var(--cat-dry-strong); }.pc-feed-panel--wet { border-color:var(--cat-wet); background:var(--cat-wet-surface); color:var(--cat-wet-strong); }.pc-feed-heading,.pc-ratio-values { display:flex; align-items:center; justify-content:space-between; gap:12px; }.pc-feed-heading h3 { font-size:16px; font-weight:900; }.pc-switch { display:flex; align-items:center; gap:6px; min-height:44px; font-size:12px; font-weight:700; }.pc-switch input { width:18px;height:18px;accent-color:currentColor; }.pc-feed-input-row { display:flex; width:100%; min-width:0; border-radius:var(--radius-control); overflow:hidden; }.pc-feed-panel--dry .pc-feed-input-row input { background:var(--cat-dry-surface)!important;border-color:var(--cat-dry)!important;}.pc-feed-panel--wet .pc-feed-input-row input { background:var(--cat-wet-surface)!important;border-color:var(--cat-wet)!important;}.pc-subratio { min-height:52px; display:flex;align-items:center;padding:0 10px;border:1px solid currentColor;border-left:0;border-radius:0 var(--radius-control) var(--radius-control) 0;background:rgba(255,255,255,.5);}.pc-subratio input { width:42px;background:transparent;text-align:center;font-weight:900;}.pc-feed-picker-button { min-height:44px;padding:8px 12px;border:1px solid currentColor;border-radius:var(--radius-pill);font-size:12px;font-weight:800;background:rgba(255,255,255,.65);}.pc-search-list { position:absolute;left:0;right:0;z-index:50;max-height:192px;overflow-y:auto;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-control);box-shadow:0 16px 32px rgba(16,27,51,.16);}.pc-selected-feed { margin-top:6px;font-size:12px;font-weight:700;}.pc-wet-slots { display:flex;flex-direction:column;gap:12px;}.pc-remove-feed { min-width:44px;min-height:52px;font-weight:900;}.pc-ratio-card { border-color:var(--border)!important;background:var(--surface)!important;}.pc-dry-text{color:var(--cat-dry-strong)}.pc-wet-text{color:var(--cat-wet-strong)}#ratioSlider::-webkit-slider-thumb{background:var(--brand-blue)}#ratioSlider::-moz-range-thumb{background:var(--brand-blue)}
.pc-primary-button,.pc-secondary-button { display:flex;align-items:center;justify-content:center;min-height:56px;padding:12px 16px;border-radius:var(--radius-control);font-weight:900;text-align:center;}.pc-primary-button { width:100%;border:0;background:var(--brand-blue);color:white;box-shadow:none;}.pc-primary-button:active{background:var(--brand-blue-pressed)}.pc-secondary-button{min-height:44px;border:1px solid currentColor;background:transparent;}
.pc-result-panel { padding:20px;border-radius:var(--radius-card);background:var(--result-background);color:var(--result-text);box-shadow:0 18px 40px rgba(16,27,51,.2);}.pc-result-panel:not(.hidden){display:flex;flex-direction:column;gap:16px}.pc-result-eyebrow{color:var(--result-text-secondary);font-size:12px;font-weight:900}.pc-result-panel h2{font-size:22px;font-weight:900}.pc-result-summary{display:grid;gap:0;border:1px solid var(--result-divider);border-radius:var(--radius-card);overflow:hidden;background:var(--result-surface)}.pc-result-summary>div{display:flex;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid var(--result-divider)}.pc-result-summary>div:last-child{border:0}.pc-result-summary span{color:var(--result-text-secondary);font-size:13px}.pc-result-summary strong span,.pc-result-summary strong{color:var(--result-text);font-size:15px}.pc-result-items{display:flex;flex-direction:column;gap:12px}.pc-result-card{display:flex;justify-content:space-between;gap:12px;padding:20px;border-radius:var(--radius-card);background:var(--result-surface);border:1px solid var(--result-divider)}.pc-result-card h3{font-size:14px;margin-top:3px}.pc-result-card p,.pc-result-card span{color:var(--result-text-secondary);font-size:11px}.pc-result-card>div:last-child{text-align:right}.pc-result-card strong{font-size:24px}.pc-result-card--dry>div:first-child>span{color:var(--cat-dry)}.pc-result-card--wet>div:first-child>span{color:var(--cat-wet)}.pc-result-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pc-result-actions .pc-secondary-button{color:var(--result-text);border-color:var(--result-divider);font-size:11px;line-height:1.3}.pc-result-disclaimer{color:var(--result-text-secondary);font-size:11px;text-align:center}#capResult>div,#waterResult>div{background:var(--result-surface)!important;color:var(--result-text)!important;border-color:var(--result-divider)!important;box-shadow:none!important}#capResult .bg-white,#waterResult .bg-white{background:var(--result-background)!important}#capResult .text-gray-800,#waterResult .text-gray-800,#capResult .text-gray-600,#waterResult .text-gray-600{color:var(--result-text)!important}#capResult .text-gray-400,#waterResult .text-gray-400{color:var(--result-text-secondary)!important}
#feedPickerModal [role=dialog],#authSheet>div:last-child{border-radius:var(--radius-sheet) var(--radius-sheet) 0 0!important}.share-modal-inner{border-radius:var(--radius-sheet)}#shareCard{background:var(--result-background);border-radius:var(--radius-card)}
@media(max-width:360px){main{padding-inline:12px!important}.pc-segmented-option{padding-inline:6px;font-size:11px}.pc-result-actions{grid-template-columns:1fr}.pc-feed-heading{align-items:flex-start;flex-direction:column}.pc-feed-panel,.pc-ratio-card,.pc-result-panel{padding:16px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.sc-energy-details{display:flex;gap:8px;padding:10px 24px;border-bottom:1px solid var(--result-divider);position:relative}.sc-energy-details>div{flex:1;padding:9px 10px;border-radius:12px;background:var(--result-surface);color:var(--result-text-secondary);font-size:9px}.sc-energy-details span{display:block;font-weight:800;margin-bottom:3px}.sc-energy-details strong{color:var(--result-text);font-size:16px}.sc-energy-details small{font-weight:700}

/* 2026 calculator visual system: bright workflow, compact corners */
:root {
  --brand-blue: #2F6FED;
  --brand-blue-pressed: #234FB8;
  --page-background: #F6F7F8;
  --surface: #FFFFFF;
  --snack-surface: #ECEAE6;
  --text-primary: #222222;
  --text-secondary: #6B7280;
  --border-neutral: #E1E5EA;
  --cat-dry: #FF9F43;
  --cat-dry-strong: #C98245;
  --cat-dry-light: #FFF7ED;
  --cat-wet: #3D8BFF;
  --cat-wet-strong: #416A86;
  --cat-wet-light: #EDF5FF;
  --analysis-green: #5A9E6F;
  --analysis-water: #3FAAC6;
  --modal-background: #101B33;
  --modal-surface: #172440;
  --modal-text: #FFFFFF;
  --modal-text-secondary: #C7D0DF;
  --modal-divider: #2A3855;
  --border: var(--border-neutral);
  --radius-control: 12px;
  --radius-card: 16px;
  --radius-result: 14px;
  --radius-sheet: 16px;
}

#calculatorPage { gap: 48px !important; }
.pc-step-section { gap: 24px; }
.pc-field + .pc-field { margin-top: 0; }
.pc-field-label { font-size: 16px; }
.pc-choice-chip { border-radius:10px; }
.pc-field input[type=text], .pc-field input[type=date], .pc-field input[type=number],
.pc-feed-input-row input[type=text] { min-height: 48px; border-color: var(--border-neutral) !important; border-radius: 12px !important; }
.proved-shell-current { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px; min-width:0; }
.proved-shell-weight-date { color:var(--text-secondary); font-size:13px; font-weight:500; }
#navCalculator, #navWeightTrend, #navWetFoodBeta { border-radius:10px !important; }

.pc-feed-panel, .pc-ratio-card { padding:24px !important; border-radius:16px !important; }
.pc-feed-panel--dry { background:var(--cat-dry-light); border-color:var(--cat-dry); }
.pc-feed-panel--wet { background:var(--cat-wet-light); border-color:var(--cat-wet); }
.pc-feed-panel--dry .pc-feed-input-row input,
.pc-feed-panel--wet .pc-feed-input-row input { background:#fff !important; }
.pc-feed-picker-button { width:auto; align-self:flex-start; min-height:40px; margin-top:12px; padding:8px 18px; border:0; border-radius:10px; color:#fff; font-size:13px; font-weight:700; }
.pc-feed-panel--dry .pc-feed-picker-button { background:var(--cat-dry); }
.pc-feed-panel--dry .pc-feed-picker-button:active { background:var(--cat-dry-strong); }
.pc-feed-panel--wet .pc-feed-picker-button { background:var(--cat-wet); }
.pc-feed-panel--wet .pc-feed-picker-button:active { background:var(--cat-wet-strong); }
#addWetBtn { margin-top:0; background:#fff !important; border:1px solid var(--border-neutral) !important; color:var(--cat-wet-strong) !important; border-radius:10px !important; }
.pc-selected-feed { margin-top:12px; overflow-wrap:anywhere; }
.pc-feed-panel--dry .pc-selected-feed { color:var(--cat-dry-strong); }
.pc-feed-panel--wet .pc-selected-feed { color:var(--cat-wet-strong); }

.pc-feed-action-row { display:flex;align-items:center;gap:8px;margin-top:12px;min-width:0;max-width:100%; }
.pc-feed-action-row .pc-feed-picker-button { flex:0 0 auto;margin-top:0; }
.pc-recent-feed-button { flex:1 1 auto;min-width:0;min-height:40px;padding:8px 14px;border:0;border-radius:10px;background:#fff;color:#4b5563;box-shadow:none;font-size:13px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;text-align:left; }
.pc-recent-feed-button:hover { background:#f3f4f6; }
.pc-recent-feed-button:active { background:#e5e7eb; }
.pc-search-list { border-radius:12px; }
.pc-ratio-card { border-color:var(--border-neutral) !important; box-shadow:0 2px 8px rgba(16,27,51,.04) !important; }
.pc-ratio-values strong { font-size:16px; }
#dryPct { color:var(--cat-dry); }
#wetPct { color:var(--cat-wet); }
.pc-primary-button { min-height:52px; border-radius:14px; }

.pc-result-panel { padding:0; border-radius:0; background:transparent; color:var(--text-primary); box-shadow:none; }
.pc-result-panel:not(.hidden) { gap:24px; }
.pc-result-panel > .pc-section-title { font-size:22px; color:var(--text-primary) !important; }
.pc-result-panel #resultTitle { margin:0; color:var(--text-primary); font-size:18px; font-weight:800; line-height:1.35; letter-spacing:-.02em; }
.pc-result-summary { border:1px solid var(--brand-blue); border-radius:14px; background:#fff; box-shadow:none; }
.pc-result-summary > div { padding:16px 20px; border-color:var(--border-neutral); }
.pc-result-summary span { color:var(--text-secondary); }
.pc-result-summary strong, .pc-result-summary strong span { color:var(--text-primary); }
.pc-result-summary > div:first-child strong,
.pc-result-summary > div:first-child strong span { color:var(--brand-blue); font-size:24px; }
.pc-result-card { border:1px solid var(--border-neutral); border-radius:14px; background:#fff; color:var(--text-primary); box-shadow:none; }
.pc-result-card h3 { color:var(--text-primary); overflow-wrap:anywhere; }
.pc-result-card p { color:var(--text-secondary); }
.pc-result-card--dry { border-color:var(--cat-dry); }
.pc-result-card--wet { border-color:var(--cat-wet); }
.pc-result-card--dry > div:first-child > span,
.pc-result-card--dry strong { color:var(--cat-dry-strong); }
.pc-result-card--wet > div:first-child > span,
.pc-result-card--wet strong { color:var(--cat-wet-strong); }
.pc-analysis-block { display:flex; flex-direction:column; gap:12px; width:100%; min-width:0; }
.pc-analysis-block > .pc-secondary-button, .pc-share-result-button { width:100%; }
.pc-analysis-block > .hidden { display:none; }
.pc-analysis-block .pc-secondary-button, .pc-share-result-button { min-height:44px; border-radius:10px; padding:10px 12px; color:#fff; border:0; font-size:14px; }
#capBtn { background:var(--analysis-green) !important; }
#waterBtn { background:var(--analysis-water) !important; }
#openShareModalBtn { color:var(--brand-blue); background:#fff; border:1px solid var(--brand-blue); border-radius:10px !important; }
.pc-result-disclaimer { color:var(--text-secondary); }

#capResult > div, #waterResult > div { padding:20px !important; border-radius:14px !important; background:#fff !important; color:var(--text-primary) !important; box-shadow:none !important; }
#capResult > div { border:1px solid var(--analysis-green) !important; }
#waterResult > div { border:1px solid var(--analysis-water) !important; }
#capResult .bg-white, #waterResult .bg-white { background:var(--page-background) !important; border-radius:10px !important; }
#capResult .text-gray-800, #waterResult .text-gray-800,
#capResult .text-gray-600, #waterResult .text-gray-600 { color:var(--text-primary) !important; }
#capResult .text-gray-400, #waterResult .text-gray-400 { color:var(--text-secondary) !important; }
#capResult .text-green-500 { color:var(--analysis-green) !important; }
#waterResult .text-\[\#38a8c5\] { color:var(--analysis-water) !important; }

#shareModal { background:rgba(16,27,51,.55); }
.share-modal-inner { color:var(--modal-text); }
#shareCard { background:var(--modal-background); border-radius:16px; }
.sc-feed-row, .sc-an-card, .sc-energy-details > div { background:var(--modal-surface); border-color:var(--modal-divider); }
.share-btn-save { background:var(--brand-blue); border-radius:10px; }
.share-btn-kakao { border-radius:10px; }

:where(button, input, select, [tabindex]:not([tabindex="-1"])):focus-visible { outline:3px solid rgba(47,111,237,.45) !important; outline-offset:2px; }
.pc-result-panel:focus,
.pc-result-panel:focus-visible { outline:none !important; }

@media(max-width:520px) {
  .pc-feed-panel, .pc-ratio-card { padding:20px !important; }
}
@media(max-width:360px) {
  .pc-result-panel { padding:0 !important; }
}

/* Unified Proved UI system — landing, calculator and weight trend */
:root {
  --brand-primary: #3568FF;
  --brand-primary-pressed: #234FC7;
  --page-background: #F5F6F8;
  --surface-primary: #FFFFFF;
  --text-primary: #20242C;
  --text-secondary: #5F6673;
  --text-placeholder: #8A919E;
  --border-default: #D9DDE5;
  --border-subtle: #E4E7EC;
  --cat-wet-ink: #1F5CC4;
  --cat-dry-ink: #B85A00;
  --dog-wet-ink: #388255;
  --dog-dry-ink: #9A5B34;
  --calcium-ink: #5D537F;
  --water-ink: #3E7C7B;
  --cat-wet-soft: rgba(31, 92, 196, .08);
  --cat-dry-soft: rgba(184, 90, 0, .08);
  --dog-soft: rgba(56, 130, 85, .08);
  --calcium-soft: rgba(93, 83, 127, .08);
  --water-soft: rgba(62, 124, 123, .08);
  --radius-card: 12px;
  --radius-input: 9px;
  --radius-button: 9px;
  --radius-tag: 7px;
  --brand-blue: var(--brand-primary);
  --brand-blue-pressed: var(--brand-primary-pressed);
  --surface: var(--surface-primary);
  --text-secondary: #5F6673;
  --border: var(--border-default);
  --border-neutral: var(--border-default);
  --cat-dry-strong: var(--cat-dry-ink);
  --cat-wet-strong: var(--cat-wet-ink);
}
html, body { background:var(--page-background)!important; color:var(--text-primary); }
body { display:block!important; }
.pc-app-shell { max-width:none; background:var(--page-background)!important; box-shadow:none!important; }
.pc-app-header { height:64px; padding:0 24px!important; border-bottom:1px solid var(--border-subtle); background:var(--surface-primary); }
.pc-app-header > * { max-height:46px; }
.pc-page-container, .proved-shell-bar, .pc-tabs { width:min(100% - 48px, 720px); margin-inline:auto; padding-inline:0!important; }
.pc-page-container { padding-top:24px; display:block; }
.pc-page-container > section { margin:0; }
.pc-page-container > section:not(.hidden) { display:flex; flex-direction:column; gap:16px!important; }
.proved-shell-bar { margin-top:24px; min-height:56px; padding:10px 14px!important; border:1px solid var(--border-subtle)!important; border-radius:var(--radius-card)!important; background:var(--surface-primary)!important; box-shadow:none!important; }
.proved-shell-current { color:var(--text-primary)!important; }
.proved-load-pet-btn { min-height:44px; padding:0 12px!important; border:1px solid var(--border-default)!important; border-radius:var(--radius-button)!important; background:#fff!important; color:var(--brand-primary)!important; }
.pc-tabs { margin-top:12px; padding-bottom:0!important; }
#navCalculator,#navWeightTrend,#navWetFoodBeta { min-height:46px; border:1px solid var(--border-subtle)!important; border-radius:var(--radius-button)!important; background:#fff!important; color:var(--text-secondary)!important; box-shadow:none!important; }
#navCalculator:hover,#navWeightTrend:hover,#navWetFoodBeta:hover { background:rgba(53,104,255,.04)!important; }
#navCalculator.is-active,#navWeightTrend.is-active,#navWetFoodBeta.is-active { border-color:rgba(53,104,255,.24)!important; background:rgba(53,104,255,.08)!important; color:var(--brand-primary)!important; }
#navCalculator:disabled,#navWeightTrend:disabled,#navWetFoodBeta:disabled { border-color:var(--border-default)!important; background:#ECEFF3!important; color:#747C88!important; }
.pc-section-card,.pc-trend-card,.pc-trend-hero,#weightTrendLoginNotice { padding:24px!important; border:1px solid var(--border-subtle)!important; border-radius:var(--radius-card)!important; background:var(--surface-primary)!important; box-shadow:none!important; }
#calculatorPage { gap:16px!important; }
.pc-step-section { gap:20px!important; }
.pc-section-heading { margin-bottom:2px; }
.pc-section-heading--with-action {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.pc-compact-load-button {
  flex: 0 0 auto;
  min-height: 36px;
  padding: 0 11px;
  border: 1px solid rgba(53, 104, 255, 0.28);
  border-radius: 8px;
  background: #fff;
  color: #3568FF;
  font-size: 12px;
  font-weight: 700;
  box-shadow: none;
}
.pc-section-heading p,.pc-trend-hero p,.pc-trend-card p { margin-top:6px; color:var(--text-secondary)!important; font-size:14px; line-height:1.5; }
.pc-section-title { font-size:20px!important; line-height:1.35; }
.pc-section-title > span { margin-right:8px; color:var(--brand-primary)!important; font-variant-numeric:tabular-nums; }
.pc-field-label { font-size:14px!important; font-weight:700!important; }
.pc-field input[type=text],.pc-field input[type=date],.pc-field input[type=number],.pc-feed-input-row input[type=text] { height:48px; min-height:48px; border-radius:var(--radius-input)!important; }
input::placeholder { color:var(--text-placeholder); }
.pc-segmented { padding:3px; border:1px solid var(--border-default); border-radius:var(--radius-input); background:var(--page-background); }
.pc-segmented-option { min-height:42px; border:0!important; border-radius:7px; }
.pc-segmented-option.is-selected,.pc-segmented-option:has(input:checked) { background:rgba(53,104,255,.09); color:var(--brand-primary); }
.pc-segmented-option.is-selected::before,.pc-segmented-option:has(input:checked)::before,.pc-choice-chip:has(input:checked)::before { content:none!important; }
.pc-choice-chip { border-radius:var(--radius-button); font-weight:700; }
.pc-choice-chip:has(input:checked) { border:1px solid var(--brand-primary); background:rgba(53,104,255,.09); }
.pc-adult-weight-presets { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.pc-adult-weight-presets button { min-height:58px; padding:8px 6px; border:1px solid var(--border-default); border-radius:var(--radius-button); background:var(--surface-primary); color:var(--text-primary); text-align:center; }
.pc-adult-weight-presets strong,.pc-adult-weight-presets span { display:block; }
.pc-adult-weight-presets strong { font-size:14px; font-weight:800; font-variant-numeric:tabular-nums; }
.pc-adult-weight-presets span { margin-top:3px; color:var(--text-secondary); font-size:10px; line-height:1.25; }
.pc-adult-weight-presets button:hover { border-color:rgba(56,130,85,.45); background:var(--dog-soft); }
.pc-adult-weight-presets button.is-selected { border-color:var(--dog-wet-ink); background:var(--dog-soft); color:var(--dog-wet-ink); }
.pc-adult-weight-presets button.is-selected span { color:var(--dog-wet-ink); }
.pc-feed-panel,.pc-ratio-card { padding:16px!important; border-radius:var(--radius-input)!important; box-shadow:none!important; }
.pc-feed-panel--dry { border-color:rgba(184,90,0,.2); background:var(--cat-dry-soft); color:var(--cat-dry-ink); }
.pc-feed-panel--wet { border-color:rgba(31,92,196,.2); background:var(--cat-wet-soft); color:var(--cat-wet-ink); }
.proved-dog-mode .pc-feed-panel--dry { border-color:rgba(154,91,52,.22); background:rgba(154,91,52,.08); color:var(--dog-dry-ink); }
.proved-dog-mode .pc-feed-panel--wet { border-color:rgba(56,130,85,.22); background:var(--dog-soft); color:var(--dog-wet-ink); }
.proved-dog-mode .pc-dry-text,
.proved-dog-mode #dryPct { color:var(--dog-dry-ink)!important; }
.proved-dog-mode .pc-wet-text,
.proved-dog-mode #wetPct { color:var(--dog-wet-ink)!important; }
.proved-dog-mode .pc-upload-type-button--dry { color:var(--dog-dry-ink); }
.proved-dog-mode .pc-upload-type-button--wet { color:var(--dog-wet-ink); }
.proved-dog-mode .pc-upload-type-button--dry.is-active { border-color:rgba(154,91,52,.35); background:rgba(154,91,52,.08); }
.proved-dog-mode .pc-upload-type-button--wet.is-active { border-color:rgba(56,130,85,.35); background:var(--dog-soft); }
.pc-feed-picker-button { min-height:44px; border:1px solid currentColor!important; border-radius:var(--radius-button)!important; background:transparent!important; color:inherit!important; }
.pc-feed-panel--dry .pc-feed-picker-button,.pc-feed-panel--wet .pc-feed-picker-button { background:rgba(255,255,255,.45)!important; }
.pc-ratio-values,#dryPct,#wetPct { font-variant-numeric:tabular-nums; }
#ratioSlider {
  --ratio-split:60%;
  background:linear-gradient(to right,
    var(--cat-wet-ink) 0,
    var(--cat-wet-ink) var(--ratio-split),
    var(--cat-dry-ink) var(--ratio-split),
    var(--cat-dry-ink) 100%)!important;
}
.proved-dog-mode #ratioSlider {
  background:linear-gradient(to right,
    var(--dog-wet-ink) 0,
    var(--dog-wet-ink) var(--ratio-split),
    var(--dog-dry-ink) var(--ratio-split),
    var(--dog-dry-ink) 100%)!important;
}
.proved-dog-mode #ratioSlider::-webkit-slider-thumb { background:var(--dog-dry-ink); }
.proved-dog-mode #ratioSlider::-moz-range-thumb { background:var(--dog-dry-ink); }
.pc-primary-button { min-height:50px; border-radius:var(--radius-button); background:var(--brand-primary); }
.pc-primary-button:hover,.pc-primary-button:active { background:var(--brand-primary-pressed); }
.pc-result-panel { gap:20px!important; color:var(--text-primary); }
.pc-result-lead { margin:0; color:var(--text-secondary); font-size:14px; line-height:1.6; }
.pc-calculation-basis { border:1px solid var(--border-subtle); border-radius:var(--radius-input); background:var(--page-background); }
.pc-calculation-basis summary { padding:15px 16px; color:var(--text-primary); font-size:14px; font-weight:800; cursor:pointer; }
.pc-calculation-basis > div { padding:0 16px 16px; color:var(--text-secondary); font-size:13px; line-height:1.65; }
.pc-calculation-basis p + p { margin-top:6px; }
.pc-warning-list { display:flex; flex-direction:column; gap:8px; }
.pc-warning-list p { margin:0; padding:12px 14px; border:1px solid rgba(154,91,52,.22); border-radius:var(--radius-input); background:rgba(154,91,52,.07); color:var(--dog-dry-ink); font-size:13px; line-height:1.55; }
.pc-result-summary { border-color:var(--border-subtle); border-radius:var(--radius-input); }
.pc-result-summary strong,.pc-result-summary span,.pc-result-card strong { font-variant-numeric:tabular-nums; }
.pc-result-card { border-color:var(--border-subtle)!important; border-radius:var(--radius-input); padding:18px; }
.pc-result-card strong { font-size:32px; line-height:1; }
#capBtn,#waterBtn { min-height:46px; border:1px solid currentColor!important; border-radius:var(--radius-button)!important; }
#capBtn { color:var(--calcium-ink)!important; background:var(--calcium-soft)!important; }
#waterBtn { color:var(--water-ink)!important; background:var(--water-soft)!important; }
.proved-dog-mode #dogAdultWeightField .pc-input-unit { margin-top:4px; }
@media(max-width:520px) {
  .pc-adult-weight-presets { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
.pc-trend-hero { padding:0!important; border:0!important; background:transparent!important; }
.pc-trend-hero h2 { font-size:28px!important; color:var(--text-primary)!important; }
#weightTrendContent { gap:16px!important; }
#trendSummaryBox { display:grid; grid-template-columns:2fr 1fr 1fr; gap:0!important; padding:24px; border:1px solid var(--border-subtle); border-radius:var(--radius-card); background:#fff; }
#trendCatList > .relative { min-width:0; }
#trendCatList [data-cat-id] { padding-right:76px!important; }
#trendCatList [data-cat-menu-button] { min-height:44px; box-shadow:none!important; }
#trendSummaryBox > div { padding:0 18px!important; border:0!important; border-left:1px solid var(--border-subtle)!important; border-radius:0!important; box-shadow:none!important; background:#fff!important; }
#trendSummaryBox > div:first-child { padding-left:0!important; border-left:0!important; }
#trendLatestWeight { font-size:34px!important; }
#trendLatestWeight,#trendStartWeight,#trendWeightDelta { font-variant-numeric:tabular-nums; }
#weightTrendChart { max-width:100%; font-variant-numeric:tabular-nums; }
#trendCatList [data-cat-id] { border-radius:var(--radius-button)!important; }
:where(button,input,select,[tabindex]:not([tabindex="-1"])):focus-visible { outline:3px solid rgba(53,104,255,.28)!important; outline-offset:2px; }
button:disabled { border-color:var(--border-default)!important; background:#ECEFF3!important; color:#747C88!important; cursor:not-allowed; }
.pc-tabs--primary { margin-top:24px; }
.pc-upload-section { display:flex; flex-direction:column; gap:16px; padding:20px; border:1px solid var(--border-subtle); border-radius:var(--radius-card); background:var(--surface-primary); }
.pc-upload-section h2 { margin:0; color:var(--text-primary); font-size:18px; font-weight:800; line-height:1.4; }
.pc-upload-description,.pc-upload-note { margin:0; color:var(--text-secondary); font-size:13px; line-height:1.55; }
.pc-upload-note { padding-top:12px; border-top:1px solid var(--border-subtle); font-weight:600; }
.pc-upload-type-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.pc-upload-type-button { min-height:44px; padding:10px 12px; border:1px solid var(--border-default); border-radius:var(--radius-button); background:var(--page-background); font-size:14px; font-weight:700; }
.pc-upload-type-button--dry { color:var(--cat-dry-ink); }
.pc-upload-type-button--wet { color:var(--cat-wet-ink); }
.pc-upload-type-button--dry.is-active { border-color:rgba(184,90,0,.35); background:var(--cat-dry-soft); }
.pc-upload-type-button--wet.is-active { border-color:rgba(31,92,196,.35); background:var(--cat-wet-soft); }
.pc-upload-picker { display:block; width:100%; }
.pc-upload-picker__box { width:100%; padding:22px 16px; border:1px dashed var(--border-default); border-radius:var(--radius-input); background:var(--page-background); text-align:center; cursor:pointer; transition:border-color .15s ease,background-color .15s ease; }
.pc-upload-picker__box:hover { border-color:var(--brand-primary); background:rgba(53,104,255,.04); }
.pc-upload-picker__title { margin:0; color:var(--text-secondary); font-size:14px; font-weight:700; }
.pc-upload-picker__meta { margin:4px 0 0; color:var(--text-placeholder); font-size:12px; }
.pc-upload-analyze-button { width:100%; min-height:50px; padding:12px 16px; border:0; border-radius:var(--radius-button); background:var(--brand-primary); color:#fff; font-size:16px; font-weight:800; box-shadow:none; }
.pc-upload-analyze-button:hover,.pc-upload-analyze-button:active { background:var(--brand-primary-pressed); }
@media (max-width:600px) {
  .pc-app-header { padding-inline:16px!important; }
  .pc-page-container,.proved-shell-bar,.pc-tabs { width:calc(100% - 32px); }
  .pc-section-card,.pc-trend-card,#weightTrendLoginNotice { padding:18px!important; }
  #trendSummaryBox { grid-template-columns:1fr; gap:16px!important; padding:18px; }
  #trendSummaryBox > div { padding:16px 0 0!important; border-left:0!important; border-top:1px solid var(--border-subtle)!important; }
  #trendSummaryBox > div:first-child { padding-top:0!important; border-top:0!important; }
  .pc-result-card strong { font-size:30px; }
  .pc-feed-heading { align-items:flex-start; }
}
